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