前回のPSOC1を使用したSPIモニタは、MCUのRAMが256バイトと


あまりにも非力だったこともあり、ものの1秒ももたずにオーバーフロー


すると言う実用性にかけたものでした。まぁ、冷静に考えれば当たり前


なんですけれどもね。。。




なんと言うか、実証実験をしてみたかっただけなのさ・・・(つよがり!)




で、前回の玉砕に、いささか気分が萎えていたのだけれども、、、なんと


なく気分も回復したので、半月前に入手したよりパワフルなキットを使っ


て、テスト用のSPIマスタ機器を作ってみようと思った。






ぽよぽよ侍でござる




↑こいつが、PSOCの1/3/5の評価が出来るキットで、一番高性


能なPSOC5を使用する場合のコアは、Cortex-M3のRAM64K


バイトになる。なので、前に玉砕したPSOC1に比べれば、かなーーり


高性能なはず。




で、ソフトをインストールして、早速使ってみるわけなんですが・・・




前に使っていたPSOCデザイナーとは少し勝手が違うけども、考え方


はそれほど代わりが無いので、数時間ほど試行錯誤して回路を構成


できました。




「回路を構成」と言ってしまうと、何か凄い事をしているようだけども、


実際はトップデザインシートに、ライブラリから必要なペリフェラルを選ん


で選んで貼り付けるだけ。




ぽよぽよ侍でござる



↑構成は、こんな感じになる。(クリックしてオリジナルサイズでどうぞ)




送受信可能なUARTが一つ、タイマが一つ、SPIのマスタが一つ、


テスト用に、SPIのSSは使用せずにGPIOのレジスタに割当てた1ビッ


トのポートをSSとして使用する。




各ペリフェラルのプロパティ画面では、それぞれのペリフェラルの設定を


書込める。




この後、各信号をMCUチップのどのピンに割当てるかを設定するのだ


けれども、JTAGや電源、リセットなどの不都合なピンを除けば、ほぼ自


由に割当てる事ができるので、かなり楽になる。




ここまでやって回路ジェネレートすると、MCU上にペリフェラルが構成さ


れるとともに、各ペリフェラルの初期化コードやドライバAPIも自動的に


書いてくれる。 これ、思い切り便利!




で、これにあわせて、とりあえずUARTだけハードウェアの結線を行う。






ぽよぽよ侍でござる



↑こんな感じで、オレンジ色のラインがUART用のジャンパ線になる。


UARTのTXとRXをそれぞれRS232Cドライバまで接続しているのと、


RS232CドライバのRTSとCTSをショートして、ホスト側がハードウェ


アフローを行っても大丈夫なようにごまかしている。




UART用の配線はこの3本だけ。




SPI用の配線は、ソフトがある程度形になってからする事にして、


とりあえずUARTが動くかどうかのテストプログラムを書く。






ぽよぽよ侍でござる



↑最初は、こんな感じになる。(クリックしてオリジナルサイズでどうぞ)



実際の所、ジェネレータが出力した main.c を少しいじっただけだったり


する。




コメントアウトされていた割り込みを許可関数を生かして。


UART_Start() と UART_PutString() の2行を追加しただけ。。。






で、動かしてみたら、意外にも?と言うか、当たり前に、作りっぱ~な


一番最初のは、当然の事ながら全然動かないので、30分ほど悩みま


した。はい。




ソースはこねくり回しましたが、最終的にこれでOKでした。




サンプルコードが動かないので、ハードを疑った所、回路図を確認する


とRS232CがDCE仕様でした。いままでDCE仕様にはあまりお目に


かかった事が無かったので、てっきりDTE仕様と勘違いして、PCとクロ


スケーブルで接続していましたが、ストレートケーブルを使用したらあっ


さりと動きました。はい。。。何事も、確認は必要ですね。。。




もっとも、いまは TEST TEST TEST ってPCで表示されるだけですけ


れどもね。




ここまで、約4時間くらいかな?


まぁ、初めてにしては上出来?




興味と情熱が保てれば、、、つづく。。。








それより仕事先を探さねば・・・