通用接口總線(xiàn)(General-Purpose Interface Bus,GPIB)是一種設(shè)備和計(jì)算機(jī)連接的總線(xiàn)。大多數(shù)臺(tái)式儀器是通過(guò)GPIB線(xiàn)以及GPIB接口與電腦相連。
| 中文名稱(chēng) | 通用接口總線(xiàn) | 外文名稱(chēng) | General-Purpose Interface Bus |
|---|---|---|---|
| 作????用 | 使臺(tái)式儀器與電腦相連 | 簡(jiǎn)????稱(chēng) | GPIB |
(1) 可以用一條總線(xiàn)互相連接若干臺(tái)裝置,以組成一個(gè)自動(dòng)測(cè)試系統(tǒng)。 系統(tǒng)中裝置的數(shù)目最多不超過(guò)15臺(tái),互連總線(xiàn)的長(zhǎng)度不超過(guò)20m。
(2) 數(shù)據(jù)傳輸采用并行比特(位)、串行字節(jié)(位組)雙向異步傳輸方式,其最大傳輸速率不超過(guò)1兆字節(jié)每秒。
(3)總線(xiàn)上傳輸?shù)南⒉捎秘?fù)邏輯。低電平(≤+0.8V)為邏輯"1",高電平(≥+2.0V)為邏輯"0"。
(4) 地址容量。單字節(jié)地址:31個(gè)講地址,31個(gè)聽(tīng)地址;雙字節(jié)地址:961個(gè)講地址,961個(gè)聽(tīng)地址。
(5) 一般適用于電氣干擾輕微的實(shí)驗(yàn)室和生產(chǎn)現(xiàn)場(chǎng)。
gpib應(yīng)用
我們使用一臺(tái)計(jì)算機(jī),通過(guò)GPIB控制卡可以實(shí)現(xiàn)和一臺(tái)或多臺(tái)儀器的聽(tīng)、講、控功能,并組成儀器系統(tǒng),使我們的測(cè)試和測(cè)量工作變得快捷, 簡(jiǎn)便, 精確和高效。通過(guò)GPIB電纜的連接,可以方便地實(shí)現(xiàn)星型組合、線(xiàn)型組合或者二者的組合。
與GPIB對(duì)應(yīng)的是一種工程控制用的協(xié)議,最初由HP公司提出,后來(lái)成為一種國(guó)際標(biāo)準(zhǔn),遵守的協(xié)議為IEE E488。一般被用來(lái)使用任何編程語(yǔ)言如VB、Vc、C++實(shí)現(xiàn)電腦對(duì)儀器的控制。當(dāng)然也有某些儀器制造商自己開(kāi)發(fā)的語(yǔ)言支持GPIB。如keithley公司使用的testpoint,NI公司的Labview等。實(shí)現(xiàn)這種控制首先要被控儀器支持GPIB,其次,工控機(jī)安裝IEEE488卡,并通過(guò)gpib線(xiàn)連接兩個(gè)設(shè)備。
GPIB比串口控制提高了傳輸速率和同時(shí)支持的設(shè)備總數(shù)。但是已經(jīng)被傳輸速率更快支持設(shè)備總數(shù)更多的lan接口替代。
GPIB(General-Purpose Interface Bus)-通用接口總線(xiàn),大多數(shù)臺(tái)式儀器是通過(guò)GPIB線(xiàn)以及GPIB接口與電腦相連。
1965年惠普公司設(shè)計(jì)HP-IB
1975年 HP-IB變成IEEE-488-1975標(biāo)準(zhǔn)
1977年10月表決通過(guò)后IEC(國(guó)際電工委員會(huì))便頒布了IEC625標(biāo)準(zhǔn)
1987年 IEEE又將原IEEE-488標(biāo)準(zhǔn)作個(gè)別修訂定名為IEEE-488.1-1987,并同時(shí)頒布了IEEE-488.2-1987標(biāo)準(zhǔn),對(duì)器件消息的編碼格式作了進(jìn)一步的標(biāo)準(zhǔn)化
1990年SCPI規(guī)范被引入IEEE 488儀器
1992年 修訂IEEE 488.2
1993年 NI公司提出HS488
1965年,惠普公司(Hewlett-Packard)設(shè)計(jì)了惠普接口總線(xiàn)(HP-IB, 用于連接惠普的計(jì)算機(jī)和可編程儀器.由于其高轉(zhuǎn)換速率(通??蛇_(dá)1Mbytes/s), 這種接口總線(xiàn)得到普遍認(rèn)可, 并被接收為IEEE標(biāo)準(zhǔn)488-1975和ANSI/IEEE標(biāo)準(zhǔn)488.1-1987. 后來(lái), GPIB比HP-IB的名稱(chēng)用得更廣泛. ANSI /IEEE 488.2 -1987加強(qiáng)了原來(lái)的標(biāo)準(zhǔn), 精確定義了控制器和儀器的通訊方式. 可編程儀器的標(biāo)準(zhǔn)命令(Standard Commands for Programmable Instruments,SCPI)采納了IEEE488.2定義的命令結(jié)構(gòu),創(chuàng)建了一整套編程命令。
gpib轉(zhuǎn)接線(xiàn)價(jià)格是多少錢(qián)
1.臺(tái)灣ETA6101 GPIB轉(zhuǎn)GPIB 數(shù)據(jù)線(xiàn) 連接線(xiàn) 轉(zhuǎn)接線(xiàn) 1米 &nb...
接口部分是由各種邏輯電路組成,與各儀器裝置安裝在一起,用于對(duì)傳輸?shù)男畔⑦M(jìn)行發(fā)送、接收、編碼和譯碼;總線(xiàn)部分是一條無(wú)源的多芯電纜,用做傳輸各種消息。將具有GPIB接口的儀器用GPIB總線(xiàn)連接起來(lái)的標(biāo)準(zhǔn)接口總線(xiàn)系統(tǒng)。
在一個(gè)GPIB標(biāo)準(zhǔn)接口總線(xiàn)系統(tǒng)中,要進(jìn)行有效的通信聯(lián)絡(luò)至少有"講者"、"聽(tīng)者"、"控者"三類(lèi)儀器裝置。
講者是通過(guò)總線(xiàn)發(fā)送儀器消息的儀器裝置( 如測(cè)量?jī)x器、數(shù)據(jù)采集器、計(jì)算機(jī)等),在一個(gè)GPIB系統(tǒng)中,可以設(shè)置多個(gè)講者, 但在某一時(shí)刻,只能有一個(gè)講者在起作用。
聽(tīng)者是通過(guò)總線(xiàn)接收由講者發(fā)出消息的裝置(如打印機(jī)、信號(hào)源等),在一個(gè)GPIB系統(tǒng)中,可以設(shè)置多個(gè)聽(tīng)者,并且允許多個(gè)聽(tīng)者同時(shí)工作。
控者是數(shù)據(jù)傳輸過(guò)程中的組織者和控制者,例如對(duì)其他設(shè)備進(jìn)行尋址或允許"講者"使用總線(xiàn)等??卣咄ǔS捎?jì)算機(jī)擔(dān)任,GPIB系統(tǒng)不允許有兩個(gè)或兩個(gè)以上的控者同時(shí)起作用。
應(yīng)用微機(jī)設(shè)計(jì)GPIB母線(xiàn)分析儀軟面板
格式:pdf
大?。?span id="3dnrnjb" class="single-tag-height">85KB
頁(yè)數(shù): 未知
評(píng)分: 4.6
介紹了一種以通用微機(jī)為主要,加上GPIB接口卡和一套系統(tǒng)軟件實(shí)現(xiàn)的GPIB母線(xiàn)分析儀軟面板的設(shè)計(jì)方法
基于GPIB的光纖收發(fā)器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
格式:pdf
大?。?span id="lxv333t" class="single-tag-height">85KB
頁(yè)數(shù): 2頁(yè)
評(píng)分: 4.5
對(duì)光紆收發(fā)器及GPIB概念和應(yīng)用理論進(jìn)行了概述,重點(diǎn)對(duì)對(duì)基于NAT9914芯片的GPIB接口的實(shí)現(xiàn)及其軟硬件設(shè)計(jì)進(jìn)行了探討。給出了具體GPIB的硬件設(shè)計(jì)圖,對(duì)光纖收發(fā)器的光電轉(zhuǎn)換模塊進(jìn)行了選擇,同時(shí)對(duì)GPIB的軟件設(shè)計(jì)進(jìn)行了簡(jiǎn)要探討。通過(guò)后續(xù)的實(shí)物實(shí)驗(yàn),得到了該光纖收發(fā)器設(shè)計(jì)上的合理性與有效性結(jié)論。
越來(lái)越多的測(cè)量?jī)x器提供GPIB(General Purpose Intefface Bus)總線(xiàn)接口,通過(guò)該總線(xiàn)可以方便快捷地連接帶有GPIB接口的儀器及計(jì)算機(jī),組成一個(gè)GPlB網(wǎng)絡(luò)。GPIB設(shè)備與計(jì)算機(jī)連接時(shí),需要借助GPIB接口板卡,但這些GPIB接口板卡價(jià)格昂貴,給儀器與計(jì)算機(jī)連接帶來(lái)不便。在大多數(shù)情況下計(jì)算機(jī)只連接一臺(tái)GPIB接口儀器,并不需要這些功能復(fù)雜價(jià)格昂貴的GPIB板卡。面對(duì)單臺(tái)儀器與計(jì)算機(jī)連接的功能需求,本文設(shè)計(jì)了一種性?xún)r(jià)比突出的RS232一GPIB,該控制器利用計(jì)算機(jī)最常用的RS232接口,控制帶有GPIB接口的儀器,在計(jì)算機(jī)與儀器之間建立數(shù)據(jù)傳輸?shù)耐ǖ?。同時(shí),支持SCPI(Standard Commands for Prognmnnable Instrumentation)指令集,只需在Windows操作系統(tǒng)自帶的工具軟件超級(jí)終端中輸入SCPI指令,便可方便地對(duì)儀器進(jìn)行參數(shù)設(shè)置和讀取測(cè)試結(jié)果。
控制器的設(shè)計(jì),旨在連接計(jì)算機(jī)和帶有GPIB接口的測(cè)量?jī)x器,并利用計(jì)算機(jī)的鍵盤(pán)和顯示器來(lái)操控儀器進(jìn)行程控測(cè)量。本設(shè)計(jì)中計(jì)算機(jī)端接口為RS232接口,使用這個(gè)串口作為通信工具,編程方便、連接簡(jiǎn)單可靠,軟件則采用Windows操作系統(tǒng)自帶的超級(jí)終端。因此,可以很方便地完成計(jì)算機(jī)串口數(shù)據(jù)的接收和發(fā)送,無(wú)需自行開(kāi)發(fā)計(jì)算機(jī)端軟件,節(jié)省了控制器的開(kāi)發(fā)時(shí)間。所設(shè)計(jì)控制器的核心是單片機(jī),它一端連接計(jì)算機(jī)RS232串口,一端連接儀器GPIB接口,單片機(jī)接收來(lái)自計(jì)算機(jī)超級(jí)終端的SCPI指令,并轉(zhuǎn)發(fā)給帶有GPIB接口的儀器執(zhí)行。儀器執(zhí)行完成指令后將執(zhí)行結(jié)果發(fā)送給控制器,控制器再將所收到的數(shù)據(jù)通過(guò)RS232串口傳遞給計(jì)算機(jī).在超級(jí)終端中顯示。
1 硬件設(shè)計(jì)
單片機(jī)是RS232-GPIB控制器的核心,本設(shè)計(jì)選用ATEML公司的AT89C51單片機(jī)。由于89C51應(yīng)用領(lǐng)域廣泛,擁有豐富的片上資源和總線(xiàn)式I/O口,支持高級(jí)語(yǔ)言編程,內(nèi)部集成了符合RS232數(shù)據(jù)規(guī)范的異步串行控制單元。因此,使用Tx和Rx串行接口線(xiàn)與外部串行傳輸數(shù)據(jù),只需在單片機(jī)外部使用MAX232芯片進(jìn)行電平轉(zhuǎn)換,便可直接連接計(jì)算機(jī)的串行端口(COM)。控制器的硬件結(jié)構(gòu)如圖1所示,其中,GPIB接口控制電路是控制器硬件設(shè)計(jì)的重點(diǎn)。

