I2C通信をさせてみた
PSoC CreatorのExample ProjectにSCB_I2cCommMasterとSCB_I2cCommSlave
というプロジェクトがあって、Pioneer Kit同士でI2C通信をさせるExampleだ
Pioneer Kit単体ではMasterもSlaveもどちらのプロジェクトもそのまま通った
SCB_I2cCommMaster
Exampleのドキュメントを読むとPSoC Creatorに付属の「Bridge Control」というツールを立ち上げて
Pioneer KitとConnectすると内部でPull-upできるみたいだが(間違ってるかもしれません)
ややこしそうなのでブレッドボード上で10kΩのRでPull-upした
オシロで波形を見てみると
上がSCL、下がSDAです
0 0 0 1 : 0 0 0 0 : 1
SlaveのいないMasterなので、プログラムで指定されたSlaveのAdress(0b0001000)+Writeモードの0を流してNACK(1)なので終了
SCB_I2cCommSlave
こちらはSlaveなのでMasterがいないと何もしない
が、PSoC Creatorに付属のBridge Controlを使うとPioneer Kitに載っているPSoC 5 LPを使って
Masterの動きをさせてPSoC 4と通信することができる
たぶんそういうことだと思う(^q^;
PC上のBridge Controlでコマンドを流してやるとPioneer KitのI2C用に指定した端子(SCL:P3_0、SDA:P3_1)でI2Cの信号波形が見れた
この時外部でPull-upはしていない
Prototyping Kitでやってみる
Pioneer Kit単体ではまあまあちゃんと動いてそうなので
Prototyping Kit: Masterにして通信させてみた
Pioneer Kit: Slave
波形を見ると9bit目がNACK(H)になる時があるがExample Projectのドキュメントを見ると
通信の終わりにMasterがNACKを返す仕様みたいなのでこれで正常だと思う
たぶん(^q^;
Slaveの方のRGB LEDの点滅はちゃんとしているが
Masterの方は正常動作だとPrototyping Kit基板上の青色LEDではなくて
外付けした緑のLEDが点灯しないといけないはずなので
攻守交替して
Prototyping Kit: Slaveでもやってみた
Pioneer Kit: Master
Pioneer KitがSlaveの時はBridge Controlが使えたが
Prototyping KitがSlaveの時は使えない
ProtocolでUART以外は選択できないようになった
Prototyping Kitに載っているCY7C65211というUSBコントローラーはUARTしかだめみたいだ
こっちはPioneer Kitの方で緑のLEDが点滅
Prototyping Kitの方は外付けのLEDも含めて順繰りに点灯する
仕様通り(^q^/
0 件のコメント:
コメントを投稿