DSP實現(xiàn)無人飛行器控制系統(tǒng)
1 引 言
本系統(tǒng)選用的TMS320F2812(以下簡稱F2812)是TI公司開發(fā)的一款32 位DSP芯片, 采用高性能靜態(tài)CMOS 技術(shù), 工作主頻可達(dá)150M ips。片內(nèi)集成了128K 字的FLASH 存儲器, 方便實現(xiàn)軟件升級;還集成了豐富的外圍設(shè)備, 如: 采樣頻率高達(dá)12. 5M IPS的12位16路A /D轉(zhuǎn)換器, 兩個面向電機控制的事件管理器和多種標(biāo)準(zhǔn)串口通信外設(shè)。
在此基礎(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)的負(fù)擔(dān), 外部輸入信號用中斷方式讀入, 信號輸入輸出時要考慮抗干擾性。
充分考慮TMS320F2812 的片內(nèi)資源以及系統(tǒng)的接口要求, 僅需對DSP芯片進(jìn)行少量的外部接口擴展, 即可滿足飛控系統(tǒng)所有功能和未來擴展性的要求。同時由于系統(tǒng)的輸入邏輯量較多, 采用A ltera公司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所示, 使AD I*工作在全控模式下。在AD1*的使用上采用程序啟動、標(biāo)志查詢方式, 啟動信號和轉(zhuǎn)換結(jié)束信號相配合, 使AD I*一旦轉(zhuǎn)換結(jié)束就處于數(shù)據(jù)輸出狀態(tài), 同時產(chǎn)生AD 結(jié)束標(biāo)志, 提高多通道時的通過率。
圖2 A /D擴展電路框圖
3. 2 串口通信
F2812處理器提供兩個串行通信接口( SC I) , 支持16級接收和發(fā)送FIFO。但仍然滿足不了飛控系統(tǒng)與多外設(shè)的通訊要求。因此, 系統(tǒng)選用異步串行接口擴展芯片SP2338, 方便地將DSP的SC I1擴為3個全雙工、波特率最高可達(dá)9600b / s的異步串行通信接口, 作為主控制器和專用的通信設(shè)備數(shù)據(jù)傳輸通道, 進(jìn)行控制系統(tǒng)和地面的通信傳輸, SC I2 作為GPS與CPU 的通信通道。SP2338使用簡單, 不需要底層軟件支持, 上電即可工作。
圖3 串口擴展框圖
串口擴展實現(xiàn)如圖3, ADR I0、ADR I1是下行地址線, ADR I0, ADR I1= 00, 01, 10是分別對應(yīng)子串口0, ,l 2; 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通訊。1 引 言
本系統(tǒng)選用的TMS320F2812(以下簡稱F2812)是TI公司開發(fā)的一款32 位DSP芯片, 采用高性能靜態(tài)CMOS 技術(shù), 工作主頻可達(dá)150M ips。片內(nèi)集成了128K 字的FLASH 存儲器, 方便實現(xiàn)軟件升級;還集成了豐富的外圍設(shè)備, 如: 采樣頻率高達(dá)12. 5M IPS的12位16路A /D轉(zhuǎn)換器, 兩個面向電機控制的事件管理器和多種標(biāo)準(zhǔn)串口通信外設(shè)。
在此基礎(chǔ)上設(shè)計出一種高精度、擴展性強、小型化和低成本的新型飛行控制系統(tǒng)。
系統(tǒng)控制流程圖如圖5所示。數(shù)據(jù)存儲放置在任務(wù)線程中, 其過程是將飛行數(shù)據(jù)分析結(jié)果等值存儲在F lash 中。檢測任務(wù)線程可以通過周期函數(shù)PRD來完成。PRD 可以根據(jù)實時時鐘來確定函數(shù)運行的時間。這里, 設(shè)置檢測任務(wù)100m s運行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 進(jìn)行邏輯運算及數(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)相同, 則不進(jìn)行任何操作; 如果發(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è)計的控制板進(jìn)行伺服控制算法的實現(xiàn), 完成對執(zhí)行機構(gòu)舵機的控制。圖6為控制系統(tǒng)輸出的其中一路舵機的PWM 控制信號波形。
圖6 舵機控制信號
5 結(jié)束語
經(jīng)過調(diào)試, 該系統(tǒng)在實際運行中性能穩(wěn)定, 達(dá)到了設(shè)計要求。本系統(tǒng)體積小、重量輕、成本低, 具備一定的擴展性, 適合于構(gòu)成較強的實時性、小型化和低成本的小型無人飛行器。