需要指出的是:使用智能化的GPIB接口芯片,可以大大簡(jiǎn)化GPIB接口電路的設(shè)計(jì)。目前最常用的芯片有兩種,一種以美國(guó)國(guó)家儀器公司生產(chǎn)的TNT4882芯片為代表,將所有接口功能集成在芯片上,完全由硬件完成接口功能,不需要其他輔助芯片,并且直接連接GPIB總線(xiàn);另一種是以美國(guó)德州儀器公司生產(chǎn)的TMS9914芯片為代表,依靠軟件編程來(lái)完成GPIB接口功能,由接口芯片SN75160和SN75161進(jìn)行電平轉(zhuǎn)換后連接GPIB總線(xiàn)。這二種芯片的比較如表l所示??紤]到成本等因素,本設(shè)計(jì)選用與TMS9914芯片完全兼容的NAT9914芯片作為GPIB總線(xiàn)接口芯片。NAT9914是一款標(biāo)準(zhǔn)的GPIB控制芯片,可以執(zhí)行所有GPIB接口功能,具有直接存儲(chǔ)器存取(DMA)功能,可編程時(shí)鐘和波特率,采用CMOS驅(qū)動(dòng),并兼容TTL電平,因此使用極為方便。同時(shí),選用SN75160作為數(shù)據(jù)轉(zhuǎn)換器,SN75162作為握手線(xiàn)和控制線(xiàn)轉(zhuǎn)換器,與NAT9914配套使用,連接GPlB接口。
在圖l中,采用89C51的PO口連接NAT9914的數(shù)據(jù)接口,作為數(shù)據(jù)總線(xiàn)和GPIB進(jìn)行雙向數(shù)據(jù)交換;Pl的I/O口作為地址總線(xiàn),對(duì)NAT9914內(nèi)部寄存器尋址。NAT9914的中斷輸出連接在89C51的外部中斷接口上,采用中斷觸發(fā)的方式管理GPIB接口通信;NAT9914的時(shí)鐘信號(hào)一般采用獨(dú)立時(shí)鐘源。本設(shè)計(jì)中,考慮到控制器的功能僅完成與單臺(tái)GPIB接口儀器之問(wèn)的通信,時(shí)鐘頻率的高低對(duì)GPIB接口數(shù)據(jù)傳輸速度影響基本可以忽略,因此直接使用89C51的ALE信號(hào)作為NAT9914時(shí)鐘信號(hào),這樣可以充分利用89C51的片上資源,簡(jiǎn)化電路,降低硬件成本。

