これだとライトの高速化の障害となることが判ったため結局、なくすことにした。
また、ライトの高速化の為、自動受信モードを送信にも拡張して自動転送モードにすることにした。
この機能を使うライト用制御プログラムは以下のようになる。 (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 件のコメント:
コメントを投稿