トラ技78K基板でUSB-JTAGを作ってみた
トラ技付録78K基板に最も期待されるアプリケーションはおそらくCPLDやFPGAに書き込むためのアダプタではないでしょうか。
最近のCPLDやFPGAの書き込みには、JTAGというシリアル通信のプロトコルが使われます。
そこで、トラ技78K基板を簡易的なUSB-JTAGアダプタにする方法を開発中です。
JTAGは、TCK,TDI,TMS,TDOの4つの信号線で通信します。
TDIとTDOはシリアルデータの入出力、TCKはクロックです。
付録基板のI/Oポートを
P13・・・TDO
P14・・・TMS
P15・・・TDI
P16・・・TCK
と割り当てて、XILINXのSpartan3AN評価ボードとトラ技78Kにつないでみました。

TCKやTDIを操作するハードウェアを作るのは難しくはないのですが、どのようにTCKやTDIを操作すればよいかということや、どのようにシリアルのビット列を組み立てれば目的の機能が果たせるかというのは、ターゲットとなるCPLDやFPGAごとにみな違います。
JTAGはソフト面の比重が非常に大きいのです。
特殊電子回路㈱から発売されているMITOUJTAG(みとうジェイタグ)は、いろんなFPGAやCPLDに書き込んだり、FPGAやCPLDの端子の状態をパソコンの画面上にリアルタイムに可視化することができる汎用的なJTAGソフトウェアです。(下の画面参照)
トラ技78K基板で作ったUSB-JTAGアダプタをMITOUJTAGから使うことができるようにすれば、JTAGのアルゴリズムを再発明することなく、あらゆるデバイスに即対応することができるわけです。
そういうわけで、以前R8Cマイコン用に作った「RS232C-JTAG」のプログラムを78Kに移植してみたところ、78KマイコンでUSBをJTAGに変換し、FPGAに接続することができました。トラ技78Kマイコンは仮想COMポートとして見えるので、自分でドライバを作る必要がない分だけ楽にできました。
XILINX Spartan3ANの端子の状態を見ているのが下の図の画面です。
しかし、上記の画面の「視覚的バウンダリスキャン」(端子の状態を可視化する技術)は、毎秒0.4回と非常に遅く、まだまだ実用的ではありません。JTAGの信号をオシロで見てみると、700m秒くらい空いているので、何かのタイムアウトが起こってしまっているようです。
今後、デバッグを進めていって、少なくともストレスを感じない程度の速度でスキャンできることを目指したいと思います。
| 固定リンク




コメント