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

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

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

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

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