CPLD 實現 GPIB 控制器的設計
2.5 三態 I/O 通道 需要注意的是芯片數據通道中八條數據線與控制數據流向的八條控制線都是雙向的,所以必須對 I/O 通道進行設置。實現雙向總線,就需要使用可編程邏輯器件的雙向口構造雙向
三態總線。三態總線的實現,需要使用三態緩沖器,實現高、低電平和高阻三個狀態。基于ALTERA 公司的 CPLD 系列器件的特點,我們在設計的時候,內部避免使用雙向的三態總線, 將雙向的信號分別直接引到外部。在外部設計雙向三態總線。設計中采用圖形方式輸入,利用參數化模塊庫(LPM)實現。這種方法尤為清晰簡便。如圖所示:
圖 2 三態總線的實現
在這里用 TE 信號來作為三態總線的方向控制信號。不考慮控功能,當本設備處于并行點 名狀態,或者作為非命令數據的源接受方時,TE 信號為真,即 TE=PPAS+~SIDS。
2.6 GPIB 總線中的三線掛鉤技術的實現 三線掛鉤技術是本設計的關鍵,因為在總線傳輸中,所有的命令和數據的傳送都要通過三線掛鉤來實現。
GPIB 總線中的三線掛鉤技術(DAV、NRFD、NDAC)可以自動適應測試系統中各種不 同器件的傳輸速率。源方作為講者或者控者的器件,發 DAV 消息。受方作為聽者的器件,發NRFD、NDAC 消息。三條握手線,DAV 線、NRFD 線和 NDAC 線,用于控制設備之間消息 字節的傳送。發送消息方(源方)和接收消息方(受方)利用這 3 條握手線進行三線掛鉤,以保證數據線上的消息(命令或數據)能準確無誤地傳送。
圖 4 本設計三線掛鉤仿真圖
通過對系統的仿真,對比 NI 公司的 GPIB 控制器 NAT9914 數據手冊上的三線掛鉤的時序圖可以看出,本設計成功地實現了三線掛鉤的要求。
2.7 系統調試
調試是軟硬件設計過程中必不可少的一環。最終程序通過 ByteBlaster 專用下載電纜下載EPM3256ATC144-10 芯片中,將下載好程序地 CPLD 取代原來系統中的 NAT9914 進行在線 調試。通過反復的試驗,成功地實現了 CPLD 替代 GPIB 控制器的大部分功能。
3. 結 論
本文的創新點:采用低成本的 CPLD 器件替代了價格昂貴,且難以購買的 GPIB 控制芯片, 成功的實現了具有自主知識產權的 IP CORE,并且所有核心模塊完全采用 VHDL 語言實現, 能夠在不同的開發環境上移植,可以根據不同的應用環境,對其進行進行剪裁和優化,不僅大大節省了成本,而且具有很大的靈活性。
評論