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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > TMS320F2812與ARINC429數(shù)據(jù)總線之間的通信設計[圖]

          TMS320F2812與ARINC429數(shù)據(jù)總線之間的通信設計[圖]

          作者: 時間:2011-04-04 來源:網(wǎng)絡 收藏

          CPLD集成了系統(tǒng)地址選擇模塊,實現(xiàn)對外部器件的訪問。CPLD的邏輯功能決定了HS-3282的功能地址,通過地址譯碼產(chǎn)生HS-3282所需要的控制信號PL1、PL2、EN1和CWSTR所需要的控制信號。系統(tǒng)中譯碼模塊的邏輯如圖4所示。由片選使能和CPLD譯碼邏輯可得PL1、PL2、EN1和CWSTR的選通地址。

          5.JPG

          3 系統(tǒng)軟件設計
          此系統(tǒng)的軟件部分主要包括初始化模塊、數(shù)據(jù)的發(fā)送/接收子程序模塊。
          1)初始化模塊系統(tǒng)上電后,首先進行初始化,初始化模塊包括上電芯片復位和寫控制字到HS-3282控制字寄存器。該控制字主要有字長、接收速率、發(fā)送速率、源目的解碼和自測試設置。初始化流程圖如圖5(a)所示。

          6.JPG
          2)數(shù)據(jù)發(fā)送模塊數(shù)據(jù)發(fā)送是首先向FIFO寫入數(shù)據(jù),然后經(jīng)HS-3182驅(qū)動發(fā)送到總線。在向FIFO寫操作過程中,PL1先于PL2有效,多次的寫PL1將會使先前的數(shù)據(jù)被覆蓋,PL1有效時,低16位數(shù)據(jù)被發(fā)送到FIFO中。當PL2有效時,高16位數(shù)據(jù)被傳送到FIFO中。第1個數(shù)據(jù)字寫入后TX/R由高變低,然后通過置發(fā)送使能信號ENTX,HS-3282將數(shù)據(jù)字串行發(fā)送出去,并自動在相鄰兩個字之間插入4bit間隔。當FIFO為空時,TX/R由低變高,此時應當禁止發(fā)送使能信號ENTX,以便向FIFO重新寫入數(shù)據(jù)。當HS-3282處于發(fā)送狀態(tài)時,不能向FIFO寫入數(shù)據(jù)。發(fā)送模塊流程圖如圖5(b)所示。
          3)數(shù)據(jù)接收模塊 數(shù)據(jù)接收模塊被設計為中斷接收,由HS-3282的D/R1提供中斷信號。當D/R1為0時,進入中斷,并表明ARIN-C429總線上有數(shù)據(jù)到來,此時選通EN1地址,再置SEL為0,接收低16位數(shù)據(jù);接著置SEL為1,再選通EN1地址,接收高16位數(shù)據(jù)。接收模塊流程圖如圖5(c)所示。

          4 結(jié)束語
          針對總線的應用,提出了2與ARINC429總線通信的軟硬件設計和實現(xiàn)方案。該設計硬件電路簡單,數(shù)據(jù)通信程序可讀性好,編寫容易,數(shù)據(jù)傳輸準確可靠。在設計2數(shù)據(jù)總線讀寫的邏輯控制時,XRD和XWE信號必須參與邏輯控制,保證順利讀寫總線數(shù)據(jù)。經(jīng)驗證該系統(tǒng)能夠有效地完成2個16位并行數(shù)據(jù)到32位串行數(shù)據(jù)的轉(zhuǎn)換,實現(xiàn)了2 DSP與ARINC429總線之間的數(shù)據(jù)通信,且傳輸速率為100 kb,達到了系統(tǒng)的設計要求。該系統(tǒng)可廣泛借鑒并應用于ARINC429總線數(shù)據(jù)傳輸系統(tǒng)及ARINC429接口卡設計中。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: TMS320F281 ARINC429

          評論


          相關(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); })();