下の写真は動作確認中の様子で、左のSpartan3基板から右のXP2基板へ20msec周期でpwmのdutyの設定値をCAN I/Fで送信している。
Lattice XP2基板側のprogramはROM化しており、Spartan3E側はUART経由でPCからdownloadして動作させるようにしている。
それぞれのprogramは以下のような感じだ。(主要部のみ)
XP2側

Spartan3E側

この波形はCAN BUSの様子。 1Mbpsで通信を行っている。
pwm出力のduty値は0x00(0%)から0x80(100%)までのincrement dataで1転送の度に
+1増加する。0x80に達したら0x00に戻る。
この波形はpwm出力。dutyが連続的に変化している。
CAN IPを自作することでCANの規格について理解を深めることは出来た。
今後は、気が向けば、Interoperability確認の為に他のCAN搭載deviceとの通信実験をするかも知れない。
RXマイコン以外ではMICROCHIPのMCP2515も検討し、RSコンポーネンツからの購入を考えた
のだが、MCP2515の単価が安価で部品代よりも配送料の方が高く付くことになり躊躇している。
将来別の部品を購入する時に一緒に購入することにしようと思う。
ということで、CAN IP projectはひとまずこれで終わりにしようと思う。
0 件のコメント:
コメントを投稿