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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA與RS422的MⅢ總線轉換板的設計與實現(xiàn)

          基于FPGA與RS422的MⅢ總線轉換板的設計與實現(xiàn)

          作者: 時間:2012-08-20 來源:網(wǎng)絡 收藏

          (2)MIII總線收發(fā)

          MIII總線收發(fā)功能則獨立于Nios系統(tǒng)。它充分利用可靈活配置的特點,并用VerilogHDL語言實現(xiàn)MIII總線的實時性和可靠性要求較高的關鍵部分,然后模擬MIII總線的邏輯功能,最終實現(xiàn)MIII總線數(shù)據(jù)、地址的收發(fā)以及與Nios系統(tǒng)通過自定義的接口實現(xiàn)通訊。MIII總線的信號時序如圖4所示。

          該轉換板的讀寫時序可用VerilogHDL語言描述,然后采用有限狀態(tài)機實現(xiàn)上述操作,并用Quartus II進行時序仿真,其仿真波形如圖5所示。

          3.4 接口電平轉換電路

          由于可編程器件的輸入/輸出電平通常是3.3 V,而對接MIII總線設備是OC門輸入/輸出。OC門又稱集電極開路電路,其內(nèi)部電壓為+5 V。所以,的輸入/輸出需要進行兩次電壓轉換。

          其中,第一次電壓轉換是把FPGA輸入/輸出電平的3.3 V轉換為5 V電平。由于數(shù)據(jù)信號是讀寫雙向的,而地址和控制信號是單向的(由MIII總線發(fā)送到對接MIII總線設備),因此,其數(shù)據(jù)信號應當用74LS245芯片來進行轉換,而地址和控制線則應用74LS244芯片來轉換,其電路原理如圖6所示。

          74LS244芯片電路原理

          由于對接MIII總線設備內(nèi)部是OC門輸入/輸出,而且由于OC門電路的輸出管的集電極懸空,使用時需外接一個上拉電阻到電源。一般情況下,OC門會使用上拉電阻以輸出高電平,此外,為了加大輸出引腳的驅動能力,選擇上拉電阻阻值的原則是降低功耗及芯片的灌電流能力應當足夠大,從而確保足夠的驅動電流足夠小。其具體的電平轉換電路原理圖如圖7所示。

          電平轉換電路原理圖

          FPGA輸入/輸出的信號,經(jīng)過以上兩個步驟的電平轉換,就能符合MIII總線對接設備的輸入/輸出信號要求。至此,只需MIII總線轉換板輸入/輸出的地址、數(shù)據(jù)和控制信號按照MIII總線時序進行收發(fā),就可以實現(xiàn)MIII總線通信。

          4 結束語

          本文介紹了某型火控電子設備的專用數(shù)據(jù)通信總線(MIII總線)轉換板的設計方法,給出了MIII總線的總線通信功能。同時介紹了應用F-PGA實現(xiàn)MIII總線部分電路的實現(xiàn)方法。事實上,利用FPGA可簡化系統(tǒng)結構,縮短設計周期,提高系統(tǒng)的性能和可擴展性。目前,該轉換板經(jīng)過與某型火控電子設備聯(lián)調證明,其功能正常,工作穩(wěn)定,且已得到了用戶好評,收到了良好的社會和經(jīng)濟效益。


          上一頁 1 2 3 下一頁

          關鍵詞: FPGA 422 RS MⅢ總線

          評論


          相關推薦

          技術專區(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); })();