萬 岳
(中國船舶重工集團(tuán)公司第七二四研究所 南京 211100)
在自動化測試診斷系統(tǒng)中,需要對ISA、EISA、I2C、存儲器等基于數(shù)字總線的設(shè)備進(jìn)行測試,通常采用ISA等總線主控制器+接口適配器的方式,通過總線主控制器與被測對象(UUT)進(jìn)行通訊,輸出激勵、采集反饋信號,完成自動化測試診斷工作。傳統(tǒng)的方式能夠?qū)崿F(xiàn)總線操作,但是屬于專用測試設(shè)備,直接影響設(shè)備的通用性,同時,設(shè)備結(jié)構(gòu)無法精簡化,導(dǎo)致部署空間、購置成本增加。本文采用通用型數(shù)字IO模塊,提出一種基于通用IO的復(fù)雜數(shù)字總線仿真方法,以復(fù)雜的計算機(jī)ISA總線為驗證目標(biāo),采用圖形化操控方式,實現(xiàn)IO空間與存儲器空間讀寫操作,完成板載寄存器讀寫、內(nèi)存讀寫等操作。結(jié)果表明,基于通用IO的復(fù)雜數(shù)字總線仿真方法可以模擬仿真ISA、EISA、AT BUS、SCSI BUS、MULTIBUS、I2C等數(shù)字總線操作,對總線測試診斷、局部總線通信等設(shè)計開發(fā)具有參考價值。
自動化測試診斷系統(tǒng)一般采用VXI、PXI、LXI等測試總線,VXI、PXI機(jī)箱集成主控制器、示波器、萬用表、ADDA模塊、串口通訊模塊等虛擬儀器,配齊操控組件與其它外圍設(shè)備,構(gòu)成自動化測試診斷系統(tǒng)[1]。
對于ISA、EISA、MULTIBUS、I2C、存儲器等數(shù)字總線被測對象,一般采用總線主控制器+接口適配器方式,實現(xiàn)與被測模塊的數(shù)字通訊,組成架構(gòu)如圖1所示。
圖1 傳統(tǒng)總線測試系統(tǒng)架構(gòu)
以ISA總線測試為例,設(shè)計專用接口適配器,上面配置ISA總線計算機(jī)主板,主板通過適配器與被測ISA總線模塊(視頻板、異步串口板等)通訊。測試程序運(yùn)行在測試PXI主控制器上,測試指令通過網(wǎng)絡(luò)或串口發(fā)送給ISA主板,ISA主板轉(zhuǎn)換為總線讀寫操作,進(jìn)而實現(xiàn)對被測模塊的功能測試。
采用通用IO模塊的測試系統(tǒng)框架如圖2所示。
圖2 基于通用IO模塊的測試系統(tǒng)框架
在PXI系統(tǒng)中,不再配置總線計算機(jī)主板,配置通用數(shù)字IO模塊,采用軟件控制數(shù)字通道,模擬總線信號交互過程,實現(xiàn)總線操作。由于被測UUT接口在電氣、物理結(jié)構(gòu)上多樣,專用接口適配器實現(xiàn)接口適配功能。對于數(shù)字接口簡單的模塊,如I2C模塊,可以直接采用適配電纜。由于采用數(shù)字IO模塊,通過軟件適應(yīng)各種總線操作需求,進(jìn)一步提高測試系統(tǒng)的通用性與經(jīng)濟(jì)性。
通用IO模塊需要模擬仿真ISA、EISA、MULTI?BUS、I2C等數(shù)字總線操作,實現(xiàn)完成的完整的數(shù)字激勵—響應(yīng)測試,因此,通用IO模塊主要技術(shù)要求如下。
1)由于總線操作涉及讀寫,數(shù)字IO通道具備必須輸出與輸入雙向控制功能;
2)考慮到計算機(jī)總線的電氣特性,數(shù)字IO通道信號邏輯電平標(biāo)準(zhǔn)為TTL與CMOS;
3)除高低電平基本邏輯狀態(tài),需要提供高阻狀態(tài),確保不會多設(shè)備同時驅(qū)動導(dǎo)致的總線沖突;三態(tài)是I2C通信、IC測試和通用數(shù)字激勵/響應(yīng)測試等雙向應(yīng)用必要特性;
4)由于總線測試,涉及大規(guī)模的數(shù)據(jù)交互,大量激勵數(shù)據(jù)與采集數(shù)據(jù)需要存放在數(shù)字IO模塊上,因此通用數(shù)字IO模塊需要大容量的板載內(nèi)存;
5)具備內(nèi)時鐘與外時鐘同步能力。內(nèi)時鐘輸出,是同步外部被測模塊總線操作;外時鐘輸入,是同步自身總線操作;
6)考慮到計算機(jī)總線特性,建議數(shù)字IO通道可以按照8路為一組成組控制,降低控制難度;
7)由于測試診斷系統(tǒng)工作性質(zhì),被測對象與PXI板卡之間往往有電纜連接,單端信號電纜傳輸,會帶來信號完整性問題。因此,高速的總線信號如CPCI[2](33MHz/66 MHz),推薦采用計算機(jī)主板+接口適配器方式;采用通用數(shù)字IO模擬總線方式,建議總線運(yùn)行速率控制在20MHz以下。
本項目采用的PXI數(shù)字IO模塊,主要技術(shù)指標(biāo)如下。
1)單模塊48通道;
2)內(nèi)置同步機(jī)制,支持多模塊數(shù)據(jù)通道并行擴(kuò)展;
3)標(biāo)準(zhǔn)PXI接口,32位PXI總線,即插即用;
4)每通道64Kbit存儲深度;
5)I/O通道電平標(biāo)準(zhǔn):TTL兼容;
6)兩種操作模式:動態(tài)/靜態(tài);
7)最大猝發(fā)速率:40MHz。
單塊原理框圖如圖3。
圖3 數(shù)字IO模塊框圖
PXI接口芯片把PXI總線操作轉(zhuǎn)換為局部總線。FPGA作為模塊控制器,負(fù)責(zé)存儲控制、輸出控制、單獨IO控制,同時負(fù)責(zé)整個模塊的管理與時序控制。存儲器陣列負(fù)責(zé)存儲多通道大容量數(shù)字激勵文件與采集文件的存儲。輸出輸入控制部分負(fù)責(zé)輸出邏輯三態(tài)控制。
IO模塊在啟動后,進(jìn)行初始化操作,設(shè)置相關(guān)模塊基本參數(shù)。然后處于等待狀態(tài),接收總線命令。
由于涉及多通道大數(shù)據(jù)量數(shù)字量的讀取控制,激勵文件與采集文件都是存放于存儲器中。待讀寫完成后,通過中斷方式,通知主控制器操作存儲器數(shù)據(jù),進(jìn)行后續(xù)數(shù)據(jù)處理。
激勵文件(寫操作)與響應(yīng)數(shù)據(jù)(讀操作)文件都是數(shù)字IO邏輯狀態(tài)的數(shù)據(jù)文件,在文件中,按照輸出時拍(操作時鐘的一個周期)記錄所有通道的邏輯狀態(tài)。
以總線寫操作為例,需要占用十四個時拍(T1~T14),激勵波形如圖5。
圖5 寫操作示意圖
其中,數(shù)字IO通道與信號的對應(yīng)關(guān)系,在模塊工作參數(shù)設(shè)置時確定。在激勵文件中,地址線在A[31-0]在T2-T13有效,D[15-0]在T4-T12有效,寫信號在T11-T12有效。
從中可以看出,對于多通道大數(shù)據(jù)量數(shù)字總線模擬操作,激勵文件的生成成為關(guān)鍵,采用人工方式效率低,無法滿足研發(fā)進(jìn)度需求,必須采用自動化方式。
ISA是16bit的計算機(jī)系統(tǒng)總線,最大傳輸速率為16MB/s,允許多個CPU共享系統(tǒng)資源。雖然運(yùn)行速率低,但是由于兼容性好,在PC104等產(chǎn)品中廣泛使用。
ISA總線包括地址總線SA19-SA0、數(shù)據(jù)總線AD15-AD0、中斷信號等[3]。與總線仿真操作重要的控制信號為
1)BALE:地址鎖存信號;
2)IORC#:IO空間讀信號;
3)IOWC#:IO空間寫信號;
4)MRDC#:存儲器空間讀信號;
5)MWTC#:存儲器空間寫信號。
System Clock是一個自行運(yùn)轉(zhuǎn)的時鐘,頻率在7MHz~10MHz之間。
1)視頻圖形板
視頻圖形板由主機(jī)接口、圖形系統(tǒng)處理器、存儲器、調(diào)色板五部分組成。
其中,主機(jī)接口用于完成圖形系統(tǒng)處理器與主機(jī)之間的通信控制;圖形系統(tǒng)處理器用于完成圖形加工與顯示控制;存儲器、調(diào)色板(RAMDAC)完成圖形、數(shù)據(jù)、程序的存儲與視頻信號的生成。
2)測試項目
本項目共配置4塊PXI模塊,具備192路數(shù)字IO并行仿真測試能力,能夠滿足ISA總線仿真需求。
主要測試項目:
(1)主機(jī)通訊測試;
(2)VRAM測試:地址總線測試、數(shù)據(jù)總線測試、存儲單元測試;
(3)DRAM測試:地址總線測試、數(shù)據(jù)總線測試、存儲單元測試;
(4)FLASH測試:存儲單元測試;
(5)調(diào)色板測試:寄存器測試、內(nèi)部調(diào)色板空間測試。
在測試中,涉及大量存儲器操作,如地址總線測試、數(shù)據(jù)總線測試、存儲單元測試等,為此編制了激勵文件專用生成器,自動生成大容量數(shù)據(jù)文件。
測試程序啟動后,程序自動運(yùn)行,并把測試結(jié)果在進(jìn)度狀態(tài)對話框中反饋。測試中如有故障,其故障結(jié)果在實測值中顯示,方便使用人員記錄故障原因。
在傳統(tǒng)總線測試系統(tǒng)架構(gòu)分析的基礎(chǔ)上,基于通用型數(shù)字IO模塊,本文提出一種基于通用IO的復(fù)雜數(shù)字總線仿真方法,設(shè)計數(shù)字IO模塊工作流程、底層驅(qū)動方式。以復(fù)雜的計算機(jī)ISA總線為驗證目標(biāo),針對視頻圖形板,采用自動化測試向量生成器,進(jìn)行IO空間與存儲器空間讀寫操作,實現(xiàn)板載寄存器讀寫、內(nèi)存讀寫等操作。驗證結(jié)果表明,基于通用IO的復(fù)雜數(shù)字總線仿真方法可以模擬仿真ISA、EISA、I2C等數(shù)字總線操作,對總線測試診斷、局部總線通信等設(shè)計具有參考價值。