景琴琴,郭松梅,劉安才
(重慶能源職業(yè)學(xué)院,重慶,402260)
目前,在對電子控制器功能進(jìn)行調(diào)試的過程中,采用的方案主要以串口為主。串口調(diào)試方案主要是在既有的通信接口電路中增加獨(dú)立的調(diào)試結(jié)構(gòu),然后通過模式選擇進(jìn)行工作方式的切換[1]。這一方案在應(yīng)用的過程中,其優(yōu)勢在于能夠節(jié)約管腳資源,進(jìn)而能夠降低制造的成本。然而,這一調(diào)試方案在實(shí)際應(yīng)用的過程中,其也存在一定的不足。如在對核心電路拓補(bǔ)結(jié)構(gòu)進(jìn)行修改的時候會對全局的時序收斂產(chǎn)生影響;又如在自身調(diào)節(jié)方面,有時會存在不能自行調(diào)試的情況。另外,這一調(diào)試方案在實(shí)際應(yīng)用的過程中,其還存在通信速率較低、誤碼率較高等劣勢[2]。也就是說,串口調(diào)試方案難以滿足高功能集成度控制芯片調(diào)試的需求。因此,本研究為獲取低成本、高效率的通用化調(diào)試結(jié)構(gòu),基于JTAG技術(shù)對電子控制器的片上可調(diào)試性結(jié)構(gòu)進(jìn)行了設(shè)計(jì)。
在進(jìn)行可調(diào)試性結(jié)構(gòu)設(shè)計(jì)的過程中,本研究是基于JTAG技術(shù)的基礎(chǔ)上進(jìn)行設(shè)計(jì)的。因此,需要對JTAG技術(shù)的相關(guān)理論進(jìn)行概述。JTAG(Joint Test Action Group)技術(shù),又稱IEEE1149.1規(guī)范,也稱邊界掃描技術(shù)[3]。JTAG技術(shù)是目前應(yīng)用最為廣泛的一種技術(shù)。JTAG技術(shù)是一種對數(shù)字電路的準(zhǔn)靜態(tài)測試方法,其主要被應(yīng)用于板級電路板連接性能測試以及焊接質(zhì)量的檢測等?;贘TAG技術(shù)測試的內(nèi)容主要有掃描鏈測試、邊界掃描器件間互聯(lián)測試以及邊界和非邊界掃描器件間的簇測試等[4]。在掃描鏈測試的過程中,主要是為了測試邊界掃描器件焊接的質(zhì)量。這也是JTAG技術(shù)完成測試的最重要基礎(chǔ)。在互聯(lián)測試的過程中,其測試主要是在EXTEST模式下完成的,測試序列主要包括兩個步驟,即輸入單元邏輯電平采集以及邊界掃描單位預(yù)加載。簇測試主要是在部分電路不可通過互聯(lián)測試進(jìn)行檢測時而采用的一種測試方法,其主要是利用邊界掃描器件資源以對周圍非邊界掃描器件的測試。簇測試主要包括對邏輯和借接口的簇測試、存儲器簇測試。
本研究基于JTAG技術(shù),對調(diào)試方案進(jìn)行了設(shè)計(jì)。本研究的設(shè)計(jì)思想主要是將芯片中的所有需要觀測的寄存器進(jìn)行串聯(lián),串聯(lián)后,將其移至測試數(shù)據(jù)中,并對輸出的數(shù)據(jù)進(jìn)行分析,進(jìn)而對電路的行為異常與否進(jìn)行判斷。標(biāo)準(zhǔn)的JTAG引腳由5個部分組成,即TCK、TMS、TDI、TDO、TRST。其中,TCK表示測試時鐘,TMS表示測試模式,TDI表示測試數(shù)據(jù)輸入,TDO表示測試數(shù)據(jù)輸出,TRST表示可選的測試復(fù)位。JTAG邏輯的組成部分主要有3個,即指令、TAP控制器以及數(shù)據(jù)寄存器。其中,TAP控制器其與TMS相連,是具備16個狀態(tài)的狀態(tài)機(jī),在TMS命令下,選擇相應(yīng)的寄存器將在至TDI和TDO間。數(shù)據(jù)寄存器主要包括器件寄存器ID、邊界掃描寄存器、強(qiáng)制定義的旁路寄存器以及自定義寄存器。無論是哪一種寄存器,其均是由指令寄存器譯碼進(jìn)行選擇的。本文對JTAG技術(shù)接口的硬件邏輯進(jìn)行重新定義,以促使發(fā)揮更大的優(yōu)勢,即不僅具有兼顧功能調(diào)試的作用,還具有可移植性,同時還能夠降低原有邏輯性能的侵入性。
在JTAG協(xié)議規(guī)范下,其對TAP控制器的狀態(tài)遷移進(jìn)行了明確的規(guī)定。在進(jìn)行正常測試的過程中,受到TMS信號控制,從初始狀態(tài)進(jìn)入到指令寄存器控制流程中。在這一控制流程中,在Shift-IR狀態(tài)下,將指令碼輸入其中,然后進(jìn)行更新操作,此時指令碼就會生效。然后,受到TMS信號的控制,再次從初始狀態(tài)進(jìn)入到DR控制流程中。在此流程中,數(shù)據(jù)輸出主要通過TDO,此時會完成測試。在進(jìn)行測試的過程中,為復(fù)用JTAG接口,并兼顧調(diào)試功能,選擇的寄存器是自定義寄存器。通過自定義寄存器實(shí)現(xiàn)片外JTAG協(xié)議與片內(nèi)標(biāo)準(zhǔn)總線協(xié)議之間的轉(zhuǎn)換,形成高復(fù)用可調(diào)試性接口單元。
為實(shí)現(xiàn)片內(nèi)并行總線信號與串行JTAG鏈路數(shù)據(jù)轉(zhuǎn)換,為TAP控制器緊耦合一個協(xié)議轉(zhuǎn)換單元也是非常的必要的。在進(jìn)行工作的過程中,這一協(xié)議轉(zhuǎn)換單元應(yīng)該與控制器中的自定義寄存器配合。同時,為促使協(xié)議單元不對原有邏輯造成性能上的影響,應(yīng)將協(xié)議轉(zhuǎn)換單元設(shè)置為獨(dú)立的調(diào)試模塊。協(xié)議單元中的核心部件為自定義地址移位和數(shù)據(jù)移位寄存器。因此,在進(jìn)行設(shè)置的過程中,應(yīng)對這兩個寄存器給予相應(yīng)的指令。其中,地址移位寄存器與數(shù)據(jù)移位寄存器的總位寬均為33位。后者低32位與片上讀、寫數(shù)據(jù)總線匹配。前者低32位于片上地址總線匹配。后者最高位主要用于讀寫訪問完成的指示。前者最高位主要用于區(qū)分讀寫訪問。
本研究的可調(diào)試性結(jié)構(gòu)設(shè)計(jì)的自定義寄存器主要有兩套。這兩套寄存器均需要與TAP控制器連接,然后通過相應(yīng)的指令進(jìn)行激活。在激活的過程中,通過進(jìn)入到地址移位或數(shù)據(jù)移位寄存器中,進(jìn)行激活。在首次調(diào)試訪問過程中,通過查詢就可以了解調(diào)試的狀態(tài),十分的方便且快捷。在進(jìn)行可調(diào)試性的過程中,為兩次調(diào)試訪問可以連續(xù)進(jìn)行性,在首次調(diào)試過程中,需要完成串并轉(zhuǎn)換的調(diào)試訪問。與此同時,為在調(diào)試的過程中,促使第二次調(diào)試迅速獲得結(jié)果,應(yīng)在串并轉(zhuǎn)換期間完成總線仲裁。在總線訪問時間一定時,仲裁授予時間應(yīng)盡可能的短。為縮短仲裁的時間,可通過增加二級仲裁機(jī)制的方式實(shí)現(xiàn)這一目標(biāo)。二級機(jī)制被激活的過程中,其處于的模式狀態(tài)是調(diào)試模式。在這一模式下,擁有最高訪問權(quán)的是協(xié)議轉(zhuǎn)換單元,其直接占有總線,發(fā)起調(diào)試訪問,進(jìn)而能夠縮短了仲裁授予時間。
可調(diào)試性系統(tǒng)應(yīng)具備一定的完整性。也就是說,系統(tǒng)應(yīng)包括調(diào)試接口的芯片,應(yīng)包括在調(diào)試上位機(jī)運(yùn)行中的調(diào)試軟件,也應(yīng)包括連接待測芯片和上位機(jī)的調(diào)試器。設(shè)計(jì)開發(fā)人員設(shè)計(jì)的可調(diào)試性軟件,其能夠?yàn)榭蛻籼峁┙换ソ缑妗T诒狙芯恐?,上位機(jī)運(yùn)行采用的開發(fā)環(huán)境是由ARM公司設(shè)計(jì)和開發(fā)的。在這一開發(fā)環(huán)境下,其提供了具有開放式的調(diào)試接口,進(jìn)而能夠?qū)崿F(xiàn)在不修改集成環(huán)境界面的基礎(chǔ)上,就將協(xié)議轉(zhuǎn)換器進(jìn)行驅(qū)動。協(xié)議轉(zhuǎn)換器采用的是NXP公司設(shè)計(jì)開發(fā)的LPC2148微控制器,其能夠?qū)崿F(xiàn)與上位機(jī)調(diào)試軟件的兼容。
為進(jìn)一步驗(yàn)證本研究結(jié)構(gòu)設(shè)計(jì)的功能的正確性,對該調(diào)試方案進(jìn)行邏輯功能測試。在進(jìn)行測試的過程中,以主機(jī)接口的形式,將調(diào)試鏈路集成到以AXI總線為核心的SOC設(shè)計(jì)中。同時,通過模擬完成上位機(jī)發(fā)出的測試激勵,然后對SOC片上的存儲空間進(jìn)行讀寫訪問。通過比較傳統(tǒng)串口和JTAG調(diào)試方案的功能測試時間,結(jié)果如表1所示。相比于傳統(tǒng)的串口調(diào)試方案,采用本研究設(shè)計(jì)的調(diào)試方案,其能夠顯著縮短功能測試的時間。
表1 不同調(diào)試性結(jié)構(gòu)設(shè)計(jì)方案功能測試后的時間比較
本研究還采用物理綜合對傳統(tǒng)串口和JTAG調(diào)試方案的開銷面積進(jìn)行了比較。結(jié)果顯示,相比于傳統(tǒng)的串口調(diào)試方案而言,采用本研究設(shè)計(jì)的調(diào)試方案,其能夠顯著降低開銷面積。
表2 不同調(diào)試性結(jié)構(gòu)設(shè)計(jì)方案的開銷面積比較
本研究基于JTAG調(diào)試方案對電子控制器片上進(jìn)行了結(jié)構(gòu)設(shè)計(jì),并通過實(shí)驗(yàn)結(jié)果顯示,這一調(diào)試方案不僅能夠縮短調(diào)試時間,還能夠降低面積開銷,同時還具有較可靠的調(diào)試鏈路。