程控儀器GPIB接口與USB打印機轉換電路的實現(xiàn)
引言
本文引用地址:http://m.butianyuan.cn/article/81332.htm 在進行實時控制、數(shù)據(jù)采集及自動測試等科研過程中,大量使用著各種智能程控儀器,這些儀器通常都配有GPIB接口,在實際使用中,往往要打印輸出測量所得到的數(shù)據(jù)結果,特別是波形常用的方法有三種:一是采用專用的GPIB接口的打印機或繪圖儀,但價格較貴,此時雖有大量的性能優(yōu)異的通用USB或并行CENTRONICS接口的打印機(包括噴墨及激光打印機)閑置,但卻由于接口不同而無法使用,實屬可惜;二是采用帶有GPIB卡的計算機通過GPIB電纜與儀器相連,在PC機上通過自動測試軟件(如Labview軟件)的支持,將所測得的數(shù)據(jù)圖形通過PC機輸出至通用USB或并行CENTRONICS接口的打印機上,但用這種方法需用一臺帶有GPIB卡的計算機且有相應的自動測試軟件的支撐,故也不甚方便;三是采用自行開發(fā)的GPIB-CENTRONICS轉換裝置,但該轉換裝置只能用于GPIB接口與通用并行CENTRONICS接口打印機的轉換,而隨著USB打印機技術的逐漸普及,并行CENTRONICS接口打印機越來越不好買到,而且有些用戶的打印機只是USB接口而非并行口,因此這種GPIB-CENTRONICS轉換裝置的局限性愈加明顯。有鑒于此,為了實現(xiàn)能將具有GPIB接口的程控儀器直接和USB打印機相連進行打印,決定設計開發(fā)一款GPIB-USB打印機的轉換裝置,負責GPIB接口的程控儀器和USB打印機的連接。如圖1所示,該轉換裝置介于兩種接口之間,一方面與GPIB接口互連通訊接收智能儀器數(shù)據(jù)信息;另一方面與USB接口互連通訊,向打印機傳送數(shù)據(jù)信息。基于上述思想,并通過試驗,證明該方案是行之有效的。
GPIB接口與USB接口芯片CH375
GPIB接口特點
GPIB總線接口包括有8根數(shù)據(jù)線,3根聯(lián)絡線和5根管理線。數(shù)據(jù)線用來傳送命令和數(shù)據(jù),通常采用ISO碼對它們進行編碼,并且采用8位并行,字節(jié)串行方式進行傳送。聯(lián)絡線用來傳送聯(lián)絡消息,采用三線握手聯(lián)絡方式。管理線用來傳送管理消息,管理GPIB接口的工作。在本設計中,用到的是三根聯(lián)絡線DAV,NRFD,NDAC和兩根管理線ATN,EOI。在GPIB總線上傳送的消息一律采用TTL電平并用負邏輯表示其邏輯關系。當某一消息為邏輯1時,說明它處在TTL低電平(≤+0.8V),同時也表示它有效、被激勵或為真。若為邏輯0,則說明它處在TTL高電平(≥+2.0V),同時也表示它無效、未激勵或為假。
CH375 是一個USB總線的通用接口芯片,支持Host主機方式和Slave設備方式。CH375芯片內部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動并行接口、異步串行接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU 等控制器的系統(tǒng)總線上。CH375 的USB 主機方式支持各種常用的USB 全速設備,外部單片機/DSP/MCU可以通過CH375按照相應的USB協(xié)議與USB設備通信。
如圖2所示,CH375芯片通過被動并行接口芯片可以很方便地掛接到各種8 位單片機、DSP和MCU 的系統(tǒng)總線上,并且可以與多個外圍器件共存。并口信號線包括:8位雙向數(shù)據(jù)總線D7~D0、讀選通輸入、寫選通輸入、片選輸入、中斷輸出以及地址輸入線A0。CH375芯片的和可以分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳??梢赃B接到單片機的中斷輸入引腳,中斷請求是低電平有效。當和以及A0都為低電平時,CH375中的數(shù)據(jù)通過D7~D0 輸出;當和以及A0都為低電平時,D7~D0上的數(shù)據(jù)被寫入CH375芯片中;當和都為低電平而A1為高電平時,D7~D0上的數(shù)據(jù)被作為命令碼寫入CH375 芯片中。
對GPIB接口與USB接口功能大致了解之后,即可設計能互連兩種接口并實現(xiàn)功能轉換的接口裝置。
硬件電路設計
程控儀器GPIB接口與通用USB接口轉換電路硬件組成如圖3和圖4所示:
圖3為單片機通過CH375控制USB打印機的硬件電路。圖中CH375芯片通過被動并行接口芯片掛接到8位單片機W77E58的系統(tǒng)總線上,CH375的TXD引腳接地,從而使CH375工作于并口方式。CH375芯片的8位雙向數(shù)據(jù)總線D7~D0直接與單片機的P0數(shù)據(jù)口相連,和分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。片選信號連接到單片機的P28引腳,該引腳為低電平時選通CH375芯片??梢赃B接到單片機的中斷輸入引腳,中斷請求是低電平有效。地址輸入線A0連接至單片機的P20引腳,當A0引腳為高電平時選擇命令端口,可以寫入命令;當A0引腳為低電平時選擇數(shù)據(jù)端口,可以讀寫數(shù)據(jù)。通過以上安排,該接口電路具備了與通用USB接口打印機的互連通訊。
圖4為單片機與程控儀器GPIB接口的硬件接口電路。由于GPIB接口信號采用負邏輯,其功能實現(xiàn)不同于其它接口,故使用74LS240三態(tài)反相門, 經W77E58的P0口實現(xiàn)與GPIB接口的八根數(shù)據(jù)線互連通訊,并由P20同單片機的讀選通輸出引腳相或后產生對該三態(tài)門的選通信號。GPIB接口的聯(lián)絡線與管理線由W77E58單片機的P3端口部分引線實現(xiàn),其中P33用于EOI數(shù)據(jù)傳送結束識別管理線;P31用于DAV數(shù)據(jù)有效的通訊聯(lián)絡線;P34用于NRFD未準備好接收數(shù)據(jù)的通訊聯(lián)絡線;P30用于NDAC未接收數(shù)據(jù)的通訊聯(lián)絡線;P35用于ATN注意的接口管理線。作了以上安排,由該接口電路就可實現(xiàn)GPIB接口功能,并與智能程控儀器互連通訊。
圖4中另一個74LS244三態(tài)門用于讀取該接口轉換裝置的狀態(tài)信息, 由P21同單片機的讀選通輸出引腳相或后產生對該三態(tài)門的選通信號。該狀態(tài)信息由八位微型開關設置,其中addr4~addr0五位用于設置該接口轉換電路的地址;另一位LA為1時用于使該接口轉換電路總是處于聽者狀態(tài),即無論其addr4~addr0的地址如何設定總是無條件接收GPIB總線上的數(shù)據(jù),即此時地址設定無效,若LA為0,則取決于程控儀器的尋址及addr4~addr0五位設定的地址;還有兩位用來設置打印機的分辨率。在圖3中,由W77E58的P0口接收GPIB總線上的數(shù)據(jù)信息以及接口電路的狀態(tài)信息。
接口功能的軟件設計
軟件設計的流程如圖5所示。
其中初始化子程序流程如圖6所示。
初始化過程分兩部分:單片機初始化和打印機的枚舉初始化。單片機的初始化過程就是直接向相應的I/O口寫初始化值及設置看門狗,可調用函數(shù)watchdog_init()實現(xiàn)設置看門狗。打印機的枚舉初始化過程很重要,要實現(xiàn)打印采集到的并口數(shù)據(jù),首先必須成功地枚舉初始化打印機。初始化USB打印機函數(shù)init_print()主要用到以下幾個主要函數(shù):
◇ get_descr(1),獲取設備描述符。
◇ rd_usb_data(buffer),從CH375中讀取數(shù)據(jù)到單片機中。
◇ set_addr(3),設置打印機的USB地址。
◇ get_full_descr(buffer),獲取配置描述符。
◇ set_config(unsigned char cfg),加載USB配置值。
此外,在進行軟件設計的過程中有以下注意事項:
·儀器是否發(fā)送信息是通過查詢GPIB接口的DAV線來實現(xiàn),當DAV線為低電平時表明儀器要發(fā)送信息了,而為高電平時表明儀器尚未準備發(fā)送信息;
·判儀器發(fā)送的信息為命令還是數(shù)據(jù)是通過查詢GPIB接口的ATN線來實現(xiàn), 當ATN線為低電平時表明儀器發(fā)送的是命令, 而為高電平時表明儀器發(fā)送的是數(shù)據(jù);
·在處于無條件接收狀態(tài)時,對儀器發(fā)送的命令不予理會,即進行GPIB接口三線掛鉤(NDAC,DAV,NRFD)的空循環(huán),而當儀器發(fā)送來數(shù)據(jù)時,則進行完整的接收;
·在處于尋址的接收狀態(tài)時,則需判斷儀器發(fā)出的尋址命令是否尋址本接口裝置通過五位微型開關設定的地址,若不是,則亦進行GPIB接口三線掛鉤(NDAC,DAV,NRFD)的空循環(huán), 若是, 則對儀器發(fā)送來數(shù)據(jù)進行完整的接收;
·判儀器是否將數(shù)據(jù)發(fā)送完畢是通過查詢GPIB接口的EOI線來實現(xiàn),當EOI線為低電平時,表明儀器將數(shù)據(jù)發(fā)送完畢,而為高電平時表明儀器尚未將數(shù)據(jù)發(fā)送完畢;
結語
在實際調試中,筆者將在HP邏輯分析儀(HP 1630G)、HP頻譜分析儀(HP 8563E)以及HP矢量網絡分析儀(HP 8720B)上測得的波形, 通過該接口轉換電路后在HP Laser 1200等USB接口打印機上的輸出,得以通過且打印質量優(yōu)于專用GPIB接口打印機(HP Thinkjet 系列)。
在該接口轉換電路的設計中,均采用了常用的芯片,電路板制作簡單、小巧,該電路主要是使用了W77E58單片機,由軟件程序模擬接口功能, 它的實際使用解決了智能程控儀器GPIB接口與通用USB接口打印機的互連通訊,由通用USB接口打印機即可輸出在GPIB接口的程控儀器上所測得的數(shù)據(jù)結果,從而為GPIB接口的智能程控儀器的打印輸出又增添一條行之有效的方法。
汽車防盜機相關文章:汽車防盜機原理 頻譜分析儀相關文章:頻譜分析儀原理
評論