2012年5月2日水曜日

SPIコントローラの作成 9

前回のブログでcommand frameに対するACK/NAK応答は残すと書いたのだが、
これだとライトの高速化の障害となることが判ったため結局、なくすことにした。
また、ライトの高速化の為、自動受信モードを送信にも拡張して自動転送モードにすることにした。
この機能を使うライト用制御プログラムは以下のようになる。 (166行~171行)


元々の目的だったROM(N25Q)のFPGAデータ更新用プログラムは以下のようになった。
(FPGA制御部のみを示している。)


書込みに先立ちその領域を消去する必要があるが、このプログラムでは書込みループの中で、
書込みアドレス(addr)がセクタの先頭に達するタイミングでそのセクタの消去を行うようにした。
また、Verifyは自動受信モードで全データ分をr_buffに一気にリードしてからw_buff(書込み
データ)と比較するようにした。
このような諸々の工夫の結果、SPIコントローラと更新用プログラムが完成した。
肝心の処理時間だが、以下のようにMicroBoardのROMの更新は24秒(Verify含む)、Verify
のみは4秒で処理できている。


ちなみにIMPACTで書換えた場合を以下に示す。



IMPACTの場合の341秒に対して24秒なので14倍高速に書換できることになる。
やったー \(^_^)/


やっぱ、ROMの更新は短時間で済ませたいよね。


0 件のコメント:

コメントを投稿

自作CPUで遊ぶ 25

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