« CY7C68013AのLFXCとLTXCの微妙な違い | トップページ | SPI ROMプログラマの最初のリリース »

2010.02.14

Spartan-6ボードのSPIメモリ

SPIメモリにアクセスするためのHDLを書いています。

とりあえず、USBからSPIメモリにコマンドを送って、返されたデータをUSB経由で受け取るというところまでいきました。1回のコマンドとデータは、クロックドメインの変換のため、Spartan-6内のBlockRAMに一旦蓄えられます。このバッファのサイズは1024バイトなので、SPIメモリの想定するあらゆるコマンドに対応できるでしょう。

IDCODE読み出しを行ったときの波形はこんな感じです。
Spi

9F 00 00 00 00 というコマンドを送って、xx 1F 26 00 00(AT45DB161DのID)が読み出されているのがわかります。あとはWindows上のソフトを作れば、読み書きベリファイをはじめ、各種のマイナーなセキュリティ機能も試せるでしょう。
ソフトは、今夜には出来る見込みです。

参考までに、HDLのソースはこちらにアップロードしました。

たいしたことではありませんが、設計のポイントは送出バイト間の切れ目がないことです。送出バイト間に待ち時間がないので、クロック速度でアクセスができます。

本当はもっと早く作りたかったのですが、USBインタフェースの動作をロバストにすることに時間をとられていました。

|

« CY7C68013AのLFXCとLTXCの微妙な違い | トップページ | SPI ROMプログラマの最初のリリース »

コメント

コメントを書く



(ウェブ上には掲載しません)




« CY7C68013AのLFXCとLTXCの微妙な違い | トップページ | SPI ROMプログラマの最初のリリース »