TMS320F2812與ARINC429數(shù)據(jù)總線之間的通信設計[圖]
CPLD集成了系統(tǒng)地址選擇模塊,實現(xiàn)對外部器件的訪問。CPLD的邏輯功能決定了HS-3282的功能地址,通過地址譯碼產(chǎn)生HS-3282所需要的控制信號PL1、PL2、EN1和CWSTR所需要的控制信號。系統(tǒng)中譯碼模塊的邏輯如圖4所示。由片選使能和CPLD譯碼邏輯可得PL1、PL2、EN1和CWSTR的選通地址。
3 系統(tǒng)軟件設計
此系統(tǒng)的軟件部分主要包括初始化模塊、數(shù)據(jù)的發(fā)送/接收子程序模塊。
1)初始化模塊系統(tǒng)上電后,首先進行初始化,初始化模塊包括上電芯片復位和寫控制字到HS-3282控制字寄存器。該控制字主要有字長、接收速率、發(fā)送速率、源目的解碼和自測試設置。初始化流程圖如圖5(a)所示。
2)ARINC429數(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)ARINC429數(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é)束語
針對ARINC429總線的應用,提出了TMS320F2812與ARINC429總線通信的軟硬件設計和實現(xiàn)方案。該設計硬件電路簡單,數(shù)據(jù)通信程序可讀性好,編寫容易,數(shù)據(jù)傳輸準確可靠。在設計TMS320F2812數(shù)據(jù)總線讀寫的邏輯控制時,XRD和XWE信號必須參與邏輯控制,保證順利讀寫總線數(shù)據(jù)。經(jīng)驗證該系統(tǒng)能夠有效地完成2個16位并行數(shù)據(jù)到32位串行數(shù)據(jù)的轉(zhuǎn)換,實現(xiàn)了TMS320F2812 DSP與ARINC429總線之間的數(shù)據(jù)通信,且傳輸速率為100 kb,達到了系統(tǒng)的設計要求。該系統(tǒng)可廣泛借鑒并應用于ARINC429總線數(shù)據(jù)傳輸系統(tǒng)及ARINC429接口卡設計中。
評論