在此基礎(chǔ)上設(shè)計(jì)出一種高精度、擴(kuò)展性強(qiáng)、小型化和低成本的新型飛行控制系統(tǒng)。
2硬件系統(tǒng)方案要求和設(shè)計(jì)
基于DSP的飛控系統(tǒng)硬件設(shè)計(jì),關(guān)鍵在于系統(tǒng)的整體方案設(shè)計(jì)。接口設(shè)計(jì)是一個(gè)重要環(huán)節(jié),將直接影響系統(tǒng)的性能。為了減輕系統(tǒng)的負(fù)擔(dān),外部輸入信號(hào)用中斷方式讀入,信號(hào)輸入輸出時(shí)要考慮抗干擾性。
充分考慮TMS320F2812的片內(nèi)資源以及系統(tǒng)的接口要求,僅需對(duì)DSP芯片進(jìn)行少量的外部接口擴(kuò)展,即可滿(mǎn)足飛控系統(tǒng)所有功能和未來(lái)擴(kuò)展性的要求。同時(shí)由于系統(tǒng)的輸入邏輯量較多,采用Altera公司CPLD芯片EPM7128,完成數(shù)據(jù)處理和邏輯運(yùn)算功能,以減少控制電路的體積,增加系統(tǒng)的可靠性,實(shí)現(xiàn)對(duì)控制系統(tǒng)各單元狀態(tài)的監(jiān)視和控制。
系統(tǒng)整體方案設(shè)計(jì)如圖1所示。以下將從系統(tǒng)各模塊的實(shí)現(xiàn)加以說(shuō)明。
圖1系統(tǒng)硬件總體設(shè)計(jì)結(jié)構(gòu)圖
3硬件實(shí)現(xiàn)
3.1模擬信號(hào)接收
模擬信號(hào)經(jīng)過(guò)信號(hào)調(diào)理模塊輸入,A/D轉(zhuǎn)換選擇12位逐次逼近A/D轉(zhuǎn)換器AD1*,其片內(nèi)含有三態(tài)輸出緩存電路和高精度參考電壓源與時(shí)鐘電路,自帶采樣保持器。本設(shè)計(jì)采用的連接方式如圖2所示,使ADI*工作在全控模式下。在AD1*的使用上采用程序啟動(dòng)、標(biāo)志查詢(xún)方式,啟動(dòng)信號(hào)和轉(zhuǎn)換結(jié)束信號(hào)相配合,使ADI*一旦轉(zhuǎn)換結(jié)束就處于數(shù)據(jù)輸出狀態(tài),同時(shí)產(chǎn)生AD結(jié)束標(biāo)志,提高多通道時(shí)的通過(guò)率。

圖2A/D擴(kuò)展電路框圖
3.2串口通信
F2812處理器提供兩個(gè)串行通信接口(SCI),支持16級(jí)接收和發(fā)送FIFO。但仍然滿(mǎn)足不了飛控系統(tǒng)與多外設(shè)的通訊要求。因此,系統(tǒng)選用異步串行接口擴(kuò)展芯片SP2338,方便地將DSP的SCI1擴(kuò)為3個(gè)全雙工、波特率最高可達(dá)9600b/s的異步串行通信接口,作為主控制器和專(zhuān)用的通信設(shè)備數(shù)據(jù)傳輸通道,進(jìn)行控制系統(tǒng)和地面的通信傳輸,SCI2作為GPS與CPU的通信通道。SP2338使用簡(jiǎn)單,不需要底層軟件支持,上電即可工作。

