NP1003応用例 高速USB-JTAG

発表日 2004年6月3日
最終更新日 2004年10月17日

高速USB-JTAGとは?

 高速USB-JTAGとは、USBを用いた高速なJTAGインタフェースケーブルです。

 最近のパソコンはパラレルポートがついていないことが多く、昨今のノートPCなどのモバイル環境でJTAGを使うことはとても困難でした。

 そこで、USBにつながるJTAGケーブルを開発しました。

 対応しているJTAGソフトウェアは「MITOUJTAG」です。MITOUJTAGはフリーソフトで、基本的な機能はすべて無償で使用することができます。MITOUJTAGには次のような機能があり、ほとんどのJTAGアプリケーションをMITOUJTAGで実現することができます。

  • 任意のICの任意のピンをJTAG経由で自由にリアルタイム操作
  • バウンダリスキャンによるリアルタイムロジックアナライザ
  • バウンダリスキャンによるファンクションジェネレータ
  • XILINX CPLD/FPGAの書き込み
  • TCP/IPリモートJTAGアクセス
  • 回路の導通試験(半田付け不良検査、接触不良検査など)
  • ARM/MIPS CPUのデバッグ(※ 開発中)
  • フラッシュROMの書き込み(※ 開発中)

 USB-JTAGを用いると、これらの先進の機能を、ノートPCで快適に利用することができます。

作り方

1.準備

 まず、NP1003を用意します。

項目

必要スペック

FPGA

XC2S100を推奨。
XC2S30では今後登場するすべてのオプション機能を実現できません。

SDRAM

現在は使用せず。

水晶

50MHz (周波数が50MHz以外でも動作します)

2.NP1003の改造

 基板の右下にピンヘッダを立てます。6×2のピンヘッダがお勧めです。

img1.jpg

 このヘッダは次の図のように使用されます。

img1.gif

 上段の6個のピンは、NP1003のコンフィグROMとFPGAに接続されています。上段のピンを使用すると従来どおりNP1003のROMの書き換え等ができます。

 下段の6個のピンは、デフォルトでは基板上でどこにも接続されていません。ここにFPGAからの配線をつなぐことで、JTAG信号を出力させます。FPGAの出力するJTAG信号は次の表のようになっています。

I/Oの番号

JTAG信号

USER33

TCK

USER34

TDI

USER35

TMS

USER36

TDO

 配線は次の写真のように基板を裏返して行います。

img2.jpg

 この配線を図で表すと、次の図のようになります。
基板を裏返した際の一番左端はGNDです。GNDは必ずつないでください。
VCCは、ターゲットボードにJTAGケーブル経由で電源を供給する場合のみ接続してください。通常はターゲットボードはJTAGケーブルに対してVCCを供給してくるので、VCCを接続しないほうがよいでしょう。

img2.gif

 これで基板の改造は終了です。

3.フライング・リード・ワイヤの作成

 フライングリードワイヤを作るため、まずは下の写真のような2.54mmピッチのピンヘッダに差し込めるコネクタを入手します。これは、秋葉原では千石電商などで入手できます。

 1ピンのソケットが6個と、6ピンのソケットが1個必要です。コンタクトは全部で12個必要です。無くなる可能性が高いので少し余分に買っておきましょう。

img5.jpg

 ケーブルに仕上げると次の図のようになります。

img5.jpg

インストール

 次のファイルをダウンロードします。

 nusb2-02.lzhを展開したら、中に入っているFTDI社のD10504.zipを展開しインストールしてください。
 これは、FT245BMというUSBチップをWindowsに認識させるためのデバイスドライバです。もし、FTDI社のVCP(バーチャルCOMポート)ドライバを既に使用している人は、VCPドライバをアンインストールする必要があります。

 次にNP1003のコンフィグROMをUSB-JTAG用に書き換えます。
 ご使用のFPGAがXC2S100の場合はnusb2main-100.bitを、XC2S30の場合はnusb2main-30.bitコンフィグROMに書き込めばOKです。これで高速USB-JTAGケーブルが使用できるようになります。この書き換えはUSB経由ではできず、パラレルポート経由で実行する必要があります。

 ただし、現在のMITOUJTAGではUSB転送タイミングの最適化が行われていないため、バウンダリスキャンの速度はあまり出ません。

使い方

 NP1003とPCを接続します。
 フライングリードワイヤを、先ほど実装したピンヘッダの下の段に接続します。

img5.jpg

 フライングリードワイヤの先を、ターゲットボードのJTAGコネクタに接続します。下の写真ではNP1003同士を接続しています。

img5.jpg

 MITOUJTAGを起動したら、ケーブルの選択でNahitech USB 2を選択します。それ以外は通常の使い方と同じです。

img3.gif

img4.gif

 なお、下の図のようにするとFPGAが自らのコンフィグROMを自己書き換えできるようになります。
 (あまりお勧めでは有りません。)

img5.jpg

ご使用条件

1.使用権

 ナヒテックは、NP1003シリーズをお買い上げいただいたお客様に対して、高速USB-JTAGケーブル(評価版)について非独占的な使用権を許諾します。「高速USB-JTAGケーブル」は商用目的・非商用目的を問わずに無料で使用することができます。ただし、軍事目的に使用することは禁じます。

 お客様は下記の行為を行うことはできません。

  1. 「高速USB-JTAGケーブル」のFPGAデータまたはソフトウェアを複製、結合、再配布もしくは送信すること。
  2. 「高速USB-JTAGケーブル」をFPGAデータまたはソフトウェアを逆コンパイル、逆アセンブル、解析もしくは翻案すること。
  3. 「高速USB-JTAGケーブル」を再使用許諾、賃貸もしくは貸与すること
  4. 「高速USB-JTAGケーブル」を軍事目的、あるいは軍事目的の機器を製造または製造の支援をするために利用すること。

2.保証の不提供

 ナヒテックは「高速USB-JTAGケーブル」を、第三者の権利の不侵害の保証、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。

3.免責事項

 高速USB-JTAGケーブルは、教育や試作などFPGAの動作検証目的などを想定して作られております。この装置を使用した結果は一切保証できません。この装置を利用して書き込んだ不揮発性メモリは、データーの消失や異常な動作をする可能性が否めないので、絶対に次のような装置には使用しないでください。

もし使用して、いかなる結果が起ころうとも、ナヒテックおよび設計者・製造者やデバイスメーカーは一切責任を負いません。

  1. 人命に関わる機器
  2. 医療機器
  3. 誤動作により、人体や財産に影響を及ぼす可能性のある機器
  4. 誤動作により、火災の発生を起こさせる可能性のある機器
  5. 航空・宇宙機器
  6. 原子力関連機器
  7. 電動工具
  8. 国際法・国際条約上の輸出規制のある国へ輸出される可能性のある機器
  9. その他、デバイスの誤動作やデータの消失によって、何らかの損害を被る場合や何らかの問題が生じる装置

 

Copyright(C) 2004 Nahitech, NAITOU Ryuji. All rights reserved.