2 軟件設(shè)計(jì)
計(jì)算機(jī)端軟件采用超級(jí)終端,用戶(hù)在超級(jí)終端中鍵入指令語(yǔ)句控制帶有GPIB接口的儀器。因SCPI指令集提供一個(gè)無(wú)縫的控制界面,使其在更換不同公司的同類(lèi)GPIB設(shè)備時(shí),不需要重新設(shè)定控制程序,可方便地和不同廠商同類(lèi)GPIB設(shè)備的搡作編程。因此,本設(shè)計(jì)選取對(duì)業(yè)界通用的SCPI指令集作為控制指令,以便RS232一GPIB控制器可以和絕大多數(shù)GPIB接口儀器配合使用。
本設(shè)計(jì)中控制器軟件采用C51語(yǔ)言編寫(xiě),編譯后燒錄在89C51單片機(jī)中運(yùn)行。軟件框架采用主程序加中斷調(diào)用方式.以提高功能模塊的內(nèi)聚性。軟件功能分為RS232串口通信程序和GPIB接口通信程序兩部分,分別和兩個(gè)中斷相關(guān):(1)串行通信中斷。該中斷負(fù)責(zé)RS232串口數(shù)據(jù)傳輸。(2)接收NAT9914中斷信號(hào)的外部中斷。該中斷處理來(lái)自GPIB接口數(shù)據(jù)通信的各種事件。主程序在完成全部初始化后進(jìn)入死循環(huán)狀態(tài),等待這兩個(gè)中斷的發(fā)生。其中,RS232串口數(shù)據(jù)發(fā)送在主程序中執(zhí)行,而串口數(shù)據(jù)接收由串口中斷處理程序完成。串口通信程序較為簡(jiǎn)單,這里主要給出GPIB通信程序結(jié)構(gòu)。
NAT9914芯片開(kāi)始工作之前需要對(duì)其進(jìn)行初始化,這部分代碼作為主程序中初始化程序的一部分運(yùn)行,包括設(shè)置ICR寄存器、選擇時(shí)鐘信號(hào)頻率、設(shè)置GPIB延遲時(shí)問(wèn)T1、定義通信結(jié)束字符EOS、設(shè)置GPIB設(shè)備地址(規(guī)定地址必須在O~30之間,如果寫(xiě)入更大的地址。則設(shè)備仍看作30)。初始化完成后將NAT9914接通GPIB總線(xiàn)。初始化流程如圖2所示。

