王爾申,陳士英,石劍民
(1.沈陽航空航天大學 電子信息工程學院,遼寧 沈陽110136;2.內(nèi)蒙古自治區(qū)大氣探測技術保障中心,內(nèi)蒙古 呼和浩特010051)
航空電子系統(tǒng)作為無人機 (UAV)重要的組成部分,負責無人機的安全飛行、完成預定任務。隨著電子技術、計算機、信號處理以及微電子系統(tǒng) (MEMS)等技術的飛速發(fā)展以及無人機技術的不斷發(fā)展,無人機航電系統(tǒng)正朝著智能化、模塊化、綜合化和高性能化的方向發(fā)展[1-3]。在航空電子系統(tǒng)中,無人機飛行控制系統(tǒng)是整個航電系統(tǒng)的核心單元,由傳感器、飛控計算機和舵機等模塊構成。飛控計算機一般通過串口、ADC模數(shù)轉換器等獲取GPS導航信息、三軸陀螺和加速度計等傳感器信號,并常采用PWM信號方式控制舵機等執(zhí)行機構[4-6]。
無人機飛控系統(tǒng)在應用到無人機中之前,需要進行閉環(huán)半物理仿真。在利用仿真機解算飛機數(shù)學模型仿真飛機的運動過程中,對機載軟硬件和控制律進行全面的驗證和評估。在進行半物理仿真中,仿真計算機需要在規(guī)定的時間內(nèi)完成舵機控制PWM信號的采集,對脈寬信號測量精度和速度提出了較高要求,傳統(tǒng)的脈寬信號測量有的利用高速ADC采集,有的使用單片機或者DSP進行測量,這些方法微控制器占用率高[7]。
本文提出了一種基于FPGA的PWM信號轉換器的設計方法,利用FPGA并行處理能力強的優(yōu)勢測量PWM信號[8-10],在仿真成功后進行實驗測試,實測結果表明該方法具有測量精度高、處理測量數(shù)據(jù)速度快等特點,本文研究的PWM信號處理方法適用于飛控系統(tǒng)閉環(huán)半物理仿真系統(tǒng)和其他需要對PWM信號進行轉換的應用。
為了便于說明,設計中舵機控制脈寬信號的周期為20ms,脈沖寬度較窄為1.0ms~2.0ms,隨著PWM輸入信號1.0ms~2.0ms的脈沖寬度的變化線性輸出0.0~10.0V模擬電壓,PWM輸入信號的脈沖寬度≤1.0ms時,輸出0.0V電壓,PWM輸出信號的脈沖寬度≥2.0ms時,輸出10.0V電壓。針對上述的設計要求,通過分析可知,整個PWM信號有1ms的寬度不需要測量,只需對變化的1.0ms~2.0ms進行采樣測量,得出高電平持續(xù)的時間。因此,設計中用256KHz的脈沖進行采樣,在PWM脈寬信號為高電平時作為計數(shù)開始的使能信號,對高電平計數(shù),在脈寬信號的脈沖下跳沿時停止計數(shù),在PWM脈寬信號低電平期間進行數(shù)據(jù)處理,就可以得到一個8位的測量數(shù)據(jù)。然后,對測量數(shù)據(jù)根據(jù)量化值進行處理。對這個8位數(shù)據(jù)進行處理后可以為控制輸入驅(qū)動無人機模型,也可進行顯示輸出,還可以直接連接D/A數(shù)模轉換器輸出模擬量。
設計采用的是Altera的EP3C160240C8N芯片,其屬于cyclone III系列,該芯片共有240個管腳,其內(nèi)部有15000多個邏輯單元,并且包含一個16位的乘法器,其處理速度較快,性能較強,而且成本較低,性價比較高,滿足本設計的需要。圖1為利用FPGA設計的PWM信號轉換器電路模塊總體連接框圖。從圖1中可以看出,整個PWM信號轉換器由PWM信號測量模塊、測量數(shù)據(jù)轉換模塊、D/A控制模塊和數(shù)據(jù)顯示處理模塊構成。其中,PWM信號測量模塊主要是對被測輸入信號進行檢測、測量,進而獲得PWM信號高電平持續(xù)的時間;測量數(shù)據(jù)轉換模塊主要完成符合顯示要求的數(shù)據(jù)格式;D/A控制模塊主要實現(xiàn)與DAC0808的接口控制;數(shù)據(jù)顯示模塊主要完成與LCD的接口時序控制,將測量結果顯示在LCD上。
圖1中PIN_31端子所連接的是一個50MHz的晶振,可以通過計數(shù)器分頻得到設計中所需要的時鐘信號頻率。PIN_6所連接的復位控制按鍵。設計中所需要檢測的PWM脈寬信號從FPGA開發(fā)版PIN_127管腳輸入FPGA芯片中。檢測測量部分在PWM_detect模塊中完成,并輸出一個8位寬的二進制數(shù)碼,輸出的數(shù)碼可以作為控制輸入驅(qū)動無人機模型,可以輸出到DAC0808模塊進行數(shù)模轉換,也可以提供給convert模塊進行處理以便于能夠在液晶上顯示輸出結果。Convert模塊將PWM_detect模塊輸出的數(shù)據(jù)進行處理得到4個ASCII值。這4個ASCII值通過圖1中的LCD_1602模塊進行顯示輸出前的處理,進而提供給LCD1602液晶模塊。
圖1 PWM信號轉換器電路模塊連接框架
PWM脈寬信號檢測模塊先將Altera開發(fā)板上的50MHz晶振信號進行分頻,得到256KHz的PWM脈寬信號檢測時鐘信號,然后對輸入周期為20ms的PWM脈寬信號進行檢測。為了減小測量誤差,設計中在PWM脈寬信號的上升沿到來時進行檢測。因此,PWM脈寬信號上升沿到來時將產(chǎn)生一個使能信號,將其作為整個測量系統(tǒng)內(nèi)部的啟動信號,對PWM脈寬信號的高電平進行計數(shù)。每當頻率為256KHz的采樣信號來一個上升沿時數(shù)據(jù)變化一次,并且判斷計數(shù)是否停止。計數(shù)停止后對數(shù)據(jù)進行判斷,濾去對1ms無效高電平的計數(shù),保留其對有效高電平的計數(shù)數(shù)據(jù)。設計中的采樣頻率為256KHz,因此,在20ms內(nèi)可采樣5120個數(shù)據(jù),在高電平寬度內(nèi)可采樣512個數(shù)據(jù),高電平內(nèi)采得的512個數(shù)據(jù)的前256個數(shù)據(jù)為無效數(shù)據(jù),只需要對計數(shù)值減去256所得到的計數(shù)值進行處理,處理后計數(shù)的最大值為256,得到的計數(shù)值在0到256之間進行變化。圖2為PWM脈沖信號檢測模塊的FPGA仿真結果。
圖2 pwm_detect模塊的FPGA仿真結果
由圖2可知,rst復位信號低電平有效,時鐘頻率為256KHz。當輸入一個周期為20ms,占空比5.9%的PWM脈寬信號時,輸出的8位數(shù)據(jù)轉換成十進制數(shù)理論值應該是44 (5120*%5.9-256),圖2的仿真結果與設計要求相一致。
將采樣得到的0到256的有效數(shù)據(jù)進行處理,該數(shù)據(jù)以8位并行數(shù)據(jù)形式作用到convert模塊,該模塊將8位數(shù)據(jù)的高4位和低4位分別進行量化處理,轉換成BCD碼輸出給與其級聯(lián)的顯示電路。然后,將高4位和低4位的BCD碼進行10進制加法,這樣從前一級輸入的8位數(shù)據(jù)就完成了BCD碼轉化。并將BCD碼轉化成ASCII碼用于顯示。圖3給出了轉換模塊的FPGA仿真結果。
圖3 convert模塊的FPGA仿真結果
由圖3可看出,按設計要求當輸入din為 “11110011”時,顯示的結果應為0972(09.72V),通過仿真圖可知輸出 dout4 為 “00110000 (0 的 ASCII)” ,dout3 為“00111001 (9 的 ASCII)”,dout2 為 “00110111 (7 的ASCII)”,dout1為 “00110010 (2的 ASCII)”,在液晶上顯示的數(shù)據(jù)為9.72V,仿真結果與設計要求一致。
為了便于觀察測量結果,采用液晶顯示模塊LCD用作測量數(shù)據(jù)顯示,顯示的數(shù)據(jù)來自于convert模塊的輸出。設計中選用的是LCD1602液晶顯示模塊。為了便于對LCD的時序控制,利用有限狀態(tài)機的狀態(tài)轉換圖來控制液晶的各種狀態(tài)。有限狀態(tài)機的狀態(tài)1到狀態(tài)4為液晶初始化,分別進行清屏、光標的設定、顯示的設定,顯示行數(shù)的設定的操作;狀態(tài)5與狀態(tài)9分別是寫入第一行和第二行DDRAM地址,控制顯示的所在行;狀態(tài)6、7、8分別寫入P、W、M對應的ASCII碼值;狀態(tài)10、11、12、13、14分別是寫入從convert模塊輸出的數(shù)據(jù)并在液晶上進行顯示。圖4給出了利用有限狀態(tài)機控制液晶的FPGA仿真時序圖。
圖4 有限狀態(tài)機控制的顯示時序仿真
圖4中輸入CLK信號的周期為5ms,rst為復位信號,低電平有效,din1、din2,din3和din4為輸入,即顯示的十進制數(shù)據(jù),而LCD_RS、LCD_RW、LCD_EN、A、K和LCD_data是按照狀態(tài)機的設定進行輸出,滿足液晶的時序要求。
為了便于將測量到的PWM脈沖信號轉換成與之對應的模擬電壓,設計中采用DAC0808數(shù)模轉換器來完成PWM_detect模塊輸出的數(shù)字量的轉換任務,DAC0808是8位D/A轉換集成芯片,與FPGA接口簡單、轉換控制容易。D/A轉換器由8位輸入鎖存器、8位D/A轉換電路及轉換控制電路構成,滿足輸出模擬電壓為0V到10V的設計要求,設計中將參考電壓設置為10V。
圖5給出了由DAC0808構成的數(shù)模轉換電路圖。其中,DAC0808的數(shù)據(jù)線與FPGA的I/O口相連。
在進行電路設計時保證R2與R3的阻值相等,為了使輸出電壓趨于穩(wěn)定,可在運放的輸出端連接一個RC低通濾波器。
圖5 模擬量測量電路結構
在利用FPGA仿真調(diào)試通過后,為了測試設計的PWM信號轉換器的實際性能,實驗中利用數(shù)英信號發(fā)生器產(chǎn)生設計所要求的不同占空比的PWM脈沖信號,并將該信號作用到文中研究的利用FPGA設計的PWM信號轉換器的輸入端,同時為了更好地觀察信號發(fā)生器產(chǎn)生的波形,將該信號與泰克示波器的一個通道的探頭相連。另外,為了更好地觀察設計的信號轉換器的實驗測試結果,方便與理論值進行對比,將DAC0808的輸出與示波器的另一通道相連。實驗中,選擇時鐘頻率為256kHz,PWM信號的周期為20ms,脈寬通過旋轉信號發(fā)生器的旋鈕進行調(diào)節(jié),圖6和圖7給出了PWM脈寬信號占空比為8%時的測試結果圖。其中,圖7為8%占空比時,測得的轉換后的模擬量值。圖8為PWM脈寬信號占空比為7%時的測試結果圖。
為了測試利用FPGA設計的PWM信號轉換器的測量精度,實驗中對PWM脈寬信號選取不同的占空比進行了測試,測試結果見表1。
表1 實驗測試數(shù)據(jù)
表1給出了PWM信號在不同占空比時理論計算值和測量值的對比情況。通過對上表實驗數(shù)據(jù)分析可得,該PWM脈寬信號轉換器具有測量精度高的特點,最大測量誤差為0.6%。
文中結合PWM信號轉換器的指標要求,在進行深入分析的基礎上,研究了PWM信號的測量方法以及將PWM信號進行轉換的方法,詳細給出了PWM信號測量和轉換的FPGA仿真波形。在仿真的基礎上,將程序下載到FPGA中運行,進行了實際測試,給出了詳細的實驗結果,對實驗測試結果與理論值進行了對比和分析。通過對基于FPGA的機載PWM信號轉換器的仿真和實驗測試表明:研究的PWM信號測量和轉換方法具有測量精度高、電路簡單、設計靈活、數(shù)據(jù)處理速度快的特點,對實時性要求嚴格的場合具有一定的意義。文中設計的PWM信號轉換器可用于無人機的閉環(huán)仿真中,同時,經(jīng)過擴展可用于其他脈沖寬度測量和轉換應用中,并對研究脈沖寬度測量的設計方法具有一定的參考價值。
[1]LI Jin.Suggestions for developing integrated electronics information system for China’s future aerospace plane [J].Telecommunication Engineering,2010,50 (3):1-5 (in Chinese).[李勁.我國未來空天飛機綜合電子信息系統(tǒng)的發(fā)展建議 [J].電訊技術,2010,50 (3):1-5.]
[2]CHENG Xuejun.Future air navigation system (FANS)and its application in avonics systems [J].Telecommunication Engineering,2009,49(5):101-107 (in Chinese). [程學軍.新航行系統(tǒng)及其在航空電子系統(tǒng)中的應用 [J].電訊技術,2009,49 (5):101-107.]
[3]ZHU Huayong,NIU Yifeng,SHEN Lincheng,et al.State of the art and trends of autonomous control of UAV systems [J].Journal of National University of Defense Technology,2010,32(3):115-120 (in Chinese).[朱華勇,牛軼峰,沈林成,等.無人機系統(tǒng)自主控制技術研究現(xiàn)狀與發(fā)展趨勢 [J].國防科技大學學報,2010,32 (3):115-120.]
[4]JoséJ Rosales,Manuel Toledo,Luca Bonardi,et al.Development of a UAV low-cost navigation system prototype for ATM applications[C]//ION GNSS,2009:1-9.
[5]WANG Ershen,ZHANG Zhixian,SUN Yanpeng,et al.Impoved design of avionics for composite material UAV [J].Telecommunication Engineering,2012,52 (9):1548-1552 (in Chinese).[王爾申,張芝賢,孫延鵬,等.復合材料無人機航電 系 統(tǒng) 的 改 進 設 計 [J]. 電 訊 技 術,2012,52 (9):1548-1552.]
[6]LI Rongyuan,F(xiàn)rhleke Norbert,Bcker Joachim.LLCC-PWM inverter for driving high-power piezoelectric actuators [C]//13th International Power Electronics and Motion Control Conference,EPE-PEMC,2008:159-164.
[7]DUAN Xiaojun,WU Chengfu,KANG Fengju,et al.Acquisition model research of UAV actuator control PWM signal [J].Computer Measurement & Control,2010,18 (6):1455-1457(in Chinese).[段曉軍,吳成富,康鳳舉,等.無人機舵機控制脈寬采集模塊開發(fā) [J].計算機測量與控制,2010,18(6):1455-1457.]
[8]LIU Xiaoyan,JING Liang,HONG Yizhou.The implementation of high-precision digital PWM DC/DC converters controller based on FPGA [J].Electrical Measurement &Instrumentation,2009,46 (1):77-80 (in Chinese).[劉曉艷,景亮,洪益州.基于FPGA的高精度數(shù)字PWM DC/DC控制器設計[J].電測與儀表,2009,46 (1):77-80.]
[9]Vargas F,Meco M J.Highly efficient PWM strategy over FPGA [J].Electronics Letters,2008:44 (24):1396-1398.
[10]Y Kaiping,GUO Hong,WANG Dayu.Design of multiredundancy electro-mechanical actuator controller with DSP and FPGA [C]//Proceeding of International Conference on Electrical Machines and Systems,2007:584-587.