摘 要:
經(jīng)過幾十年SoC系統(tǒng)設(shè)計(jì)技術(shù)的快速發(fā)展, SOC芯片內(nèi)部頻率越來越快,編寫及運(yùn)行程序越來越大。在測試及調(diào)試過程中,用傳統(tǒng)UART串口下載及調(diào)試程序,在速度、打印等方面呈現(xiàn)出諸多不便;而且該端口在SOC/FPGA研發(fā)領(lǐng)域中不通用,而JTAG接口卻圓滿地解決了上述兩個(gè)問題。
關(guān)鍵詞:
系統(tǒng)級芯片(SOC);知識產(chǎn)權(quán)(IP);JTAG;S698PM多核芯片; AMBA總線;
Abstract:
THE JTAG APPLICATION OF S698PM CHIP
After the rapid development of SoC system design technology, SoC chip internal frequency is more and more fast, the running program is more and more big. In the process of testing and debugging, using traditional UART serial download and debug program, in terms of speed, print, presents the inconvenience; And in the field of research and development for the SOC/FPGA is not universal, and the JTAG interface is solved successfully the above two questions.
Key Words: SOC;IP;S698PM CHIP;AMBA BUS;JTAG;
引言
本應(yīng)用手冊主要講解JTAG口的基本原理及與歐比特最新四核芯片S698PM的連接方法
和注意事項(xiàng);目的方便用戶盡快地熟悉和掌握S698PM開發(fā)系統(tǒng)的JTAG調(diào)試環(huán)境。
1.JTAG簡介
JTAG(Joint Test Action Group)是一種國際標(biāo)準(zhǔn)測試協(xié)議,與IEEE 1149.1標(biāo)準(zhǔn)高度兼容,主要應(yīng)用于芯片功能內(nèi)部測試及軟件程序調(diào)試兩大功能。
JTAG接口主要由4根信號線組成:TCK、TDI、TDO、TMS,不同的公司還添加幾根輔助信號線,例如:NTRST、VERF、GND等信號。TCK是JTAG模塊外部輸入時(shí)鐘;TDI是JTAG模塊外部數(shù)據(jù)輸入信號;TDO是JTAG模塊外部輸出信號;TMS是JTAG模塊的模式選擇信號;
1.1. JTAG傳輸協(xié)議
1.1.1. JTAG傳輸狀態(tài)機(jī)
基于S698PM芯片JTAG的狀態(tài)機(jī)主要分兩種子狀態(tài)機(jī),分別是數(shù)據(jù)傳輸狀態(tài)機(jī)和命令傳輸狀態(tài)機(jī),并且自定義SHIFT-DR 與SHIFT-IR的循環(huán)次數(shù)不同,從而寫入或是讀出的數(shù)值寬度不同而已。而S698PM芯片定義的數(shù)據(jù)寄存器寬度為33位,而命令寄存器寬度為35位,在下面的章節(jié)里有詳細(xì)介紹寄存器上每位的功能和意義。
下圖一展示JTAG模塊里狀態(tài)機(jī)的流轉(zhuǎn)過程。
圖一、JTAG模塊狀態(tài)機(jī)
1.1.2. JTAG時(shí)序圖
JTAG主要有四個(gè)信號,TCK作為協(xié)議的時(shí)鐘信號,一般默認(rèn)以100ns為周期變化,而TMS/TDI則一般是在時(shí)鐘下降沿給出,TDO則是TCK時(shí)鐘上升沿移位出來。
圖二、JTAG時(shí)序圖
2. S698PM芯片內(nèi)部JTAG模塊
在S698PM芯片內(nèi)部JTAG模塊是由三個(gè)子模塊組成,分別是TAP(Test Access Port)、Communication Interface、AHB主設(shè)備模塊組成。該JTAG調(diào)試端口提供訪問S698PM芯片內(nèi)部AMBA總線的功能,并通過簡單的讀寫協(xié)議實(shí)現(xiàn)AMBA總線上寄存器的讀寫操作。
圖一 JTAG控制器框圖
基于S698PM芯片的JTAG調(diào)試口帶有兩種寄存器(命令/地址寄存器、數(shù)據(jù)寄存器),并支持JTAG讀寫兩種指令;AHB讀操作主要是通過JTAG信號線把讀寫命令位、AHB傳輸類型、AHB傳輸?shù)刂返刃畔⒁莆坏矫?地址寄存器里,然后讀操作試行,并把相應(yīng)的數(shù)據(jù)保存到數(shù)據(jù)寄存器里,并通過TDO信號移位輸出來;AHB寫操作主要是通過JTAG信號線把讀寫命令位、AHB傳輸類型、AHB傳輸?shù)刂返刃畔⒁莆坏矫?地址寄存器里,然后把數(shù)據(jù)信息移位到數(shù)據(jù)寄存器里后,開始執(zhí)行AHB總線寫操作。
2.1. JTAG命令/地址寄存器
2.2. JTAG數(shù)據(jù)寄存器
3. JTAG調(diào)試
硬件主要有兩部分組成:一個(gè)是S698PM – DKIT開發(fā)板,另外一個(gè)是FTDI公司的USB Hi-Speed FT4232 MINI MODEL開發(fā)板。
S698PM – DKIT開發(fā)板是芯片S698PM快速開發(fā)的系統(tǒng)環(huán)境,詳細(xì)資料查看該開發(fā)板的配套 資料。
FT4232H MINI MODEL開發(fā)板主要完成JTAG下載器的功能。詳細(xì)資料查看FTDI公司的網(wǎng)站。
通過JTAG端口,并按照J(rèn)TAG協(xié)議發(fā)送命令或是數(shù)據(jù)就可以調(diào)試和運(yùn)行S698PM的程序,并且可以查看任意地址寄存器的數(shù)值。
3.1. JTAG命令及參數(shù)
4. 結(jié)論
通過FTDI公司的JTAG下載器,能夠成功下載嵌入式系統(tǒng)VXWORKS代碼,并快速執(zhí)行,從反饋結(jié)果可以看出JTAG模塊功能正常,以此表明:基于S698PM芯片的JTAG控制器符合國際IEEE 1149.1標(biāo)準(zhǔn),該JTAG調(diào)試口滿足芯片的邊界掃描測試及程序調(diào)試的需求;同時(shí)程序的下載速度提高了7倍以上,大大縮短了調(diào)試等待時(shí)間。
參考文獻(xiàn)
[1]. 顏軍. SPARC嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)-S698系列處理器實(shí)用教程[M].
北京:中國標(biāo)準(zhǔn)出版社, 2013.