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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MCU+FPGA的航空總線接口板測試平臺設計

          基于MCU+FPGA的航空總線接口板測試平臺設計

          作者:鄧小松 黃虎 時間:2011-09-27 來源:電子產品世界 收藏

            引言

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

            本文的項目背景是為了測試在航空領域總線和高速異步總線的通信狀況。(控制器局域網)總線是由ISO(國際標準化組織)定義的有效支持分布式控制和實時控制的多組串行通信總線,由于其在通信能力、實時性、靈活性、易用性、傳輸距離遠、可靠性等方面有著明顯的優(yōu)勢,日益受到人們的重視,在航空等領域已得到廣泛應用,成為目前比較流行的現(xiàn)場總線之一。RS485標準的全稱為TIA/EIA-485串行通訊標準,為彌補RS-232通信距離短、速率低等缺點而產生的,其數據采用平衡發(fā)送和差分接收,具有抑制共模干擾的能力,抗噪聲干擾性好。RS485具有多站能力(在總線上允許連接多達128個收發(fā)器),是一種相對經濟、具有相當高噪聲抑制、相對高的傳輸速率、傳輸距離遠的半雙工異步總線。LVDS(低壓差分信號傳輸)具有小擺幅差分特性使其成為一種高速低噪聲、高噪聲抑制能力、較低的電磁干擾、低功率技術,保證了可靠的信號傳輸,能滿足當今高性能數據傳輸應用的新型技術。此技術基于ANSI/TIA/EIA-644LVDS接口標準。

            功能介紹

            本測試平臺采用+為基本運行平臺,通過總線、高速異步總線進行數字信號的傳輸,主要用作對接口板功能的完整性、正確性進行測試分析。通過RS232接口連接到上位機實現(xiàn)數據的實時發(fā)送和接收,以及對CAN總線和高速異步總線的波特率等參數實施動態(tài)控制。

            硬件電路設計

            本測試平臺對CAN數據傳送采用了雙冗余備份總線,支持8路高速異步總線同時傳送數據,其中4路為RS485電平,4路為LVDS電平。主要由(微控制器)控制模塊、(現(xiàn)場可編程邏輯陣列)模塊、CAN總線控制模塊、RS485接口模塊、LVDS接口模塊、RS232模塊以及電源模塊組成。主要硬件電路設計框圖如圖1。

            

           

            Atmel公司的器件選用Atmel公司的ATmega128-16AI,時鐘頻率11.0592MHz。ATmega128為基于AVR RISC結構的8位低功耗CMOS微處理器。由于其先進的指令集以及單周期指令執(zhí)行時間,ATmega128 的數據吞吐率高達1MIPS/MHz,從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。MCU是整個總線控制器的核心,主要實現(xiàn)CAN總線信號的處理、與上位機通信以及對和上位機通信進行中轉。FPGA選用Xilinx公司XC3SD3400A-4CS484,時鐘頻率50MHz,主要實現(xiàn)高速異步總線的處理、接收MCU的控制指令與MCU進行數據交互。

            



          關鍵詞: CAN FPGA MCU 201109

          評論


          相關推薦

          技術專區(qū)

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