{{category 電子工作}} !!!Avnet Xilinx® Spartan™-3A Evaluation Kit の使い方メモ <該当製品> AES-SP3A-EVAL400-G http://www.avnet.co.jp/products/kits/AES-SP3A-EVAL400-G.asp このボードは上記ページをごらんになるとわかるようにPSoC でもあそべて、Cypress 純正の MiniProg(CY3217) までオマケに付いてくるわりに安価で、すばらしいオモチャです。 でも、使うのにいくつか難があります。 *搭載されている Spartan3A の Configuration に使われている Spansion のシリアルフラッシュおよびパラレルフラッシュは、添付されている ISE Webpack 10.1 付属の iMPACT からの間接、直接プログラミングがサポートされていません(Xilinx が将来サポートする可能性はあるが)。 *ちなみに、avnet のサイトに xspi_usb.exe というプログラムの含まれたアーカイブ(Spartan_3A_Eval_Test_Source_v92.zip)というのがありますがうまく動かなかったです。xspi を使ったSPI の直接プログラミングは、マニュアルに記述を見つけられません。よって、通常は、サポートサイトからダウンロードできる、AvProg (Windows専用) からコンフィグレーションを行う必要があるようです。 *現在のバージョン(基板裏のシルクが SP3A-EVAL-ASY-B)には、公式にアナウンスされている Eratta が幾つかあります。特に AvProg に纏わる問題が曲者で、日本語 Windows 環境では、すんなり動作しない問題とあいまって、不便です(以下)。 +非英語版の WindowsXP/Vista だと、コンフィギュレーションできない(AvProg) +WindowsXP SP3 だと通信の途中でフリーズする(AvProg) +MiniProg からの電源供給で動かせない(起動時電流の問題) 2.については、(Eratta 添付の) XP SP2 の usbser.sys と入れ替えることで解消しますが、 1.については、非ユニコードプログラム(AvProg)を英語版とみなして動作するよう、コントロールパネルの「地域と言語のオプション」>「詳細設定」から非ユニコードプログラムの言語設定を「英語」に変える必要があります。 ところが、ここを変えると、他の非ユニコードプログラムにも影響がでて、日本語が正しく表示されなくなったりして、困ります。 そこで、ユニコード環境で作成した(.NET Framework 3.5 版の)スレーブシリアルコンフィグプログラムを作成してみました。 このプログラムを使用すると、非ユニコードプログラムの言語設定が「日本語」のままでもコンフィグレーション可能です。 Avnet のサイトにある、 Spartan3A_Eval_Programming_Algorithms_v1_0.pdf Spartan3A_Eval_PSoC_SoftwareUserGuide_v1_0.pdf を参考に作成しました。 なお、上記のドキュメントを見る限り、シリアルフラッシュ(SPI)対応は面倒そうなのでやってません。 ソースを公開(単なるターミナルですが)していますので、どなたか改良して作ってください(-人-) このボードを使用するにあたって、なにかのヒントになれば幸いです。 ライセンスに関する注意: オープンソースではありますが、他のページにあるプログラムと異なり、 著作権を放棄していません。改変、配布される場合、GPL に順ずるものとします。 *ダウンロードはこちらからどうぞ→{{ref avnettest20081002_vc9.zip}} (VisualStudio2008SP1,C# のプロジェクトのアーカイブです。) *関連ページ:[[H8(PIC,AVR)などから SpartanII をコンフィグする手順]] !!!ほかに気づいた点(AvProg 3.3.7 , PSoC Firmware:V1.0 5/2008 ) *AvProg が COM PORT を正しく見つけてくれず、COM が見当たらないといって、選択できなくなることがあった。COM番号が大きい場合(COM18 とか)に起こる気がする(確証はない)。デバイスマネージャから、COM 番号を小さい(2とか3とか)に変更すると治るかも。 *PSoC からの CLK_12MHZ を使おうとしたらどうも 3MHZ っぽい。 *はじめから入っているファームウェアの USB-UART ブリッジは、USB-Serial のビットレートに追従するが、以下のテーブルのような感じで低いビットレートだとうまくいかなかった(0x55 間欠送信にてオシロで目視)。 ,PC USB Serial,PSoC->FPGA "usec/bit"(Approx.), bps(Estimated),Status ,115200,9,115200,OK ,57600,18,57600,OK ,38400,26,38400,OK ,19200,52,19200,OK ,14400,139,??7200??,NG ,9600,18,??57600??,NG ,4800,37,??28800??,NG ,2400,76,????,NG ,1200,76,????,NG !!!参考リンク:こちらでは Linux で似たようなことをしておられます。 *http://www.nt7s.com/blog/2008/09/configuring-the-avnet-spartan-3a-eval-board-on-linux-alpha/ !!!3年後の話 *Avnet Spartan-3A Evaluation Kit 再び