GPIB控制部分的代碼以中斷方式運(yùn)行,當(dāng)NAT9914觸發(fā)89C51芯片的外部中斷時(shí),單片機(jī)中止正常工作,將現(xiàn)場(chǎng)數(shù)據(jù)壓入堆棧保護(hù),并調(diào)用外部中斷處理函數(shù),響應(yīng)NAT9914芯片的中斷申請(qǐng),其中斷處理程序流程如圖3所示。引起NAT9914向單片機(jī)發(fā)出中斷信號(hào)的事件主要有四種:發(fā)送數(shù)據(jù)事件、接收數(shù)據(jù)事件、接收GET命令事件和接收DCAS命令事件。中斷頻繁時(shí)會(huì)影響主程序運(yùn)行效率,但考慮到所設(shè)計(jì)的轉(zhuǎn)換器功能單一,主程序基本處于空轉(zhuǎn)狀態(tài),四種事件的處理都在中斷程序中完成,因此,對(duì)主程序運(yùn)行影響不大。GPIB接收數(shù)據(jù)和發(fā)送數(shù)據(jù)流程如圖4和圖5所示。


每次GPIB接口數(shù)據(jù)接收中,NAT9914接收到第一個(gè)字節(jié)數(shù)據(jù)后,即置位寄存器ISR0中的BI位。觸發(fā)單片機(jī)外部中斷,單片機(jī)進(jìn)入外部中斷處理程序后,讀取ISR0寄存器,判斷NAT9914觸發(fā)中斷的原因是接收數(shù)據(jù)事件后,調(diào)用接收數(shù)據(jù)子程序的執(zhí)行,開(kāi)始接收來(lái)自GPIB儀器的數(shù)據(jù)。
在主程序中,NAT9914發(fā)送完第一個(gè)字節(jié)數(shù)據(jù)后.即置位寄存器ISR0中的BO位,觸發(fā)單片機(jī)外部中斷。單片機(jī)進(jìn)入外部中斷處理程序后,根據(jù)BO位判斷事件類(lèi)型為發(fā)送數(shù)據(jù)事件,則調(diào)用GPIB數(shù)據(jù)發(fā)送程序,將緩沖區(qū)中剩余的數(shù)據(jù)依次發(fā)送到GPIB總線(xiàn)上。
3 運(yùn)行情況及結(jié)果
本文設(shè)計(jì)的RS232一GPIB控制器已成功用于計(jì)算機(jī)和泰克TDS210型示波器的GPIB總線(xiàn)連接中。圖6是計(jì)算機(jī)超級(jí)終端顯示界面的部分截圖,其中COMMAND:>為計(jì)算機(jī)鍵盤(pán)SCPI命令輸入提示符,GPIB:>為GPIB連接設(shè)備的反饋信息輸出提示符,表示后面的信息來(lái)自GPIB設(shè)備(即泰克TDS210型示波器)。

