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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于FPGA的VXI總線寄存器基模塊接口電路設計(06-100)

          基于FPGA的VXI總線寄存器基模塊接口電路設計(06-100)

          —— 基于FPGA的VXI總線寄存器基模塊接口電路設計
          作者:錢均生 魏震生 崔海波時間:2008-04-10來源:電子產品世界收藏

            引言

          本文引用地址:http://www.ex-cimer.com/article/81437.htm

            總線技術經過十幾年的發展,以其開放的系統環境,模塊化的設計,緊湊的機械結構,良好的電磁兼容性及可靠性,小型便攜和靈活的通信能力等一系列優點滿足了工業領域對測試與測量的需求。如今,總線作為新一代的測試與測量總線已經毋庸置疑,而研制基于總線的測試與測量儀器也成為當務之急,近幾年各種類型的VXI總線器件相繼推出,VXI總線器件主要分為:寄存器基模塊、消息基模塊、存儲器基模塊和擴展器器件四種。目前寄存器基器件在應用中所占比例最大(約占70%),其實現方法在遵守VME協議規范的前提下各有不同。VXI寄存器基模塊在VXI總線系統中僅能作為從模塊(聽者)工作,總線模塊的電路結構基本上可分為兩部分:總線接口電路和功能電路。對于VXI總線模塊開發者來說,接口部分為研究重點,功能電路根據具體工程要求設計,其中許多電路是成熟的,可以直接移植過來??偩€接口電路的設計也可以根據兩種方式來實現,一種是直接利用專用接口芯片節省開發時間。目前,美國有兩家公司生產專用接口芯片,CYPRESS公司的IT9010系列和Interface Technology公司的VIC068系列,但由于這些芯片的價格較高且其實現原理難于理解,很少采用;另一種是利用中、小規模電路基PAL、GAL、CPLD和實現。筆者通過利用實現模塊與VXI總線接口的設計過程中,總結出一些通用的設計思路。

            功能設計

            以C尺寸,寄存器基A16/D16器件為例,說明該器件須實現的一般功能。

            ·集成VXI總線地址譯碼邏輯以及VXIbus/Local bus仲裁邏輯;

            ·產生VXI總線應答信號(DTACK*),根據數據選通信號(DS0*,DS1*)與讀寫信號(WRITE*)控制數據的傳輸方向;

            ·產生本地存儲器片選信號及I/O讀寫信號;

            ·具有中斷請求功能,可編程中斷向量,支持中斷響應菊花鏈;

            ·產生本地復位信號;

            ·支持A16器件相關寄存器,支持D16和D08(EO)從模式。

            以上功能除配置寄存器和器件相關寄存器外,其余都在1片芯片內實現。

            功能實現

            圖1是VXI總線寄存器基模塊接口框圖。其中,圖1中的方框圖部分(除功能電路)可由FPGA實現。從實現功能的角度考慮,FPGA實現VXIbus接口電路主要由初始化電路、模塊和寄存器譯碼電路、寄存器讀寫及數據傳輸應答、中斷申請及響應等四部分組成。


          上一頁 1 2 3 4 下一頁

          關鍵詞: FPGA VXI

          評論


          相關推薦

          技術專區

          關閉
          看屁屁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); })();