RS232-GPIB控制器的設(shè)計(jì)
出處:chenjinbin 發(fā)布于:2007-04-22 18:28:56
關(guān)鍵詞:單片機(jī)GPlIB SCPI超級(jí)終端
越來(lái)越多的測(cè)量?jī)x器提供GPIB(General Purpose Intefface Bus)總線接口,通過(guò)該總線可以方便快捷地連接帶有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é)果。
RS232-GPIB控制器的設(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)域廣泛,擁有豐富的片上資源和總線式I/O口,支持語(yǔ)言編程,內(nèi)部集成了符合RS232數(shù)據(jù)規(guī)范的異步串行控制單元。因此,使用Tx和Rx串行接口線與外部串行傳輸數(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總線;另一種是以美國(guó)德州儀器公司生產(chǎn)的TMS9914芯片為代表,依靠軟件編程來(lái)完成GPIB接口功能,由接口芯片SN75160和SN75161進(jìn)行電平轉(zhuǎn)換后連接GPIB總線。這二種芯片的比較如表l所示。考慮到成本等因素,本設(shè)計(jì)選用與TMS9914芯片完全兼容的NAT9914芯片作為GPIB總線接口芯片。NAT9914是一款標(biāo)準(zhǔn)的GPIB控制芯片,可以執(zhí)行所有GPIB接口功能,具有直接存儲(chǔ)器存取(DMA)功能,可編程時(shí)鐘和波特率,采用CMOS驅(qū)動(dòng),并兼容TTL電平,因此使用極為方便。同時(shí),選用SN75160作為數(shù)據(jù)轉(zhuǎn)換器,SN75162作為握手線和控制線轉(zhuǎn)換器,與NAT9914配套使用,連接GPlB接口。
在圖l中,采用89C51的PO口連接NAT9914的數(shù)據(jù)接口,作為數(shù)據(jù)總線和GPIB進(jìn)行雙向數(shù)據(jù)交換;Pl的I/O口作為地址總線,對(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總線。初始化流程如圖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總線上。
3 運(yùn)行情況及結(jié)果
本文設(shè)計(jì)的RS232一GPIB控制器已成功用于計(jì)算機(jī)和泰克TDS210型示波器的GPIB總線連接中。圖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ǔ)界面。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)視覺(jué)檢測(cè)系統(tǒng)技術(shù)參數(shù)與選型運(yùn)維指南2026/1/4 14:50:21
- 工業(yè)視覺(jué)檢測(cè)系統(tǒng)核心知識(shí)解析2025/12/29 11:23:21
- 工業(yè)級(jí)電磁閥技術(shù)參數(shù)與選型運(yùn)維指南2025/12/29 11:06:44
- 工業(yè)控制系統(tǒng)遠(yuǎn)程訪問(wèn)安全實(shí)操指南2025/12/25 10:04:23
- 工業(yè)控制系統(tǒng)網(wǎng)絡(luò)安全防護(hù)實(shí)操指南2025/12/25 9:53:54
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開(kāi)關(guān)中的EMI問(wèn)題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見(jiàn)問(wèn)題分析