首先輸入的是查詢(xún)命令.該類(lèi)命令以‘?’結(jié)尾,當(dāng)示波器收到查詢(xún)命令后,會(huì)立即反饋相關(guān)查詢(xún)信息。ID?命令,查詢(xún)?cè)撌静ㄆ鞯钠放坪托吞?hào)信息,示波器回復(fù)相關(guān)信息顯示在超級(jí)終端上;CH1?命令,查詢(xún)示波器l號(hào)通道的設(shè)置信息;DATA?命令,查詢(xún)示波器當(dāng)前使用通道信息以及采樣點(diǎn)數(shù)等信息。
接著輸入控制命令,示波器收到該命令后,執(zhí)行相應(yīng)的操作,但并不將執(zhí)行結(jié)果反饋回來(lái)。如:LANG ENGL命令,表示將示波器語(yǔ)言界面改為英文界面;LANGJAPA命令,表示將修改界面為日語(yǔ)界面。
原文鏈接:
1 概述
是美國(guó)NI公司的一款單芯片、高速、聽(tīng)/講功能的兼?zhèn)涞腉PIB(General purpose interface bus)接口。它內(nèi)部集成了Turbo488(高速傳輸電路)以及NAT4882(IEEE488.2兼容電路),并擁有諸多新的特性,能夠兼容ANSI IEEE Standard 488.1和ANSI IEEE Standard 488.2規(guī)范,因而可以為GPIB系統(tǒng)提供一套完整的解決方案。為了達(dá)到更高的傳輸速率。TNT4882采用了單芯片F(xiàn)IFO緩存,其內(nèi)置的16個(gè)增強(qiáng)型IEEE 488.1兼容收發(fā)器可以直接連接GPIB,以實(shí)現(xiàn)HS488傳輸模式(一種新的GPIB高速傳輸模式)。在兼容性方面,它與以往使用的μPD7210、TMS9914A中的寄存器設(shè)置完全兼容,用戶(hù)可以將以前所用的代碼直接移植到TNT4882上。同時(shí),它所包含的Turbo488電路及其諸多新特性也可以在一定程度上減少軟件的開(kāi)銷(xiāo)。另外,TMT4882還具有靈活的CPU接口,可以方便地連接各種16位或8位微處理器,并將CPU發(fā)出的消息和信號(hào)轉(zhuǎn)化成相應(yīng)的GPIB消息和信號(hào),以使實(shí)現(xiàn)GPIB設(shè)備和CPU及內(nèi)存之間的通信。
圖1 雙芯片模式結(jié)構(gòu)
2 內(nèi)部結(jié)構(gòu)和外圍
2.1 TNT4882的內(nèi)部結(jié)構(gòu)
TNT4882的內(nèi)部結(jié)構(gòu)以其工作模式的不同而有所不同。工作模式可分為單芯片模式和雙芯片模式兩種,而雙芯片模式又可分為T(mén)urbo+7210模式和Turbo+9914模式。工作模式的選擇和轉(zhuǎn)換由寄存器的設(shè)置來(lái)決定,不同的工作模式?jīng)Q定著FIFO與GPIB的連接方式、寄存器的狀態(tài)和訪(fǎng)問(wèn)屬性。
在雙芯片工作模式下,NAT4882相當(dāng)于μPD7210(Turbo+7210模式)或TMS9914A(Turbo+9914模式),但功能更加強(qiáng)大。此時(shí)的結(jié)構(gòu)及工作過(guò)程如圖1所示。當(dāng)前GPIB寫(xiě)數(shù)據(jù)時(shí),CPU首先將數(shù)據(jù)寫(xiě)入TNT4882的FIFO里,并由傳輸狀態(tài)機(jī)將數(shù)據(jù)從FIFO傳至NAT4882電路,再由NAT4882電路將數(shù)據(jù)傳送至GPIB上;而當(dāng)從GPIB上讀數(shù)據(jù)時(shí),過(guò)程則正好相反。
在單芯片工作模式下,F(xiàn)IFO可直接與GPIB相連而不需要傳輸狀態(tài)機(jī),其結(jié)構(gòu)如圖2所示。此時(shí),TNT4882中寄存器的設(shè)置與Turbo+7210模式類(lèi)似。
由于單芯片模式采用的是最簡(jiǎn)單且最快速的結(jié)構(gòu),且是NI公司推薦的TNT4882工作模式,因此,本文主要討論這種模式。
2.2 外圍時(shí)鐘電路
TNT4882工作時(shí)需要40MHz的驅(qū)動(dòng)時(shí)鐘,產(chǎn)生時(shí)鐘信號(hào)的方法有兩種:一是采用40MHz的CMOS晶振,將晶振的輸出接至TNT4882的XTALI管腳,并將XTALO管腳懸空;二是采用如圖3所示的外圍時(shí)鐘電路。
圖2 單芯片模式結(jié)構(gòu)框圖 圖3 TNT4882外圍時(shí)鐘電路
3 寄存器簡(jiǎn)介
TNT4882內(nèi)部寄存器的數(shù)量和種類(lèi)都很多,而且在不同的工作模式下,寄存器的情況又不盡相同。本文只對(duì)單芯片模式以及與最基本的GPIB操作有關(guān)的一些寄存器進(jìn)行簡(jiǎn)要地介紹。
需要注意的是,TNT4882內(nèi)部的寄存器都是8位的。所以,每個(gè)寄存器的控制字也必須是8位。寄存器的地址通常是TNT4882的基地址加上各個(gè)寄存器所對(duì)應(yīng)的偏移量。TNT4882的基地址由硬件電路決定,而每個(gè)寄存器對(duì)應(yīng)的偏移量則是固定的,其范圍從0至0x1F。寄存器有三種類(lèi)型:只讀、只寫(xiě)和讀/寫(xiě)。表1列出了一些比較重要的寄存器類(lèi)型。
表1 TNT4882的部分寄存器
| 寄存器 | 英文縮寫(xiě) | 偏移量 | 類(lèi) 型 |
| 命令寄存器 | CMDR | 1C | 只寫(xiě) |
| 輔助模式寄存器 | AUXMR | 0A | 只寫(xiě) |
| 連續(xù)輪詢(xún)模式寄存器 | SPMR | 06 | 只寫(xiě) |
| 握手選擇寄存器 | HSSEL | 0D | 只寫(xiě) |
| 高速使能寄存器 | HIER | 13 | 只寫(xiě) |
| 多功能寄存器 | MISC | 15 | 只寫(xiě) |
| 地址模式寄存器 | ADMR | 08 | 只寫(xiě) |
| 地址寄存器 | ADR | 0C | 只寫(xiě) |
| 中斷寄存器0 | IMR0 | 1D | 只寫(xiě) |
| 中斷寄存器1 | IMR1 | 02 | 只寫(xiě) |
| 配置寄存器 | CFG | 10 | 只寫(xiě) |
| 總線(xiàn)控制寄存器 | BCR | 1F | 只寫(xiě) |
| 總線(xiàn)狀態(tài)寄存器 | BSR | 1F | 只讀 |
| 地址狀態(tài)寄存器 | ADSR | 08 | 只讀 |
| FIFO緩存A | FIFOA | 19 | 讀/寫(xiě) |
| FIFO緩存B | FIFOB | 18 | 讀/寫(xiě) |
| 計(jì)數(shù)寄存器0 | CNT0 | 14 | 讀/寫(xiě) |
| 計(jì)數(shù)寄存器1 | CNT1 | 16 | 讀/寫(xiě) |
| 計(jì)數(shù)寄存器2 | CNT2 | 09 | 讀/寫(xiě) |
| 計(jì)數(shù)寄存器3 | CNT3 | 0B | 讀/寫(xiě) |
4
TNT4882是一種需要軟件編程的集成電路。其內(nèi)部各個(gè)寄存器的狀態(tài)決定或標(biāo)志著芯片及GPIB的工作狀態(tài)。在GPIB中,只有通過(guò)編程對(duì)寄存器進(jìn)行正確設(shè)備,才能實(shí)現(xiàn)對(duì)GPIB的各種操作。以下是編程的基本思路和注意事項(xiàng)。
4.1 芯片初始化
最典型的初始化程序需完成以下工作:
(1)復(fù)位TNT4882器件中的Turbo488電路;
(2)將TNT4882設(shè)置成Turbo+7210模式;
(3)將TNT4882設(shè)置成模式;
(4)使Local Power-On信號(hào)有效;
(5)配置TNT4882以為GPIB操作作準(zhǔn)備,其具體任務(wù)是設(shè)置TNT4882的GPIB地址、設(shè)置初始串行輪詢(xún)響應(yīng)、設(shè)置初始并行輪詢(xún)響應(yīng)、清除或設(shè)定中斷、設(shè)置GPIB握手參數(shù)等。
(6)清除Local Power-On信號(hào),開(kāi)始GPIB操作。
上述工作只是編程時(shí)考慮實(shí)現(xiàn)各種功能的基本原則,設(shè)計(jì)得可以根據(jù)自己的實(shí)際需要,對(duì)TNT4882進(jìn)行適當(dāng)?shù)木幊?,而沒(méi)有必要完成每種功能的設(shè)置。
4.2 GPIB數(shù)據(jù)傳輸
用TNT4882進(jìn)行GPIB數(shù)據(jù)傳輸時(shí),需經(jīng)歷初始化、數(shù)據(jù)傳輸和傳輸終止三個(gè)階段,傳輸初始化步驟如下:
(1)正確設(shè)置TNT4882的地址模式。在GPIB寫(xiě)操作之前,應(yīng)將TNT4882設(shè)置成講狀態(tài);而在GPIB讀操作之前,要將TNT4882設(shè)置成聽(tīng)狀態(tài);

