關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > CPLD 實現 GPIB 控制器的設計

        CPLD 實現 GPIB 控制器的設計

        作者: 時間:2009-03-10 來源:網絡 收藏

        摘要: 芯片是組建自動測試系統的核心,在測試領域應用廣泛。本文擬討論用
        ALTERA 公司的低成本 的功能。 芯片的硬件主 要分為狀態機的、數據通道和微處理接口的。本文重點介紹了各個模塊的原理。
        關鍵詞:GPIB,,三線掛鉤,三態總線,VHDL。

        本文引用地址:http://www.104case.com/article/163916.htm

        1. 引言:

        1.1 用 實現 GPIB 控制芯片的意義

        綜觀現今市場上的測試儀器,不難發現 GPIB 總線有重要的作用,在研制臺式測試儀器 的時候,客戶幾乎均要求具備 GPIB 接口。可是在實際研發過程中,卻發現 GPIB 控制芯片很難購買,而且價格昂貴。而且作為測試儀器具備 GPIB 的接口,一般只需要具有聽、講、串查功能,而不需要控、并查功能,這樣又會造成資源與功能的浪費。所以我們嘗試用 CPLD來實現 GPIB 接口的聽、講、串查功能,不僅可擁有自主知識產權,節省了產品的成本,而 且具有很大的靈活性。

        1.2 GPIB 控制芯片簡介:

        GPIB 也叫 HPIB,是一個數字化的 24 腳并行總線,由 16 條信號線和 8 條地線組成。這16 條信號線分為 8 條數據線、5 條控制線和 3 條握手線。8 條數據線:從 DIO1 到 DIO8,用 來傳送命令、地址和數據;5 條控制線:分別為 ATN 線、IFC 線、REN 線、SRQ 線和 EOI 線,用來管理通過接口的有序信息流;3 條握手線:DAV 線、NRFD 線和 NDAC 線,用于控制設備之間消息字節的傳送。發送消息方(源方)和接收消息方(受方)利用這 3 條握手線進行三線掛鉤,以保證數據線上的消息(命令或數據)能準確無誤地傳送。

        在 GPIB 系統中,把器件與 GPIB 總線的一種交互作用定義成一種接口功能。GPIB 標準 接口共定義了 10 種接口功能。

        1.3 軟件及設計芯片的選擇

        開發工具采用 ALTERA 公司的 MAXplusⅡ10.0。MAXplusⅡ開發工具是美國 Altera 公司 自行設計的一種 EDA 軟件工具,它具有原理圖輸入和文本輸入(采用硬件描述語言)兩種輸入手段,配備有編輯、編譯、仿真、綜合、芯片編程等功能。

        Altera 公司是世界上從事可編程邏輯芯片生產的幾家主要廠商之一,其 MAX3000A 系列 可編程邏輯芯片速度快,容量大,性價比高。我們選用的 EPM3256ATC144-10,擁有 256個宏單元,144 個管腳,可自定義使用的管腳達 116 個,4.5ns 的傳輸延時完全能滿足要求。

        2. GPIB 控制器各個模塊的設計 我們可以把整個系統劃分為幾個子系統。其中包括和微處理器接口的讀寫電路,與 GPIB母線通信的接口功能,以及內部寄存器。對每個子系統的設計也可以采用向下分解為模塊級


        設計,這樣在調試和組件系統時,不僅具有很強的靈活性,而且方便代碼的調試以及利于代 碼的重利用。與微處理器接口的讀寫電路設計可以利用組合邏輯電路設計方法實現,其基本 模塊,如:譯碼電路,讀寫電路,相對比較成熟,在設計的時候只要對其基本功能深刻理解的基礎上容易實現。與 GPIB 母線通信的子系統設計是本課題設計的重點也是難點,它不僅 需要對 IEEE488 協議有深刻的認識,而且在接口功能子集的選擇上也有一定的要求。

        2.1 微處理器(MCU)接口電路 微處理器(MCU)接口包括提供正確的寄存器訪問地址的譯碼電路,以及連同 WE 和DBIN 一起構成的訪問 GPIB 控制器的讀寫電路,NCS 用來選通地址譯碼。地址譯碼電路以 及數據讀寫電路在數字電路設計中是最為成熟的電路,在此不作更多深入的闡述。值得注意

        的是 GPIB 控制器的讀寫信號并不是通常意義上的 RD 和 WR 信號,而是由 DBIN 和 WE 信 號完成。而且,對 13 個寄存器的譯碼也用的僅僅是 RS[0:2],這就需要和 DBIN 信號的配合來完成譯碼功能。

        2.2 內部寄存器

        GPIB 控制器(參考 NAT9914)的內部體系結構有 13 個寄存器,其中 7 個可寫寄存器,6 個只讀寄存器。它們都是八位的,其中可讀寄存器有中斷狀態寄存器 0(ISR0)、中斷狀態 寄存器 1(ISR1)、地址狀態寄存器(ASR)、總線狀態寄存器(BSR)、命令通過寄存器(CPR)、 數據輸入寄存器(DIR);可寫寄存器有中斷屏蔽寄存器 0(IMR0)、中斷屏蔽寄存器 1(IMR1)、地址寄存器(ADR)、輔助命令寄存器(AUXCR)、串行查詢寄存器(SPR)、并行查找寄存器(PPR)、數據輸出寄存器(CDOR)。在 GPIB 控制芯片的設計中對這十三個寄存器進行 詳細的描述。本模塊的設計采用圖形方式,利用參數化模塊庫實現各個寄存器。

        2.3 接口功能

        GPIB 標準接口共定義了 10 種接口功能。每一個接口功能由一組或多組相互聯系而又相 互排斥的狀態來定義。在一個時刻,一組互聯又互斥的狀態中必須有一個而且也僅又一個狀態在起作用。在 IEEE488 協議中對接口功能的每一個狀態還做了兩方面的規定:

        1.當某個狀態在起作用時,在接口上可以或必須發送的消息;

        2.在什么條件下接口功能必須脫離某一狀態而進入同一組狀態的另一個狀態; 這些因素決定了狀態的處理能力。接口功能狀態圖給出了全部狀態以及從一個狀態變遷到另一個狀態一切可能的途徑。由于篇幅的限制,下面以受方掛鉤接口功能 AH 功能為例, 來介紹功能模塊的實現過程及原理。受方掛鉤功能賦予器件保證正確地接收遠地多線消息地能力。一個源方掛鉤功能與一個或多個受方掛鉤功能(分別含于各個器件中)的鏈鎖掛鉤序

        列保證每個消息拜特的異步傳遞。受方掛鉤功能可以延遲多線消息傳遞的開始或結束,直到 器件準備好繼續參與傳遞過程為止。狀態圖如圖 1:


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 思茅市| 孟津县| 古田县| 屯昌县| 安康市| 高青县| 定远县| 城固县| 泗洪县| 青神县| 沾益县| 互助| 铁力市| 高台县| 辽阳县| 景洪市| 长岭县| 秦安县| 蒲城县| 普宁市| 珠海市| 长兴县| 班玛县| 铜川市| 兴国县| 馆陶县| 项城市| 文安县| 大足县| 五莲县| 清水县| 长宁区| 汉源县| 陵川县| 邵东县| 富顺县| 博湖县| 湟中县| 九台市| 方山县| 遂川县|