結(jié)碩 張黎
摘要
從當(dāng)今高可靠電子器件的功能調(diào)試方面來看,如今串口形式依然是主流形式,占據(jù)大半市場,但是其整體通信效率低、誤碼率較高、不適合功能集成等情況已經(jīng)無法滿足未來市場發(fā)展趨勢?;诖耍疚氖紫葘Υ谡{(diào)試方案進(jìn)行分析,進(jìn)而提出一種基于JTAG的調(diào)試方案與系統(tǒng)設(shè)計,旨在彌補串口方案的弊端。
【關(guān)鍵詞】電子控制器 片上可調(diào)式 結(jié)構(gòu)設(shè)計JTAG 串口
由于高可靠電子器件功能調(diào)試通常都是采用串口方法展開,同時在實際使用當(dāng)中也存在著速率低、誤碼率高、難以集成等問題。當(dāng)今IEEE STD1500制定了發(fā)生器與接收器、測試訪問機(jī)制、測試環(huán)調(diào)試框架,但是此系統(tǒng)往往兼容性較差。雖然有部分人員提出了訪問接口與掃描鏈壓縮統(tǒng)一規(guī)劃,這就需要進(jìn)一步制定訪問路徑,成本相對較高,并且只能實現(xiàn)部分的功能優(yōu)化。隨著相關(guān)技術(shù)的不斷發(fā)展,當(dāng)今還提出了一種IEEE1149.1邊界掃描技術(shù)OTAG)。該系統(tǒng)具備了較少的管腳開發(fā)調(diào)試、IC級互連特性,可以為軟硬件協(xié)同開發(fā)調(diào)試提供相關(guān)界面。因此,加強(qiáng)對JTAG的研究有著重要意義。
1 串口調(diào)試方案
串口調(diào)試也就是既有通信接口展開的功能調(diào)試方法,TI等公司廣泛應(yīng)用該項技術(shù),常見的復(fù)用接口主要包括以太網(wǎng)、UART、USB等等,也就是在通信接口電路當(dāng)中增設(shè)一種獨立調(diào)試結(jié)構(gòu),采用模式選擇的方法切換工作方式,降低了管腳資源以及制造成本。同時,采用串口調(diào)試方法,需要對核心電路、整體方案進(jìn)行全面修改,會直接影響整體的時序收斂,也難以實現(xiàn)自行調(diào)試。
2 基于JTAG可調(diào)試性方案與結(jié)構(gòu)設(shè)計
2.1 方案思路
JTAG最為一種集成電路方案,可以將芯片觀測寄存器相互串聯(lián),采用串行移入測試方法、觀測分析輸出數(shù)據(jù)信息,判定整個電路是否表現(xiàn)正常(如圖1)。標(biāo)準(zhǔn)的JTAG當(dāng)中包括TMS、TCK、TDI、DEI、TDO、TRST。在整個方案實現(xiàn)過程中,整個調(diào)試系統(tǒng)包括TAP、數(shù)據(jù)寄存器、指令寄存器。TAP作為一個具備16個狀態(tài)的狀態(tài)機(jī),通過TMS發(fā)送信號進(jìn)行操作,在TDO和TDI之間加載寄存器。其中,數(shù)據(jù)寄存器主要包含了強(qiáng)制定義旁路寄存器、器件寄存器ID,邊界掃描器、用戶自動以寄存器。指令寄存器通過操作信息決定選擇哪種寄存器。
該種方案能夠廣泛應(yīng)用集成電路,但是當(dāng)今市場中大部分集成電路產(chǎn)品都只考慮了結(jié)構(gòu)方面的測試,功能測試方面有所欠缺。這是由于結(jié)構(gòu)測試采用EDA即可得到所測向量,結(jié)構(gòu)自動匹配也可以在ATE機(jī)上直接完成。但功能調(diào)試則不同,除了要增加相關(guān)硬件外,還需要軟件與協(xié)議轉(zhuǎn)換器配合。這就需要對JTAG接口進(jìn)行重新定義,實現(xiàn)功能測試。
2.2 TAP
通過分析圖1可知,在測試當(dāng)中,在初始狀態(tài)下要受到TMS控制,之后再進(jìn)入到指令寄存器控制流程當(dāng)中,在TDI當(dāng)中的shift-IR當(dāng)中加入指令碼,在更新操作完畢后,則判定指令碼生效,讓數(shù)據(jù)寄存器選擇信息輸出。上述流程完畢后,再次從初始狀態(tài)通過TMS信號控制進(jìn)入到數(shù)據(jù)寄存器運行流程當(dāng)中,由TDI移入串行數(shù)據(jù)當(dāng)中,并通過TDO輸出數(shù)據(jù)信息,這樣即可完成整套的矢量施加。在IEEE1149.1當(dāng)中,除了一些基本的寄存器外,還有用戶自定義寄存器。在最初設(shè)計當(dāng)中,自定義寄存器主要是用作于結(jié)構(gòu)測試,但是缺乏功能測試。為了能夠讓JTAG具備功能調(diào)試的功能,需要實現(xiàn)片外JTAG與內(nèi)標(biāo)準(zhǔn)總線協(xié)議轉(zhuǎn)換,這樣即可形成高效的復(fù)用性調(diào)試接口單兀。
2.3 協(xié)議轉(zhuǎn)換單元
想要實現(xiàn)JTAG鏈路數(shù)據(jù)和片內(nèi)并行總線之間實現(xiàn)相互轉(zhuǎn)換,必須要在JTAG結(jié)構(gòu)基礎(chǔ)上增設(shè)一個協(xié)議轉(zhuǎn)換單元。通常該協(xié)議轉(zhuǎn)換單元要配備TAP控制器,并自定義寄存工作。再者,作為一種獨立調(diào)試模塊,很容易對片上的整理邏輯造成影響。本結(jié)構(gòu)最為核心的部件是兩套寄存器,也就是地址移位、數(shù)據(jù)移位寄存器。這就要在TAP當(dāng)中增設(shè)這兩個寄存器指令。如果TAP流程進(jìn)入到指令期存器當(dāng)中,如果加入了選擇指令,則可以快速生成相應(yīng)的選通信號。
2.4 總線主機(jī)接口
本設(shè)計采用地址移位、數(shù)據(jù)移位寄存器方法,并在TAP當(dāng)中加入指令并激活,激活之后再采用DR流程加入到地址和數(shù)據(jù)當(dāng)中。如果是采用一次調(diào)試訪問方法,外部調(diào)試機(jī)要通過查詢的方法掌握是否得到了調(diào)試反饋,為了能夠保證兩次或多次訪問可以連續(xù)進(jìn)行,要對前一次轉(zhuǎn)換調(diào)試訪問在本次串行移位期間得到相應(yīng)的反饋。想要實現(xiàn)此類目標(biāo),需要掌握TAP循環(huán)一次指令和所需周期數(shù)、移位狀態(tài)所需的指令周期數(shù)、數(shù)據(jù)移位狀態(tài)下數(shù)據(jù)寄存、地址移動周期數(shù)、硬件結(jié)構(gòu)一次調(diào)試訪問串、并轉(zhuǎn)換所消耗的時間。為了在第二次訪問中可以最快時間獲取結(jié)果,在串并轉(zhuǎn)換過程中,芯片邏輯可以完成總線仲裁同時完成上次訪問。并且在訪問時間可控的情況下,盡可能減少仲裁時間。也就是在不改變之前仲裁器結(jié)構(gòu)上,需要增設(shè)二級仲裁體制。如果將其切換到調(diào)試模式后,可以激活二次仲裁器,該協(xié)議中可以設(shè)置最高訪問權(quán)限,轉(zhuǎn)換單位可以直接進(jìn)行訪問,從而縮短了仲裁授予時間。
2.5 調(diào)試系統(tǒng)
調(diào)試系統(tǒng)當(dāng)中不僅有接口芯片,同時也包括上位機(jī)調(diào)試軟件和待測芯片調(diào)試。調(diào)試軟件可以提供操作界面,對地層復(fù)雜的結(jié)構(gòu)系統(tǒng)進(jìn)行屏蔽。如上位機(jī)采用KeituVision集成環(huán)境,支持ARM7、ARM9等處理中的匯編器、編譯器、實時操作系統(tǒng),同時還提供了開放式調(diào)試接口 AGDl,而調(diào)試協(xié)議轉(zhuǎn)換器中的動態(tài)連接庫中加入DLL,即可在保持集成界面不變的情況下驅(qū)動協(xié)議轉(zhuǎn)換器。協(xié)議轉(zhuǎn)換器可以采用LPC2148微控器,可以與上位機(jī)相兼容,可以通過USB連接到JTAG接口,完善USB驅(qū)動以及JTAG開發(fā)。
3 結(jié)束語
綜上所述,針對串口調(diào)試方法的弊端,可以采用JTAG接口方法,能夠避免新增調(diào)試引腳造成的成本問題,同時也可以實現(xiàn)功能調(diào)試,結(jié)合TAP協(xié)議,加入自定義指令,實現(xiàn)串并轉(zhuǎn)換,提高了測試效率、降低了資源開銷,極大的提高了電子控制器的可靠性。
參考文獻(xiàn)
[1]陳芳芳,周克寧.面向電子控制器的片上可調(diào)試性結(jié)構(gòu)設(shè)計[J].電子器件,2018(03):56-57.
[2]江颯.面向片內(nèi)集成的FlexRay總線控制器IP設(shè)計[D].長安大學(xué),2017.
[3]尹遠(yuǎn).片上存儲器可調(diào)測試設(shè)計的研究與實現(xiàn)[D],國防科學(xué)技術(shù)大學(xué),2012.