InventionBoardログラマを使う


プログラミング完了後の画面

Invention Board Programmer
Invention Board関連のツールをインストールすると、Invention Board Programmerも一緒にインストールされる。起動した画面はというとこんな感じ。
 あえて説明するまでもなさそうだけども、注意して見て欲しいのは、Invention Boardの場合、「Connect」のチェックボックスがチェックされていることを確認して欲しい。これはInvention BoardがUSBデバイスとして認識され、更にボード上のUSBコントローラが一緒に搭載されているPSoCを認識できたことを示している。
 Externalは、Invention BoardをISSP(インシステムシリアルプログラミング)アダプタとして使う場合にチェックする。実はInvention BoardはオンボードのPSoCだkではなくISSPアダプタとして、ボード外のPSoCの書込を行うこともできるのである。Invention Boardの橋にある、5ピン一列のコネクタがそれである。

 ところで、この画面、ちょっと変わっているのは普通のソフトとはスクロール方向が逆ということである。つまり、新しいメッセージが一番上の行に出るというなかなか面白いことになっているのである。何か意図があってこうなっているのか、あるいは単に面白いからやってみたということなのかは分からないけれどもね。

 ここでやることはごくありきたりで、FileOpenで先ほど生成したledpwm.hexをオープンして、Programで書き込むだけである。では早速File Openしてみよう。


ありきたりのファイル選択画面である。ここで、.ROMはバイナリ形式、.HEXはASCII形式。どっちでもかまわないのだけども、私は何となく.HEX形式愛用であるので、ここでもledpwm.hexを選んだ。

 こんな感じで、「loaded」メッセージが出る。これであとはprogramすれば良い。このページの先頭のような画面になって、無事終了すればオッケーである。念のためVerifyもしておこう。
 書込が終了したら、一回ケーブル着脱をやって、電源をOFF/ONすると、書き込んだプログラムが走り出す。無事に動いたらおめでとうである。

ISSPプログラマとして使う時の接続
インベンションボードは実は外部PSoCのISSPプログラマとしても利用できる。基板の端の方に「DCRG+」とシルクが打たれたスルーホールがそのための端子。
+:Vdd
G:GND
R:Reset
C:Clock
D:Data
のことで、これをCY8C27443とつないで、上の画面にある「External]をチェックして書込を行うと、こちらの端子を使った書込になるという案配。接続は下の頭のような感じ(Excelで作ってしまったのが丸見えだ)
プログラマ側のピン配置はインベンションボード以外のMiniProg1やらCY3205/3215-DKあたりでも共通なので、基板上にこの順序でピンを立てておくと良い。
VddとGNDの間にはパスコンくらいおごってやった方がベターだろうとは思うけども、省略してしまっても、今のところこれが原因と思われるエラーにはなったことがないので、結構粗雑に作ってしまっても何とかなるようだ。なお、デカイ方が良いだろうとばかりに気合いを入れすぎてあんまり大きな容量のコンデンサを付けてしまうと、プログラマ側から電源供給の時の突入電流が大きくなりすぎてレギュレータが可哀想なので、入れるときはほどほどに。

PSoC Programmerを使う時
PSoCの低コストな環境というと、Invention Board系しか無かったのだけども、MiniProg1やEval1の登場でPSoC Designer4.2(4.0/4.1からは駄目)からそのまま起動できるPSoC Programmerが使えるようになったので、どんな画面か参考まで。Prog1やEval1に添付されるPSoCMiniProgとPSoCデバイスの接続も上の図のように行えば良い。
Designer4.2から起動するならProgramメニューから起動すれば良いのだけど、4.0/4.1はMiniProgが出るより前の製品ということもあって未対応。スタート->プログラム->CypressMicroSystems->PSoC Programmerで起動する。
画面は下のような感じ。
立ち上げたときにPortが空欄になっているようならば、クリックして図のようにMINIProg1を選んでおく。ちなみにLPTを使うのはICE4000など、パラレルポート経由のものを使うときのためのもの。
うまく行けば、図のようにSuccessful port connection for...と出る筈。
Device Familyは今回は27443なので、27X43を選択。もし、Pbフリー版(チップのレビジョンB)ならPXIの方を選んで、更にデバイス選択しておく
Power DeviceというのはProg1からの電源供給のON/OFFである。Prog1からの電源で動くようなターゲットにしておくと、ターゲットへの電源ON/OFFをここでコントロールできるのでなかなか便利。
Programming Modeというのは、PSoCデバイスの書込方法が二種類(電源制御を使う方法とXRES端子による方法)あるので、どちらで行うかという選択。27443などはどっちでも良いのだけども、8ピンのデバイスはXRES端子がないので、PowerCycleモードしか選べない。ターゲットの電源負荷が重くて、MiniProgからの供給では心許ない場合にはターゲットは別電源で動かして、ここではResetを選ぶことになるけど、今回程度の実験回路ならPowerCycleで良いだろう。
あとは、FileLoadでHEXかROMファイルを読んでProgramをクリックするだけ。書込時間はインベンションボードの方が速いというのはご愛敬。