1.JTAG簡介
JTAG(Joint Test Action Group)是一種國際標準測試協議,與IEEE 1149.1標準高度兼容,主要應用于芯片功能內部測試及軟件程序調試兩大功能。
JTAG接口主要由4根信號線組成:TCK、TDI、TDO、TMS,不同的公司還添加幾根輔助信號線,例如:NTRST、VERF、GND等信號。TCK是JTAG模塊外部輸入時鐘;TDI是JTAG模塊外部數據輸入信號;TDO是JTAG模塊外部輸出信號;TMS是JTAG模塊的模式選擇信號;
1.1. JTAG傳輸協議
1.1.1. JTAG傳輸狀態機
基于S698PM芯片JTAG的狀態機主要分兩種子狀態機,分別是數據傳輸狀態機和命令傳輸狀態機,并且自定義SHIFT-DR 與SHIFT-IR的循環次數不同,從而寫入或是讀出的數值寬度不同而已。而S698PM芯片定義的數據寄存器寬度為33位,而命令寄存器寬度為35位,在下面的章節里有詳細介紹寄存器上每位的功能和意義。
下圖一展示JTAG模塊里狀態機的流轉過程。
1.1.2. JTAG時序圖
JTAG主要有四個信號,TCK作為協議的時鐘信號,一般默認以100ns為周期變化,而TMS/TDI則一般是在時鐘下降沿給出,TDO則是TCK時鐘上升沿移位出來。
2. S698PM芯片內部JTAG模塊
在S698PM芯片內部JTAG模塊是由三個子模塊組成,分別是TAP(Test Access Port)、Communication Interface、AHB主設備模塊組成。該JTAG調試端口提供訪問S698PM芯片內部AMBA總線的功能,并通過簡單的讀寫協議實現AMBA總線上寄存器的讀寫操作。
基于S698PM芯片的JTAG調試口帶有兩種寄存器(命令/地址寄存器、數據寄存器),并支持JTAG讀寫兩種指令;AHB讀操作主要是通過JTAG信號線把讀寫命令位、AHB傳輸類型、AHB傳輸地址等信息移位到命令/地址寄存器里,然后讀操作試行,并把相應的數據保存到數據寄存器里,并通過TDO信號移位輸出來;AHB寫操作主要是通過JTAG信號線把讀寫命令位、AHB傳輸類型、AHB傳輸地址等信息移位到命令/地址寄存器里,然后把數據信息移位到數據寄存器里后,開始執行AHB總線寫操作。
2.1. JTAG命令/地址寄存器
2.2. JTAG數據寄存器
3. JTAG調試
硬件主要有兩部分組成:一個是S698PM – DKIT開發板,另外一個是FTDI公司的USB Hi-Speed FT4232 MINI MODEL開發板。
S698PM – DKIT開發板是芯片S698PM快速開發的系統環境,詳細資料查看該開發板的配套 資料。
FT4232H MINI MODEL開發板主要完成JTAG下載器的功能。詳細資料查看FTDI公司的網站。
通過JTAG端口,并按照JTAG協議發送命令或是數據就可以調試和運行S698PM的程序,并且可以查看任意地址寄存器的數值。
3.1. JTAG命令及參數
4. 結論
通過FTDI公司的JTAG下載器,能夠成功下載嵌入式系統VXWORKS代碼,并快速執行,從反饋結果可以看出JTAG模塊功能正常,以此表明:基于S698PM芯片的JTAG控制器符合國際IEEE 1149.1標準,該JTAG調試口滿足芯片的邊界掃描測試及程序調試的需求;同時程序的下載速度提高了7倍以上,大大縮短了調試等待時間。
-
芯片
+關注
關注
455文章
50714瀏覽量
423157 -
嵌入式
+關注
關注
5082文章
19104瀏覽量
304823 -
JTAG
+關注
關注
6文章
399瀏覽量
71673
發布評論請先 登錄
相關推薦
評論