于 明(集成電路測試技術北京市重點實驗室,北京自動測試技術研究所,100088)
?
TMS320F28XX系列DSP測試方法研究與實現(xiàn)
于 明
(集成電路測試技術北京市重點實驗室,北京自動測試技術研究所,100088)
摘要:本項目是基于美國TI公司TMS320F28xx系列DSP,進行的測試方法研究與實現(xiàn)。測試方法用于北京自動測試技術研究所自主研發(fā)的國產(chǎn)自測試設備(ATE)BC3192V50大規(guī)模集成電路測試系統(tǒng)。測試的原理是,通過TMS320F28xx系列DSP配備的SCI(Serial Communication Interface)串行通信接口,以此作為橋梁完成ATE與芯片之間的通信。同時,實現(xiàn)自動測試設備與測試系統(tǒng)的測試向量的匹配。而后,完成TMS320F28xx系列DSP的功能測試以及直流參數(shù)測試。
關鍵詞:TMS320F28xx系列DSP;ATE;串行通信;測試向量匹配測試
TMS320F28XX系列DSP集微控制器和高性能DSP的特點于一身,具有強大的控制和信號處理能力,能夠?qū)崿F(xiàn)復雜的控制算法,性能尤為以C28XX系列高精度數(shù)字信號處理器為最好。與并行接口相比,串行接口的最大特點是減少了器件引腳數(shù)目,降低了接口設計復雜性。目前所有的數(shù)字信號處理器都提供一個或多個串行接口,然而,也需要DSP能夠與外設進行異步串行通信。特別在測試領域中,如何利用串行接口完成自動測試設備圖形向量與芯片指令的匹配,并依據(jù)于此建立基于自動測試設備的測試方法,是本文探討的內(nèi)容。
1.1SCI模塊簡介
圖1 串行通信的三種方式
SCI(SerialCommunicationInterface)意為“串行通信接口”,是相對于并行通信的,是串行通信技術的一種總稱,最早由Motorola公司提出的。它是一種通用異步通信接口UART,與MCS‐51的異步通信功能基本相同。
2812的SCI模塊支持CPU與采用NRZ(non-return-zero不歸零)標準格式的異步外圍設備之間進行數(shù)字通信。
2812內(nèi)部具有兩個相同的SCI模塊,SCIA和SCIB,每一個SCI模塊都各有一個接收器和發(fā)送器。SCI的接收器和發(fā)送器各具有一個16級深度的FIFO(First in fist out 先入先出)隊列,它們還都有自己獨立的使能位和中斷位,可以在半雙工通信中進行獨立的操作,或者在全雙工通信中同時進行操作。
1.2SCI的cpu接口
圖2 SCI的CPU接口
SCI的一些特點見下表1:
1.3SCI接收數(shù)據(jù)原理
SCI有獨立的數(shù)據(jù)發(fā)送器和數(shù)據(jù)接收器,這樣能夠保證SCI既能夠同時進行,也能夠獨立進行發(fā)送和接收的操作。
SCI接收數(shù)據(jù)的過程如下:如圖的左半部分所示,首先,接收移位寄存器RXSHF逐位逐位的接收來自于SCIRXD引腳的數(shù)據(jù),如果SCI的接收功能使能,RXSHF將這些數(shù)據(jù)傳輸給接收緩沖寄存器SCIRXBUF,CPU就能從SCIRXBUF讀取外部發(fā)送來的數(shù)據(jù)。當然,如果FIFO功能使能的話,SCIRXBUF會將數(shù)據(jù)加載到RX FIFO的隊列中,CPU再從FIFO的隊列讀取數(shù)據(jù)。
SCI發(fā)送數(shù)據(jù)的過程如下:如圖右半部分所示,在FIFO功能使能的情況下,首先,發(fā)送數(shù)據(jù)緩沖寄存器SCITXBUF從TX FIFO中獲取由CPU加載的需要發(fā)送的數(shù)據(jù),然后SCITXBUF將數(shù)據(jù)傳輸給發(fā)送移位寄存器TXSHF,如果SCI的發(fā)送功能使能,TXSHF則將接收到的數(shù)據(jù)逐位逐位的移到SCITXD引腳上。
1.4SCI數(shù)據(jù)格式
表1
在進行通信的時候,一般都會涉及到協(xié)議,所謂協(xié)議就是通信雙方預先約定好的數(shù)據(jù)格式,以及數(shù)據(jù)的具體含義。這種事先約定好的規(guī)則,我們就把它叫做通信協(xié)議。
在SCI中,通信協(xié)議體現(xiàn)在SCI的數(shù)據(jù)格式上。通常將SCI的數(shù)據(jù)格式稱之為可編程的數(shù)據(jù)格式,原因就是可以通過SCI的通信控制寄存器SCICCR來進行設置,規(guī)定通信過程中所使用的數(shù)據(jù)格式。SCI使用的是NRZ的數(shù)據(jù)格式。
NRZ數(shù)據(jù)格式(表2):
真正的數(shù)據(jù)內(nèi)容是1—8位,1個字符的長度。我們通常將帶有格式信息的每一個數(shù)據(jù)字符叫做一幀,在通信中常常是以幀為單位的。SCI有空閑線模式和地址位模式,而在平常使用的時候,我們一般都是兩個處理器之間的通信,例如2812和PC機或者2812和2812之間通信,這時候,更適合使用空閑線模式,而地址位模式一般用于多處理器之間的通信。在空閑線模式下,SCI發(fā)送或者接收一幀的數(shù)據(jù)格式如下圖示,其中LSB是數(shù)據(jù)的最低位,MSB是數(shù)據(jù)的最高位。
空閑線模式下SCI一幀的數(shù)據(jù)格式---具體的定義這些數(shù)據(jù)格式的寄存器是通信控制寄存器SCICCR
1.5SCI的波特率設置
所謂的波特率就是指每秒所能發(fā)送的位數(shù)。2812的每個SCI都具有兩個8位的波特率寄存器,SCIHBAUD和SCILBAUD,通過編程,可以實現(xiàn)達到64K不同的速率。
BRR=波特率選擇寄存器中的值,從十進制轉(zhuǎn)換成十六進制后,高8位賦值給SCIHBAUD,低8位賦值給SCILBAUD
LSPCLK=37.5M時,SCI常見的波特率(如表3)
在進行通信的時候,雙方都必須以相同的數(shù)據(jù)格式和波特率進行通信,否則通信會失敗。例如2812和PC機上的串口調(diào)試軟件進行通信時,2812采用了什么樣的數(shù)據(jù)格式和波特率,那么串口調(diào)試軟件也需要設定成相同的數(shù)據(jù)格式和波特率,反之也一樣。
2.1測試向量匹配
查詢方式:就是程序不斷去查詢狀態(tài)標志位,看看SCI是不是已經(jīng)做好了數(shù)據(jù)發(fā)送或者接收的準備。
當數(shù)據(jù)接收時,需要查詢的是SCI接收狀態(tài)寄存器(SCIRXST)中的RXRDY,接收器就緒標志。當從SCIRXBUF寄存器中已經(jīng)準備好一個字符的數(shù)據(jù),等待CPU去讀時,RXRDY位就會置1。當數(shù)據(jù)被CPU從SCIRXBUF讀出后,或者系統(tǒng)復位,都可以使RXRDY清0(如表4)。
查詢匹配的流程如下:
1、RXENA (SCICTL1, bit 0)置高是的接收端打開;
2、數(shù)據(jù)(控制字)從SCIRXD管腳輸入,由STRAT位識別;
3、數(shù)據(jù)從RXSHF到接收數(shù)據(jù)緩存器SCIRXBUF;中斷被喚起,同時標志位置位及,RXRDY(SCIRXST.BIT6)置位,表示一個新字節(jié)已經(jīng)收到;
4、讀取SCIRXBUF,并且給控制字RXRDY清零;
5、下一數(shù)據(jù)將由SCIRXD管腳處到達,繼續(xù)被識別,循環(huán)上面步驟;
6、當RXENA置低,終止接收端接受數(shù)據(jù);數(shù)據(jù)被保存在RXSHF中;
2.2時序匹配
根據(jù)時鐘的設置,即:
高速時鐘預定標器和低速時鐘預定標器,產(chǎn)生高速外設時鐘HSPCLK和低速外設時鐘LSPCLK:
SysCtrlRegs.HISPCP.all= 0x0001;// HSPCLK=150/2=75MHz
SysCtrlRegs.LOSPCP.all = 0x0002; // LSPCLK=150/4=37.5MHz
以及波特率寄存器的設置,得到空閑線模式波特率為19200,通信數(shù)據(jù)格式為1位停止位,8位數(shù)據(jù)位,無校驗位。作為設置測試系統(tǒng)測試程序頻率的標準。
依據(jù)測試理論,測試模型需要考慮將芯片的所有管腳置于不同的狀態(tài)進行測試。同時,通常情況下,會出現(xiàn)的不通故障,而設計模型,生成向量。
3.1測試向量配置
1——全0全1輸出狀態(tài)
2——0,1間隔輸出狀態(tài)
3——步進1輸出狀態(tài)
4——步進0輸出狀態(tài)
可以涵蓋輸出管腳IO,各類粘連,空缺等故障;
表3
表4
3.2 測試部分向量展示
在測試領域中,如何將測試向量與芯片運行指令相匹配一直是技術的難點。在DSP等復雜集成電路中,此文實現(xiàn)了突破。
第一,通過本文的方法,不需要再去操作每一個寄存器的設置和復雜的指令,完全交給IDE 高級語言去完成,大大提高測試模型建立的效率。
利用所有器件上都配備的串行通信接口,完成測試向量和芯片運行指令精準匹配。同時,突破原先測試機提供時鐘再去匹配芯片指令的被動機制,在此測試方法中測試機不再提供目標被測器件時鐘,而是利用異步通信機制實現(xiàn)ATE與DUT的主動匹配。
第三,建立了針對器件所有GPIO的篩查向量組,以實現(xiàn)高故障覆蓋率的測試。
測試方法已經(jīng)應用到實際生產(chǎn)的測試中,提高的測試的開發(fā)時間,提高了測試效率,和故障覆蓋率,得到了客戶的認可。
參考文獻
[1]TMS320F28XX DSP CPU And Peripherais Reference SetTexas Instruments, Vol, Aprii,2OOl
[2]TMS320F28XX DSPAppiications Guide Reference SerTexasInstruments, Voi4, October,2OOl
[3]TMS320F28XX Chip Support Library API User’s Guide,October,2OOl
[4]TMS320x281x Serial Communications Interface (SCI)Reference Guide.Vol, Oct,2OOl
[5]TMS320x281x DSP System Control and Interrupts Reference Guide.Vol, July ,2OOl
[6]萬明山 TMS320F281X DSP 原理及應用實例[M].北京:北京航空航天大學出版社,2007.
[7]趙建領 51系列單片機開發(fā)寶典[M]. 北京:電子工業(yè)出版社. 2007
[8]王煉紅,張克. TMS320F2812 DSP與PC機的串口通信設計[J].微計算機信息,2006(7):173-175
作者簡介
于明,男,助理研究員,主要研究方向為芯片測試方法及測試系統(tǒng)實現(xiàn)等方面的研究。
Research and implementation of TMS320F28XX series DSP test method
Yu Ming
(Beijing Institute of Auto-Testing Technology,Beijing 100088)
Abstract:This project is based on the American company's TI TMS320F28xx series DSP,carries on the test method research and the realization.Test method for domestic ATE of Beijing Automatic Test Technology Research Institute developedBC3192V50——Large scale integrated circuit test system.The principle of testing is,throughSCI(Serial Communication Interface)of TMS320F28xxDSP,As a bridge to complete the communication between the ATE and the chip.Meanwhile,match test vectors of automatic test equipment and test system.Then Complete the function test of TMS320F28xx series DSP and the test of DC parameters and dynamic parameters.
Keywords:TMS320F28xxseriesDSP;Automatic test equipment(ATE);Serial Communication Interface;Test vector matching test