基于ARM的毫米波天線自動對準平臺系統(tǒng)設(shè)計
2. 1 ARM 處理器簡介
ARM 的32 位體系結(jié)構(gòu)被公認為業(yè)界領(lǐng)先的32 位嵌人式RISC 處理器結(jié)構(gòu)。LPC2294 是飛利浦公司生產(chǎn)的32 位ARM7TDMI S 微處理器,具有低功耗、低價格、高性能的特點。
2. 2 系統(tǒng)硬件結(jié)構(gòu)設(shè)計
平臺控制板的ARM 處理器采用LPC2294,其驅(qū)動電路由SGS 公司推出的L297 和L298 集成芯片組合而成,驅(qū)動電路原理圖如圖3 所示。平臺控制板還通過串口與磁羅盤和GPS 相連,用于采集所需的數(shù)據(jù)信息。
顯示控制單元仍然采用ARM 芯片LPC2294,它同時與鍵盤和液晶顯示器相連,見圖2。鍵盤用來輸入己方和對方的坐標以及對平臺系統(tǒng)控制命令的輸入,液晶顯示屏可顯示站點坐標、電平信號強度和平臺工作狀態(tài)等,從而構(gòu)造一個友好的人機交互界面。顯示控制單元通過50 m 的電纜與平臺系統(tǒng)相連,通過CAN 接口與平臺控制板通信,當用戶完成設(shè)置時通過CAN 接口將設(shè)置信息發(fā)送到平臺控制器,同時顯示控制單元還作為整套毫米波設(shè)備的基帶控制單元的處理中心。
圖3 步進電機控制驅(qū)動器原理圖
3 軟件設(shè)計
由于系統(tǒng)功能復(fù)雜,為了增加程序功能,減少死機或者程序跑飛等情況,故考慮將uC/ OS-Ⅱ嵌人式實時多任務(wù)操作系統(tǒng)作為應(yīng)用軟件平臺,把各個系統(tǒng)功能劃分為不同的任務(wù)。由操作系統(tǒng)來完成任務(wù)的調(diào)度以及任務(wù)之間的同步和通信,用中斷來處理實時性要求強的異步事件。
3. 1 uC/ OS-Ⅱ的移植
uC/ OS-Ⅱ是一種可移植、可固化、可裁剪及可剝奪的實時多任務(wù)內(nèi)核( RTOS), 其絕大部分源碼是用ANSI 的C 語言編寫,可以方便地移植并支持多種類型的處理器。uC/ OS-Ⅱ的硬實時性以及低成本、易控制、小規(guī)模、高性能的特性,使其能滿足工業(yè)中小型控制對可靠性、實時性以及多任務(wù)處理的要求。
編寫應(yīng)用軟件首先要移植uC/ OS-Ⅱ,移植對處理器有一定的要求。本設(shè)計采用的LPC2294 處理器以及開發(fā)工具ADS 1. 2 完全滿足移植要求,可以進行移植。關(guān)于uC/ OS-Ⅱ移植的參考資料比較多,本文不再做詳細討論。
3. 2 任務(wù)的劃分與優(yōu)先級的確定
uC/ OS-Ⅱ?qū)儆趽屨际綄崟r操作系統(tǒng),總是會使處于就緒狀態(tài)中優(yōu)先級最高的任務(wù)運行。它不支持時間片輪轉(zhuǎn)調(diào)度,所以必須將系統(tǒng)功能合理分解為不同優(yōu)先級的任務(wù)。任務(wù)的優(yōu)先級由任務(wù)的重要性和實時性要求程度決定。劃分系統(tǒng)任務(wù)的時候,還要考慮到低優(yōu)先級的任務(wù)能有機會得到運行,否則系統(tǒng)將難以正常工作。因此建立六個任務(wù)進行調(diào)度,任務(wù)之間的通信方式及流程如圖4 所示,分別如下:
TaskMotorCt l:任務(wù)0,作為程序的主任務(wù),實現(xiàn)初始化和電機控制功能;TaskCal:任務(wù)1,在電機轉(zhuǎn)動過程中實時計算轉(zhuǎn)動角度等相關(guān)參數(shù);TaskPortScan:任務(wù)2,端口掃描任務(wù),實現(xiàn)限位開關(guān)端口電平的監(jiān)控功能;TaskU ART0Recv:任務(wù)3,串口0 磁羅盤數(shù)據(jù)的接收處理任務(wù);TaskU ART 1Recv:任務(wù)4,串口1GPS 數(shù)據(jù)的接收處理任務(wù);TaskCAN:任務(wù)5,CAN 接口數(shù)據(jù)收發(fā)處理。
圖4 任務(wù)之間關(guān)系及通信方式
評論