新聞中心

EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > GPIB芯片TNT4882在多路程控電源中的應(yīng)用

GPIB芯片TNT4882在多路程控電源中的應(yīng)用

作者: 時(shí)間:2004-12-06 來(lái)源:網(wǎng)絡(luò) 收藏
摘要:介紹一種總線(xiàn)接口及其在多路中的,包括的引腳排列、內(nèi)部結(jié)構(gòu)、功能和通信方式、與微處理器的接口及與上位機(jī)的通信;同時(shí)給出在實(shí)際中的總體框圖和各主要功能模塊的軟件流程及與上位機(jī)通信程序。

關(guān)鍵詞:總線(xiàn) 微處理器

(General Purpose Interface Bus)接口總線(xiàn)最早由美國(guó)HP公司倡導(dǎo)實(shí)施,命名為HPIB。由于它良好的接口特性,很快在國(guó)際范圍內(nèi)得到廣泛的,并被美國(guó)電氣與電子工程學(xué)會(huì)命名為IEEE488,在英國(guó)和日本等國(guó)家則稱(chēng)為GPIB。雖然有多種叫法,但實(shí)際上除了機(jī)械標(biāo)準(zhǔn)有所不同外,其實(shí)質(zhì)完全相同。它猶如一座橋梁,將配置GPIB總線(xiàn)接口的儀器與計(jì)算機(jī)緊密地結(jié)合起來(lái)。用它組成的系統(tǒng)方便、靈活、功能強(qiáng)及適應(yīng)性好,可方便地應(yīng)用到科研、工程、醫(yī)藥工程、醫(yī)藥及測(cè)試等領(lǐng)域。

美國(guó)NI公司生產(chǎn)的GPIB專(zhuān)用TNT4882具有功能強(qiáng)、體積小、傳輸速度快及易與微處理器接口等特點(diǎn),備受用戶(hù)的青睞。筆者運(yùn)用TNT4882成功地開(kāi)發(fā)了具備GPIB總線(xiàn)接口的多路程控電源。

圖1 TNT4882引腳圖

1 TNT4882簡(jiǎn)介

1.1 TNT4882引腳說(shuō)明

TNT4882是NT公司開(kāi)發(fā)的100腳PQFQ封裝的GPIB專(zhuān)用集成芯片,是IEEE488.2標(biāo)準(zhǔn)和GPIB收發(fā)功能的集成,且具有HS488增強(qiáng)功能。它的引腳如圖1所示。

VDD:電源,接+5V;

GND:電源地;

XTAL0、XTAL1:外接時(shí)鐘振蕩器引腳;

DATA15~DATA8(ABUS)、DATA7~DATA0(BBUS):數(shù)據(jù)線(xiàn),是TNT4882與外部CPU進(jìn)行數(shù)據(jù)輸入/輸出的雙向總線(xiàn),分為ABUS和BBUS,便于進(jìn)行8位或16位數(shù)據(jù)操作;

ABUSN:ABUS使能;

BBUSN:BBUS使能;

ABUS_OEN:當(dāng)前正在通過(guò)ABUS讀數(shù)據(jù);

BBUS_OEN:當(dāng)前正在通過(guò)BBUS讀數(shù)據(jù);

CSN:片選;

ADDR4~0:內(nèi)部寄存器地址線(xiàn);

RDN:讀信號(hào);

WRN:寫(xiě)信號(hào);

CPUACC:指示TNT4882可以進(jìn)行總線(xiàn)操作延時(shí);

RDY1:指示TNT4882完成當(dāng)前總線(xiàn)操作;

DRQ:DMA申請(qǐng)信號(hào);

DACKN:DMA申請(qǐng)應(yīng)答信號(hào);

BURST_RDN:連續(xù)讀信號(hào);

FIFO_RDY:當(dāng)前TNT4882內(nèi)部FIFO至少已有8個(gè)有效數(shù)據(jù);

INTR:中斷申請(qǐng)信號(hào);

RAGED:地址映射選擇,有效則映射內(nèi)部寄存器到不同的地址;

MODE:TNT4882工作模式選擇;

SWAPN:模式切換;

RESETN:復(fù)位;

TADCS:指示當(dāng)前TNT4882選中為講者;

LADCS:指示當(dāng)前TNT4882選中為聽(tīng)者;

TRIG:指示當(dāng)前TNT4882接收到外部觸發(fā)信號(hào);

DCAS:指示當(dāng)前TNT4882接收到設(shè)備清零信號(hào);

