基于ARM的無(wú)人機(jī)飛行控制系統(tǒng)的研究實(shí)現(xiàn)
一、引言
本文引用地址:http://m.butianyuan.cn/article/201611/316781.htm無(wú)人機(jī)飛行控制系統(tǒng)是一種具有高性能的自主導(dǎo)航、自動(dòng)飛行控制、任務(wù)管理的綜合系統(tǒng),需要進(jìn)行大量復(fù)雜的數(shù)據(jù)處理與數(shù)學(xué)運(yùn)算。飛控計(jì)算機(jī)是飛行控制系統(tǒng)的核心子系統(tǒng),隨著航空航 天技術(shù)的發(fā)展,飛控計(jì)算機(jī)向著高精度和小型化方向發(fā)展。高精度要求無(wú)人機(jī)的制導(dǎo)控制精度高、穩(wěn)定性好,能夠適應(yīng)復(fù)雜的外界環(huán)境,致使控制算法比較復(fù)雜,計(jì) 算速度快、精度高。小型化則對(duì)控制控制系統(tǒng)的重量和體積提出了更高的要求,要求計(jì)算機(jī)的性能越高越好,體積越小越好。性能指標(biāo)和體積限制迫切需要研制新型 的飛控計(jì)算機(jī)。
二、飛控計(jì)算機(jī)與外圍的接口設(shè)計(jì)要求
基 于ARM的飛行控制計(jì)算機(jī)的設(shè)計(jì),關(guān)鍵在于系統(tǒng)整體方案設(shè)計(jì)。接口設(shè)計(jì)是一個(gè)重要環(huán)節(jié),其質(zhì)量將直接影響系統(tǒng)的性能,信號(hào)輸入輸出時(shí)要考慮抗干擾性,所設(shè) 計(jì)的整體方案要易于實(shí)現(xiàn),對(duì)不同型號(hào)的無(wú)人機(jī)要有一定的適應(yīng)性。對(duì)于要求相近的型號(hào),應(yīng)該以修改控制軟件為主,以少改動(dòng)或不改動(dòng)硬件設(shè)計(jì)為好,這些要求都 要在方案設(shè)計(jì)的各個(gè)環(huán)節(jié)中考慮。
首先要對(duì)無(wú)人機(jī)的飛控/導(dǎo)航任務(wù)和實(shí)現(xiàn)目標(biāo)作需求分析。根據(jù)飛行要求和控制對(duì)象的復(fù)雜程度,選擇控制周期;按照控制周期內(nèi)控制計(jì)算量來(lái)確定計(jì)算的類(lèi)型和運(yùn)算速度,并結(jié)合外部單元確定接口方案,以及對(duì)抗干擾因素的考慮,可確定整體的通訊協(xié)議和接口形式。
在 無(wú)人機(jī)的飛行過(guò)程中,為了實(shí)現(xiàn)一定的飛行任務(wù),需要對(duì)其飛行姿態(tài)進(jìn)行控制,引導(dǎo)飛機(jī)按照一定的航線(xiàn)準(zhǔn)確飛行。為了進(jìn)行姿態(tài)控制,就需要獲得飛行姿態(tài)的實(shí)時(shí) 參數(shù)信息以及遙控遙測(cè)參數(shù)。有了這些信息參數(shù),經(jīng)過(guò)計(jì)算機(jī)的控制算法計(jì)算,實(shí)時(shí)輸出控制糧到執(zhí)行機(jī)構(gòu),從而實(shí)現(xiàn)控制/導(dǎo)航目的,其構(gòu)成示意圖見(jiàn)圖1。
垂 直陀螺、三軸角速率陀螺輸出的是模擬信號(hào),因此飛控計(jì)算機(jī)必須具有多路模擬信號(hào)的高精度采集能力。而磁航向傳感器、高度傳感器以及與GPS和遙控遙測(cè)的等 外圍單元的數(shù)據(jù)交換則采用了RS-485、RS-232通訊協(xié)議,因此飛控計(jì)算機(jī)要具有多串口的通行能力。同時(shí)系統(tǒng)要求一系列的電平輸出/輸入接口、舵機(jī) 接
1、ARM的選擇
從計(jì)算精度、計(jì)算速度、控制性能要求、功耗及上述接口等方面考慮, 采用ATMEL公司的AT91M55800A芯片作為CPU。該芯片集成了ARM7TDMI核、嵌入式ICE接口、存儲(chǔ)器以及外圍。
AT91M55800A具有先進(jìn)系統(tǒng)總線(xiàn)(ASB)和先進(jìn)外圍總線(xiàn)(APB)兩條主要總線(xiàn),ASB接口由存儲(chǔ)控制寄存器控制用于實(shí)現(xiàn)最高的性能。ARM7TDMI核通過(guò)ASB接口實(shí)現(xiàn)與片內(nèi)32位存儲(chǔ)器、外部總線(xiàn)接口(EBI)以及AMBA橋的連接。AMBA橋用來(lái)驅(qū)動(dòng)APB;APB用來(lái)訪(fǎng)問(wèn)片內(nèi)外圍,優(yōu)化系統(tǒng)功耗AT91M55800A通過(guò)完全可編程的外部總線(xiàn)接口直接連到片外存儲(chǔ)器,使讀或?qū)懖僮髯羁炜蛇_(dá)一個(gè)時(shí)鐘周期。8優(yōu)先級(jí)向量中斷控制器和片內(nèi)外圍數(shù)據(jù)控制器則顯著提高了器件的實(shí)時(shí)性能.
AT91M55800A主要硬件資源極其關(guān)鍵特性如下:
(1) 芯片提供了豐富的片上資源。有片上A/D和D/A轉(zhuǎn)換器,則系統(tǒng)無(wú)需外接A/D和D/A芯片,提高了系統(tǒng)的可靠性,減少了系統(tǒng)的復(fù)雜性。AT91M 55800A有片內(nèi)看門(mén)狗電路,可以監(jiān)測(cè)程序的意外失控。AT91M55800A芯片提供SPI總線(xiàn),便于與擴(kuò)展外設(shè)進(jìn)行連接。
(2)集成了ARM7TDMI ARM Thumb處理核——低功耗高性能的32位RISC(Reduced Instruction Set Computer)處理器。指令功能強(qiáng),采用能提供0.9MIPS/MHz的三級(jí)流水線(xiàn)和馮·諾依曼結(jié)構(gòu);具有能產(chǎn)生64位結(jié)果的增強(qiáng)型乘法器;尋址能力 強(qiáng),有ARM指令集和Thumb指令集;嵌入式ICE,先進(jìn)的軟件開(kāi)發(fā)和調(diào)
試環(huán)境。
(3)8KB片內(nèi)SRAM.—32位數(shù)據(jù)總線(xiàn)寬度,單時(shí)鐘周期訪(fǎng)問(wèn)。
(4)完全可編程的外部總線(xiàn)接口(EBI)—最大可尋址空間為64MB,多達(dá)8個(gè)片選線(xiàn),軟件可編程的8 位或16位外部數(shù)據(jù)總線(xiàn)。
(5)8優(yōu)先級(jí)、可單獨(dú)屏蔽的向量中斷控制器(AIC)—7個(gè)外部中斷,包括一個(gè)高優(yōu)先級(jí)、低延遲的中斷請(qǐng)求。
(6)58個(gè)可編程I/O口線(xiàn),由PIOA和PIOB控制。
(7)6通道16位定時(shí)器/計(jì)數(shù)器,實(shí)時(shí)時(shí)鐘(RTC),系統(tǒng)定時(shí)器,看門(mén)狗定時(shí)器。
(8)主從式SPI接口—8~16位可編程數(shù)據(jù)長(zhǎng)度,4個(gè)外部從芯片選擇。
(9)采用片內(nèi)主振蕩器和PLL倍頻的時(shí)鐘產(chǎn)生器及片內(nèi)32K振蕩器的實(shí)實(shí)時(shí)鐘—3MHz~33MHz頻率范圍。
(10)具有3個(gè)USART—每個(gè)USART有兩個(gè)外圍數(shù)據(jù)控制器(PDC)通道。
(11)8通道10位ADC和2通道10位DAC。
(12)先進(jìn)電源管理控制器(APMC)—正常、等待、慢速、待機(jī)和掉電方式。
(13)針對(duì)所有數(shù)字引腳的JEEE 1149.1JTAG邊界掃描。
AT91M55800A上述功能和特點(diǎn),使得復(fù)雜的控制算法可以在規(guī)定的時(shí)間內(nèi)完成,且滿(mǎn)足了精度的要求。
2、存儲(chǔ)器的擴(kuò)展
由 于AT91M55800A內(nèi)部存儲(chǔ)器較小,所以程序和數(shù)據(jù)大多只能放在片外,因此要進(jìn)行存儲(chǔ)器擴(kuò)展。AT91M55800A的內(nèi)核采用了馮·諾依曼結(jié)構(gòu)。 存儲(chǔ)器接口可在使用存儲(chǔ)器最少情況下實(shí)現(xiàn)其潛能。速度關(guān)鍵的控制信號(hào)采用流水作業(yè),處理速度極快。所選RAM的速度必須小于RAM的讀寫(xiě)周期。在系統(tǒng)工作 時(shí),程序要放在Flash中,在系統(tǒng)上電時(shí)由啟動(dòng)代碼程序搬移到片外RAM中運(yùn)行,因此選擇ROM時(shí)也要考慮存儲(chǔ)容量和速度。根據(jù)以上特點(diǎn)選擇了一片 12ns的IS61LV51216RAM組成存儲(chǔ)系統(tǒng)的RAM,一片訪(fǎng)問(wèn)周期90ns AT49BV1604A-90TI (Flash Memory)作為程序存儲(chǔ)空間。此外通過(guò)SPI總線(xiàn)擴(kuò)展一個(gè)X5045(NOVRAM),NOVRAM可在斷電后保存裝定的航跡與任務(wù)數(shù)據(jù)。
3、模擬信號(hào)的接收
垂 直陀螺、角速率陀螺、電源電壓等輸出的模擬信號(hào)首先經(jīng)過(guò)信號(hào)調(diào)理模塊輸入,片上自帶的8路10位ADC已經(jīng)完全滿(mǎn)足了系統(tǒng)通道數(shù)目和精度的要求,不再擴(kuò)展 其他ADC器件。所采集的飛機(jī)姿態(tài)、電網(wǎng)電壓等信號(hào),是飛行控制系統(tǒng)對(duì)無(wú)人機(jī)工作狀態(tài)進(jìn)行控制和監(jiān)控的基礎(chǔ),同時(shí)這些信號(hào)經(jīng)過(guò)編碼發(fā)往地面遙測(cè)設(shè)備,供操縱人員參考。
4、串口通信
機(jī) 上傳感器的輸出信號(hào)多數(shù)都是采用串行標(biāo)準(zhǔn)。遙控指令、遙測(cè)數(shù)據(jù)、GPS數(shù)據(jù)、高度信號(hào)、航向信號(hào)、航路裝定、控制參數(shù)設(shè)置都采用RS-232或者RS- 485接口,而AT91M55800A片內(nèi)集成的3個(gè)USART不能滿(mǎn)足要求,必須要對(duì)串口進(jìn)行擴(kuò)展。完全采用軟件模擬擴(kuò)展串口,將加重處理器的負(fù)荷,降 低系統(tǒng)的實(shí)時(shí)性。而采用16C554專(zhuān)用串口擴(kuò)展芯片將增加系統(tǒng)的電路復(fù)雜性,增加電路板面積。在綜合考慮各種方案之后,將串口作如下配置:
(1) 串行口0 為遙控通道,與遙控接收機(jī)相接,接收上行信道送來(lái)的遙控信息,下傳飛機(jī)狀態(tài)參數(shù)信息,RS—232標(biāo)準(zhǔn),波特率9600。
(2) 串行口1:通過(guò)4052 擴(kuò)展,與高度傳感器和航向傳感器相接。 采用RS—485標(biāo)準(zhǔn),波特率9600。
(3) 串行口2 與GPS接收機(jī)相接,接收GPS數(shù)據(jù),采用RS—232標(biāo)準(zhǔn),波特率9600。
(4) 采用SPI總線(xiàn)接口的USART收發(fā)器件MAX3111擴(kuò)展了一路串行接口,本串行口的TX通道作為遙測(cè)通道,用于發(fā)送飛行姿態(tài)、電源電壓、發(fā)動(dòng)機(jī)轉(zhuǎn)速、 任務(wù)設(shè)備工作狀態(tài)等遙測(cè)信息;RX通道為雙用途,可以作為裝定自主飛行時(shí)的預(yù)設(shè)航路用,也可以用來(lái)裝定控制參數(shù)。這樣,兼顧了系統(tǒng)的實(shí)時(shí)性和緊湊性
5、頻率信號(hào)的輸出
控 制伺服機(jī)構(gòu)常用的是四個(gè)舵機(jī),飛行中要求這四個(gè)舵機(jī)可以同時(shí)動(dòng)作,相互之間不能有延遲。而AT91M55800A的6路定時(shí)/計(jì)數(shù)器正好可以用來(lái)作為輸出 PWM信號(hào)的器件,不需要擴(kuò)展接口芯片。余下的一路定時(shí)器用作μC/OS-II的系統(tǒng)時(shí)鐘,另外一路定時(shí)器用作發(fā)動(dòng)機(jī)轉(zhuǎn)速監(jiān)測(cè)。根據(jù)舵機(jī)的工作方式和控制 精度的要求,設(shè)置工作方式,滿(mǎn)足舵機(jī)工作要求。這樣既減少了硬件的擴(kuò)展又降低了軟件的消耗,提高了精度、大大提高系統(tǒng)效率。
6、數(shù)字I/O口輸出
通過(guò)AT91M55800A GI/O由片上PIOA和PIOB控制器輸出開(kāi)關(guān)量,通過(guò)光耦隔離、驅(qū)動(dòng)放大進(jìn)行控制任務(wù)設(shè)備、回收裝置等設(shè)備。
7、復(fù)位電路
AT91M55800A 在復(fù)位時(shí),主時(shí)鐘來(lái)自慢速時(shí)鐘(32 768Hz),并且主時(shí)鐘上的信號(hào)必須在NRST信號(hào)上升沿之前至少10個(gè)時(shí)鐘周期內(nèi)保持有效,及復(fù)位信號(hào)至少保持0.3ms,所擴(kuò)展的存儲(chǔ)系統(tǒng)復(fù)位時(shí)間 均小于0.3ms,因此本系統(tǒng)采用了能提供20ms低脈沖的MAX6315芯片。同時(shí)AT91M55800A具有可編程的看門(mén)狗定時(shí)器。由于系統(tǒng)電源瞬間 欠缺或意外掉電致使程序跑飛或重要數(shù)據(jù)丟失導(dǎo)致系統(tǒng)無(wú)法工作時(shí),采用看門(mén)狗定時(shí)器可產(chǎn)生內(nèi)部復(fù)位信號(hào),使復(fù)位系統(tǒng)。
四、系統(tǒng)設(shè)計(jì)中的關(guān)鍵技術(shù)
1、硬件資源的合理利用和端口配置的原則
AT91M55800A 有著豐富的硬件資源,能否充分利用和恰當(dāng)配置這些資源是設(shè)計(jì)成敗的關(guān)鍵。如果給CPU的負(fù)擔(dān)過(guò)重,系統(tǒng)有可能難以完成實(shí)時(shí)控制的任務(wù),如果配置不合理,資 源則不能得到充分利用,而且會(huì)影響系統(tǒng)的實(shí)時(shí)性,增添軟件的復(fù)雜性。CPU主要處理4路模擬量輸入、10路開(kāi)關(guān)量輸入、1路頻率量輸入、3路定時(shí)信號(hào)輸 入、4路PWM波輸出、8路開(kāi)關(guān)量輸出和4路串行數(shù)據(jù)接口,根據(jù)微控制器的結(jié)構(gòu)特點(diǎn)分別配置,如將模擬量輸入配置在A/D部分,開(kāi)關(guān)量輸入和輸出配置在 GPI/O,3路定時(shí)信號(hào)輸入、1路頻率量輸入和PWM波配置在定時(shí)/計(jì)數(shù)器多通道部分,4路串行數(shù)據(jù)接口通過(guò)適當(dāng)擴(kuò)展配置在3個(gè)USART上。在設(shè)計(jì)中 對(duì)端口分配遵循了以下原則,并做了一定的時(shí)間測(cè)算;
(1) 首先確定MCU內(nèi)核的實(shí)現(xiàn)方案,為輸入輸出信號(hào)量連接方案的確定開(kāi)創(chuàng)條件;
(2) 優(yōu)先考慮各端口的基本功能,再次考慮端口的第二、第三功能;
(3) 考慮信號(hào)匹配與端口的驅(qū)動(dòng)能力;
(4) 考慮時(shí)間因素,對(duì)ADC、UARST、GPI/O、PWM、SPI等處理子程序進(jìn)行時(shí)間估計(jì)與測(cè)算,確定CPU的任務(wù)量,保CPU有一定的時(shí)間裕度;
(5) 利用空余的端口做冗余設(shè)計(jì),使某些功能的實(shí)現(xiàn)有一定的自由度。
2、系統(tǒng)的抗干擾措施
在無(wú)人機(jī)系統(tǒng)性能諸指標(biāo)中,可靠性是首要考慮的因素。無(wú)人機(jī)飛行控制器必須穩(wěn)定可靠地運(yùn)行,否則將導(dǎo)致控制出現(xiàn)偏差,嚴(yán)重時(shí)將可能造成巨大經(jīng)濟(jì)損失或者生命危險(xiǎn)。因此在控制器硬件的設(shè)計(jì)中,要始終貫徹高可靠性、高穩(wěn)定性這一原則,并為軟件抗干擾措施的實(shí)施打好基礎(chǔ)。
影響控制器可靠安全運(yùn)行的主要因素有以下幾個(gè)方面:電磁場(chǎng)干擾、供電方式、元器件性能、PCB的布局與走線(xiàn)、機(jī)械結(jié)構(gòu)設(shè)計(jì)等。
針對(duì)這些因素,在本系統(tǒng)的硬件設(shè)計(jì)中采用了如下一些措施:
(1)主控板采用四層的高頻電路板;
(2)采用濾波技術(shù)、去耦電容、屏蔽技術(shù)、隔離技術(shù)和接地技術(shù)減小電磁場(chǎng)的干擾;
(3)數(shù)字部分和模擬部分獨(dú)立供電
(4)盡量選用高集成度、高穩(wěn)定性、高可靠性的面貼元件;
(5)PCB板上元器件按功能分區(qū)、就近布局,45°走線(xiàn)、滿(mǎn)接地;
(6)選擇高可靠性接插件,緊固安裝,屏蔽殼體。
3、整機(jī)供電與功耗考慮
無(wú) 人機(jī)的動(dòng)力源是能量有限的機(jī)載蓄電池,所以能耗問(wèn)題是衡量控制其性能的一項(xiàng)指標(biāo)。機(jī)載蓄電池提供的是±12V的直流電源,對(duì)于飛控器來(lái)說(shuō),需要解決兩個(gè)問(wèn) 題。一是如何進(jìn)行DC/DC轉(zhuǎn)換既能滿(mǎn)足系統(tǒng)對(duì)電源數(shù)量及伏值的要求,又使轉(zhuǎn)換效率足夠高;二是選用什么樣的元器件,既能滿(mǎn)足信號(hào)匹配的要求又能使器件功 耗低。
系 統(tǒng)中選用的是高轉(zhuǎn)換效率的小型PKC2121模塊,可以產(chǎn)生穩(wěn)定的±12V電壓,為±9V的電源基準(zhǔn)提供輸入,5V和9V根據(jù)具體需要給模擬電路供 電,5V作為3.3V電源基準(zhǔn)REF192GS的輸入電壓,3.3V給飛控計(jì)算機(jī)供和存儲(chǔ)系統(tǒng)供電。在信號(hào)匹配的前提下盡量選用低功耗的CMOS器件,降 低系統(tǒng)總能耗。
五、結(jié)束語(yǔ)
經(jīng) 過(guò)初步調(diào)試,該硬件平臺(tái)各項(xiàng)功能均達(dá)到設(shè)計(jì)目的。為了方便和硬件的聯(lián)調(diào),軟件設(shè)計(jì)以源碼公開(kāi)的實(shí)時(shí)嵌入式操作系統(tǒng)μC/OS-II為軟件平臺(tái),將系統(tǒng)功能 按照優(yōu)先級(jí)循序分為數(shù)據(jù)采集模塊、控制解算模塊、模態(tài)控制模塊、高度航向讀取模塊、指令接收模塊、 GPS接收模塊、航路控制模塊、遙測(cè)發(fā)送模塊、芯片啟動(dòng)部分選用匯編語(yǔ)言,對(duì)算法復(fù)雜、計(jì)算量大的,采用C語(yǔ)言。軟件和硬件分別調(diào)試通過(guò)后,可進(jìn)行軟件和 硬件的聯(lián)調(diào),最后形成基于ARM的新型飛行控制計(jì)算機(jī)。
該硬件系統(tǒng)體積小,成本低。設(shè)計(jì)中采用了模塊化的結(jié)構(gòu)形式,將主控模塊和信號(hào)調(diào)理模塊及信號(hào)輸出模塊分開(kāi),那么將主控模塊與不同的信號(hào)調(diào)理模塊和輸出信號(hào)的相結(jié)合可以實(shí)現(xiàn)設(shè)計(jì)系統(tǒng)的通用性作為某型號(hào)的一系列無(wú)人機(jī)的飛控器。隨著技術(shù)的不斷發(fā)展 ,ARM將以它特有的優(yōu)越性在軍事和高科技中得到廣泛的應(yīng)用。
參考文獻(xiàn):
[1] David Seal. ARM Architecture Reference Manual Second Edition [M]. Pearson Education Limited.
[2] ARM7TDMI (Rev4) Technical Reference Manual[M]. ARM DDI
[3]張明廉.飛行控制系統(tǒng)[M]. 北京:航空工業(yè)出版社, 1993
[4]何衍慶等. 控制系統(tǒng)分析、設(shè)計(jì)和應(yīng)用[M]. 北京:化學(xué)工業(yè)出版社. 2003.1
[5]馬忠梅等. ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社.2003
評(píng)論