2015年7月20日月曜日

世界最小クラスかも知れないFPGAボード 6 (CAN IPを実装してみる 2)

ハタ! と気づけば、もう今日は7月20日。8月の顔が見えてきた感じがする。時間が過ぎるのを本当に早く感じる今日この頃だ。

前回オープンドレインのiCE40の開発環境ではRTL記述が出来ないようだと書いたが問題ないようだ。 I2C IPのデータバス部のポート接続部に記述ミスがあったのでそういうのを修正したら、オープンドレイン記述も通るようになった。その結果、SB_IOをインスタンスする必要も無くなった。

生成されたシミュレーション用ネットリスト

で、漸く合成も出来た。 リソースの使用率は60%弱となった。


クロックは50MHzを外部から入力するつもりでいたのだが、50MHzだとタイミングがmetしなかった。色々試したが、結局20MHzに下げることにした。

私のCAN IPはクロックはデフォルトで50MHzだがparameterで変えられるようにしてある。

トップモジュール(fpga_top)のcan_coreインスタンス部でdefparam文で20MHzにした。


漸くステージを一つクリア出来た。もう少しで実機動作確認に入れそうだ。
CANの通信相手が必要だが、ZynqはCAN IPを持っているのでこれを使ってみようと考えている。

ZYBOのMIO PMODコネクタにCANの信号を出せる筈だと思うのだが、リファレンスマニュアルからは読み取れない。

ZYNQのTRMを見る限りでは出来そうなんだが・・・


さーて、どうなりますか。。。



0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 25

まだ制御ソフトが完成していないので今まではスピンドルを移動するために一々簡単なプログラムを書いて移動させていたのだが、非常に面倒なのでCNCペンダント的なものを作ることにした。 右側の縦に2つ並んでいるスイッチ...