REM:指示當(dāng)前TNT4882進(jìn)入遙控狀態(tài);

GPIB數(shù)據(jù)線(xiàn)8根:DIO8N~DIO1N,用于GPIB發(fā)布地址和命令,傳遞數(shù)據(jù);

GPIB管理總線(xiàn)5根:ATNN(ATTENTION,注意)線(xiàn)、IFCN(INTERFACE-CLEAR,接口清除)線(xiàn)、RENN(REMOTE ENABLE,程控使能)線(xiàn)、SRQN(SERVICE REQUEST,服務(wù)請(qǐng)求)線(xiàn)、NDACN(NOT DATA ACCEPTED,未接收到數(shù)據(jù))線(xiàn);

GPIB掛鉤總線(xiàn)3根:DAVN(DATA VALID,數(shù)據(jù)有效)線(xiàn)、NRFDN(NOT READY FOR DATA,未準(zhǔn)備好接收)線(xiàn)、NDACN(NOT DATA ACCEPTED,未接收到數(shù)據(jù))線(xiàn)。TNT4882利用以上3條總線(xiàn)進(jìn)行握手信息和數(shù)據(jù)傳送,以確保信息和數(shù)據(jù)的發(fā)布與傳送準(zhǔn)確無(wú)誤。

1.2 TNT4882內(nèi)部結(jié)構(gòu)

TNT4882有三種模式:?jiǎn)纹J?、Turbo+7210模式及Turbo+9914模式,而且Turbo+7210模式和Turbo+9914模式可以轉(zhuǎn)換到單片模式。單片模式是最簡(jiǎn)單、最快速的結(jié)構(gòu)。在設(shè)計(jì)中,選用單片模式。單片模式內(nèi)部組成模塊如圖2所示。

單片模式內(nèi)部結(jié)構(gòu)由1個(gè)片內(nèi)ISA邏輯接口,1個(gè)片內(nèi)讀/寫(xiě)控制器,1個(gè)片內(nèi)先進(jìn)先出的緩沖區(qū),1個(gè)定時(shí)/計(jì)數(shù)器,1個(gè)片內(nèi)中斷控制器,1個(gè)可配置狀態(tài)寄存器,1個(gè)IEEE488總線(xiàn)監(jiān)視器,1個(gè)IEEE488總線(xiàn)功能接口,1個(gè)HS488電路功能接口,1個(gè)IEEE488收發(fā)器及1個(gè)IEEE488總線(xiàn)組成。

2 TNT4882功能控制和數(shù)據(jù)傳送/接收方式

2.1 TNT4882功能控制

TNT4882功能控制是通過(guò)寫(xiě)命令字的方式實(shí)現(xiàn)的。這些命令字包括TNT4882復(fù)位、初始化、寄存器的讀/寫(xiě)及中斷請(qǐng)求等命令。TNT4882內(nèi)部有40多個(gè)用戶(hù)可訪(fǎng)問(wèn)的8位寄存器。對(duì)這些寄存器的訪(fǎng)問(wèn)是通過(guò)填在寄存器的讀/寫(xiě)命令的地址進(jìn)行的。這些寄存器包括基本配置、FIFO、中斷控制、定時(shí)/計(jì)數(shù)器、狀態(tài)寄存器、掛鉤和管理寄存器等。

2.2 TNT4882數(shù)據(jù)傳送/接收方式

當(dāng)傳送數(shù)據(jù)開(kāi)始時(shí),TNT4882完成初始化。TNT4882初始化結(jié)束后,上位機(jī)和TNT4882進(jìn)行數(shù)據(jù)傳送。上位機(jī)傳送計(jì)數(shù)器用來(lái)寄存上位機(jī)和FIFO之間所要傳送和接收的字節(jié)數(shù)。由NTN4882計(jì)數(shù)GPIB接口傳送和接收的字節(jié)。在上位機(jī)和FIFO間每傳送一個(gè)數(shù)據(jù),上位機(jī)接口便將上位機(jī)傳送計(jì)數(shù)器的傳送計(jì)數(shù)值減一,并查詢(xún)計(jì)數(shù)值是否等于零。如果計(jì)數(shù)值等于零,上位機(jī)開(kāi)始檢測(cè)結(jié)束條件,判斷是否結(jié)束。如果結(jié)束,數(shù)據(jù)傳送完成;否則,等待。

圖4 TNT4882與微控制器接口原理圖

3 TNT4882在多路程控電源中的應(yīng)用及軟件流程

