2012年4月15日日曜日

SPIコントローラの作成 5

SPI コントローラをFUNCTION GENERATOR(Spartan6 LX9 Microboard)のRTLに追加した。
実はSPIコントローラ作成の動機はFUNCTION GENERATORのFPGAの回路情報の更新の度に
筐体の蓋を開けるのが面倒だったからだ。SPIがあれば蓋を開けてJTAG用のUSBケーブルを繋い
で・・・ということ無しにROMの更新が可能になる。 ただ、その為にはUSB-UART I/Fの高速化も
必須だが、それはこれからのチャレンジになる。とりあえず、今回は出来上がったSPIコントローラを
FUNCTION GENERATORのRTLに統合してみたという訳だ。



統合は問題なくできたが、動作確認をしている過程で前回のブログに書いた制御プログラムが
バグっているのが分かった。 また、SPI I/Fのクロック周波数は25MHzでないとダメなようだ。
50MHzではビット化けが発生する。

また、以前SDRAMコントローラを作ったときにSpartan 3Eにデジカメもどきを作った。
http://bravo-fpga.blogspot.jp/2011/09/sdramcspartan3e.html
この時はハードウェアとしてはSDカードソケットも実装していたのだが、FPGAにコントローラ部は
実装していなかった。今回SPIコントローラをこのRTLに実装してみた。回路規模的に入るかどうか
多少不安だったのだが、何と入りやがった!!  これには驚いた。恐るべしSpartan3E 250E
現状のシステムアーキテクチャは以下のとおりだ。




ただ、これの動作確認をするかどうかは未定だ。
FT232RL使用のUSB-UART変換モジュールをあのセットから外してしまったので、動かすためには
戻さなければならない。


AtlysやMicroboardでの動作確認は一応できているので、現状のRTLのスナップショットを以下に置いた。

http://www.hi-ho.ne.jp/bravo-fpga/


0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 25

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