トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Avnet Spartan-3A Evaluation Kit を Config する

[電子工作]

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 環境では、すんなり動作しない問題とあいまって、不便です(以下)。
  1. 非英語版の WindowsXP/Vista だと、コンフィギュレーションできない(AvProg)
  2. WindowsXP SP3 だと通信の途中でフリーズする(AvProg)
  3. 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 に順ずるものとします。

(VisualStudio2008SP1,C# のプロジェクトのアーカイブです。)

ほかに気づいた点(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 で似たようなことをしておられます。

3年後の話

avnettest20081002_vc9.zip

 カテゴリ : もくしいゲームレシピコンピュータ雑文生活電子工作おいしい店マップ

                  Topページへ | もてないSNS「もくしい」