專(zhuān)利名稱(chēng):通過(guò)jtag對(duì)單板進(jìn)行測(cè)試的方法以及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子設(shè)備領(lǐng)域,尤其涉及一種通過(guò)JTAG(JointTest Action Group)對(duì)單板進(jìn)行測(cè)試的方法和設(shè)備。
背景技術(shù):
在單板的調(diào)測(cè)過(guò)程中,常常需要對(duì)單板硬件進(jìn)行診斷,以判斷是芯片損壞或者是PCB(Printed Circuit Board)故障或者加工故障(短路、虛焊等)。在現(xiàn)有技術(shù)中最常用的通過(guò)示波器去觀察被測(cè)芯片的管腳狀態(tài)。但是,這種方式存在很多缺陷,比如不小心將芯片相連管腳短路損壞芯片,或者芯片管腳很多,很難測(cè)量,或者芯片使用BGA(Ball Grid Array)等封裝,示波器探頭根本無(wú)法放到管腳上。如果不知芯片是損壞還是焊接問(wèn)題,則需要更換芯片,此盲目操作損失很大。
目前很多芯片支持IEEE 1149.1以及相關(guān)標(biāo)準(zhǔn)的JTAG功能。IEEE 1149.1目的是完成芯片的互聯(lián)測(cè)試、芯片自身測(cè)試、以及在芯片正常操作時(shí)獲取和修改電路狀態(tài)。該標(biāo)準(zhǔn)對(duì)TAP(Test AccessPort)、測(cè)試邏輯結(jié)構(gòu)、TAP控制器、指令寄存器、指令、測(cè)試數(shù)據(jù)寄存器、旁路寄存器、邊界掃描寄存器、設(shè)備ID寄存器等做了具體規(guī)定。通過(guò)JTAG可以完成對(duì)芯片的測(cè)試、對(duì)PLD(Programmable Logic Device)的加載以及調(diào)試。但是,目前結(jié)合JTAG進(jìn)行芯片測(cè)試時(shí)需要大型ICT(In-Circuit Test)設(shè)備或者ATE(Automatic Test Equipment)支持,成本很高。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的在于提供一種通過(guò)JTAG來(lái)進(jìn)行單板測(cè)試的方法和設(shè)備,從而容易地對(duì)單板進(jìn)行診斷調(diào)試。
本發(fā)明所提供的通過(guò)JTAG來(lái)進(jìn)行單板測(cè)試的方法和設(shè)備可以向用戶(hù)直觀顯示相關(guān)芯片管腳狀態(tài)或者通過(guò)簡(jiǎn)單操作改變相關(guān)芯片的管腳狀態(tài),從而進(jìn)一步判斷單板的芯片故障、PCB故障或加工故障。
因此,本發(fā)明可以提高單板診斷正確率,降低操作難度,避免盲目更換芯片帶來(lái)的損失。另外,本發(fā)明還可以降低測(cè)試成本。
通過(guò)以下結(jié)合附圖對(duì)本發(fā)明的最佳實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的這些以及其他優(yōu)點(diǎn)將更加明顯。
圖1示出根據(jù)本發(fā)明的測(cè)試設(shè)備的概略視圖。
圖2示出被測(cè)單板上的JTAG芯片與本發(fā)明的信號(hào)連接關(guān)系。
圖3示意性地示出根據(jù)本發(fā)明被測(cè)的單板上的芯片布局。
圖4示出根據(jù)本發(fā)明進(jìn)行測(cè)試的操作流程圖。
具體實(shí)施例方式
圖1示出根據(jù)本發(fā)明的測(cè)試設(shè)備的概略視圖。
根據(jù)本發(fā)明,為了對(duì)單板2進(jìn)行測(cè)試,單板2上需要有支持JTAG功能的芯片201(下文簡(jiǎn)稱(chēng)JTAG芯片),該JTAG芯片201包括一個(gè)TAP(Test Access Port)控制器220,該TAP控制器220提供的TAP控制信號(hào)包括TCKTest Clock測(cè)試時(shí)鐘(輸入)TDITest Data In測(cè)試數(shù)據(jù)輸入(輸入)TMSTest Mode Select測(cè)試模式選擇(輸入)TDOTest Data Out測(cè)試數(shù)據(jù)輸出(輸出)TRSTTest Reset測(cè)試復(fù)位(輸入)(可選)。
將上述TAP控制信號(hào)從位于JTAG芯片上的TAP控制器220中引出,供本發(fā)明使用來(lái)對(duì)被測(cè)單板進(jìn)行測(cè)試。
如圖1所示,為了對(duì)具有JTAG芯片201的單板2進(jìn)行測(cè)試,本發(fā)明的測(cè)試設(shè)備1包括用戶(hù)輸入輸出接口101;控制單元105;分析單元110以及單板輸入輸出接口115。
用戶(hù)輸入輸出接口101負(fù)責(zé)接收用戶(hù)命令,將用戶(hù)命令轉(zhuǎn)換為JTAG指令,并將JTAG指令送給控制單元105;或者將控制單元105所返回的信息提供給用戶(hù)。優(yōu)選的,用戶(hù)輸入輸出接口101直觀地向用戶(hù)顯示被測(cè)單板的被測(cè)芯片的管腳狀態(tài)。
分析單元110對(duì)單板2上的JTAG芯片201的BSDL文件進(jìn)行分析,得到單板2上的JTAG芯片201的初始BSR等相關(guān)信息,并將所得到的信息提供給控制單元105。
BSDL(Boundary Scan Description Language)文件通常由芯片廠家提供。BSR(Boundary Scan Register)是與JTAG芯片201的管腳對(duì)應(yīng)的一組寄存器,通過(guò)對(duì)BsR進(jìn)行讀,可以將JTAG芯片的管腳狀態(tài)進(jìn)行讀出顯示;通過(guò)修改BSR的值,可以改變JTAG芯片的管腳狀態(tài)。
單板上的JTAG芯片201的BSR等相關(guān)信息包括JTAG芯片201的每個(gè)單元的(cell)的Cell Number、Cell Type、Function、Safe Value、Control Cell、對(duì)應(yīng)管腳等等的參數(shù)信息。
控制單元105負(fù)責(zé)將JTAG指令借助BSR信息轉(zhuǎn)換成相應(yīng)的TAP控制信號(hào)操作指令流并將操作指令流提供給單板輸入輸出接口115。進(jìn)而,本發(fā)明的控制單元105還根據(jù)用戶(hù)的要求將從單板所獲取的JTAG芯片的最新的BSR信息或者其中所包含的管腳信息交給用戶(hù)輸入輸出接口101向用戶(hù)進(jìn)行顯示;單板輸入輸出接口115負(fù)責(zé)將控制單元105發(fā)出的操作指令流轉(zhuǎn)換為相應(yīng)的TAP控制信號(hào)電平。另外,單板輸入輸出接口115還負(fù)責(zé)從單板接收J(rèn)TAG芯片的最新的BSR信息,并將其提供給控制單元105。根據(jù)本發(fā)明的優(yōu)選實(shí)施方式,通過(guò)TDI和TMS向單板送入命令和修改后的BSR信息,通過(guò)TDO讀出BSR信息。
優(yōu)選的,被測(cè)芯片的輸出管腳的狀態(tài)反映在與其連接的JTAG芯片的輸入管腳的狀態(tài)中。
優(yōu)選的,本發(fā)明的單板輸入輸出接口115使用并行端口作為測(cè)試設(shè)備與單板的接口。但是本領(lǐng)域的技術(shù)人員將能夠理解,可以使用串口、USB、PCI等等其他接口作為單板輸入輸出接口115。
圖2示出了單板2上的JTAG芯片201與本發(fā)明的單板輸入輸出接口115的信號(hào)連接關(guān)系。
本發(fā)明的上述測(cè)試設(shè)備可以向用戶(hù)直觀顯示JTAG芯片管腳狀態(tài)或者通過(guò)簡(jiǎn)單操作改變JTAG芯片的管腳狀態(tài),并進(jìn)而根據(jù)管腳狀態(tài)進(jìn)行診斷。
為了說(shuō)明的方便,圖3示意性地示出根據(jù)本發(fā)明被測(cè)的單板2上的芯片布局。如圖所示,被測(cè)單板2包括一個(gè)JTAG芯片,與該芯片連接的其他芯片X和其他器件Y。假設(shè)JTAG芯片的管腳A、B、E和其他芯片X的管腳XA、XB、XE相連,芯片的管腳C、D和其他器件X的管腳YC、YD相連。
通過(guò)讀取JTAG芯片的管腳A、B的狀態(tài),或者通過(guò)設(shè)置JTAG芯片的管腳E的狀態(tài),可以進(jìn)行其他芯片X測(cè)試,或者進(jìn)行JTAG芯片本身乃至于PCB的測(cè)試。
圖4示出根據(jù)本發(fā)明進(jìn)行測(cè)試的操作流程圖。
該方法包括步驟在步驟401,分析被測(cè)單板上的JTAG芯片的BSDL文件,得到該芯片的BSR信息等相關(guān)信息;在步驟405,接收用戶(hù)發(fā)出的命令,將用戶(hù)命令轉(zhuǎn)換為JTAG指令。
在步驟410,判斷命令類(lèi)型。
當(dāng)是讀命令的時(shí)候,前進(jìn)到步驟415,將,根據(jù)BSR信息將其相應(yīng)的JTAG指令轉(zhuǎn)換為T(mén)AP控制信號(hào),將TAP控制信號(hào)轉(zhuǎn)換為相應(yīng)的TAP控制信號(hào)電平,施加到被測(cè)單板上的JTAG芯片上。
在步驟420,從JTAG芯片回讀其BSR信息,得到管腳A和B的管腳狀態(tài)。
在步驟425,將回讀的BSR信息或者其中所包含的管腳A和B的管腳狀態(tài)顯示給用戶(hù)。
通過(guò)上述處理,可以容易地讀出JTAG芯片的管腳狀態(tài),而不需對(duì)單板進(jìn)行任何復(fù)雜的操作。因此,根據(jù)本發(fā)明進(jìn)行單板管腳狀態(tài)讀取時(shí),能夠降低操作難度。
優(yōu)選的,本發(fā)明在用戶(hù)發(fā)送單次讀命令時(shí)向其提供當(dāng)前的BSR信息或者其中所包含的JTAG芯片的管腳狀態(tài)信息,而在用戶(hù)發(fā)送循環(huán)讀命令,本發(fā)明將不斷被刷新的BSR信息或者其中所包含的JTAG芯片的管腳狀態(tài)信息提供給用戶(hù),以便用戶(hù)長(zhǎng)時(shí)間觀察管腳狀態(tài)。
優(yōu)選的,本發(fā)明的測(cè)試方法將芯片的管腳狀態(tài)以圖示的方式直觀地顯示給用戶(hù)。
當(dāng)?shù)玫絁TAG芯片的管腳狀態(tài)之后,可以采用常規(guī)的判斷單板故障的手段通過(guò)對(duì)所讀取的管腳狀態(tài)進(jìn)行分析比較以進(jìn)行單板診斷。
優(yōu)選的,本發(fā)明進(jìn)一步將所回讀的管腳狀態(tài)與其預(yù)定的參照值進(jìn)行比較,采用已有的技術(shù)確定被測(cè)的單板是否發(fā)生故障,以及發(fā)生了何種故障。該參照值是例如,當(dāng)其他芯片X良好,PCB沒(méi)有故障,并且沒(méi)有加工故障時(shí),被測(cè)芯片X的管腳XA或XB的理論輸出狀態(tài),或者JTAG芯片的A或B的理論輸入狀態(tài)。
當(dāng)所回讀的管腳狀態(tài)與其預(yù)定的參照值一致時(shí)表明被測(cè)的芯片X焊接良好且PCB良好。否則說(shuō)明被測(cè)芯片X在某些方面存在故障。
例如如果其他芯片X應(yīng)該輸出0給JTAG芯片的管腳A,而讀出的管腳A電平是1,則認(rèn)為其他芯片X的輸出到JTAG芯片的管腳A直接故障;否則芯片1與JTAG芯片的管腳A的PCB連接良好且芯片1和JTAG芯片這兩個(gè)管腳均焊接良好;如果其他芯片X的輸出狀態(tài)可以改變,則可以讓其他芯片X輸出的電平變化,如果在JTAG芯片的管腳A的讀出的電平同樣相應(yīng)變化,則可以更進(jìn)一步驗(yàn)證芯片1與JTAG芯片的管腳A的PCB連接良好且芯片1和JTAG芯片這兩個(gè)管腳均焊接良好。
另外,如果已知其他芯片X的輸出管腳XA和/或XB的狀態(tài),通過(guò)對(duì)JTAG芯片的管腳A和/或B的管腳狀態(tài)進(jìn)行回讀,可以通過(guò)對(duì)它們的管腳信息進(jìn)行比較,或者再加上已有技術(shù)中的診斷調(diào)試方式,來(lái)確定管腳之間是否發(fā)生了短路,虛焊等故障或者PCB故障等。
根據(jù)上述所回讀的管腳狀態(tài)還可以對(duì)JTAG芯片或者PCB進(jìn)行診斷。
例如,如果已知芯片X的管腳XA輸出0,管腳XB輸出1,并且所讀出的JTAG芯片的管腳A和管腳B狀態(tài)一直相同,而不是正常的0和1。則可以判斷JTAG芯片的管腳A和管腳B在某處短路或者PCB發(fā)生了短路。
而如果芯片X的管腳A發(fā)出0101序列,則通過(guò)程序回讀出JTAG管腳A狀態(tài)應(yīng)該也是0101。而如果管腳A虛焊或者發(fā)生PCB斷路后,則回讀出的管腳A的狀態(tài)一直不變。因此通過(guò)上述比較可以判斷出管腳A的虛焊或者發(fā)生PCB斷路。
因此,本發(fā)明可以提高單板診斷正確率,降低操作難度,避免盲目更換芯片帶來(lái)的損失。
當(dāng)在步驟410,判斷為是寫(xiě)命令的時(shí)候,前進(jìn)到步驟430,根據(jù)用戶(hù)設(shè)置修改BSR信息,根據(jù)修改后BSR信息將相應(yīng)的JTAG指令轉(zhuǎn)換為T(mén)AP控制信號(hào)。
在步驟435,將TAP控制信號(hào)轉(zhuǎn)換為相應(yīng)的TAP控制信號(hào)電平,發(fā)送給被測(cè)單板上的JTAG芯片。
通過(guò)將用戶(hù)設(shè)置的狀態(tài)送到JTAG芯片的管腳E,將管腳E的輸出狀態(tài)改變,從而設(shè)置其他芯片X的輸入管腳E的狀態(tài)。
優(yōu)選的,用戶(hù)通過(guò)用戶(hù)輸入輸出接口101選擇JTAG芯片的管腳E輸出0或者1或者不輸出,來(lái)設(shè)置被測(cè)的其他芯片X的輸入管腳狀態(tài)。
本發(fā)明的測(cè)試方法通過(guò)回讀BSR或者設(shè)置BSR,將JTAG芯片管腳的狀態(tài)直觀顯示出來(lái),或者將其某一個(gè)輸出管腳的輸出狀態(tài)改變,來(lái)實(shí)現(xiàn)對(duì)被測(cè)單板的狀態(tài)讀出或者寫(xiě)入。
如果該其他芯片X也支持JTAG功能,則可以采用上面所描述的讀取JTAG芯片的輸入管腳狀態(tài)的方法,來(lái)向用戶(hù)直接地顯示該其他芯片X的輸入管腳XE的狀態(tài)信息。
對(duì)其他器件Y所進(jìn)行的回讀或者設(shè)置可以采用同樣的方式。
優(yōu)選的,可以在被測(cè)單板上提供一個(gè)用于將JTAG芯片上的TAP控制器與根據(jù)本發(fā)明的單板輸入輸出接口通過(guò)電纜進(jìn)行連接的插座,以提高連接的方便性和靈活性。
優(yōu)選的,可以在測(cè)試設(shè)備中添加一個(gè)診斷單元,該診斷單元與控制單元相連,按照已有的測(cè)試方法,根據(jù)將所讀取的JTAG芯片的管腳狀態(tài),判斷單板是否有故障。并通過(guò)用戶(hù)輸入輸出接口向用戶(hù)顯示其診斷結(jié)果。
雖然在上面的描述中以對(duì)JTAG芯片以及與其直接相連的其他芯片或其他器件為例進(jìn)行的描述,但是本領(lǐng)域的技術(shù)人員將能夠理解,對(duì)于與JTAG芯片間接相連的芯片或者其他器件,例如通過(guò)具有簡(jiǎn)單的輸入輸出功能的器件與JTAG芯片相連的芯片或者其他器件,也同樣能夠通過(guò)對(duì)JTAG芯片進(jìn)行管腳狀態(tài)回讀或者設(shè)置來(lái)進(jìn)行診斷調(diào)試。另外,當(dāng)具有JTAG功能的芯片相互關(guān)聯(lián)很多的時(shí)候,也可以將它們作為一個(gè)邏輯上的具有JTAG功能的功能部件,通過(guò)對(duì)其中的一個(gè)JTAG芯片進(jìn)行管腳狀態(tài)回讀或者設(shè)置對(duì)其進(jìn)行診斷調(diào)試。
本發(fā)明的測(cè)試設(shè)備中的控制單元,用戶(hù)輸入輸出接口,分析單元以及診斷單元可以用軟件的形式在PC、工作站等上實(shí)現(xiàn)。單板輸入輸出接口可以用簡(jiǎn)單的并口來(lái)實(shí)現(xiàn)。因此,與已有技術(shù)相比,本發(fā)明能夠降低測(cè)試成本。
應(yīng)該注意的是,上面所描述的實(shí)施方式只是用于說(shuō)明本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。
另外,上述各操作過(guò)程可以以存儲(chǔ)在各種介質(zhì)中的計(jì)算機(jī)可以執(zhí)行的程序的方式實(shí)現(xiàn)。這些介質(zhì)包括但不限于各種存儲(chǔ)器和存儲(chǔ)單元,半導(dǎo)體設(shè)備,磁盤(pán)單元例如光、磁和磁光盤(pán),以及其它適于存儲(chǔ)信息的介質(zhì)。
雖然結(jié)合附圖詳細(xì)描述了本發(fā)明的實(shí)施例,但是對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),仍可以對(duì)上述實(shí)施方式作出各種修改和變更而不改變本發(fā)明的實(shí)質(zhì)和范圍。因此,本發(fā)明的范圍僅由所附權(quán)利要求限定。
權(quán)利要求
1.一種通過(guò)JTAG對(duì)單板進(jìn)行測(cè)試的方法,該單板包括一個(gè)JTAG芯片以及與其相關(guān)的一個(gè)或多個(gè)其他芯片,其特征在于,該方法包括步驟通過(guò)分析該JTAG芯片的BSDL文件,得到包含該JTAG芯片的BSR信息的相關(guān)信息;接收用戶(hù)命令;根據(jù)所得到的BSR信息將該命令轉(zhuǎn)換為T(mén)AP控制信號(hào)電平,并將其施加到所述JTAG芯片上;從所述JTAG芯片讀取其輸入管腳的管腳狀態(tài),或者將其輸出管腳的輸出狀態(tài)改變;根據(jù)所述讀取的管腳狀態(tài)或者對(duì)所述輸出管腳所改變的輸出狀態(tài),對(duì)所述單板進(jìn)行診斷調(diào)試。
2.根據(jù)權(quán)利要求1所述的測(cè)試方法,其特征在于所述接收用戶(hù)命令的步驟還包括將所述接收的命令轉(zhuǎn)換為JTAG指令的步驟;所述轉(zhuǎn)換和發(fā)送步驟根據(jù)所得到的BSR信息將該JTAG指令轉(zhuǎn)換為T(mén)AP控制信號(hào)電平的步驟。
3.根據(jù)權(quán)利要求1所述的測(cè)試方法,其特征在于所述診斷調(diào)試步驟包括將所讀取的管腳狀態(tài)與預(yù)定值進(jìn)行比較,以判斷所述單板是否有故障。
4.根據(jù)權(quán)利要求1所述的測(cè)試方法,其特征在于所述診斷調(diào)試步驟包括通過(guò)對(duì)所述JTAG芯片的輸出管腳的輸出狀態(tài)進(jìn)行改變,進(jìn)而改變與該輸出管腳相連的其他芯片的輸入狀態(tài)。
5.一種測(cè)試設(shè)備,用于通過(guò)JTAG對(duì)單板進(jìn)行測(cè)試,該單板包括一個(gè)JTAG芯片以及與其相關(guān)的一個(gè)或多個(gè)其他芯片,其特征在于,所述測(cè)試設(shè)備包括分析單元,用于對(duì)單板上的JTAG芯片的BSDL文件進(jìn)行分析,得到包含初 BSR信息的相關(guān)信息;用戶(hù)輸入輸出接口,用于接收用戶(hù)命令,將用戶(hù)命令轉(zhuǎn)換為JTAG指令;控制單元,用于根據(jù)BSR信息將所述JTAG指令轉(zhuǎn)換成TAP控制信號(hào);單板輸入輸出接口,用于將所述TAP控制信號(hào)轉(zhuǎn)換為T(mén)AP控制信號(hào)電平,并將所述電平施加到所述JTAG芯片上,以從所述JTAG芯片讀取其輸入管腳的管腳狀態(tài),或者將其輸出管腳的輸出狀態(tài)改變。
6.根據(jù)權(quán)利要求5所述的測(cè)試設(shè)備,其特征在于所述測(cè)試設(shè)備還包括診斷單元,用于根據(jù)所讀取的JTAG的管腳狀態(tài),判斷單板是否有故障。
7.根據(jù)權(quán)利要求5所述的測(cè)試設(shè)備,其特征在于所述用戶(hù)輸入輸出接口向用戶(hù)顯示所讀出的芯片管腳狀態(tài)。
8.根據(jù)權(quán)利要求5所述的測(cè)試設(shè)備,其特征在于所述單板輸入輸出接口為并口。
9.根據(jù)權(quán)利要求8所述的測(cè)試設(shè)備,其特征在于在所述單板上還包括一個(gè)插座,用于將所述單板輸入輸出接口與所述JTAG芯片進(jìn)行連接。
全文摘要
本發(fā)明公開(kāi)了一種通過(guò)JTAG對(duì)單板進(jìn)行測(cè)試的方法和裝置,該方法分析BSDL文件;通過(guò)人機(jī)接口直觀顯示芯片管腳狀態(tài)或者改變芯片管腳狀態(tài);判斷單板故障所在。該方法幾乎不增加任何設(shè)計(jì)成本,但提高單板診斷正確率,同時(shí)降低操作難度,避免盲目更換芯片帶來(lái)的損失。
文檔編號(hào)G06F11/22GK1474272SQ0314511
公開(kāi)日2004年2月11日 申請(qǐng)日期2003年6月19日 優(yōu)先權(quán)日2003年6月19日
發(fā)明者魏昊, 魏 昊 申請(qǐng)人:Ut斯達(dá)康(中國(guó))有限公司