ハードウェア仕様

2003/12/1

USB/JTAGはキャラクタコードを送信することによって,以下の6つの動作をします.

キャラクタコード 動作
20-5F 6 ビットのシリアルデータ TDITCK にのせて出力
60-63 / 6C-6F TCK/TMS/TDI の状態を変更
64-6B TMS/TDI の状態を変更して,TCK のパルスを出力
70 71 20-5F に対する エコー のON/OFF
74-77 LED の ON/OFF
7E TCK/TMS/TDI/nST/TDOの状態取得

6 ビットのシリアルデータ TDITCK にのせて出力

PCから「39h:0011 1001」を送信するとLSBから順に「100111」がTCKの立下りにて,シリアルデータを出力します.JTAGでは,TCKの立ち上がりにて,TMSとTDIが更新され,TCKの立下りエッジにてTDOの値が更新されます.TCKの立ち上がりである赤丸がTDOを取り込んでいるタイミングです.


PCから送信するキャラクタコードとTDIから出力されるシリアルデータの関係は次のようになっています.6ビットなので00(00 0000) - 3F(11 1111)となります.

DATA(H) CHR(H) DATA(H) CHR(H) DATA(H) CHR(H) DATA(H) CHR(H)
00 40 10 50 20 20 30 30
01 41 11 51 21 21 31 31
02 42 12 52 22 22 32 32
03 43 13 53 23 23 33 33
04 44 14 54 24 24 34 34
05 45 15 55 25 25 35 35
06 46 16 56 26 26 36 36
07 47 17 57 27 27 37 37
08 48 18 58 28 28 38 38
09 49 19 59 29 29 39 39
0A 4A 1A 5A 2A 2A 3A 3A
0B 4B 1B 5B 2B 2B 3B 3B
0C 4C 1C 5C 2C 2C 3C 3C
0D 4D 1D 5D 2D 2D 3D 3D
0E 4E 1E 5E 2E 2E 3E 3E
0F 4F 1F 5F 2F 2F 3F 3F

(例 : 0x55送信)

PCから0x55を送信すると,DLC-008のTCK/TDIは次のようになります.TMSは,0x60-63/0x6C-6Fを使って,あらかじめ変更しておきます.




エコーがONの場合には,6bitのTDOがPCに返信されます.
D0 D1 D2 D3 D4 D5 D6 D7
TDO TDO0 TDO1 TDO2 TDO3 TDO4 TDO5 0(固定)

D0のTDOはTCKを上げ下げせずに、そのままのTDOをTXDに出力しています.D1-D6はTCKの立ち上がりエッジでサンプルしたTDOをTXDに出力してPCへ送信します.TDOがすべて「1」であれば,このときTXDは次の波形となります.このときの波形は次のようになります.




通信速度が「115200bps」のときRXDTXDの波形です.「0x20:0000 0100」を送信した場合,TDOがすべて「H」なので,RXには「0x7F:1111 1110」が返信されます.ECHOがOFFの場合には,データは返信されませんが,JTAG信号は動作します.




TCK/TMS/TDI の状態を変更

CHR(H) TCK TMS TDI CHR(H) TCK TMS TDI
60 0 0 0 6C 1 0 0
61 0 0 1 6D 1 0 1
62 0 1 0 6E 1 1 0
63 0 1 1 6F 1 1 1

下は 0x61,0x62,0x63 の送信時の波形です.PCへの返信はありません.

TMS/TDI の状態を変更して,TCK のパルスを出力

CHR(H) TCK TMS TDI CHR(H) TCK TMS TDI
64 Hパルス 0 0 68 Lパルス 0 0
65 Hパルス 0 1 69 Lパルス 0 1
66 Hパルス 1 0 6A Lパルス 1 0
67 Hパルス 1 1 6B Lパルス 1 1

(例 : 0x64送信)
0x64を送信すると,TMSとTDIが「Low」になり,TCKの状態が「High」であれば,「Low」になります.TCKの状態が「Low」であれば「Hパルス」となります.


(例 : 0x67送信)
0x67を送信すると,状態が「High」なのでTMSとTDIが「High」のままで,TCKの状態が「High」なので,「Low」になります.TCKの状態が「Low」であれば「Hパルス」となります.


(例 : 0x68送信)


20-5F に対する エコー のON/OFF

6 ビットのシリアルデータ TDITCK にのせて出力するときに,ECHOがONであれば返信されます.ECHOがOFFであっても,JTAG信号は動作します.

CHR(H)
70 TDO ECHO OFF
71 TDO ECHO ON

LED の ON/OFF

LEDの点灯と消灯を行います.

CHR(H)
74 ERROR LED ON
75 ERROR LED OFF
76 DONE LED ON
77 DONE LED OFF

TCK/TMS/TDI/nST/TDOの状態取得

TCK,TMS,TDI,nSTATUS,TDOの状態を取得します.JTAG信号は変化しません.PCから「0x7E」を送信すると信号の状態を取得できます.TDOとnSTATUSは外部の信号ですが,TCK,TMS,TDI は内蔵レジスタの値となります.D2がTDI or nSTとなっているのはアルテラのPSモードで動作可能にするためです.JTAGポートを使用する場合,プルダウンされているので nST=0 となります.PCへの返信はエコーON/OFFとは関係なく,常に返信されます.

D0 D1 D2 D3 D4 D5 D6 D7
TDO nST TDI or nST TMS TCK 1 0 0


メールでのご質問はこちらへどうぞ

HDLのホームページへ