圖3串口擴(kuò)展框圖
串口擴(kuò)展實(shí)現(xiàn)如圖3,ADRI0、ADRI1是下行地址線(xiàn),ADRI0,ADRI1=00,01,10是分別對(duì)應(yīng)子串口0,,l2;ADRO0,ADRO1是上行地址線(xiàn),ADRO0,ADRO1-00,01,10是分別對(duì)應(yīng)子串口0,1,2。
F2812的I/O口直接與SP2338的地址線(xiàn)相連。發(fā)送數(shù)據(jù)時(shí),DSP通過(guò)改變I/O口的狀態(tài)來(lái)改變下行地址,選中特定的子串口;接收數(shù)據(jù)時(shí),DSP通過(guò)讀取I/O口的狀態(tài)來(lái)判斷數(shù)據(jù)具體來(lái)自哪一個(gè)子串口,從而對(duì)讀取到的數(shù)據(jù)做出相應(yīng)的處理。因此可以提高系統(tǒng)效率、減低軟件消耗。通過(guò)外加電平轉(zhuǎn)換芯片就可以實(shí)現(xiàn)RS232,RS422,RS485通訊。
系統(tǒng)控制流程圖如圖5所示。數(shù)據(jù)存儲(chǔ)放置在任務(wù)線(xiàn)程中,其過(guò)程是將飛行數(shù)據(jù)分析結(jié)果等值存儲(chǔ)在Flash中。檢測(cè)任務(wù)線(xiàn)程可以通過(guò)周期函數(shù)PRD來(lái)完成。PRD可以根據(jù)實(shí)時(shí)時(shí)鐘來(lái)確定函數(shù)運(yùn)行的時(shí)間。這里,設(shè)置檢測(cè)任務(wù)100ms運(yùn)行1次。

圖5系統(tǒng)控制流程圖
所有任務(wù)的啟動(dòng)都和飛控系統(tǒng)總線(xiàn)上的小周期計(jì)數(shù)息息相關(guān),其中與接收總線(xiàn)數(shù)據(jù)相關(guān)的任務(wù)都是由消息分發(fā)線(xiàn)程啟動(dòng),當(dāng)接收的消息為PSP發(fā)送的同步數(shù)據(jù)碼時(shí),終端對(duì)象同步自己的小周期計(jì)數(shù),并按現(xiàn)在所處的小周期啟動(dòng)相應(yīng)的任務(wù)。所有的任務(wù)都包含在消息處理線(xiàn)程中,每個(gè)終端都有一個(gè)這樣的線(xiàn)程,各個(gè)線(xiàn)程獨(dú)立工作,使各個(gè)終端處于并行工作方式。系統(tǒng)全部邏輯控制功能,均采用周期運(yùn)行方式,每隔10ms由定時(shí)中斷程序喚醒。利用CPLD進(jìn)行邏輯運(yùn)算及數(shù)據(jù)處理,并檢測(cè)模擬量輸入信號(hào),判斷各監(jiān)控對(duì)象的工作狀態(tài)并按照系統(tǒng)控制邏輯決定輸出量。在其狀態(tài)發(fā)生變化時(shí)通知DSP,協(xié)助DSP完成系統(tǒng)的自檢測(cè)功能。在狀態(tài)監(jiān)測(cè)中,將當(dāng)前檢測(cè)到的狀態(tài)量與存儲(chǔ)的上一個(gè)狀態(tài)量相比較,如果兩次狀態(tài)相同,則不進(jìn)行任何操作;如果發(fā)生變化,則向DSP發(fā)出中斷信號(hào)INT,通知DSP讀取數(shù)據(jù)。
在接收DSP發(fā)送的控制指令時(shí),將該指令與當(dāng)前狀態(tài)相比較,若符合就不再發(fā)送控制指令,這樣就能防止多次發(fā)送控制指令引起的誤動(dòng)作。
在飛行過(guò)程中,控制系統(tǒng)的任務(wù)主要包括采集無(wú)人機(jī)的姿態(tài)數(shù)據(jù),計(jì)算控制量并輸出到舵機(jī)等執(zhí)行機(jī)構(gòu),接受地面站的指令并傳輸無(wú)人飛行器的位置等信息。利用設(shè)計(jì)的控制板進(jìn)行伺服控制算法的實(shí)現(xiàn),完成對(duì)執(zhí)行機(jī)構(gòu)舵機(jī)的控制。圖6為控制系統(tǒng)輸出的其中一路舵機(jī)的PWM控制信號(hào)波形。

圖6舵機(jī)控制信號(hào)
5結(jié)束語(yǔ)
經(jīng)過(guò)調(diào)試,該系統(tǒng)在實(shí)際運(yùn)行中性能穩(wěn)定,達(dá)到了設(shè)計(jì)要求。本系統(tǒng)體積小、重量輕、成本低,具備一定的擴(kuò)展性,適合于構(gòu)成較強(qiáng)的實(shí)時(shí)性、小型化和低成本的小型無(wú)人飛行器。