《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于DSP的無人飛行器飛行控制系統(tǒng)設(shè)計
基于DSP的無人飛行器飛行控制系統(tǒng)設(shè)計
維庫
摘要: 采用多外設(shè)的高性能DSP 芯片TMS320F2812結(jié)合CPLD, 并采用DSP /B IOS 為實時操作系統(tǒng), 進行實時多任務(wù)設(shè)計,, 有效提高了系統(tǒng)的可靠性和實時性,。經(jīng)過調(diào)試,, 該系統(tǒng)在實際運行中性能穩(wěn)定,, 達到了設(shè)計要求。本系統(tǒng)體積小,、重量輕,、成本低, 具備一定的擴展性,, 適合于構(gòu)成較強的實時性,、小型化和低成本的小型無人飛行器。
關(guān)鍵詞: DSP TMS320F2812 無人飛行器 EPM7128
Abstract:
Key words :

     1  引  言

  隨著科技的發(fā)展以及軍事戰(zhàn)略思想的轉(zhuǎn)變,, 無人飛行器在軍事,、民用領(lǐng)域具有廣泛的應(yīng)用前景和極其重要的現(xiàn)實意義。各國正在研制和開發(fā)各種性能獨特的無人飛行器,, 改造的核心就是飛行控制系統(tǒng),。

  DSP以其豐富的指令系統(tǒng),、高速高精度的運算能力及豐富的片內(nèi)外設(shè)資源等優(yōu)勢, 為飛控系統(tǒng)的發(fā)展提供了一個很好的平臺,。

  本系統(tǒng)選用的TMS320F2812(以下簡稱F2812)是TI公司開發(fā)的一款32 位DSP芯片,, 采用高性能靜態(tài)CMOS 技術(shù), 工作主頻可達150M ips,。片內(nèi)集成了128K 字的FLASH 存儲器,, 方便實現(xiàn)軟件升級;還集成了豐富的外圍設(shè)備, 如: 采樣頻率高達12. 5M IPS的12位16路A /D轉(zhuǎ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)的負擔,, 外部輸入信號用中斷方式讀入, 信號輸入輸出時要考慮抗干擾性,。

  充分考慮TMS320F2812 的片內(nèi)資源以及系統(tǒng)的接口要求,, 僅需對DSP芯片進行少量的外部接口擴展, 即可滿足飛控系統(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*的使用上采用程序啟動,、標志查詢方式,, 啟動信號和轉(zhuǎn)換結(jié)束信號相配合,, 使AD I*一旦轉(zhuǎn)換結(jié)束就處于數(shù)據(jù)輸出狀態(tài), 同時產(chǎn)生AD 結(jié)束標志,, 提高多通道時的通過率,。

圖2  A /D擴展電路框圖。

  3. 2  串口通信

  F2812處理器提供兩個串行通信接口( SC I) ,, 支持16級接收和發(fā)送FIFO,。但仍然滿足不了飛控系統(tǒng)與多外設(shè)的通訊要求。因此,, 系統(tǒng)選用異步串行接口擴展芯片SP2338,, 方便地將DSP的SC I1擴為3個全雙工、波特率最高可達9600b / s的異步串行通信接口,, 作為主控制器和專用的通信設(shè)備數(shù)據(jù)傳輸通道,, 進行控制系統(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通訊,。

  3. 3  存儲器擴展

  F2812上包含128K16位的FLASH 存儲器,。考慮到容量和速度,, 所以必須對系統(tǒng)進行存儲器的擴展,。采用一片ISSI 公司生產(chǎn)的64K 字大小的IS61LV6416 存儲芯片作為程序擴展存儲器。+ 3. 3V供電,, 存取時間最大不超過12ns,。不需要外加延時電路, 直接將其數(shù)據(jù)線,、地址線分別和DSP的數(shù)據(jù)線,、地址線相連。并將DSP 的第51 引腳R /W與61LV6416 的片選信號CE引腳連接,, DSP的讀,、寫選通信號分別與61LV 6416的讀,、寫選通信號相連,。

  3. 4  PWM 波輸出

  無人飛行器伺服機構(gòu)的舵機由PWM (脈寬調(diào)制)信號控制, 利用占空比的變化,, 由DSP產(chǎn)生的多路并行PWM 信號加上信號隔離驅(qū)動的舵機控制電路,, 通過改變舵機的位置從而達到控制目的。

  TMS320F2812集成了PWM 控制信號發(fā)生器,,每個事件管理器能夠產(chǎn)生8 路PWM 輸出,。由于TMS320F2812芯片輸出的PWM 高電平為+ 3. 3V,而舵機控制信號輸入PWM 脈寬調(diào)制信號的高電平需要+ 5V,, 因此DSP輸出的脈寬調(diào)制信號的高電平需要經(jīng)過電平轉(zhuǎn)換后才能驅(qū)動舵機工作,。為了避免電機驅(qū)動板卡對主控板卡的干擾, 采用高速光耦隔離器件74LS245將PWM 信號隔離,, 阻斷電機驅(qū)動板卡對主控板卡的傳導干擾,。

  3. 5  復位、電源電路

  在整個硬件設(shè)計中,, 主要用到的直流電源有+ 1. 8V,、+ 3. 3V、+ 5V 和+ 12V,。板上電源采用TI的TPS767D318,, 通過5V 穩(wěn)壓電源,, 提供DSP所需的1. 8V 電壓和DSP及外圍電路所需的3. 3V 電壓。

  所有信號與F2812連接時需考慮電平匹配問題,, 通過加降壓芯片的方式來解決,。+ 12V 的直流電源由蓄電池提供, 其他直流電壓可以通過DC /DC轉(zhuǎn)換模塊得到,。+ 5V 電壓通過集成穩(wěn)壓模塊LM7805獲得,。考慮到本系統(tǒng)中還需1. 8V 和3. 3V 兩種電壓,,所以選用了IDT公司的LM1117芯片對輸入到DSP的5V 電壓進行電平轉(zhuǎn)換,, 可使5V 輸入電壓降為1. 8V和3. 3V。LM1117 提供電流限制和熱保護,。

  目標板上的所有電源都可以用一個5V 的穩(wěn)壓模塊提供,。

  此外, 為了調(diào)試方便,, 系統(tǒng)由T I 公司的TPS3307提供手動復位,。復位信號經(jīng)CPLD 譯碼后輸出高、低兩種電平,, 對復位電平要求不同的元件分別復位,。手動按鈕和AT bus所有復位源都引入CPLD, 由CPLD 內(nèi)建的R eset Log ic處理驅(qū)動,, 再輸出至復位目的地,。

  4.系統(tǒng)軟件設(shè)計

  軟件系統(tǒng)采用T I公司DSP集成開發(fā)工具CCS中集成的嵌入式實時操作系統(tǒng)DSP /B IOS, 采用C語言與匯編語言混合編程實現(xiàn),。

  系統(tǒng)初始化模塊設(shè)定SJA1000 的工作模式,, 且其初始化只能在復位模式下進行。初始化流程圖如圖4所示,。

圖4  初始化流程框圖,。

  系統(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ā)線程啟動, 當接收的消息為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)測中, 將當前檢測到的狀態(tài)量與存儲的上一個狀態(tài)量相比較,, 如果兩次狀態(tài)相同,, 則不進行任何操作; 如果發(fā)生變化,則向DSP發(fā)出中斷信號INT,, 通知DSP讀取數(shù)據(jù),。

  在接收DSP發(fā)送的控制指令時, 將該指令與當前狀態(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é)束語

  采用多外設(shè)的高性能DSP 芯片TMS320F2812結(jié)合CPLD,, 并采用DSP /B IOS 為實時操作系統(tǒng),, 進行實時多任務(wù)設(shè)計, 有效提高了系統(tǒng)的可靠性和實時性,。經(jīng)過調(diào)試,, 該系統(tǒng)在實際運行中性能穩(wěn)定, 達到了設(shè)計要求。本系統(tǒng)體積小,、重量輕,、成本低, 具備一定的擴展性,, 適合于構(gòu)成較強的實時性,、小型化和低成本的小型無人飛行器。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。