NanoBoardファームウェアの更新

Application Note AP0105 (v2.0) February 28, 2008

NanoBoard-NB1 のインテリジェンスは、ボードの NanoTalk コントローラ内で動作するファームウェアによって提供されています。 このアプリケーションノートは、電源投入時に NanoTalk コントローラにロードされる、このファームウェアを更新する方法について説明しています。
NanoBoard のファームウェアは、ボードの電源を投入したときに、NanoTalk コントローラにロードされるプログラムです。 NanoBoard-NB1 には Xilinx Spartan IIE-100K デバイス(XC2S100E)がボードのコントローラとして使用されています。 NanoTalk コントローラに関して、このデバイス(ボードの U8 )は、以下のデバイスとの JTAG 接続を管理しています。

  • FPGA ドータボード
  • マスタ/スレーブのデイジーチェーン
  • ユーザボードとの接続(A と B)
  • フラッシュ RAMs (U6 と U7)
  • SPI マスタクロック.

NanoTalk コントローラは、また、以下の2つのボードのエリアも管理しています。

  • LEDs SL1-SL8
  • JP2 上の以下のジャンパ線
    • AUTO LOAD FPGA
    • CLOCK0
    • CLOCK1
    • CLOCK2
    • USER A - BYPASS SOFT
    • USER B - BYPASS SOFT
    • TEST 0
    • TEST 1

NanoTalk コントローラにロードされるファームウェアは、ザイリンクスシリアル PROM デバイス(XCF01S)に保存されています。 これは、ボード上の U5 にあります。
電源を入れると、ファームウェアは自動的に NanoTalk コントローラにロードされます。

更新前の準備

ファームウェアの新しいバージョンがシリアル PROM にダウンロードできるようになる前に、NanoBoard には以下のような準備が、まず必要です。

  1. NanoBoard の電源を切ります。
  2. プラグインされている FPGA のドータボードをすべて取り外します。
  3. NanoBoard の JP2 - SYSTEM JTAG 間(パラレルケーブルコネクタの左下)にジャンパ線を挿入します。 これは特定機能用のジャンパ線で、挿入されると、NanoBoard のコントロールを切り替えて、NanoTalk コントローラ(Spartan IIE-100K)から、NanoTalk コントローラとザイリンクス PROMに関連するシンプルなハードウェアチェーンに移します。 これらは、Devices ビュー内の Hard Devises(Figure 1)に表示されます。
  4. NanoBoard の電源を入れます。

PROMの消去

まず、Altium Designer の Devices ビューを開きます。 Live チェックボックスにおいて、auto-board-recognition system が有効になっていることを確認します。
ジャンパ線を挿入すると、ザイリンクスのシリアル PROM デバイスが Hard Devices チェーンに表示されます。

図 1. シリアル PROM デバイスへのアクセス
ザイリンクスシリアル PROM はフラッシュメモリデバイスです。 新しいファームウェアがプログラムされる前に、その内容をクリアしておく必要があります。 これを実行するには、Hard Devices チェーン内のアイコン(Platform Flash)の上で右クリックし、Reset Hard Device をポップアップメニューから選びます。
消去プロセスが進行するにつれて、進行状態がAltium Designer のステータスバーに表示されます。 処理が完了するまで、15秒ほどかかります。

新しいファームウェアのダウンロード

ザイリンクスシリアル PROM デバイスの設定は、PROM ファイルに、MCS-86 のフォーマットで保存されています。 これは、ASCII の16進数ファイルで、拡張子は mcsです。
新しい設定をダウンロードするには、Devices ビューの Hard Devices チェーン内で PROM 用アイコンを右クリックし、Choose File and Download をポップアップメニューから選択します。
Choose Programming File For Xilinx XCF XCF01SSVO20C ダイアログが表示されます。 ダイアログを操作して、目的のプログラミングファイル(.mcs)を探し出し、Open{*}をクリックします。 デフォルトでは、Altium Designer がインストールされているフォルダの \System ディレクトリに、目的のファイルがあります。
確認のダイアログが表示され、(PROMの)プログラムを検証するかどうか聞いてきます。 この段階では、新しいファームウェアはダウンロードされていません。 Yes をクリックすると、ダウンロードと検証のサイクルに進みます。
ダウンロードと検証は、完了するのに30~40秒ほどかかります。 進行状況は、Altium Designer のステータスバーに表示されます。 サイクルが終了すると、情報ダイアログが表示され、ダウンロードの結果が示されます。
サイクルの途中でエラーが発生した場合は、警告するダイアログが表示されます。 エラーが発生した場合は、NanoBoard の電源を切り、数秒後に、もう一度最初からすべてのプロセスをやり直します。もちろん、PROM メモリの消去も行ってください。

NanoBoardのテスト

ザイリンクスシリアル PROM デバイスのプログラミング成功したら、以下の手順で新しいファームウェアをテストしてください。

  1. NanoBoard と FPGA ドータボードの電源を切ります。
  2. JP2 - SYSTEM JTAG からジャンパ線を取り除きます。
  3. NanoBoard の電源を入れます。
  4. Live チェックボックス(Devices ビューのトップにあります)が有効(auto-board-recognition)になっていることを確認してください。
  5. Devices ビューで、F5(リフレッシュ)を押します。 これで、ハードウェアのスキャンが始まり、現在どのデバイスが接続されているかが検出されます。 接続済みの NanoBoard 用 NanoTalk コントローラは、自動的に検出され、NanoBoard チェーンに表示されます。 現在、コントローラに使用されているファームウェアのバージョンは、 コントローラアイコンのすぐ下にあります(図では、V1.1.18)。 ドータボード上の FPGA デバイスは、自動的に検出され、Hard Devices チェーンに表示されます。
  6. Nexus対応のデバイス(マイクロプロセッサ、カウンタ、ロジックアナライザなど)を含む FPGA プロジェクトを開いて、 ドータボード上の FPGA をプログラムします。 これが、Soft Devices チェーンが機能的に正しいことのテストになります。


ハードデバイスチェーン、ソフトデバイスチェーン、NanoBoard コントローラチェーンに表示されたドータボード上の FPGA デバイス 

図2 ターゲット FPGA デバイスの検出と Soft Devices チェーンのテスト

  1. FPGAで実行するデザインを選び、NB1アイコン(Devices ビュー内のNanoBoard チェーンの中)をダブルクリックします。 NanoBoard コントローラ用の計器ラックが表示されます。 この計器パネルを使用して、システムのクロック周波数を変更します。 これで、新しいクロック周波数がシステムクロックに書き込まれました。SPIデバイスが正しく動作しているか、通信テストを行います。



新しいクロック周波数の書き込みと同様に、クロック値もNanoTalkコントローラに保存され、変更を検証するために読み込まれます。 新しい周波数は、デザインセッションの間、ソフトウェアに対して保持されます。ただし、ハードウェアセッションでは保持されません。 したがって、アプリケーションを閉じたり、FPGAプロジェクトを再起動したり、開いたりすると、最後に入力したクロック周波数が使用されることになります。 しかし、NanoBoardの電源をオンオフすると、デフォルトのクロック周波数(50MHz)が使用されることになります。これは、選んだ周波数を保存しているNanoTalkコントローラ内のレジスタは、電源オフによってクリアされるからです。

You are reporting an issue with the following selected text and/or image within the active document: