張志國,珠海歐比特控制工程股份有限公司, 珠海519085 摘要: 經(jīng)過(guò)幾十年SoC系統設計技術(shù)的快速發(fā)展, SOC芯片內部頻率越來(lái)越快,編寫(xiě)及運行程序越來(lái)越大。在測試及調試過(guò)程中,用傳統UART串口下載及調試程序,在速度、打印等方面呈現出諸多不便;而且該端口在SOC/FPGA研發(fā)領(lǐng)域中不通用,而JTAG接口卻圓滿(mǎn)地解決了上述兩個(gè)問(wèn)題。 引言 本應用手冊主要講解JTAG口的基本原理及與歐比特最新四核芯片S698PM的連接方法和注意事項;目的方便用戶(hù)盡快地熟悉和掌握S698PM開(kāi)發(fā)系統的JTAG調試環(huán)境。 1. JTAG簡(jiǎn)介 JTAG(Joint Test Action Group)是一種國際標準測試協(xié)議,與IEEE 1149.1標準高度兼容,主要應用于芯片功能內部測試及軟件程序調試兩大功能。 JTAG接口主要由4根信號線(xiàn)組成:TCK、TDI、TDO、TMS,不同的公司還添加幾根輔助信號線(xiàn),例如:NTRST、VERF、GND等信號。TCK是JTAG模塊外部輸入時(shí)鐘;TDI是JTAG模塊外部數據輸入信號;TDO是JTAG模塊外部輸出信號;TMS是JTAG模塊的模式選擇信號; 1.1. JTAG傳輸協(xié)議 1.1.1. JTAG傳輸狀態(tài)機 基于S698PM芯片JTAG的狀態(tài)機主要分兩種子狀態(tài)機,分別是數據傳輸狀態(tài)機和命令傳輸狀態(tài)機,并且自定義SHIFT-DR 與SHIFT-IR的循環(huán)次數不同,從而寫(xiě)入或是讀出的數值寬度不同而已。而S698PM芯片定義的數據寄存器寬度為33位,而命令寄存器寬度為35位,在下面的章節里有詳細介紹寄存器上每位的功能和意義。 下圖一展示JTAG模塊里狀態(tài)機的流轉過(guò)程。 ![]() 圖一、JTAG模塊狀態(tài)機 1.1.2. JTAG時(shí)序圖 JTAG主要有四個(gè)信號,TCK作為協(xié)議的時(shí)鐘信號,一般默認以100ns為周期變化,而TMS/TDI則一般是在時(shí)鐘下降沿給出,TDO則是TCK時(shí)鐘上升沿移位出來(lái)。 ![]() 圖二、JTAG時(shí)序圖 2. S698PM芯片內部JTAG模塊 在S698PM芯片內部JTAG模塊是由三個(gè)子模塊組成,分別是TAP(Test Access Port)、Communication Interface、AHB主設備模塊組成。該JTAG調試端口提供訪(fǎng)問(wèn)S698PM芯片內部AMBA總線(xiàn)的功能,并通過(guò)簡(jiǎn)單的讀寫(xiě)協(xié)議實(shí)現AMBA總線(xiàn)上寄存器的讀寫(xiě)操作。 ![]() 圖一 JTAG控制器框圖 基于S698PM芯片的JTAG調試口帶有兩種寄存器(命令/地址寄存器、數據寄存器),并支持JTAG讀寫(xiě)兩種指令;AHB讀操作主要是通過(guò)JTAG信號線(xiàn)把讀寫(xiě)命令位、AHB傳輸類(lèi)型、AHB傳輸地址等信息移位到命令/地址寄存器里,然后讀操作試行,并把相應的數據保存到數據寄存器里,并通過(guò)TDO信號移位輸出來(lái);AHB寫(xiě)操作主要是通過(guò)JTAG信號線(xiàn)把讀寫(xiě)命令位、AHB傳輸類(lèi)型、AHB傳輸地址等信息移位到命令/地址寄存器里,然后把數據信息移位到數據寄存器里后,開(kāi)始執行AHB總線(xiàn)寫(xiě)操作。 2.1. JTAG命令/地址寄存器
2.2. JTAG數據寄存器
3. JTAG調試 硬件主要有兩部分組成:一個(gè)是S698PM – DKIT開(kāi)發(fā)板,另外一個(gè)是FTDI公司的USB Hi-Speed FT4232 MINI MODEL開(kāi)發(fā)板。 S698PM – DKIT開(kāi)發(fā)板是芯片S698PM快速開(kāi)發(fā)的系統環(huán)境,詳細資料查看該開(kāi)發(fā)板的配套 資料。 FT4232H MINI MODEL開(kāi)發(fā)板主要完成JTAG下載器的功能。詳細資料查看FTDI公司的網(wǎng)站。 通過(guò)JTAG端口,并按照JTAG協(xié)議發(fā)送命令或是數據就可以調試和運行S698PM的程序,并且可以查看任意地址寄存器的數值。 ![]() 3.1. JTAG命令及參數 ![]() ![]() ![]() 4. 結論 通過(guò)FTDI公司的JTAG下載器,能夠成功下載嵌入式系統VXWORKS代碼,并快速執行,從反饋結果可以看出JTAG模塊功能正常,以此表明:基于S698PM芯片的JTAG控制器符合國際IEEE 1149.1標準,該JTAG調試口滿(mǎn)足芯片的邊界掃描測試及程序調試的需求;同時(shí)程序的下載速度提高了7倍以上,大大縮短了調試等待時(shí)間。 參考文獻 [1]. 顏軍. SPARC嵌入式系統設計與開(kāi)發(fā)-S698系列處理器實(shí)用教程[M]. 北京:中國標準出版社, 2013. |