新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 程控儀器GPIB接口與USB打印機(jī)轉(zhuǎn)換電路的實(shí)現(xiàn)

程控儀器GPIB接口與USB打印機(jī)轉(zhuǎn)換電路的實(shí)現(xiàn)

作者:余立立 上海海事大學(xué)(上海 200135) 林永標(biāo) 顧榮妹 趙再鈞 中國電子科技集團(tuán)公司第五十一研究所(上海 201802) 時(shí)間:2008-04-08 來源:電子產(chǎn)品世界 收藏

  引言

本文引用地址:http://m.butianyuan.cn/article/81332.htm

  在進(jìn)行實(shí)時(shí)控制、數(shù)據(jù)采集及自動(dòng)測試等科研過程中,大量使用著各種智能程控儀器,這些儀器通常都配有,在實(shí)際使用中,往往要打印輸出測量所得到的數(shù)據(jù)結(jié)果,特別是波形常用的方法有三種:一是采用專用的的打印機(jī)或繪圖儀,但價(jià)格較貴,此時(shí)雖有大量的性能優(yōu)異的通用USB或并行CENTRONICS接口的打印機(jī)(包括噴墨及激光打印機(jī))閑置,但卻由于接口不同而無法使用,實(shí)屬可惜;二是采用帶有GPIB卡的計(jì)算機(jī)通過GPIB電纜與儀器相連,在PC機(jī)上通過自動(dòng)測試軟件(如Labview軟件)的支持,將所測得的數(shù)據(jù)圖形通過PC機(jī)輸出至通用USB或并行CENTRONICS接口的打印機(jī)上,但用這種方法需用一臺(tái)帶有GPIB卡的計(jì)算機(jī)且有相應(yīng)的自動(dòng)測試軟件的支撐,故也不甚方便;三是采用自行開發(fā)的GPIB-CENTRONICS轉(zhuǎn)換裝置,但該轉(zhuǎn)換裝置只能用于與通用并行CENTRONICS接口打印機(jī)的轉(zhuǎn)換,而隨著USB打印機(jī)技術(shù)的逐漸普及,并行CENTRONICS接口打印機(jī)越來越不好買到,而且有些用戶的打印機(jī)只是USB接口而非并行口,因此這種GPIB-CENTRONICS轉(zhuǎn)換裝置的局限性愈加明顯。有鑒于此,為了實(shí)現(xiàn)能將具有GPIB接口的程控儀器直接和USB打印機(jī)相連進(jìn)行打印,決定設(shè)計(jì)開發(fā)一款GPIB-USB打印機(jī)的轉(zhuǎn)換裝置,負(fù)責(zé)GPIB接口的程控儀器和USB打印機(jī)的連接。如圖1所示,該轉(zhuǎn)換裝置介于兩種接口之間,一方面與GPIB接口互連通訊接收智能儀器數(shù)據(jù)信息;另一方面與USB接口互連通訊,向打印機(jī)傳送數(shù)據(jù)信息?;谏鲜鏊枷?,并通過試驗(yàn),證明該方案是行之有效的。

  GPIB接口與USB接口芯片CH375

  GPIB接口特點(diǎn)

  GPIB總線接口包括有8根數(shù)據(jù)線,3根聯(lián)絡(luò)線和5根管理線。數(shù)據(jù)線用來傳送命令和數(shù)據(jù),通常采用ISO碼對(duì)它們進(jìn)行編碼,并且采用8位并行,字節(jié)串行方式進(jìn)行傳送。聯(lián)絡(luò)線用來傳送聯(lián)絡(luò)消息,采用三線握手聯(lián)絡(luò)方式。管理線用來傳送管理消息,管理GPIB接口的工作。在本設(shè)計(jì)中,用到的是三根聯(lián)絡(luò)線DAV,NRFD,NDAC和兩根管理線ATN,EOI。在GPIB總線上傳送的消息一律采用TTL電平并用負(fù)邏輯表示其邏輯關(guān)系。當(dāng)某一消息為邏輯1時(shí),說明它處在TTL低電平(≤+0.8V),同時(shí)也表示它有效、被激勵(lì)或?yàn)檎?。若為邏?,則說明它處在TTL高電平(≥+2.0V),同時(shí)也表示它無效、未激勵(lì)或?yàn)榧佟?/p>

  

  CH375 是一個(gè)USB總線的通用接口芯片,支持Host主機(jī)方式和Slave設(shè)備方式。內(nèi)部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動(dòng)并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到/DSP/MCU 等控制器的系統(tǒng)總線上。CH375 的USB 主機(jī)方式支持各種常用的USB 全速設(shè)備,外部/DSP/MCU可以通過CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通信。 
                                                                        
  如圖2所示,通過被動(dòng)并行接口芯片可以很方便地掛接到各種8 位、DSP和MCU 的系統(tǒng)總線上,并且可以與多個(gè)外圍器件共存。并口信號(hào)線包括:8位雙向數(shù)據(jù)總線D7~D0、讀選通輸入、寫選通輸入、片選輸入、中斷輸出以及地址輸入線A0。CH375芯片的和可以分別連接到單片機(jī)的讀選通輸出引腳和寫選通輸出引腳??梢赃B接到單片機(jī)的中斷輸入引腳,中斷請(qǐng)求是低電平有效。當(dāng)和以及A0都為低電平時(shí),CH375中的數(shù)據(jù)通過D7~D0 輸出;當(dāng)和以及A0都為低電平時(shí),D7~D0上的數(shù)據(jù)被寫入CH375芯片中;當(dāng)和都為低電平而A1為高電平時(shí),D7~D0上的數(shù)據(jù)被作為命令碼寫入CH375 芯片中。

  對(duì)GPIB接口與USB接口功能大致了解之后,即可設(shè)計(jì)能互連兩種接口并實(shí)現(xiàn)功能轉(zhuǎn)換的接口裝置。

  硬件電路設(shè)計(jì)

  程控儀器GPIB接口與通用USB接口轉(zhuǎn)換電路硬件組成如圖3和圖4所示:

  圖3為單片機(jī)通過CH375控制USB打印機(jī)的硬件電路。圖中CH375芯片通過被動(dòng)并行接口芯片掛接到8位單片機(jī)W77E58的系統(tǒng)總線上,CH375的TXD引腳接地,從而使CH375工作于并口方式。CH375芯片的8位雙向數(shù)據(jù)總線D7~D0直接與單片機(jī)的P0數(shù)據(jù)口相連,和分別連接到單片機(jī)的讀選通輸出引腳和寫選通輸出引腳。片選信號(hào)連接到單片機(jī)的P28引腳,該引腳為低電平時(shí)選通CH375芯片??梢赃B接到單片機(jī)的中斷輸入引腳,中斷請(qǐng)求是低電平有效。地址輸入線A0連接至單片機(jī)的P20引腳,當(dāng)A0引腳為高電平時(shí)選擇命令端口,可以寫入命令;當(dāng)A0引腳為低電平時(shí)選擇數(shù)據(jù)端口,可以讀寫數(shù)據(jù)。通過以上安排,該接口電路具備了與通用USB接口打印機(jī)的互連通訊。

  圖4為單片機(jī)與程控儀器GPIB接口的硬件接口電路。由于GPIB接口信號(hào)采用負(fù)邏輯,其功能實(shí)現(xiàn)不同于其它接口,故使用74LS240三態(tài)反相門, 經(jīng)W77E58的P0口實(shí)現(xiàn)與GPIB接口的八根數(shù)據(jù)線互連通訊,并由P20同單片機(jī)的讀選通輸出引腳相或后產(chǎn)生對(duì)該三態(tài)門的選通信號(hào)。GPIB接口的聯(lián)絡(luò)線與管理線由W77E58單片機(jī)的P3端口部分引線實(shí)現(xiàn),其中P33用于EOI數(shù)據(jù)傳送結(jié)束識(shí)別管理線;P31用于DAV數(shù)據(jù)有效的通訊聯(lián)絡(luò)線;P34用于NRFD未準(zhǔn)備好接收數(shù)據(jù)的通訊聯(lián)絡(luò)線;P30用于NDAC未接收數(shù)據(jù)的通訊聯(lián)絡(luò)線;P35用于ATN注意的接口管理線。作了以上安排,由該接口電路就可實(shí)現(xiàn)GPIB接口功能,并與智能程控儀器互連通訊。

  圖4中另一個(gè)74LS244三態(tài)門用于讀取該接口轉(zhuǎn)換裝置的狀態(tài)信息, 由P21同單片機(jī)的讀選通輸出引腳相或后產(chǎn)生對(duì)該三態(tài)門的選通信號(hào)。該狀態(tài)信息由八位微型開關(guān)設(shè)置,其中addr4~addr0五位用于設(shè)置該接口轉(zhuǎn)換電路的地址;另一位LA為1時(shí)用于使該接口轉(zhuǎn)換電路總是處于聽者狀態(tài),即無論其addr4~addr0的地址如何設(shè)定總是無條件接收GPIB總線上的數(shù)據(jù),即此時(shí)地址設(shè)定無效,若LA為0,則取決于程控儀器的尋址及addr4~addr0五位設(shè)定的地址;還有兩位用來設(shè)置打印機(jī)的分辨率。在圖3中,由W77E58的P0口接收GPIB總線上的數(shù)據(jù)信息以及接口電路的狀態(tài)信息。

  接口功能的軟件設(shè)計(jì)

  軟件設(shè)計(jì)的流程如圖5所示。

  其中初始化子程序流程如圖6所示。

  初始化過程分兩部分:單片機(jī)初始化和打印機(jī)的枚舉初始化。單片機(jī)的初始化過程就是直接向相應(yīng)的I/O口寫初始化值及設(shè)置看門狗,可調(diào)用函數(shù)watchdog_init()實(shí)現(xiàn)設(shè)置看門狗。打印機(jī)的枚舉初始化過程很重要,要實(shí)現(xiàn)打印采集到的并口數(shù)據(jù),首先必須成功地枚舉初始化打印機(jī)。初始化USB打印機(jī)函數(shù)init_print()主要用到以下幾個(gè)主要函數(shù):

  ◇ get_descr(1),獲取設(shè)備描述符。

  ◇ rd_usb_data(buffer),從CH375中讀取數(shù)據(jù)到單片機(jī)中。

  ◇ set_addr(3),設(shè)置打印機(jī)的USB地址。

  ◇ get_full_descr(buffer),獲取配置描述符。

  ◇ set_config(unsigned char cfg),加載USB配置值。

  此外,在進(jìn)行軟件設(shè)計(jì)的過程中有以下注意事項(xiàng):

  ·儀器是否發(fā)送信息是通過查詢GPIB接口的DAV線來實(shí)現(xiàn),當(dāng)DAV線為低電平時(shí)表明儀器要發(fā)送信息了,而為高電平時(shí)表明儀器尚未準(zhǔn)備發(fā)送信息;

  ·判儀器發(fā)送的信息為命令還是數(shù)據(jù)是通過查詢GPIB接口的ATN線來實(shí)現(xiàn), 當(dāng)ATN線為低電平時(shí)表明儀器發(fā)送的是命令, 而為高電平時(shí)表明儀器發(fā)送的是數(shù)據(jù);

  ·在處于無條件接收狀態(tài)時(shí),對(duì)儀器發(fā)送的命令不予理會(huì),即進(jìn)行GPIB接口三線掛鉤(NDAC,DAV,NRFD)的空循環(huán),而當(dāng)儀器發(fā)送來數(shù)據(jù)時(shí),則進(jìn)行完整的接收;

  ·在處于尋址的接收狀態(tài)時(shí),則需判斷儀器發(fā)出的尋址命令是否尋址本接口裝置通過五位微型開關(guān)設(shè)定的地址,若不是,則亦進(jìn)行GPIB接口三線掛鉤(NDAC,DAV,NRFD)的空循環(huán), 若是, 則對(duì)儀器發(fā)送來數(shù)據(jù)進(jìn)行完整的接收;

  ·判儀器是否將數(shù)據(jù)發(fā)送完畢是通過查詢GPIB接口的EOI線來實(shí)現(xiàn),當(dāng)EOI線為低電平時(shí),表明儀器將數(shù)據(jù)發(fā)送完畢,而為高電平時(shí)表明儀器尚未將數(shù)據(jù)發(fā)送完畢;

  結(jié)語

  在實(shí)際調(diào)試中,筆者將在HP邏輯分析儀(HP 1630G)、HP頻譜分析儀(HP 8563E)以及HP矢量網(wǎng)絡(luò)分析儀(HP 8720B)上測得的波形, 通過該接口轉(zhuǎn)換電路后在HP Laser 1200等USB接口打印機(jī)上的輸出,得以通過且打印質(zhì)量優(yōu)于專用GPIB接口打印機(jī)(HP Thinkjet  系列)。

  在該接口轉(zhuǎn)換電路的設(shè)計(jì)中,均采用了常用的芯片,電路板制作簡單、小巧,該電路主要是使用了W77E58單片機(jī),由軟件程序模擬接口功能, 它的實(shí)際使用解決了智能程控儀器GPIB接口與通用USB接口打印機(jī)的互連通訊,由通用USB接口打印機(jī)即可輸出在GPIB接口的程控儀器上所測得的數(shù)據(jù)結(jié)果,從而為GPIB接口的智能程控儀器的打印輸出又增添一條行之有效的方法。

汽車防盜機(jī)相關(guān)文章:汽車防盜機(jī)原理
頻譜分析儀相關(guān)文章:頻譜分析儀原理


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