用于NEXPERlA PNX1500JTAG控制
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):475
jtag調(diào)試技術(shù)是一種嵌入式調(diào)試技術(shù),它的接口標準是ieee發(fā)布的邊界掃描標準ieee 1149.1。目前,大多數(shù)芯片生產(chǎn)廠商在芯片中封裝了測試電路,形成了一種板級測試協(xié)議jtag接口標準,將其復(fù)雜的電路測試轉(zhuǎn)換成具有良好結(jié)構(gòu)性能的測試,可以通過軟件簡單而靈活的處理。本文介紹了一種應(yīng)用于nexperia pnxl500平臺的usb接口的jtag控制器設(shè)計與實現(xiàn)。該控制器對比以往的pci接口的jtag控制器,更加方便實用,并且該設(shè)計中選用了專用的jtag測試控制器芯片代替以往通過邏輯可編程器件實現(xiàn)jtag時序的方法,簡化設(shè)計的同時提高了穩(wěn)定性。
系統(tǒng)總體設(shè)計 本設(shè)計的整體調(diào)試系統(tǒng)可以分為三個部分: (1) 具有usb功能的windows主機。此主機上必須具備用于pnxl500調(diào)試的應(yīng)用程序、usb用戶設(shè)備驅(qū)動以及usb系統(tǒng)驅(qū)動三個單元; (2) 由cy7c68013和sn54act8990兩款芯片設(shè)計實現(xiàn)的應(yīng)用于pnxl500平臺的jtag控制器; (3) 以pnxl500作為核心處理器的目標板。 整個系統(tǒng)的結(jié)構(gòu)圖如圖1所示 jtag簡介 jtag標準 ieee 1149.1-1990邊界掃描測試技術(shù)的目的是測試集成電路芯片之間的互連,測試集成電路芯片自身,監(jiān)視和修改集成電路芯片t作時的內(nèi)部行為。支持jtag標準的芯片必須集成一個測試訪問端口(test accessport,tap),tap至少提供tck、tdi、tms三個輸入端口和tdo數(shù)據(jù)輸出端口。tap控制器的狀態(tài)機通過時鐘tck和模式tms進行狀態(tài)改變,測試訪問狀態(tài)機的主要目的是選擇指令寄存器或者數(shù)據(jù)寄存器,使其連接到tdi和tdo之間。tap的運行如圖2所示。 pnxl500的jtag接口 pnxl500中jtag單元設(shè)計主要包括一個tap,兩個jtag數(shù)據(jù)寄存器和兩個jtag控制寄存器。這四個物理寄存器分別是:tm—dbg—data—in數(shù)據(jù)輸入寄存器,tm—dbg—data—out數(shù)據(jù)輸出寄存器和tm—dbg—ctrll和tm—dbg—ctrl2兩個控制寄存器。它們在pnxl500中的邏輯連接圖如圖3所示。 圖3中除了4個物理存在的寄存器外還描述了兩個虛擬寄存器:tm—dbg—ifull—in和tm—dbg—ofull—out。 其中第一個虛擬寄存器是由tm—dbg—ctrl2.ifuil串 上tm—dbg—data—in寄存器組成的。而第二個虛擬寄存器則是由tm—dbg—ctrll.ofull串 上tm—dbg—data—out寄存器所組成。這種設(shè)計有效的縮短了兩個數(shù)據(jù)寄存器的掃描時間,從而提高了程序的下載速度。 圖4所示為pnxl500 jtag接口的時序。 在pc機與pnxl500目標板之間,需要設(shè)計一個jtag控制器,使得pc機發(fā)出的命令按照ieeell49.1協(xié)議傳輸給目標板。pnxl500中jtag接口單元在tck上升延對tms采樣,根據(jù)tms狀態(tài),決定連接在tdi于tdo之間的寄存器。 jtag控制器的設(shè)計與實現(xiàn) 硬件系統(tǒng) 應(yīng)用于pnxl500的usbjtag控制器選用了cypress公司fx2系列usb接口芯片cy7c68013以及ti公司生產(chǎn)的sn54act8990。他們的硬件連接圖如圖5所示。 cy7c68013內(nèi)嵌增強型8051內(nèi)核,具有4kb lisb端點緩沖區(qū),可設(shè)置為雙緩沖,三緩沖或者四緩沖,支持usb2.0高速傳輸。其時鐘高達48mhz,單指令周期為83.3ns。芯片包含雙串口,支持230k波特率,400k高速iic接口,8kb片內(nèi)ram,可以存放數(shù)據(jù)和代碼,5個復(fù)用端口和5個外部中斷源。其中端點緩沖區(qū)“量子fifo”支持gpif和slave fifo傳輸方式,實現(xiàn)端點fifo和外設(shè)“膠連接”,支持8/16位總線。 sn54act8990是jtag測試總線控制器tbc(test—buscontrollers)芯片。該芯片提供了處理器與符合ieee 1149.1標準的測試總線之間的接口,使得處理器與jtag接口工作于異步方式。該芯片具有5位的地址線,16位的數(shù)據(jù)線,通過讀寫控制線,與主機通信。芯片中包括10個控制寄存器,2個指令寄存器,6個控制內(nèi)部計數(shù)器的寄存器,4個狀態(tài)寄存器,一個發(fā)送數(shù)據(jù)寄存器以及一個接收數(shù)據(jù)寄存器,這些寄存器均可以通過地址線直接
|