(2)清空FIFO,為數(shù)據(jù)傳輸作準(zhǔn)備;
(3)向配置寄存器中寫(xiě)入正確的控制字以設(shè)定傳輸參數(shù);
(4)將欲傳輸字符個(gè)數(shù)的二進(jìn)制補(bǔ)碼寫(xiě)入計(jì)數(shù)寄存器;
(5)如果需要的話(huà),可以設(shè)置DMA參數(shù)并使用DMA方式進(jìn)行傳輸;
(6)根據(jù)需要,合理設(shè)置或清除中斷;
(7)向TNT4882發(fā)送傳輸命令。
在傳輸初始化完成之后,就可以在系統(tǒng)內(nèi)存和GPIB之間傳輸數(shù)據(jù)了。此時(shí),所要考慮的只是如何協(xié)調(diào)內(nèi)存和FIFO間的工作,而TNT4882會(huì)自動(dòng)管理FIFO與GPIB間的數(shù)據(jù)傳輸。通??梢赃x擇兩種傳輸方式:DMA方式和程序控制方式。若使用DMA方式,則必須在傳輸初始化時(shí)對(duì)TNT4882進(jìn)行正確設(shè)定。如果使用程序控制方式,則需設(shè)計(jì)控制程序來(lái)對(duì)數(shù)據(jù)傳輸進(jìn)行管理??刂瞥绦虻幕玖鞒倘鐖D4所示。
當(dāng)數(shù)據(jù)傳輸終止時(shí),還應(yīng)進(jìn)行以下幾步操作:
(1)向TNT4882發(fā)送停止命令;
(2)若使用了DMA方式,還需禁止外部的DMA控制器;
(3)清除所有的中斷設(shè)置。
5 結(jié)束語(yǔ)
使用TNT4882時(shí),除了要求外接一個(gè)40MHz的外部時(shí)鐘以外,幾乎不需要其它任何輔助電路,因而大大簡(jiǎn)化了接口電路的設(shè)計(jì)和開(kāi)發(fā)。通過(guò)筆者的實(shí)驗(yàn)證明:TNT4882是一款廉價(jià)的、高性能的專(zhuān)用芯片,是GPIB接口設(shè)計(jì)的理想選擇。
原文鏈接:
在智能化測(cè)量?jī)x器中,每一個(gè)儀器裝置都具有儀器功能和接口功能。
儀器功能的作用是把收到的控制信息變成儀器設(shè)備的實(shí)際動(dòng)作,如調(diào)節(jié)頻率、調(diào)節(jié)信號(hào)電平、改變儀器的工作方式等,這與常規(guī)儀器設(shè)備的功能相同。為完成這些儀器功能而傳遞的信息稱(chēng)為儀器信息。
接口功能是指完成各儀器設(shè)備之間正確通信、確保系統(tǒng)正常工作的能力,即通過(guò)GPIB標(biāo)準(zhǔn)接口實(shí)現(xiàn)自動(dòng)測(cè)量與控制所必須的邏輯功能。為完成接口功能而傳遞的信息稱(chēng)為接口信息。
接口功能包括:遇到機(jī)器故障等情況時(shí),向系統(tǒng)“控者”提出服務(wù)請(qǐng)求的服務(wù)請(qǐng)求功能;系統(tǒng)“控者”為快速查詢(xún)請(qǐng)求服務(wù)裝置而設(shè)置的并行點(diǎn)名功能;用來(lái)選擇遠(yuǎn)地工作狀態(tài)或本地工作狀態(tài)的遠(yuǎn)控本控能力;使裝置從總線(xiàn)接收到觸發(fā)信息,以便進(jìn)行觸發(fā)操作的裝置觸發(fā)功能;使儀器裝置接收清除信息并返回到初始狀態(tài)的裝置清除功能等。