トップ 一覧 検索 ヘルプ RSS ログイン

Avnet Spartan-3A Evaluation Kit を Config するの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{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/

その後の話:Avnet Spartan-3A Evaluation Kit 再び
!!!3年後の話
*Avnet Spartan-3A Evaluation Kit 再び