新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于的毫米波天線自動對準(zhǔn)平臺系統(tǒng)設(shè)計(jì)

基于的毫米波天線自動對準(zhǔn)平臺系統(tǒng)設(shè)計(jì)

作者: 時間:2011-03-15 來源:網(wǎng)絡(luò) 收藏

2.2 硬件結(jié)構(gòu)
控制板的ARM處理器采用LPC2294,其驅(qū)動電路由SGS公司推出的L297和L298集成芯片組合而成,驅(qū)動電路原理圖如圖3所示。控制板還通過串口與磁羅盤和GPS相連,用于采集所需的數(shù)據(jù)信息。

本文引用地址:http://m.butianyuan.cn/article/150959.htm

c.JPG
顯示控制單元仍然采用ARM芯片LPC2294,它同時與鍵盤和液晶顯示器相連,見圖2。鍵盤用來輸入己方和對方的坐標(biāo)以及對控制命令的輸入,液晶顯示屏可顯示站點(diǎn)坐標(biāo)、電平信號強(qiáng)度和平臺工作狀態(tài)等,從而構(gòu)造一個友好的人機(jī)交互界面。顯示控制單元通過50 m的電纜與平臺相連,通過CAN接口與平臺控制板通信,當(dāng)用戶完成設(shè)置時通過CAN接口將設(shè)置信息發(fā)送到平臺控制器,同時顯示控制單元還作為整套波設(shè)備的基帶控制單元的處理中心。

3 軟件
由于系統(tǒng)功能復(fù)雜,為了增加程序功能,減少死機(jī)或者程序跑飛等情況,故考慮將μC/OS-Ⅱ嵌入式實(shí)時多任務(wù)操作系統(tǒng)作為應(yīng)用軟件平臺,把各個系統(tǒng)功能劃分為不同的任務(wù)。由操作系統(tǒng)來完成任務(wù)的調(diào)度以及任務(wù)之間的同步和通信,用中斷來處理實(shí)時性要求強(qiáng)的異步事件。
3.1 μC/OS-Ⅱ的移植
μC/OS-是一種可移植、可固化、可裁剪及可剝奪的實(shí)時多任務(wù)內(nèi)核(RTOS),其絕大部分源碼是用ANSI的C語言編寫,可以方便地移植并支持多種類型的處理器。μC/OS-Ⅱ的硬實(shí)時性以及低成本、易控制、小規(guī)模、高性能的特性,使其能滿足工業(yè)中小型控制對可靠性、實(shí)時性以及多任務(wù)處理的要求。
編寫應(yīng)用軟件首先要移植μC/OS-Ⅱ,移植對處理器有一定的要求。本采用的LPC2294處理器以及開發(fā)工具ADS 1.2完全滿足移植要求,可以進(jìn)行移植。關(guān)于μC/OS-Ⅱ移植的參考資料比較多,本文不再做詳細(xì)討論。
3.2 任務(wù)的劃分與優(yōu)先級的確定
μC/OS-Ⅱ?qū)儆趽屨际綄?shí)時操作系統(tǒng),總是會使處于就緒狀態(tài)中優(yōu)先級最高的任務(wù)運(yùn)行。它不支持時間片輪轉(zhuǎn)調(diào)度,所以必須將系統(tǒng)功能合理分解為不同優(yōu)先級的任務(wù)。任務(wù)的優(yōu)先級由任務(wù)的重要性和實(shí)時性要求程度決定。劃分系統(tǒng)任務(wù)的時候,還要考慮到低優(yōu)先級的任務(wù)能有機(jī)會得到運(yùn)行,否則系統(tǒng)將難以正常工作。因此建立六個任務(wù)進(jìn)行調(diào)度,任務(wù)之間的通信方式及流程如圖4所示,分別如下:
TaskMotorCtl:任務(wù)0,作為程序的主任務(wù),實(shí)現(xiàn)初始化和電機(jī)控制功能;
TaskCal:任務(wù)1,在電機(jī)轉(zhuǎn)動過程中實(shí)時計(jì)算轉(zhuǎn)動角度等相關(guān)參數(shù);
TaskPortScan:任務(wù)2,端口掃描任務(wù),實(shí)現(xiàn)限位開關(guān)端口電平的監(jiān)控功能;
TaskUARTORecv:任務(wù)3,串口0磁羅盤數(shù)據(jù)的接收處理任務(wù);
TaskUART1Recv:任務(wù)4,串口1GPS數(shù)據(jù)的接收處理任務(wù);
TaskCAN:任務(wù)5,CAN接口數(shù)據(jù)收發(fā)處理。

d.JPG
運(yùn)行時有兩種狀態(tài):
(1)靜止?fàn)顟B(tài)
首先系統(tǒng)啟動之后,進(jìn)行初始化,然后等待磁羅盤接收信號有效,否則不能進(jìn)入電機(jī)控制任務(wù)。在運(yùn)行狀態(tài),此時平臺處于靜止?fàn)顟B(tài),程序?qū)邮盏降拇跀?shù)據(jù)進(jìn)行計(jì)算處理后實(shí)時更新,并不停地向顯示控制單元匯報(bào)與目標(biāo)指向的夾角大小。
(2)運(yùn)動狀態(tài)
當(dāng)有按鍵按下,顯示控制單元通過中斷的方式對其進(jìn)行處理,然后通過CAN總線向平臺控制板發(fā)送控制命令。平臺控制板根據(jù)控制命令確定轉(zhuǎn)動方向并在轉(zhuǎn)動過程中實(shí)時監(jiān)測是否碰到限位開關(guān)。
優(yōu)先級的劃分如下:TaskPortScan優(yōu)先級最高,因?yàn)槠脚_的可能會順時針或者逆時針連續(xù)轉(zhuǎn)動,而限位開關(guān)能夠使平臺往某個方向的轉(zhuǎn)動累計(jì)不超過一圈,以免引起平臺內(nèi)線的纏繞甚至扯斷。因此當(dāng)平臺轉(zhuǎn)動碰到限位開關(guān)時,優(yōu)先級最高,以實(shí)時響應(yīng)斷電,并使平臺反轉(zhuǎn),這里通過查詢方式來檢測是否碰到限位開關(guān)。然后就是任務(wù)TaskUART0Recv,在轉(zhuǎn)動過程中都需要實(shí)時用到航向和俯仰等角度信息,因此實(shí)時準(zhǔn)確地接收到此類信息顯得非常重要。因?yàn)門askCAN用于接收顯示控制單元的控制命令,排在任務(wù)TaskUART0Recv后面。角度計(jì)算任務(wù)的優(yōu)先級排在任務(wù)TaskCAN的后面,根據(jù)任務(wù)TaskUART0Recv傳下來的角度原始數(shù)據(jù)以及其他相關(guān)信息,實(shí)時計(jì)算角度值,以確定平臺轉(zhuǎn)動的目標(biāo)位置。雖然TaskMotorCtl步進(jìn)電機(jī)的控制任務(wù)重要,但是幾乎全天候運(yùn)行,如果優(yōu)先級較高,會占用很多資源,導(dǎo)致其他任務(wù)無法進(jìn)行,所以將其優(yōu)先級排在靠后。最后是TaskUART1Recv任務(wù),因?yàn)橐话惚痉轿恢迷趯?shí)際中不會變化,所以其經(jīng)緯度數(shù)據(jù)只需接收一次,其優(yōu)先級排在最后。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