2015年1月3日土曜日

PSoC 4 Pioneer Kit: USB-USRT Bridgeをやってみた&前回までの補足

PSoC 4 Pioneer Kit Guide(CY8CKIT-042_Kit_Guide.pdf)のExampleを一通りやってみたので

6.Advaced Topics(63P)のUSB-UART Brigeをやってみた

簡単に言うとUSBでパソコンとシリアル通信だ

シリアル通信はArduinoでもちょっとしたデバッグにとても役立つ

なので、これはおさえておくべきだと思う

ドキュメントに従ってやれば特に引っかかるところはなかったが
Top designでデフォルトだとUART(SCB)コンポーネントのコンポート名が「UART_1」になるので

main.cで「UART_XXXX」となっているところを「UART_1_XXXX」に修正しないと
コンパイルできない

Top designでコンポート名を「UART」にしてしまってもいいかもしれない

BuildしてProgramで書き込んだら(ステータスバーにReady...と表示される)
PSoC 4 Pioneer KitからUSBケーブルを引っこ抜いてUARTで通信するためにピンソケット間を配線する


<追記: 2015.11.03>PSoC 4 Pioneer Kitのボード上の配線図を追加。

DWRエディタ上のSCB:UART(RX/TX)のピンアサインにより3パターンあります。


</追記>

再びUSBケーブルをぶっさしてデバイスマネージャーの「ポート(COMとLPT)」に
KitProg USB-UART(COM***)と表示されていればOK



COM***の***部分はCOMポートの空き次第で数字が変わります

ドキュメントではハイパーテキストとPuttyの詳しい解説があったが
TeraTermの方が使い慣れてるのでTeraTermでやってみた

TeraTermの「新しい接続」でシリアルのKitProg USB-UARTのポートを指定して接続



メニューの「設定」-「シリアルポート設定」で以下のように設定


「設定」―「端末の設定」で「ローカルエコー」のところにチェックを入れる



このシリアル通信に使われているのはPSoC 4 Pioneer Kitに載っているPSoC 5 LPだ

本体のPSoC 4より立派な素子が使われている(^q^;

Arduinoだと通信用のATMega16U2は書き込みとUARTに専念しているが
このPSoC 5 LPはUART以外にI2CやSPIにも対応しているようだ

ボード上のピンソケットで配線し直してやらないといけないという手間はあるが
I2CやSPIのSlaveとしても動作できるみたいなのでアイデア次第では何かできるかもしれない

前回までの補足

cy_pinの割込み処理

前回のPSoC 4 Pioneer KitのExampleをやってみた(http://dad8893.blogspot.jp/2014/12/psoc-4-pioneer-kitexample.html)のProject:Deep SleepのところでISRへの紐づけをcy_pinでやるみたいに書きましたがこの場合は外部(ハード)割込みなのでTimerみたいなソフト割込み処理では違うやり方の方が適切だと思います

でも外部割込みをcy_pinに喰らわす方法はわかった

cy_pinのモジュールを右クリックして出てくるメニューから「Configure...」を選んで
図のようなところにある「Interrupt」を設定してやればいいみたいだ


CapSenseのTuner


ExampleのCapSenseのところに「Tuner」というUSB経由でPCにCapSenseの挙動を取り込む仕組みがあった

PSoC上でCapSenseの挙動を調べるのは大変そうなので
ありがたい仕組みだが、なぜだかちゃんと動かなかった

取り込めるんだがしばらくいじっているとTuner上でエラーが出る

切り分けが難しいのでCapSenseをまじめに使いたくなったら調べたいと思う

FreeRTOS


トラ技の増刊 開発編 ARM PSoCで作るMyスペシャル・マイコン (トライアルシリーズ)

(一時売り切れていたみたいだが今は売ってます)で、FreeRTOSを使う方法が紹介されていたが
FreeRTOSはPSoC 4(Cortex-M0)には対応していないようだ

これはデメリットでもあり、メリットでもある気がする

0 件のコメント:

コメントを投稿