Spartan-6ボードのSPIメモリ
SPIメモリにアクセスするためのHDLを書いています。
とりあえず、USBからSPIメモリにコマンドを送って、返されたデータをUSB経由で受け取るというところまでいきました。1回のコマンドとデータは、クロックドメインの変換のため、Spartan-6内のBlockRAMに一旦蓄えられます。このバッファのサイズは1024バイトなので、SPIメモリの想定するあらゆるコマンドに対応できるでしょう。
9F 00 00 00 00 というコマンドを送って、xx 1F 26 00 00(AT45DB161DのID)が読み出されているのがわかります。あとはWindows上のソフトを作れば、読み書きベリファイをはじめ、各種のマイナーなセキュリティ機能も試せるでしょう。
ソフトは、今夜には出来る見込みです。
参考までに、HDLのソースはこちらにアップロードしました。
たいしたことではありませんが、設計のポイントは送出バイト間の切れ目がないことです。送出バイト間に待ち時間がないので、クロック速度でアクセスができます。
本当はもっと早く作りたかったのですが、USBインタフェースの動作をロバストにすることに時間をとられていました。
| 固定リンク



コメント