トラ技78KマイコンでUSB-JTAGを作る平成22年5月11日 新着情報
目次
JTAGとは何かJTAGとは、4本線のシリアル通信で、ICを一種のテストモードに入れてICのコアをつっつくものです。TCK、TDI、TMS、TDOの4つの信号を使います。 JTAGを使うと、CPLDやFPGAに書き込んだり、バウンダリスキャンができたり、CPUのデバッグができます。 78Kマイコンを使ってJTAGのハードウェアは難しくありません。4個のI/OポートをUSBからの指令によって上げ下げすればよいのです。
78K-USB-JTAGの作り方
基本的には右の図のように結線してください。 ただし、注意点があります。78Kマイコンの各ポートは5V仕様になっています。5Vの信号が3.3V系のターゲットボードに加わるとダメージを与えることがあります。3.3V系のデバイスでお使いの場合は、以下のようにしてください。 (a) I/Oのバッファを入れる 74VHC245などのロジックICか、トランジスタを使って5V←→3.3V系の変換をしてください。 78Kマイコン基板は5V系ですが、対象となるJTAG回路は3.3Vが多くなっています。 5V→3.3V方向のレベル変換は、汎用ロジックの74AC32を使っています。74AC32の電源はターゲットボードからもらいます。74AC32の入力端子には、トラ技78Kマイコン基板の出力をつなぎますが、これは5V系なので、Hレベル出力時には74AC32の入力保護ダイオードがONしてしまいます。抵抗を入れているので許してください。 それに対して3.3V→5V方向のレベル変換は安全なのですが、78Kマイコンの入力端子は0.7×Vddボルトの電圧が来ないとHレベルとして認識してくれません。TTLレベルではないのです。電源電圧は5.0Vなので、Hレベルとして認識されるには3.5V必要です。 より完全な回路にするならレベルシフトバッファを買ってくればいいのですが、そんなの秋葉原に売ってないし、万能基板にのりません。 上の回路は一応動きますが、細かいことを言い出すと、完璧ではありません。 (b) TCK,TDI,TMSに100Ωくらいの抵抗を入れる 3.3VのJTAG信号ならなんとかなると思いますが、さすがに2.5Vは苦しいですね。 (c) 裏面のJ3をはずしてVIOの端子に3.3V(例えばC2から)を供給する。(本当はダメ) この端子はI/O電源なのですが、NECさんによれば、コア電源と電圧を分けて異なる電圧にするような使い方はできない、とのこと。 しかし、実際にはできてしまっているので、よいのか悪いのか・・ 右の図のように基板を加工します。 これで、78K基板が3.3V出力になるのですが、本当はやってよいのかどうか、よくわかりません。 しかし、USB-JTAGの開発ではずっとこの方法でやってきて、かなり長いこと使っていますが、問題は生じていません。78Kマイコンの奥深くに見えないダメージが・・・とかあるのかもしれませんが、これ専用にしてしまうのであればよいのかもしれません。 (d) 基板を発売しています。 バッファの電圧の問題などを解決し、さらにXP2以外のいろんなデバイスにも書き込めるようにした回路基板を発売しています。7,980円〜
詳しくはこちらをご覧下さい。 USB-JTAGのソフトウェア (LATTICE XP2専用)ここで紹介するのは、トラ技78Kマイコンや、XILINX,ALTERA,LATTICEのパラレルケーブルを使って、LatticeXP2に書き込みができるフリーソフトウェアです。 LatticeのFPGA開発環境は、当然ながらA社やX社のダウンロードケーブルを使うことができませんが、このツールはXでもAでもLのケーブルでも動き、Lattice XP2にビットストリームを書き込むことができます。 パラレルポートがあるパソコンをお持ちならば、今あるお手持ちのJTAGケーブルが使えます。 パラレルポートがないパソコンならば、トラ技2008年8月号の付録基板を使ってUSB-JTAG変換アダプタをつくり、LATTICE XP2にビットストリームを書き込むことができます。 ● ソフトウェアダウンロード V153 (平成22年5月22日) Windows2000,XP,Vista,7対応? VistaとWindows7に対応できたように思われます ● ソフトウェアダウンロード V152c 安定版 (平成21年4月19日) Windows2000,WindowsXP用 平成21年4月11日 1.5.2a 最初のリリース 平成21年4月12日 1.5.2b CSRAMモード対応 平成21年4月19日 1.5.2c 78Kマイコンの検出アルゴリズム修正 使い方その1(78KマイコンでUSB-JTAGにする場合)
普段の使い方では、DOSプロンプトから次のように入力します。 xp2jtag -auto ファイル名 ディジタルデザインテクノロジの付録CD-ROMのサンプルを書き込むなら、 xp2jtag -auto e:\DATA\tutorial\hdl_example\hdl_example.jed と入力します。 C-SRAMモード(内蔵フラッシュを書き換えずにFPGAの揮発セルだけを書き換えるモード)では、 xp2jtag -csram -auto e:\DATA\tutorial\hdl_example\hdl_example.jed と入力します。
約78秒で書き込みが完了します。
使い方その2(XILINX、ALTERA、LATTICEのパラレルケーブルを使う場合)
普段の使い方では、DOSプロンプトから次のように入力します。 xp2jtag -auto ファイル名 XILINXのパラレルケーブルで付録CD-ROMのサンプルを書き込むなら、 xp2jtag -cable prnprt -auto e:\DATA\tutorial\hdl_example\hdl_example.jed と入力します。 ALTERAのパラレルケーブルで付録CD-ROMのサンプルを書き込むなら、 xp2jtag -cable prnprt -port byteblaster2.txt -auto e:\DATA\tutorial\hdl_example\hdl_example.jed と入力します。 C-SRAMモード(内蔵フラッシュを書き換えずにFPGAの揮発セルだけを書き換えるモード)では、 xp2jtag -csram -cable prnprt -auto e:\DATA\tutorial\hdl_example\hdl_example.jed と入力します。 LFXP2-5Eなら、14秒くらいで書き込みが完了します。
USB-JTAGのソフトウェア (汎用)JTAGのハードウェアは簡単ですが、ソフトウェアは難しいものです。 なぜなら、JTAGによるデバイスの操作アルゴリズムは、デバイスごとに皆異なる上、どのメーカーも基本的に非公開としているからです。 どのメーカーのFPGAデバイスにも対応させようとして製作したソフトウェアソフトウェアには2種類あります。 @ ユニバーサルJTAGプログラマのソフトウェア「J-Writer」。 A MITOUJTAG 体験版。どちらか一方の方法をご利用ください。 @ J-Writerを使う方法J-Writerは、特殊電子回路株式会社から発売されているマルチベンダ対応のJTAGプログラマです。J-Writerのハードウェアは、このページで紹介した78K-USB-JTAGに、高性能バッファと+αを追加したものです。 付属のソフトウェアには試用期限はなく、いつまでもお使いいただけます。 詳しくはこちらをご覧下さい。価格は7,980円〜となっています。
A MITOUJTAG体験版を使う方法MITOUJTAG体験版1.5をお持ちの方は、万能JTAGプログラマがご利用いただけます。本ソフトウェアをインストールするには、まず最初にMITOUJTAG体験版1.5をインストールしてください。 ・78K-USB-JTAG対応パッチとDOSプロンプト版書き込みツール ダウンロード 上のリンクをクリックし、「MITOUJTAGサポートファイルダウンロード」という画面が出たら、「MITOUJTAG体験版」のシリアル番号を入力してください。ファイルのダウンロードが始まります。 そのファイルを実行すると、次のような画面が現れるので、そのままインストールしてください。 特に何も問題なく、インストールできるはずです。 DOS版 USB-JTAG書き込みツールの使い方このページで提供するUSB-JTAGのソフトウェアは、SVFファイルを経由するような簡易的なものではありません。それぞれのJTAGデバイスの書き込みアルゴリズムをネイティブで実装しています。FPGAだけではなく、XILINX CPLDやROM、ALTERA CPLDに対してもネイティブ書き込みを実現しています。 デスクトップに下のアイコンができているので、これをクリックすると、DOS版書き込みツールが起動します。 使い方は、以下のように入力します。 JTAGチェーンにつながったJTAGデバイスを自動検出をしたい場合mjisp -cable trg78k -detect JTAGデバイスに書き込み(消去+書き込み+ベリファイ)したい場合mjisp -cable trg78k -auto 書き込みファイル名 例) mjisp -cable trg78k -auto c:\test\hoge.bit <=
XILINX FPGAまたはROMに書き込む場合 JTAGデバイスに何もしない(BYPASS)したい場合mjisp -cable trg78k -bypass any ※ -cable trg78k という記述は、トラ技78KマイコンをJTAGケーブルとして使うためのオプションです。デフォルトではPocket
JTAG Cableになっています。 ※ JTAGチェーンに複数のJTAGデバイスがつながっている場合、「-auto ファイル名」または、「-bypass any」の記述を列挙することで、個々のデバイスの動作を指定できます。 例) mjisp -cable trg78k -bypass any -auto c:\test\hoge.bit
2番目のデバイスのみ書き込む より詳しい使い方はReadmeをご覧下さい。 Windows版バウンダリスキャンツール(MITOUJTAG体験版)MITOUJTAG体験版を起動したら、ケーブルの選択を行ってください。TRG78Kというケーブルが使えるようになっているはずです。 TRK78Kを選択すると、78KマイコンのRAMに自動的にファームウェアが転送され、画面に下の図のようなアイコンが表示されます。 上記のアイコンを一度クリックして網掛けで塗りつぶされた状態にしてください。 その後、自動認識や、サンプリング、EXTEST、ロジアナ、デバイス書き込みなどがおこなえます。
書き込み対応デバイスXILINX:XC9500/XL, Spartan2/2E, Spartan3/3E/3A, Virtex2/2Pro, Virtex4, Virtex5, XC18V00, XCF00S, XCF00P, CoolRunner2 ALTERA:MAXII, Cyclone ※ バウンダリスキャンはすべてのJTAGデバイスに対応 使用時のようす
DOS版書き込みツール |
||||||
|
Copyright(C) 2008 NAITOU Ryuji. All rights reserved. 無断転載を禁ず