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