基于LPC2210的ARINIC429總線測試裝置研究
ARINIC429總線是上個世紀80年代商務(wù)飛機所廣泛使用的一種航空總線。其信息內(nèi)容綜合了200多種航空參數(shù),主要是為了解決航空設(shè)備中點對點的數(shù)據(jù)交互。
本文引用地址:http://www.ex-cimer.com/article/201611/319042.htmARINIC429總線數(shù)據(jù)編碼方式可以劃分為二進制位數(shù)據(jù)編碼(BNR)和二到十進制8421編碼(BCD),使用32位的雙極性非遞歸“1”“0”組成,其中最高32位為奇偶校驗位,每一幀的尾部加上4位靜寂間隔位,碼速率分為100Kbps和12.5Kbps兩種。一般正常情況下接收端電平為+6V。+5V~+13V被認為是邏輯“高”;-6.5V~-13V被認為是邏輯“低”;-2.5V~+2.5V被認為是邏輯“空”,為數(shù)據(jù)無效狀態(tài)。
每一幀ARINIC429數(shù)據(jù)都由五個部分組成,分別為:標號(LABEL)、識別符(SDI)、數(shù)據(jù)域(DATA)、符號矩陣狀態(tài)位(SSM)和奇偶校驗位(P)。具體意義為:
標號(LABEL): ARINIC429總線數(shù)據(jù)對每一個航空參數(shù)都規(guī)定了一成不變的標號,如真空速度標號永遠是230。
識別符(SDI):標識數(shù)據(jù)來自什么數(shù)據(jù)源,發(fā)往哪個目的設(shè)備。
數(shù)據(jù)域(DATA):用于具體說明參數(shù)值,使用BCD或BNR編碼填充。
符號矩陣狀態(tài)位(SSM):說明數(shù)據(jù)屬性和發(fā)送裝置的工作狀態(tài)。
奇偶校驗位(P):ARINIC429數(shù)據(jù)的奇數(shù)校驗。
硬件設(shè)計說明
如圖1所示為ARINIC429總線接收測試裝置原理框圖,整個設(shè)備設(shè)計了兩路ARINIC429總線收發(fā)通道??梢酝瑫r發(fā)送2路ARINIC429信號,中斷接收4路ARINIC429信號。
圖1 接收測試裝置原理框圖
裝置核心處理器采用了ARM7T內(nèi)核的LPC2210。LPC2210具有開放式外部總線結(jié)構(gòu)和JTAG下載調(diào)試仿真功能,支持ADS1.2開發(fā)環(huán)境仿真下載,這些都極大地方便了用戶對于實際產(chǎn)品的開發(fā)。芯片內(nèi)部集成16K的RAM,144引腳LQPF封裝。外圍3.3V供電,核電壓1.8V。外部還集成了I2C、PWM、UART等接口總線。
如圖2所示,LPC2210使用了11.0592MHz晶振,經(jīng)過內(nèi)部PLL控制寄存器,倍頻成為60MHz以上的時鐘主頻。外部存儲總線上配置了一片4Mb的SRAM(IS61VL25616編址Ox80000000- Ox8007ffff)和1片16Mb的FLASH(SST39VF160編址Ox81000000- Ox811fffff)。為了方便調(diào)試,LPC2210的CE0和CE1片選都加了跳針。如圖3所示。調(diào)試時程序代碼映射到片外SRAM中運行,產(chǎn)品定型后,將程序固化到片外的FLASH運行。系統(tǒng)的總線寬度BOOT[1:0]由跳線控制。
圖2 LPC2210處理器部分原理框圖
圖3 外部存儲器件原理圖
整個ARINIC429發(fā)送環(huán)節(jié)由HS3182和HS3282器件組成一個ARINIC429收發(fā)通道。HS3282是ARINIC429的協(xié)議芯片,HS3182是ARINIC429物理層的驅(qū)動芯片,工作時需要±15V的差動電壓。LPC2210通過一片可編程邏輯器件EPM3064ATC100-6對處理器的數(shù)據(jù)線、地址線進行編址,并訪問外部HS3282芯片。由于LPC2210引腳接口電壓為+3.3V,而可編程邏輯器件等其它外圍器件I/O引腳電壓是+5V,因此每一個引腳串接了一個470W電阻,進行電路保護。EPM3064ATC100-6具體邏輯設(shè)計如圖4描述。
圖4 HS3282邏輯控制框圖
LPC2210片選CE3用作地址的鎖存控制信號,地址通過鎖存器后開始進行邏輯譯碼。分別使HS3282的CWSTR(命令字讀寫)、LD1、LD2(發(fā)送使能)等關(guān)鍵控制信號有效,完成對ARINIC429收發(fā)的時序使能操作。LPC2210數(shù)據(jù)總線直接連接HS3282的數(shù)據(jù)線。此外,EPM3064ATC100-6還將外部一個4MHz的時鐘源分頻成為兩路1MHz的時鐘供HS3282芯片使用。HS3282發(fā)送出TTL電平的信號驅(qū)動HS3182,將信號電壓抬升至符合ARINIC429總線要求的標準。HS3182工作時需要+15V、-15V電壓。
為了便于同用戶的交互測試,裝置設(shè)計了LCD顯示屏和操縱鍵盤。LPC2210的片選CE2編址控制一塊240×128點陣T6963控制器的單色液晶顯示屏,其接口原理如圖5所示,命令字和數(shù)據(jù)字編址分別為0x82000002、0x82000000。LPC2210操縱T6963控制器進行點陣式的圖形顯示。
圖5 LCD顯示器接口原理圖
軟件設(shè)計
本測試裝置的軟件設(shè)計主要流程圖如圖6所示。
圖6 軟件流程圖
一些主要環(huán)節(jié)的代碼如下:
#include "config.h"
#define t6963COM (*((volatile uint8 *)0x82000002))
#define t6963DAT (*((volatile uint8 *)0x82000000))
#define CHA_ld1 (*((volatile uint8 *)0x83000000))
#define CHA_ld2 (*((volatile uint8 *)0x83000002))
#define CHA_cwstr (*((volatile uint16 *)0x83000004))
#define CHA_oe1 (*((volatile uint8 *)0x83000006))
#define CHA_oe2 (*((volatile uint8 *)0x83000008))
#define CHB_ld1 (*((volatile uint8 *)0x8300000A))
#define CHB_ld2 (*((volatile uint8 *)0x8300000C))
#define CHB_cwstr (*((volatile uint16 *)0x8300000E))
#define CHB_oe1 (*((volatile uint8 *)0x83000010))
#define CHB_oe2 (*((volatile uint8 *)0x83000012))
……
/*通道A數(shù)據(jù)發(fā)送*/
CHA_ld1 = 429data1;/*高字*/
CHA_ld2 = 429data2;/*低字*/
/*寫入6963命令字節(jié)*/
void wirteT6963com(uint8 com){
t6963COM = com;
結(jié)語
整個測試裝置采用直流+28V機載電源供電,配備+24V備用電源接口,內(nèi)部集成DC-DC電源模塊進行變壓,產(chǎn)生+5V、±15V電壓供硬件電路使用,功耗5.2W,滿足國家軍事標準機載B類設(shè)備的電源特性要求。通過尖峰沖擊、過壓和欠壓浪涌等電源特性的考核,精度滿足多數(shù)外場測試的要求?!?/p>
參考文獻
1. 周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程.北京航空航天大學(xué)出版社
2. 周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實例.北京航空航天大學(xué)出版社
3. LPC2210數(shù)據(jù)手冊
4. EPM3000A系列數(shù)據(jù)手冊
評論