隨著網(wǎng)絡(luò)技術(shù)與通信技術(shù)的高速發(fā)展,測試儀器和測試技術(shù)發(fā)生了革命性變化,“網(wǎng)絡(luò)就是儀器”確切地概括了測試儀器間的網(wǎng)絡(luò)化發(fā)展趨勢。組建網(wǎng)絡(luò)化測試系統(tǒng)不僅能實現(xiàn)資源共享,而且組建系統(tǒng)方便,還可提高測試系統(tǒng)的復(fù)雜度,拓寬其應(yīng)用范圍。筆者采用CPLD 芯片實現(xiàn)GPIB 控制器的IP 核設(shè)計完成芯片NAT 9914 的產(chǎn)權(quán)自主化,從而大大降低了開發(fā)成本。
1 GPIB 控制器方案設(shè)計
通用接口總線( General Purpose Interface Bus,GPIB) 使自動化測試儀器的互聯(lián)有了統(tǒng)一的標(biāo)準(zhǔn),極大地推動了自動測試技術(shù)的發(fā)展。GPIB 總線具有并行總線傳送速度快、有效數(shù)據(jù)速率高、驅(qū)動能力強(qiáng)、通信距離可達(dá)20m、抗干擾能力良好及通用性特點,總線上最多可掛接15 臺設(shè)備并且傳輸速度可以達(dá)到8Mbit /s,因此有良好的應(yīng)用前景[1],其自動測試系統(tǒng)組建如圖1 所示。
圖1 GPIB 控制器組建的自動測試系統(tǒng)框圖
GPIB 控制器IP 核設(shè)計采用模塊化思想,主要模塊包括狀態(tài)機(jī)模塊、數(shù)據(jù)通路模塊和譯碼電路模塊。對狀態(tài)機(jī)模塊的設(shè)計包括8 個小模塊( 如源方掛鉤及受方掛鉤等) ,采用VHDL 語言對各個小模塊進(jìn)行編程實現(xiàn),最后調(diào)用各子模塊并用原理圖的方式進(jìn)行狀態(tài)機(jī)頂層模塊設(shè)計,并在Synplify 以及QuartusⅡ平臺進(jìn)行分析和仿真。對數(shù)據(jù)通路的設(shè)計也采用同樣的方式,先對各個子模塊進(jìn)行設(shè)計,然后進(jìn)行整體設(shè)計。最后調(diào)用狀態(tài)機(jī)頂層模塊、數(shù)據(jù)通路頂層模塊及多線消息譯碼電路模塊等進(jìn)行GPIB 控制器IP 核的頂層設(shè)計。完成整個IPCore設(shè)計后,通過JTAG 下載方式將Core 下載到選定的DE2 專用開發(fā)套件CPLD 芯片進(jìn)行通信設(shè)置驗證,成功后再搭建硬件,從而得到實體化GPIB 控制器。
2 GPIB 控制器IP 核設(shè)計的實現(xiàn)
GPIB 總線是一種24 芯的并行無源總線,由8根地線和16 根信號線組成。16 根信號線為8 根數(shù)據(jù)線( DIO1 ~ DIO8) 、3 根握手線( DAV、NRFD、NDAC) 和5 根管理線( ATN、REN、IFC、EOI、SRQ) 。數(shù)據(jù)傳輸采用位并行、字節(jié)串行的雙向異步傳輸方式。需要注意的是: GPIB 采用的是負(fù)邏輯,即低電平( 不大于0. 8V) 為邏輯1,高電平( 不小于2. 0V)為邏輯0[2]。
GPIB 總線的基本原理是將控者作為服務(wù)器,利用編程并通過GPIB 總線實現(xiàn)對各個儀器的控制,同時各個儀器也通過操作GPIB 控制芯片來實現(xiàn)與服務(wù)器的數(shù)據(jù)傳輸,其輸出到GPIB 母線上的信號符合IEEE488 標(biāo)準(zhǔn),從而達(dá)到自動控制和測試的目的。
2. 2 模塊設(shè)計
GPIB 控制器的設(shè)計主要包括3 個模塊: 接口功能模塊、多線消息譯碼器和數(shù)據(jù)通路模塊。
2. 2. 1 與GPIB 母線通信的接口功能模塊
在GPIB 系統(tǒng)中,把器件與GPIB 總線的一種交互作用定義成一種接口功能,實質(zhì)上是一組邏輯功能,實現(xiàn)IEEE488 通信協(xié)議。該功能模塊是本設(shè)計的重點,在接口功能子集的選擇上也有一定的要求,主要實現(xiàn)各子接口功能,即: 源方掛鉤SH、講者T、聽者L、服務(wù)請求SRQ 及遠(yuǎn)控本控RL 等。各接口模塊功能采用同步MOORE 狀態(tài)機(jī)( 只與當(dāng)前信號有關(guān),與輸入信號無關(guān)) 實現(xiàn)。在各子接口模塊功能實現(xiàn)的基礎(chǔ)上,對其進(jìn)行頂層狀態(tài)機(jī)設(shè)計,即:調(diào)用各子模塊,用原理圖方式對其進(jìn)行互聯(lián)式設(shè)計,并用VHDL 語言完成對狀態(tài)機(jī)的描述,實現(xiàn)的邏輯功能如圖2 所示。其中,輸入信號有: GPIB 母線信號( ATN、DAV、IFC、REN、NDAC、NRFD、EOI、SRQ) ,多線消息( MTA、MLA、OTA、LLO、GTL、GET、DCL、SDC、UNL、SPD、SPE) ,輔助寄存器產(chǎn)生的內(nèi)部消息及本地消息( swrst、lon、rsv、ton) 等。這些輸入的信號均通過譯碼電路產(chǎn)生,輸出信號對接口功能的狀態(tài)進(jìn)行控制。
圖2 與GPIB 母線通信功能邏輯
下面以源方掛鉤SH 為例說明其邏輯的實現(xiàn),邏輯圖如圖3 所示。
圖3 SH 功能實現(xiàn)的邏輯電路
主要代碼為:
IF RESET = ‘1’OR( NOT ATN AND NOT( LACS
OR LADS) ) = ‘1’THEN C_ST < = ST1; RFD <
= ‘1’; DAC < = ‘1’;
AIDS < = ‘ 1’; ANRS < = ‘ 0’; ACRS < = ‘ 0’;
AWNS < = ‘0’; ACDS < = ‘0’;
ELSIF CLK‘EVENT AND CLK = ’0‘ THEN
CASE C_ST IS
WHEN ST1 = > IF ATN = ’1‘OR LACS = ’1‘OR
LADS = ’1‘THEN C_ST < = ST2; RFD < = ’0‘;
DAC < = ’0‘; AIDS < = ’0‘; ANRS < = ’1‘; …
ELSE C_ST < = ST1; RFD < = ’1‘; DAC < = ’1‘;
AIDS < = ’0‘; …WHEN …. ELSIF DAV = ’1‘ THEN C_ST < = ST4;
RFD < = ’0‘; …
ELSE C_ST < = ST2; RFD < = ’0‘; DAC < = ’0‘; …
…不同種狀態(tài)定義…
2. 2. 2 數(shù)據(jù)通路模塊設(shè)計
其模塊實現(xiàn)微處理器端到GPIB 接口功能端的數(shù)據(jù),對控制器內(nèi)部寄存器進(jìn)行讀、寫操作。
2. 2. 3 多線消息譯碼器電路
譯碼電路的目的是產(chǎn)生邏輯功能信號,對控者發(fā)送的遠(yuǎn)地消息和本地消息譯碼,實現(xiàn)各接口功能的控制。
2. 3 程序設(shè)計
程序設(shè)計主要完成接口初始化、主控PC 向儀器發(fā)送消息以及接收消息并對數(shù)據(jù)分析處理等工作。母線上各種動作均是通過PC 機(jī)向NAT9914內(nèi)部寄存器寫入或讀取數(shù)據(jù),使接口實現(xiàn)相應(yīng)的功能變化。
2. 4 實驗結(jié)果
通過對整體系統(tǒng)搭建,完成儀器與總線間的數(shù)據(jù)傳輸。以AH 與L 功能配合接收GPIB 總線的數(shù)據(jù)為例分析實驗結(jié)果。AH 與L 功能接收數(shù)據(jù)實驗結(jié)果波形如圖4 所示。
圖4 受方接收數(shù)據(jù)波形
由圖4 可以看出,在信號WRITE 及地址RS[2. . 0]= 010( ADR 在寄存器中的地址) 的作用下,儀器通過INDATA[7. . 0]數(shù)據(jù)端口向地址寄存器ADR 內(nèi)寫入該儀器在GPIB 總線上的地址11H。在第4 個時鐘下降沿器件收到ATN 信號,表明AH 功能從AIDS 狀態(tài)進(jìn)入ANRS 狀態(tài); 第5 個時鐘下降沿仍然有ATN 信號,表明AH 功能從ANRS 狀態(tài)進(jìn)入ACRS 狀態(tài),同時發(fā)出RFD 信號,告訴控制者已經(jīng)準(zhǔn)備好接收GPIB 接口命令; 在6個時鐘下降沿,檢測到總線傳輸?shù)腄AV 信號,表明AH 功能從ACRS 狀態(tài)進(jìn)入ACDS 狀態(tài)。隨后,系統(tǒng)控制者通過DIO 線發(fā)送地址命令31H,通過多線消息譯碼器輸出MLA 信號,在第7 個時鐘下降沿,L 功能在MLA&ACDS 的作用下從LIDS 進(jìn)入LADS狀態(tài),表明儀器已經(jīng)受命于聽者,接收接口消息結(jié)束后,便會產(chǎn)生一個T 信號; 在第8 個時鐘下降沿,GPIB 控制器檢測到T 信號,表明AH 功能進(jìn)入AWNS 狀態(tài),并發(fā)出DAC 信號,告訴控制者接口命令接受完畢; 在第9 個時鐘下降沿,系統(tǒng)控制者撤銷DAV 信號和ATN 信號,表明AH 功能進(jìn)入ANRS 狀態(tài),至此一個三線掛鉤的過程已經(jīng)完成。在ATN 為0 的作用下,L 功能進(jìn)入LACS 狀態(tài),此時儀器正式進(jìn)入聽者狀態(tài)。其他傳輸過程與聽者接收數(shù)據(jù)過程類似,在此不再贅述。
3 結(jié)束語
實驗證明,由GPIB 控制器構(gòu)成的自動測試系統(tǒng)具有自動采集數(shù)據(jù)、速度快及效率高等特點,其核心部件采用IP 核設(shè)計具有可移植性,可開發(fā)周期短、成本低,改變了傳統(tǒng)儀器手工操作及單臺使用等缺點,并為計算機(jī)與儀器儀表相結(jié)合的自動測試系統(tǒng)向智能化、標(biāo)準(zhǔn)化發(fā)展提供了有力的媒介。
評論
查看更多