多路程控電源是為航空航天電子設(shè)備及系統(tǒng)的自動(dòng)測(cè)試設(shè)備(ATE)的技術(shù)需要而設(shè)計(jì)和研制的,是目前在高性能的航空航天自測(cè)系統(tǒng)中不可缺少的配套設(shè)備之一。該程控電源的輸出不但可滿(mǎn)足目前國(guó)內(nèi)、國(guó)外不同供電體系的技術(shù)需要,而且還配套輸出多路的輔助電源,以滿(mǎn)足用戶(hù)的特殊需要??紤]到多路程控電源的通用性,且適于國(guó)際接口標(biāo)準(zhǔn),在研制中加一GPIB總線(xiàn)接口,以使我們的多路程控電源能用在不同的控制系統(tǒng)中。多路程控電源硬件圖如圖3所示。

多路程控電源由數(shù)據(jù)采集、微控制器、電源模塊、GPIB總線(xiàn)接口及上位機(jī)組成。多路程控電源輸出的模擬量經(jīng)變換后送到A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成數(shù)字量送到微控制器處理,同時(shí)微控制器還采集開(kāi)關(guān)信號(hào)。微控制器對(duì)采集的信號(hào)處理后,通過(guò)GPIB總線(xiàn)送至上位機(jī),實(shí)現(xiàn)上位機(jī)對(duì)電源狀態(tài)的實(shí)時(shí)監(jiān)控;同時(shí),上位機(jī)可以通過(guò)GPIB總線(xiàn)發(fā)送控制命令到微控制器,實(shí)現(xiàn)上位機(jī)對(duì)多路程控電源的程控。

3.1 TNT4882與微控制器接口及編程

TNT4882的D0~D7與89C51的P0口直接相連,ADDR0~ADDR5與微控制器的地址A0~A5相連,CS作TNT4882的片選信號(hào),與在線(xiàn)可編程邏輯器件相接。WR、RD與微控制器的讀、與直接相連,對(duì)讀、寫(xiě)寄存器進(jìn)行讀、寫(xiě)操作。由于TNT4882的中斷為高電平,與AT89C51的中斷申請(qǐng)極性相反,故需要通過(guò)反向后,才可與微控制器的中斷INT連接。

在本多路程控電源系統(tǒng)中,有兩個(gè)晶振:一個(gè)用于產(chǎn)生微控制器工作時(shí)鐘,一個(gè)用于產(chǎn)生TNT4882的工作時(shí)鐘。圖4是TNT4882與微控制器的接口原理圖。

用MCS51匯編語(yǔ)言編寫(xiě)的GPIB收、發(fā)數(shù)據(jù)子程序見(jiàn)網(wǎng)絡(luò)補(bǔ)充版。

3.2 上位機(jī)編程

采用面向儀器與測(cè)控過(guò)程的交互式C/C++開(kāi)發(fā)平臺(tái)――LabWindows/CVI(C for Virtual Instrumentation)語(yǔ)言。它是一種將C語(yǔ)言平臺(tái)與測(cè)控專(zhuān)業(yè)工具庫(kù)有機(jī)結(jié)合起來(lái)的開(kāi)發(fā)平臺(tái)。它不僅具有集成開(kāi)發(fā)平臺(tái)、交互式編程方法、功能面板和庫(kù)函數(shù),而且還有簡(jiǎn)單明了的友好圖形設(shè)計(jì)界面、完善的開(kāi)發(fā)系統(tǒng)兼容性以及靈活的程序調(diào)試手段,為熟悉C/C++語(yǔ)言的開(kāi)發(fā)人員建立數(shù)據(jù)采集系統(tǒng)、測(cè)量系統(tǒng)、檢測(cè)和過(guò)程監(jiān)控系統(tǒng)提供了極大的便利。圖5是上位機(jī)控制程序流程圖。

多路程控電源與上位機(jī)通信的一個(gè)應(yīng)用程序見(jiàn)網(wǎng)絡(luò)補(bǔ)充版。

結(jié)語(yǔ)

新一代具備GPIB接口總線(xiàn)的多路程控電源,符合IEEE-488.2數(shù)據(jù)接口標(biāo)準(zhǔn)。只要用標(biāo)準(zhǔn)的GPIB接口電纜與系統(tǒng)連接,就可以靈活地應(yīng)用到任何系統(tǒng)中去,不受型號(hào)等因素的限制,并且具有很好的可擴(kuò)展性,顯示了它特有的優(yōu)越性。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