GPIB(General-Purpose Interface Bus)是一種面向程控儀器的通用接口總線,由國際電子電氣工程師協(xié)會(huì)制定,又稱IEEE488總線。GPIB數(shù)據(jù)傳輸穩(wěn)定可靠,能夠?qū)崿F(xiàn)有效跟蹤,在計(jì)算機(jī)和儀器設(shè)備之間通信應(yīng)用非常廣泛。NAT9914是NI公司推出的GPIB接口芯片,兼容TMS9914和uPD7210,能夠自動(dòng)處理IEEE488命令和未定義命令,滿足IEEE488.2的附加要求和協(xié)議。本文利用NAT9914設(shè)計(jì)了GPIB接口卡,并組成主從結(jié)構(gòu)的通信網(wǎng)絡(luò)系統(tǒng)。
1NAT9914介紹
NAT9914共有25個(gè)寄存器,其中19個(gè)工作寄存器在使用時(shí)必須配置。微控制器通過地址選擇端RS0, RS1, RS2和讀寫端DBIN、/WE來選擇這些寄存器,進(jìn)行讀寫操作。工作寄存器包括8個(gè)只讀寄存器和11個(gè)只寫寄存器;只讀寄存器用來保存接收信息和NAT9914接口功能所在的狀態(tài);只寫寄存器用來控制NAT9914的工作方式和發(fā)送信息。每種寄存器都有各自不同的功能,NAT9914的接口功能正是通過微控制器對(duì)這些寄存器的讀/寫操作來實(shí)現(xiàn)的。
2硬件電路設(shè)計(jì)
NAT9914的硬件電路圖如圖1所示。圖中NAT9914的D7是內(nèi)部數(shù)據(jù)總線的最低有效位,與MCU相連時(shí), D7~D0與P0.0~P0.7對(duì)應(yīng)相連。MCU的WR直接與NAT9914的WR相連,而RD則經(jīng)反相后與NAT9914的DBIN相連。采用中斷方式對(duì)NAT9914進(jìn)行管理;通過7404構(gòu)成5MHz時(shí)鐘振蕩電路作為NAT9914的CLK。
3軟件設(shè)計(jì)
軟件程序配合硬件電路實(shí)現(xiàn)GPIB的接口功能。GPIB接口軟件的設(shè)計(jì)是基于三線握手的方式而進(jìn)行的,主要完成以下幾方面的功能:(1)完成對(duì)接口的初始化。在程控儀器與計(jì)算機(jī)之間進(jìn)行信息傳遞之前,必須正確進(jìn)行GPIB接口板的初始化。(2)主控計(jì)算機(jī)能夠向儀器發(fā)送各種通令、地址和程控碼等消息。(3)主控計(jì)算機(jī)能夠讀取從儀器返回的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行分析處理。系統(tǒng)程序主流程圖如圖2所示。
4網(wǎng)絡(luò)結(jié)構(gòu)
GPIB總線網(wǎng)絡(luò)可以包含一個(gè)主機(jī)多個(gè)從機(jī),每個(gè)從機(jī)具有相同的總線使用權(quán),可以在任何時(shí)刻配置為講者或聽者,總線的競爭規(guī)則由主機(jī)管理。本系統(tǒng)采用固定主機(jī)和從機(jī)方式,從機(jī)只能向主機(jī)發(fā)送信息,而主機(jī)可以向某個(gè)從機(jī)發(fā)送定向信息,網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
5結(jié)束語
本文詳細(xì)介紹了GPIB總線控制器NAT9914,給出了硬件連接圖、軟件流程圖和網(wǎng)絡(luò)結(jié)構(gòu)圖。NAT9914功能齊全,能方便地實(shí)現(xiàn)GPIB接口功能,本論文介紹的方法已經(jīng)在實(shí)際可程控測量儀器的設(shè)計(jì)中得到了采用。若想實(shí)現(xiàn)其它的接口功能,可參照上述方法。