2016年9月22日木曜日

PSoC 4でCharLCD(HD44780)を使う

HD44780互換の普通のキャラクタLCDをPSoC 5LPで使うとPinによって動いたり動かなかったりしたので、PSoC 4でも確認してみた。PSoC 4 Pioneer KitとPSoC 4 Prototyping Kitを持っているので両方試してみた。

PSoCは割と自由にPin配置が決められるが、完全に自由と言うわけではなく機能によって使えるPinが決まっている。

PSoC 4 Pioneer Kit(3000円@秋月)とPSoC 4 Prototyping Kit(600円@秋月)は同じCY8C4245AXI-483を使っている。

CharLCDの割り当て可能なPinは
P0[6:0]
P0[7:1]
P1[6:0]
P1[7:1]
P2[6:0]
P2[7:1]

PSoC 4 Pioneer Kit


配線図


プログラムはPSoC CreatorのExampleの「CharLCD_CustomFont」プロジェクトをベースに、DWRエディターで割り当てるPinを変更しながら実験した。


PSoC 4 Pioneer KitではP1[6]がヘッダに引き出されていないのでPort P1は使えないようだ。

PSoC 4 Prototyping Kit






Prototyping Kitの方はP1[6]もヘッダに引き出されているが、CharLCD用にP1[7:1]を割り当てるとちゃんと表示されなかった。


信号線にLEDがつながっているので何か影響があるのかもしれない。

PSoC 4 Prototyping Kitはまたまた認識されにくくて困った。

Windowsのデバイスマネージャーの「ポート(COMとLPT)」に現れず、「ユニバーサル シリアル バス コントローラー」にあやしいデバイスが表示される場合(プロパティを見ると、製造元がCypressになっている)、Windowsを再起動すると認識されるようだ。←今日の経験則

<追記:2016.09.25>

画像のように、ポートの項にCOMポートが追加されず、ユニバーサル シリアル バス コントローラーの項の囲みのような項目が表示される。

</追記>

Bootloader Hostで書き込む場合Baudが115200になっていないと書き込みに失敗する。

メモ:


PSoC 4ではPort[P1]を避ければCharLCDを使えそうだ。

PSoC 5LPでCharLCDがポートによってちゃんと使えなったのは実験ミスかもしれないしPSoCのバグかもしれない。PSoC 5LPをまた使う機会があれば調べてみたい。