<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應用 > CPLD 實現(xiàn) GPIB 控制器的設(shè)計

          CPLD 實現(xiàn) GPIB 控制器的設(shè)計

          作者: 時間:2009-03-10 來源:網(wǎng)絡 收藏

          2.5 三態(tài) I/O 通道 需要注意的是芯片數(shù)據(jù)通道中八條數(shù)據(jù)線與控制數(shù)據(jù)流向的八條控制線都是雙向的,所以必須對 I/O 通道進行設(shè)置。雙向總線,就需要使用可編程邏輯器件的雙向口構(gòu)造雙向

          三態(tài)總線。三態(tài)總線的,需要使用三態(tài)緩沖器,高、低電平和高阻三個狀態(tài)。基于ALTERA 公司的 系列器件的特點,我們在的時候,內(nèi)部避免使用雙向的三態(tài)總線, 將雙向的信號分別直接引到外部。在外部雙向三態(tài)總線。中采用圖形方式輸入,利用參數(shù)化模塊庫(LPM)實現(xiàn)。這種方法尤為清晰簡便。如圖所示:

          圖 2 三態(tài)總線的實現(xiàn)

          在這里用 TE 信號來作為三態(tài)總線的方向控制信號。不考慮控功能,當本設(shè)備處于并行點 名狀態(tài),或者作為非命令數(shù)據(jù)的源接受方時,TE 信號為真,即 TE=PPAS+~SIDS。

          2.6 總線中的三線掛鉤技術(shù)的實現(xiàn) 三線掛鉤技術(shù)是本設(shè)計的關(guān)鍵,因為在總線傳輸中,所有的命令和數(shù)據(jù)的傳送都要通過三線掛鉤來實現(xiàn)。

          總線中的三線掛鉤技術(shù)(DAV、NRFD、NDAC)可以自動適應測試系統(tǒng)中各種不 同器件的傳輸速率。源方作為講者或者控者的器件,發(fā) DAV 消息。受方作為聽者的器件,發(fā)NRFD、NDAC 消息。三條握手線,DAV 線、NRFD 線和 NDAC 線,用于控制設(shè)備之間消息 字節(jié)的傳送。發(fā)送消息方(源方)和接收消息方(受方)利用這 3 條握手線進行三線掛鉤,以保證數(shù)據(jù)線上的消息(命令或數(shù)據(jù))能準確無誤地傳送。


          圖 4 本設(shè)計三線掛鉤仿真圖

          通過對系統(tǒng)的仿真,對比 NI 公司的 NAT9914 數(shù)據(jù)手冊上的三線掛鉤的時序圖可以看出,本設(shè)計成功地實現(xiàn)了三線掛鉤的要求。

          2.7 系統(tǒng)調(diào)試

          調(diào)試是軟硬件設(shè)計過程中必不可少的一環(huán)。最終程序通過 ByteBlaster 專用下載電纜下載EPM3256ATC144-10 芯片中,將下載好程序地 取代原來系統(tǒng)中的 NAT9914 進行在線 調(diào)試。通過反復的試驗,成功地實現(xiàn)了 替代 GPIB 的大部分功能。

          3. 結(jié) 論

          本文的創(chuàng)新點:采用低成本的 CPLD 器件替代了價格昂貴,且難以購買的 GPIB 控制芯片, 成功的實現(xiàn)了具有自主知識產(chǎn)權(quán)的 IP CORE,并且所有核心模塊完全采用 VHDL 語言實現(xiàn), 能夠在不同的開發(fā)環(huán)境上移植,可以根據(jù)不同的應用環(huán)境,對其進行進行剪裁和優(yōu)化,不僅大大節(jié)省了成本,而且具有很大的靈活性。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();