ICD3は本当に速いのか?

NO IMAGE

PICマイコンの話題。

お仕事でたまたまICD3とPICKIT3を比較する機会があった。クライアントは、ICD3の方がPICKIT3より速いらしいので、製品の量産で使いたいという。
おいらは、普段PICKIT2もどきは使っているけれど、そんなに悪いとは思わない。秋月のPICライターと比較すると、ある意味爆速と言えるくらいだ。
確かにネットの評判では、ICD3は爆速だというけれど、実際どうなんだろう。

180kバイトほどのファームウェアを用意し、dsPIC33FJのマイコンに書き込んで時間を計ってみた。MPLAB上で書き込みを行った所、ICD3は1秒少々で書き込み完了。
ここまでなら、評判通りだと思ってしまう。

しかしだ、ICD3を使うのに、ICD3とターゲットのチェックを必ず行っている。(MPLABで書き込みを行う場合は、2回目以降はターゲットのチェックは速かった。どうも、初回だけ接続に時間がかかるようだ)製品の量産で使うのであれば、基板を交換したら毎回ICD3とターゲットのチェックをさせられることになるので、当然その時間も考慮しなければならない。

そんなわけで、実践で使う方法を検討し、PICKIT3とICD3を比較してみた。
両者ともMPLAB上で使用できるが、実践でMPLABを使ってファームウェアの書き込みなんて手間が掛かって仕方がないので、PICKIT3はProgrammerToGoというスタンドアローンで使える便利機能を活用、ICD3はICD3CMDというコマンドプロンプト上で使えるプログラムを使って、消去・書き込み・ベリファイまで行ってみた。
ファームウェアとマイコンは、先ほどのもの。

その結果はというと…

PICKIT3:15秒
ICD3:17秒

意外や意外であった。

逆に、PICKIT3の方が速いくらいだ。量産用ということであれば、PICKIT3の方がコストパフォーマンスに優れていることになる。

とはいっても、ICD3が全く量産で使えないということではない。ICD3CMDというプログラムが使えるので、検査プログラムに組み込めば、自動でファームウェアを書き込むことができるじゃないかと思っていた…しかし、PICKIT3にもコマンドプロンプト上で使えるPK3CMDなるプログラムがあったのだ。
機能は、ICD3CMDと同様。これって、「どーよ」(爆)←ここは笑う所。

するってぇと、ICD3のメリットはPICKIT3よりデバッガ機能が優れているということなのか?値段差の価値は本当にあるのか??暇があったら実験してみよう。

2011.11.30追記
会社の同僚がマ●クロ★ップの営業に「ICD3は量産には使えない」と言われたらしく、理由を聞いてみたが、分からないとのこと。理由が分からないのであれば、こんなことユーザーに言うなと言いたい所だが、恐らくターゲットへの書き込み時間が掛かるからという理由なのだろう。
「なんとかの一つ覚え」ではないが、早ければいいってものではないと思う。量産といっても数量が年間数千台程度であれば15秒程度でも実害はないのではないか(といっても、シビアにコスト計算されている製品の量産には向きませんな)。
コスト計算上はICD3に軍配が上がるのだろうけれど、セットアップに時間が掛かるICD3を使った難しい操作を要求する生産よりは、PICKIT3のボタン1個押すだけの簡単操作で行った生産の方が実際のトータルコストが低かったなんてことも十分考えられるしね…。
速さ云々というとある意味自己満足の世界ではないかと。