使用IEEE-488總線實現數據采集系統與PC機的通信
單片機數據采集系統,由于具有體積小、實時性好、編程靈活等優點,在儀器儀表、自動測試及工業控制等領域中得到越來越廣泛的應用。同時單個單片機系統接口的標準化設計也顯得越來越重要,為了能夠充分利用微機的軟、硬件資源,帶有與微機通信接口的單片機系統已經成為一種發展趨勢。IEEE-488總線是國際公認的通用標準接口總線,當儀器配備了IEEE-488標準總線后,就可像搭積木一樣任意組成所要求的測試系統。本文介紹了使用IEEE-488總線實現8031單片機數據采集系統與PC機通信的硬件構成原理及軟件設計。
1IEEE-488總線簡介
儀器設備接口的標準化,最早是由美國惠普(HP)公司倡導實施的,叫做HP-IB,由于其良好的接口性能,很快得到廣泛應用,被美國電氣與電子工程師學會命名為IEEE-488,并得到國際電工委員會的認可,同時頒布了相應的標準IEC625。在英國、日本、俄羅斯則稱為GP-IB,我國已制定了相應的國家標準(GB249.1-249.2),雖然有多種叫法,但實質上除了機械標準方面歐美有所不同外,其余完全相同。使用該總線可以把世界上不同國家、不同廠家生產的儀器設備有效地連接起來。這樣組成的系統方便靈活,功能強,適應性好,不僅大大降低了組建系統的成本,提高了效率,而且使每臺儀器的功能和作用獲得充分發揮,極大地提高了它們的使用價值。
IEEE-488總線是并行無源雙向傳輸總線。其中有8根數據總線,3根掛鉤總線和5根管理總線。
數據總線:DIO0~DIO7,它們是可以輸入也可以輸出的雙向總線,用于發布地址、指令等多線消息,傳遞數據。
管理總線:ATN(ATTENTION,注意)線;IFC(INTERFACE CLEAR,接口清除)線;REN(REMOTE ENABLE,遠控使能)線;SRQ(SERVICE REQUEST,服務請求)線;EOI(END OR IDENTIFY,結束或識別)線。
掛鉤總線:DAV(DATA VALID,數據有效)線;NRFD(NOT READY FOR DATA,未準備好接收數據)線;NDAC(NOT DATA ACCEPTED,未接收到數據)線。
利用這三條線進行掛鉤控制消息和數據的傳遞,確保信息傳送的準確無誤。
IEEE-488總線最多可同時掛接15臺設備,不同的設備需分配不同的地址;要求傳輸電纜總長小于20 m,最高數據傳輸速率可達1 MB/s。當系統工作時,總線上的不同設備承擔不同的任務,從邏輯功能上分為:控者、講者、聽者。
控者:可以設定掛接在總線上的設備的地址,設定講者、聽者,向它們發送命令,PC機則是典型的控者。
講者:向系統中其他設備發送測量數據、狀態數據等器件消息;一個系統中允許有多個講者,但同一時刻只能有一個。
聽者:可以接收數據的設備。
聽者、講者都要由控者來任命。一臺設備可以同時具備上述三種功能中的一種、兩種或三種。比如:當控者PC機任命信號源為聽者,則可發送程控數據,規定它輸出的信號的波形、頻率、幅值;當PC機任命自己為聽者,任命萬用表為講者,PC機就可以接收萬用表的狀態數據和測量數據。
2硬件構成原理
該通信系統硬件采用模塊化結構,其原理如圖1所示。它主要由8031單片機數據采集系統,單片機IEEE-488總線接口,MS-2105A型 IEEE-488總線接口板(直接插入PC機總線擴展槽中)及PC機組成。
圖1系統結構框圖
其中單片機系統的IEEE-488總線接口是用標準接口專用集成電路,即由Intel公司的8291總線收發器,8293總線驅動器構成,如圖2所示。其中8291內部有16個寄存器(8個讀寄存器和8個寫寄存器)。它們由微處理器通過CS、RD、WR和RS0~RS2引腳尋址。
圖28031與IEEE-488總線的接口電路
D0~D7:數據總線與8031數據總線P0口相連;RS0~RS2:選擇寄存器進行讀寫操作。CS為片選端,低電平有效,連接至P2.5,地址從DFF0H到DFF7H。RD,WR分別控制對讀、寫寄存器進行操作。INT連接到8031的INT1,為高電平時表示有中斷請求,因與8031的中斷極性相反,所以需在程序中顛倒極性。
評論