一種機載pwm信號轉(zhuǎn)換裝置與方法
【專利摘要】本發(fā)明提供了一種機載PWM信號轉(zhuǎn)換裝置與方法,利用粗計數(shù)和精計數(shù)結(jié)合的方法提高采樣和生成PWM信號的精度;利用具有雙郵箱的DPRAM進行數(shù)據(jù)通信,提高飛控單元與PWM端的數(shù)據(jù)交換的快速性、穩(wěn)定性和可靠性。該裝置在FPGA中實現(xiàn),可適用于不同型號的遙控器和不同類型的無人機,以及實現(xiàn)多任務(wù)擴展。
【專利說明】一種機載PWM信號轉(zhuǎn)換裝置與方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無人機及其飛控【技術(shù)領(lǐng)域】,具體來說是一種用于無人機自動駕駛儀的機載PWM信號轉(zhuǎn)換裝置與方法。
【背景技術(shù)】
[0002]無人機在軍事上的用途,從過去的情報、監(jiān)視和偵察裝備變成為攜帶導彈直接對地面目標進行攻擊的武器。在交通監(jiān)控、航拍測繪、災情偵查、大氣監(jiān)測等民用和科學研究領(lǐng)域也發(fā)揮著重要的作用。無論從國防建設(shè),還是社會發(fā)展方面考慮,生產(chǎn)、研發(fā)、裝備無人機已成為國際上的重要發(fā)展趨勢。就無人機研制方面,美國和以色列走在世界的前列。其中在美軍和以軍服役的“全球鷹”和“蒼鷺”代表著全球最先進的無人機。無人機的先進性一定程度取決于飛控系統(tǒng)的設(shè)計。目前,國外成熟的無人機飛控,包括羅斯的STA3X
究機構(gòu)的wePilot2000、加拿大MicroPilot公司的MP2128、美國Cloudcap公司的PiccoloII等。國內(nèi)商品飛控有零度智控的YS09、普洛特的UP30、北京航空航天大學的iFly40、成都縱橫的AP-300等??傮w上,國內(nèi)無人機飛控與國外成熟飛控相比,還存在一定差距。因此,無人機飛控的研究具有重要的意義。
[0003]舵機是無人機飛行的執(zhí)行機構(gòu),控制信號是周期固定脈寬可變的PWM信號。舵機用PWM信號,可由遙控接收機輸出,也可通過飛控單元產(chǎn)生,具有遙控/自駕功能的無人機飛控,需要機載PWM信號轉(zhuǎn)換裝置,完成以下任務(wù)(I)采樣遙控接收機輸出PWM信號的周期和脈寬,獲取不同型號遙控器的PWM周期,作為產(chǎn)生自駕PWM的周期,以及獲取各舵機中立位置的脈寬,作為飛控算法的參考變量;(2)將飛控算法輸出的各舵機控制量,生成自駕PWM控制舵機;(3)實現(xiàn)遙控/自駕切換。目前,大多數(shù)飛控系統(tǒng)使用STM32等單片機實現(xiàn)機載PWM信號轉(zhuǎn)換裝置,存在各功能任務(wù)串行完成、實時性差、PWM采樣和生成PWM精度低、靈活性差、不易擴展等缺點。FPGA具有并行化處理、實時性強、易于靈活擴展等優(yōu)勢,因此,它能在無人機飛控中發(fā)揮重要作用。目前,也有少量無人機飛控運用到FPGA,但它們局限于用作簡單的片選邏輯和接口處理,沒能深入研究,如何提高機載PWM信號轉(zhuǎn)換裝置的遙控PWM采樣和生成自駕PWM的精度,提高數(shù)據(jù)接口穩(wěn)定性、快速性和可靠性。
[0004]綜上所述,現(xiàn)有機載PWM信號轉(zhuǎn)換裝置存在任務(wù)串行完成、實時性差、PWM采樣和生成PWM精度低、靈活性差、不易擴展等缺點,以及數(shù)據(jù)接口穩(wěn)定性、快速性和可靠性低等問題。
【發(fā)明內(nèi)容】
[0005]針對以上問題,本發(fā)明的目的在于提供一種機載PWM信號轉(zhuǎn)換裝置與方法,實現(xiàn)對遙控PWM的并行化高精度采樣和生成高精度的自駕PWM ;利用具有雙郵箱的DPRAM作為數(shù)據(jù)傳輸接口,提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性、快速性和可靠性。
[0006]本發(fā)明的
【發(fā)明內(nèi)容】
如下:
[0007]一種機載PWM信號轉(zhuǎn)換裝置,包括晶振、總線驅(qū)動1、FPGA芯片、總線驅(qū)動2、和微處理器,F(xiàn)PGA芯片作為信號轉(zhuǎn)換裝置核心元件,分別與晶振、總線驅(qū)動1、總線驅(qū)動2、微處理器連接,所述FPGA芯片上包括PLL倍頻單元、時鐘分頻單元、PWM脈寬采樣單元5、遙控/自駕信號切換使能單元、遙控/自駕信號切換單元、PWM周期采樣單元、PWM脈寬采樣單元
1、PWM脈寬采樣單元2、PWM脈寬采樣單元3、PWM脈寬采樣單元4、PWM脈寬采樣單元6、PWM信號產(chǎn)生單元1、PWM信號產(chǎn)生單元2、PWM信號產(chǎn)生單元3、PWM信號產(chǎn)生單元4、PWM信號產(chǎn)生單元6、DPRAM PWM端邏輯控制單元、DPRAM、DPRAM郵箱邏輯單元、單穩(wěn)態(tài)觸發(fā)器1、單穩(wěn)態(tài)觸發(fā)器2、單穩(wěn)態(tài)觸發(fā)器3、單穩(wěn)態(tài)觸發(fā)器4、DPRAM飛控端邏輯控制單元、SPI接口邏輯單元;
[0008]所述PLL倍頻單元,將晶振輸出時鐘,進行倍頻,用作全局時鐘,為整個FPGA提供時鐘源;所述時鐘分頻單元,輸出分頻時鐘,為用到計數(shù)器的邏輯單元提供計數(shù)時鐘;
[0009]所述PWM周期采樣單元,用于采樣遙控接收機輸出經(jīng)總線驅(qū)動I的遙控PWM信號周期,輸出粗精度和細精度的兩種周期值;所述PWM脈寬采樣單元1、PWM脈寬采樣單元2、PWM脈寬采樣單元3、PWM脈寬采樣單元4、PWM脈寬采樣單元5和PWM脈寬采樣單元6,用于采樣遙控接收機輸出經(jīng)總線驅(qū)動I的六路PWM信號脈寬,每個單元輸出粗精度和細精度的兩種脈寬值;PWM脈寬采樣單元5,采樣第5通道PWM信號的脈寬,通過遙控/自駕切換使能單元,輸出切換使能,經(jīng)遙控/自駕信號切換單元選擇遙控接收機輸出經(jīng)總線驅(qū)動的遙控PWM信號或經(jīng)PWM信號產(chǎn)生單元X產(chǎn)生的自駕PWM信號作為舵機控制信號,其中,X = 1,2,3,4,6,經(jīng)總線驅(qū)動2控制副翼舵機、升降舵機、油門舵機、方向舵機和任務(wù)舵機;
[0010]所述PWM信號產(chǎn)生單元1、PWM信號產(chǎn)生單元2、PWM信號產(chǎn)生單元3、PWM信號產(chǎn)生單元4和PWM信號產(chǎn)生單元6,用于產(chǎn)生控制舵機的自駕PWM信號,輸出到遙控/自駕信號切換單元;
[0011]所述DPRAM PWM端邏輯控制單元,連接DPRAM的PWM端,將采集到的遙控PWM周期值和脈寬值存儲到DPRAM中,以及將DPRAM中存有的PWM信號產(chǎn)生單元所需的自駕PWM周期值和脈寬值輸出到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ;
[0012]所述DPRAM,分為三個邏輯區(qū)域,邏輯區(qū)域I用于存儲郵箱通信內(nèi)容,邏輯區(qū)域II用于存儲采樣到的遙控PWM周期值和脈寬值;邏輯區(qū)域III用于存儲產(chǎn)生自駕P麗所需的周期值和脈寬值;DPRAM郵箱邏輯單元,用于產(chǎn)生郵箱中斷信號經(jīng)單穩(wěn)態(tài)觸發(fā)器1、單穩(wěn)態(tài)觸發(fā)器2、單穩(wěn)態(tài)觸發(fā)器3和單穩(wěn)態(tài)觸發(fā)器4,輸出給DPRAM PWM端邏輯控制單元和微處理器;
[0013]所述DPRAM飛控端邏輯控制單元,控制讀取DPRAM中存有的遙控PWM周期值和脈寬值到微處理器的飛控單元,以及控制將飛控單元經(jīng)算法運算后得到的PWM信號產(chǎn)生單元所用的自駕PWM周期值和脈寬值存儲到DPRAM中;
[0014]所述SPI接口邏輯單元,用作SPI總線信號處理,將SPI串行數(shù)據(jù)和DPRAM飛控邏輯控制單元的并行數(shù)據(jù)進行相互轉(zhuǎn)換。
[0015]一種使用所述的機載PWM信號轉(zhuǎn)換裝置的方法,所述的微處理器從DPRAM中讀取采樣到的遙控PWM周期和脈寬,以及向DPRAM中更新產(chǎn)生自駕PWM所用的周期和脈寬,包括上電自檢和主中斷兩部分,具體步驟為:
[0016]上電自檢查部分:
[0017]步驟201:開始;
[0018]步驟202:判斷采樣到的遙控PWM周期是否更新,即INT_F1中斷是否產(chǎn)生,如果產(chǎn)生,即INT_F1 == 1,則跳到步驟203,否則繼續(xù)回到步驟202 ;
[0019]步驟203:從DPRAM邏輯區(qū)域II讀取采樣到的遙控PWM周期;
[0020]步驟204:判斷周期是否在18?23ms之間,如果是,進入步驟205,否則回到步驟202 ;
[0021]步驟205:該周期作為產(chǎn)生自駕PWM所用的周期,寫到DPRAM邏輯區(qū)域III ;
[0022]步驟206:寫郵箱地址1,產(chǎn)生中斷INT_P1,通知DPRAM PWM端讀取產(chǎn)生自駕PWM所用的周期;
[0023]步驟207:讀郵箱地址1,清中斷INT_F1,完成周期更新,進入主中斷部分;
[0024]主中斷部分:
[0025]步驟208:判斷采樣到的遙控PWM脈寬是否更新,即INT_F2中斷是否產(chǎn)生,如果產(chǎn)生,即INT_F2 == 1,則跳到步驟209,否則繼續(xù)回到步驟208 ;
[0026]步驟209:從DPRAM邏輯區(qū)域II讀取采樣到的遙控PWM脈寬;
[0027]步驟210:向DPRAM邏輯區(qū)域III更新產(chǎn)生自駕PWM所用的脈寬;
[0028]步驟211:寫郵箱地址2,產(chǎn)生中斷INT_P2,通知DPRAM PWM端讀取產(chǎn)生自駕PWM所用的脈寬;
[0029]步驟212:讀郵箱地址2,清中斷INT_F2完成脈寬更新,跳到步驟208,進入下一中斷周期。
[0030]一種使用所述的機載PWM信號轉(zhuǎn)換裝置的方法,所述的DPRAM PWM端邏輯控制單元向DPRAM中更新采樣到的遙控PWM周期和脈寬,以及讀取DPRAM中產(chǎn)生自駕PWM所用的周期和脈寬;具體狀態(tài)躍遷關(guān)系為:
[0031]狀態(tài)301:空閑狀態(tài),在PWMl上升沿,躍遷到狀態(tài)302 ;
[0032]狀態(tài)302:寫遙控PWM周期狀態(tài),向DPRAM邏輯區(qū)域II更新采樣到的遙控P麗周期;自然躍遷到狀態(tài)303;
[0033]狀態(tài)303:產(chǎn)生中斷INT_F1,通知微處理器,已經(jīng)更新遙控PWM周期,可以讀?。蛔匀卉S遷到狀態(tài)304 ;
[0034]狀態(tài)304:等待讀取產(chǎn)生自駕PWM所用數(shù)據(jù)狀態(tài);如果PWMl上升沿到來且周期更新成功標志為0,躍遷到狀態(tài)302 ;如果INT_P1高電平,躍遷到狀態(tài)305 ;如果INT_P2高電平,躍遷到狀態(tài)308;
[0035]狀態(tài)305:讀取產(chǎn)生自駕PWM所用的周期狀態(tài),從DPRAM邏輯區(qū)域III讀取產(chǎn)生自駕PWM所用的周期到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ;自然躍遷到狀態(tài)306 ;
[0036]狀態(tài)306:周期更新成功標志置I狀態(tài),表明周期已成功更新;自然躍遷到狀態(tài)307 ;
[0037]狀態(tài)307:清中斷INT_P1狀態(tài),準備接收下次中斷;自然躍遷到狀態(tài)304 ;
[0038]狀態(tài)308:讀取產(chǎn)生自駕PWM所用的脈寬狀態(tài),從DPRAM邏輯區(qū)域III讀取產(chǎn)生自駕PWM所用的周期到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ;自然躍遷到狀態(tài)309 ;
[0039]狀態(tài)309:寫遙控PWM脈寬狀態(tài),將采樣到的遙控PWM脈寬數(shù)據(jù)寫入到DPRAM邏輯區(qū)域II;自然躍遷到狀態(tài)310;
[0040]狀態(tài)310:產(chǎn)生中斷INT_F2狀態(tài),通知微處理器,已經(jīng)更新遙控PWM脈寬,可以讀取;自然躍遷到狀態(tài)311;
[0041]狀態(tài)311:清中斷INT_P2狀態(tài),準備接收下次中斷;自然躍遷到狀態(tài)304 ;
[0042]一種使用所述的機載PWM信號轉(zhuǎn)換裝置的方法,其特征在于,所述的微處理器通過SPI接口邏輯單元向DPRAM飛控端邏輯控制單元發(fā)送的16位數(shù)據(jù)種類,包含命令和有效數(shù)據(jù)其中,有效數(shù)據(jù)是產(chǎn)生自駕PWM所用的周期和脈寬,命令包括命令標識域、片選域、讀寫使能域、基地址域和數(shù)據(jù)長度域;
[0043]所述命令標識域,bitl5和bitl4,若是11,表明是命令;
[0044]所述片選域,bitl3,若是1,則DPRAM飛控端片選有效;
[0045]所述讀寫使能域,bitl2,若是1,代表微處理器向DPRAM寫數(shù)據(jù),若是0,代表微處理器讀取DPRAM數(shù)據(jù);
[0046]所述基地址域,bitll?bit6,代表讀數(shù)據(jù)或?qū)憯?shù)據(jù)的起始地址;
[0047]所述數(shù)據(jù)長度域,bit5?bitO,代表讀數(shù)據(jù)或?qū)憯?shù)據(jù)的數(shù)據(jù)長度。
[0048]本發(fā)明的有益技術(shù)效果在于:
[0049](I)將周期采樣和脈寬采樣分模塊實現(xiàn),易于在上電自檢時,獲得不同型號遙控器PWM的周期,并以此作為自駕PWM的周期,從而提高機載PWM信號轉(zhuǎn)換裝置的通用性。
[0050](2) PWM周期采樣單元和PWM脈寬采樣單元,均對PWM信號進行粗計數(shù)和精計數(shù),提高遙控PWM信號采樣精度,通過PLL倍頻單元將精計數(shù)的計數(shù)時鐘提高到10MHz,從而使得測量精度達到10ns。同樣,PWM信號產(chǎn)生單元也使用粗計數(shù)和精計數(shù)結(jié)合的方法,使產(chǎn)生的自駕PWM精度也達到10ns。
[0051](3)利用DPRAM作為數(shù)據(jù)傳輸接口,不需要像FIFO頻繁的判斷標志位,從而提高數(shù)據(jù)傳輸速率;將DPRAM進行邏輯分區(qū),不同分區(qū)讀寫數(shù)據(jù)方向不同,避免DPRAM兩端產(chǎn)生讀寫沖突,從而提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性;雙郵箱的通信機制,使得DPRAM兩端可以在硬件中斷情況下完成數(shù)據(jù)交換,而不需再判斷郵箱內(nèi)容,從而提高了數(shù)據(jù)傳輸?shù)乃俣取?br>
[0052](4)遙控/自駕切換在FPGA中完成,不需要向飛控單元發(fā)送切換命令,從而使得在無人機飛行過程中,遇到緊急情況,可迅速切回遙控狀態(tài),提高飛行安全性。
[0053](5)機載PWM信號轉(zhuǎn)換裝置使用SPI總線與飛控單元通信,可將數(shù)據(jù)通信速率提高到40MHz,也節(jié)省CPU的1引腳。
[0054](6)利用FPGA,分模塊實現(xiàn)各功能,可根據(jù)不同的系統(tǒng)需求,靈活的擴展和裁剪功能模塊,以此適應(yīng)固定翼、多旋翼和自旋翼等無人機需求,以及拍照、傘降、投放等任務(wù)需求。
【專利附圖】
【附圖說明】
[0055]圖1是本發(fā)明的機載PWM信號轉(zhuǎn)換裝置功能結(jié)構(gòu)圖;
[0056]圖2是本發(fā)明的微處理器控制流程圖;
[0057]圖3是本發(fā)明的DPRAM PWM端邏輯控制單元狀態(tài)躍遷圖;
[0058]圖4是本發(fā)明的微處理器命令格式;
【具體實施方式】
[0059]下面結(jié)合附圖對本發(fā)明的具體實施作進一步的說明。
[0060]如圖1所示,一種機載PWM信號轉(zhuǎn)換裝置,包括晶振1、總線驅(qū)動I (3)、FPGA芯片4、總線驅(qū)動2(5)和微處理器6,F(xiàn)PGA芯片4作為信號轉(zhuǎn)換裝置核心元件,分別與晶振1、總線驅(qū)動I (3)、總線驅(qū)動2 (5)、微處理器6連接,所述FPGA芯片4上包括PLL倍頻單元401、時鐘分頻單元402、PWM脈寬采樣單元5(403)、遙控/自駕信號切換使能單元404、遙控/自駕信號切換單元405、PWM周期采樣單元406、PWM脈寬采樣單元1(407)、PWM脈寬采樣單元2(408)、PWM脈寬采樣單元3 (409)、PWM脈寬采樣單元4 (410)、PWM脈寬采樣單元6 (411)、PWM信號產(chǎn)生單元I (412)、PWM信號產(chǎn)生單元2 (413)、PWM信號產(chǎn)生單元3 (414)、PWM信號產(chǎn)生單元4 (415)、?麗信號產(chǎn)生單元6(416) ,DPRAM PWM端邏輯控制單元417、DPRAM418、DPRAM郵箱邏輯單元419、單穩(wěn)態(tài)觸發(fā)器I (420)、單穩(wěn)態(tài)觸發(fā)器2(421)、單穩(wěn)態(tài)觸發(fā)器3 (422)、單穩(wěn)態(tài)觸發(fā)器4 (423)、DPRAM飛控端邏輯控制單元424、SPI接口邏輯單元425 ;
[0061]所述PLL倍頻單元401,將晶振I輸出時鐘,進行倍頻,用作全局時鐘,為整個FPGA提供時鐘源;所述時鐘分頻單元402,輸出分頻時鐘,為用到計數(shù)器的邏輯單元提供計數(shù)時鐘;
[0062]所述PWM周期采樣單元406,用于采樣遙控接收機2輸出經(jīng)總線驅(qū)動1(3)的遙控PWM信號周期,輸出粗精度和細精度的兩種周期值;所述PWM脈寬采樣單元I (407)、PWM脈寬采樣單元2 (408)、PWM脈寬采樣單元3 (409)、PWM脈寬采樣單元4 (410)、PWM脈寬采樣單元5(403)和PWM脈寬采樣單元6(411),用于采樣遙控接收機2輸出經(jīng)總線驅(qū)動1(3)的六路PWM信號脈寬,每個單元輸出粗精度和細精度的兩種脈寬值;PWM脈寬采樣單元5 (403),采樣第5通道PWM信號的脈寬,通過遙控/自駕切換使能單元404,輸出切換使能,經(jīng)遙控/自駕信號切換單元405選擇遙控接收機2輸出經(jīng)總線驅(qū)動的遙控PWM信號或經(jīng)PWM信號產(chǎn)生單元X產(chǎn)生的自駕PWM信號作為舵機控制信號,其中,X = 1,2,3,4,6,經(jīng)總線驅(qū)動2(5)控制副翼舵機、升降舵機、油門舵機、方向舵機和任務(wù)舵機;
[0063]所述PWM信號產(chǎn)生單元1(412)、PWM信號產(chǎn)生單元2(413)、PWM信號產(chǎn)生單元3 (414)、PWM信號產(chǎn)生單元4 (415)和PWM信號產(chǎn)生單元6 (416),用于產(chǎn)生控制舵機的自駕PWM信號,輸出到遙控/自駕信號切換單元405 ;
[0064]所述DPRAM PWM端邏輯控制單元417,連接DPRAM418的PWM端,將采集到的遙控PWM周期值和脈寬值存儲到DPRAM418中,以及將DPRAM418中存有的PWM信號產(chǎn)生單元所需的自駕PWM周期值和脈寬值輸出到PWM信號產(chǎn)生單元x,其中,x = 1,2,3,4,6 ;
[0065]所述DPRAM418,分為三個邏輯區(qū)域,邏輯區(qū)域I用于存儲郵箱通信內(nèi)容,邏輯區(qū)域II用于存儲采樣到的遙控PWM周期值和脈寬值;邏輯區(qū)域III用于存儲產(chǎn)生自駕PWM所需的周期值和脈寬值;DPRAM郵箱邏輯單元419,用于產(chǎn)生郵箱中斷信號經(jīng)單穩(wěn)態(tài)觸發(fā)器I (420)、單穩(wěn)態(tài)觸發(fā)器2 (421)、單穩(wěn)態(tài)觸發(fā)器3 (422)和單穩(wěn)態(tài)觸發(fā)器4 (423),輸出給DPRAMPWM端邏輯控制單元和微處理器6 ;
[0066]所述DPRAM飛控端邏輯控制單元424,控制讀取DPRAM418中存有的遙控PWM周期值和脈寬值到微處理器6的飛控單元,以及控制將飛控單元經(jīng)算法運算后得到的PWM信號產(chǎn)生單元所用的自駕PWM周期值和脈寬值存儲到DPRAM418中;
[0067]所述SPI接口邏輯單元425,用作SPI總線信號處理,將SPI串行數(shù)據(jù)和DPRAM飛控邏輯控制單元的并行數(shù)據(jù)進行相互轉(zhuǎn)換。
[0068]如圖2所示,一種使用所述的機載PWM信號轉(zhuǎn)換裝置的方法,所述的微處理器6從DPRAM418中讀取采樣到的遙控PWM周期和脈寬,以及向DPRAM418中更新產(chǎn)生自駕PWM所用的周期和脈寬,包括上電自檢和主中斷兩部分,具體步驟為:
[0069]上電自檢部分:
[0070]步驟201:開始;
[0071]步驟202:判斷采樣到的遙控PWM周期是否更新,即INT_F1中斷是否產(chǎn)生,如果產(chǎn)生,即INT_F1 == 1,則跳到步驟203,否則繼續(xù)回到步驟202 ;
[0072]步驟203:從DPRAM邏輯區(qū)域II讀取采樣到的遙控PWM周期;
[0073]步驟204:判斷周期是否在18?23ms之間,如果是,進入步驟205,否則回到步驟202 ;
[0074]步驟205:該周期作為產(chǎn)生自駕PWM所用的周期,寫到DPRAM邏輯區(qū)域III ;
[0075]步驟206:寫郵箱地址1,產(chǎn)生中斷INT_P1,通知DPRAM PWM端讀取產(chǎn)生自駕PWM所用的周期;
[0076]步驟207:讀郵箱地址1,清中斷INT_F1,完成周期更新,進入主中斷部分;
[0077]主中斷部分:
[0078]步驟208:判斷采樣到的遙控PWM脈寬是否更新,即INT_F2中斷是否產(chǎn)生,如果產(chǎn)生,即INT_F2 == 1,則跳到步驟209,否則繼續(xù)回到步驟208 ;
[0079]步驟209:從DPRAM邏輯區(qū)域II讀取采樣到的遙控PWM脈寬;
[0080]步驟210:向DPRAM邏輯區(qū)域III更新產(chǎn)生自駕PWM所用的脈寬;
[0081]步驟211:寫郵箱地址2,產(chǎn)生中斷INT_P2,通知DPRAM PWM端讀取產(chǎn)生自駕PWM所用的脈寬;
[0082]步驟212:讀郵箱地址2,清中斷INT_F2完成脈寬更新,跳到步驟208,進入下一中斷周期。
[0083]如圖3所示,一種使用所述的機載PWM信號轉(zhuǎn)換裝置的方法,所述的DPRAM PWM端邏輯控制單元417向DPRAM418中更新采樣到的遙控PWM周期和脈寬,以及讀取DPRAM418中產(chǎn)生自駕PWM所用的周期和脈寬;具體狀態(tài)躍遷關(guān)系為:
[0084]狀態(tài)301:空閑狀態(tài),在PWMl上升沿,躍遷到狀態(tài)302 ;
[0085]狀態(tài)302:寫遙控PWM周期狀態(tài),向DPRAM邏輯區(qū)域II更新采樣到的遙控PWM周期;自然躍遷到狀態(tài)303;
[0086]狀態(tài)303:產(chǎn)生中斷INT_F1,通知微處理器6,已經(jīng)更新遙控PWM周期,可以讀??;自然躍遷到狀態(tài)304;
[0087]狀態(tài)304:等待讀取產(chǎn)生自駕PWM所用數(shù)據(jù)狀態(tài);如果PWMl上升沿到來且周期更新成功標志為0,躍遷到狀態(tài)302 ;如果INT_P1高電平,躍遷到狀態(tài)305 ;如果INT_P2高電平,躍遷到狀態(tài)308;
[0088]狀態(tài)305:讀取產(chǎn)生自駕PWM所用的周期狀態(tài),從DPRAM418邏輯區(qū)域III讀取產(chǎn)生自駕PWM所用的周期到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ;自然躍遷到狀態(tài)306 ;
[0089]狀態(tài)306:周期更新成功標志置I狀態(tài),表明周期已成功更新;自然躍遷到狀態(tài)307 ;
[0090]狀態(tài)307:清中斷INT_P1狀態(tài),準備接收下次中斷;自然躍遷到狀態(tài)304 ;
[0091]狀態(tài)308:讀取產(chǎn)生自駕PWM所用的脈寬狀態(tài),從DPRAM418邏輯區(qū)域III讀取產(chǎn)生自駕PWM所用的周期到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ;自然躍遷到狀態(tài)309 ;
[0092]狀態(tài)309:寫遙控PWM脈寬狀態(tài),將采樣到的遙控PWM脈寬數(shù)據(jù)寫入到DPRAM邏輯區(qū)域II;自然躍遷到狀態(tài)310;
[0093]狀態(tài)310:產(chǎn)生中斷INT_F2狀態(tài),通知微處理器6,已經(jīng)更新遙控PWM脈寬,可以讀??;自然躍遷到狀態(tài)311;
[0094]狀態(tài)311:清中斷INT_P2狀態(tài),準備接收下次中斷;自然躍遷到狀態(tài)304 ;
[0095]如圖4所示,一種使用所述的機載PWM信號轉(zhuǎn)換裝置的方法,其特征在于,所述的微處理器6通過SPI接口邏輯單元425向DPRAM飛控端邏輯控制單元424發(fā)送的16位數(shù)據(jù)種類,包含命令和有效數(shù)據(jù),其中,有效數(shù)據(jù)是產(chǎn)生自駕PWM所用的周期和脈寬,命令包括命令標識域、片選域、讀寫使能域、基地址域和數(shù)據(jù)長度域;
[0096]所述命令標識域,bitl5和bitl4,若是11,表明是命令;
[0097]所述片選域,bitl3,若是1,則DPRAM418飛控端片選有效;
[0098]所述讀寫使能域,bitl2,若是1,代表微處理器6向DPRAM418寫數(shù)據(jù),若是0,代表微處理器6讀取DPRAM418數(shù)據(jù);
[0099]所述基地址域,bitll?bit6,代表讀數(shù)據(jù)或?qū)憯?shù)據(jù)的起始地址;
[0100]所述數(shù)據(jù)長度域,bit5?bitO,代表讀數(shù)據(jù)或?qū)憯?shù)據(jù)的數(shù)據(jù)長度。
[0101]最后說明的是本發(fā)明的一種機載PWM信號轉(zhuǎn)換裝置與方法不局限于上述實施例,還可以做出各種修改、變換和變形。因此,說明書和附圖應(yīng)被認為是說明性的而非限制性的。凡是依據(jù)本發(fā)明的技術(shù)方案進行修改、修飾或等同變化,而不脫離本發(fā)明技術(shù)方案的思想和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。
【權(quán)利要求】
1.一種機載PWM信號轉(zhuǎn)換裝置,包括晶振(I)、總線驅(qū)動I (3)、FPGA芯片(4)、總線驅(qū)動2(5)和微處理器(6),F(xiàn)PGA芯片(4)作為信號轉(zhuǎn)換裝置核心元件,分別與晶振(I)、總線驅(qū)動I (3)、總線驅(qū)動2 (5)、微處理器(6)連接,其特征在于,所述FPGA芯片(4)內(nèi)包括PLL倍頻單元(401)、時鐘分頻單元(402)、PWM脈寬采樣單元5 (403)、遙控/自駕信號切換使能單元(404)、遙控/自駕信號切換單元(405)、PWM周期采樣單元(406)、PWM脈寬采樣單元I (407)、PWM脈寬采樣單元2 (408)、PWM脈寬采樣單元3 (409)、PWM脈寬采樣單元4 (410)、PWM脈寬采樣單元6 (411)、PWM信號產(chǎn)生單元I (412)、PWM信號產(chǎn)生單元2 (413)、PWM信號產(chǎn)生單元3 (414)、PWM信號產(chǎn)生單元4 (415)、PWM信號產(chǎn)生單元6 (416)、DPRAM PWM端邏輯控制單元(417)、DPRAM (418)、DPRAM郵箱邏輯單元(419)、單穩(wěn)態(tài)觸發(fā)器I (420)、單穩(wěn)態(tài)觸發(fā)器2(421)、單穩(wěn)態(tài)觸發(fā)器3(422)、單穩(wěn)態(tài)觸發(fā)器4(423)、DPRAM飛控端邏輯控制單元(424)、SPI接口邏輯單元(425); 所述PLL倍頻單元(401),將晶振(I)輸出時鐘,進行倍頻,用作全局時鐘,為整個FPGA提供時鐘源;所述時鐘分頻單元(402),輸出分頻時鐘,為用到計數(shù)器的邏輯單元提供計數(shù)時鐘; 所述PWM周期采樣單元(406),用于采樣遙控接收機(2)輸出經(jīng)總線驅(qū)動1(3)的遙控PWM信號周期,輸出粗精度和細精度的兩種周期值;所述PWM脈寬采樣單元1(407)、PWM脈寬采樣單元2 (408)、PWM脈寬采樣單元3 (409)、PWM脈寬采樣單元4 (410)、PWM脈寬采樣單元5 (403)和PWM脈寬采樣單元6(411),用于采樣遙控接收機(2)輸出經(jīng)總線驅(qū)動I (3)的六路PWM信號脈寬,每個單元輸出粗精度和細精度的兩種脈寬值;PWM脈寬采樣單元5 (403),采樣第5通道PWM信號的脈寬,通過遙控/自駕切換使能單元(404),輸出切換使能,經(jīng)遙控/自駕信號切換單元(405)選擇遙控接收機(2)輸出經(jīng)總線驅(qū)動的遙控PWM信號或經(jīng)PWM信號產(chǎn)生單元X產(chǎn)生的自駕PWM信號作為舵機控制信號,其中,X = 1,2,3,4,6,經(jīng)總線驅(qū)動2(5)控制副翼舵機、升降舵機、油門舵機、方向舵機和任務(wù)舵機; 所述PWM信號產(chǎn)生單元I (412) ,PWM信號產(chǎn)生單元2 (413) ,PWM信號產(chǎn)生單元3 (414)、PWM信號產(chǎn)生單元4(415)和PWM信號產(chǎn)生單元6(416),用于產(chǎn)生控制舵機的自駕PWM信號,輸出到遙控/自駕信號切換單元(405); 所述DPRAM PWM端邏輯控制單元(417),連接DPRAM (418)的PWM端,將采集到的遙控PWM周期值和脈寬值存儲到DPRAM(418)中,以及將DPRAM(418)中存有的PWM信號產(chǎn)生單元所需的自駕PWM周期值和脈寬值輸出到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ; 所述DPRAM(418),分為三個邏輯區(qū)域,邏輯區(qū)域I用于存儲郵箱通信內(nèi)容,邏輯區(qū)域II用于存儲采樣到的遙控PWM周期值和脈寬值;邏輯區(qū)域III用于存儲產(chǎn)生自駕PWM所需的周期值和脈寬值;DPRAM郵箱邏輯單元(419),用于產(chǎn)生郵箱中斷信號,經(jīng)單穩(wěn)態(tài)觸發(fā)器I(420)、單穩(wěn)態(tài)觸發(fā)器2 (421)、單穩(wěn)態(tài)觸發(fā)器3 (422)和單穩(wěn)態(tài)觸發(fā)器4 (423),輸出給DPRAMPWM端邏輯控制單元和微處理器(6); 所述DPRAM飛控端邏輯控制單元(424),控制讀取DPRAM (418)中存有的遙控PWM周期值和脈寬值到微處理器出)的飛控單元,以及控制將飛控單元經(jīng)算法運算后得到的PWM信號產(chǎn)生單元所用的自駕PWM周期值和脈寬值存儲到DPRAM(418)中; 所述SPI接口邏輯單元(425),用作SPI總線信號處理,將SPI串行數(shù)據(jù)和DPRAM飛控邏輯控制單元的并行數(shù)據(jù)進行相互轉(zhuǎn)換。
2.一種使用權(quán)利要求1所述的機載PWM信號轉(zhuǎn)換裝置的方法,其特征在于,所述的微處理器(6)從DPRAM(418)中讀取采樣到的遙控PWM周期和脈寬,以及向DPRAM(418)中更新產(chǎn)生自駕PWM所用的周期和脈寬,包括上電自檢和主中斷兩部分,具體步驟為: 上電自檢部分: 步驟201:開始; 步驟202:判斷采樣到的遙控PWM周期是否更新,即INT_F1中斷是否產(chǎn)生,如果產(chǎn)生,即INT_F1 == 1,則跳到步驟203,否則繼續(xù)回到步驟202 ; 步驟203:從DPRAM邏輯區(qū)域II讀取采樣到的遙控PWM周期; 步驟204:判斷周期是否在18?23ms之間,如果是,進入步驟205,否則回到步驟202 ; 步驟205:該周期作為產(chǎn)生自駕PWM所用的周期,寫到DPRAM邏輯區(qū)域III ; 步驟206:寫郵箱地址1,產(chǎn)生中斷INT_P1,通知DPRAM PWM端讀取產(chǎn)生自駕PWM所用的周期; 步驟207:讀郵箱地址1,清中斷INT_F1,完成周期更新,進入主中斷部分; 主中斷部分: 步驟208:判斷采樣到的遙控PWM脈寬是否更新,即INT_F2中斷是否產(chǎn)生,如果產(chǎn)生,即INT_F2 == 1,則跳到步驟209,否則繼續(xù)回到步驟208 ; 步驟209:從DPRAM邏輯區(qū)域II讀取采樣到的遙控PWM脈寬; 步驟210:向DPRAM邏輯區(qū)域III更新產(chǎn)生自駕PWM所用的脈寬; 步驟211:寫郵箱地址2,產(chǎn)生中斷INT_P2,通知DPRAM PWM端讀取產(chǎn)生自駕PWM所用的脈寬; 步驟212:讀郵箱地址2,清中斷INT_F2完成脈寬更新,跳到步驟208,進入下一中斷周期。
3.一種使用權(quán)利要求1所述的機載PWM信號轉(zhuǎn)換裝置的方法,其特征在于,所述的DPRAM PWM端邏輯控制單元(417)向DPRAM(418)中更新采樣到的遙控PWM周期和脈寬,以及讀取DPRAM (418)中產(chǎn)生自駕PWM所用的周期和脈寬;具體狀態(tài)躍遷關(guān)系為: 狀態(tài)301:空閑狀態(tài),在PWMl上升沿,躍遷到狀態(tài)302 ; 狀態(tài)302:寫遙控PWM周期狀態(tài),向DPRAM邏輯區(qū)域II更新采樣到的遙控PWM周期;自然躍遷到狀態(tài)303 ; 狀態(tài)303:產(chǎn)生中斷INT_F1,通知微處理器(6),已經(jīng)更新遙控PWM周期,可以讀??;自然躍遷到狀態(tài)304 ; 狀態(tài)304:等待讀取產(chǎn)生自駕PWM所用數(shù)據(jù)狀態(tài);如果PWMl上升沿到來且周期更新成功標志為0,躍遷到狀態(tài)302 ;如果INT_P1高電平,躍遷到狀態(tài)305 ;如果INT_P2高電平,躍遷到狀態(tài)308 ; 狀態(tài)305:讀取產(chǎn)生自駕PWM所用的周期狀態(tài),從DPRAM(418)邏輯區(qū)域III讀取產(chǎn)生自駕PWM所用的周期到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ;自然躍遷到狀態(tài)306 ;狀態(tài)306:周期更新成功標志置I狀態(tài),表明周期已成功更新;自然躍遷到狀態(tài)307 ;狀態(tài)307:清中斷INT_P1狀態(tài),準備接收下次中斷;自然躍遷到狀態(tài)304 ; 狀態(tài)308:讀取產(chǎn)生自駕PWM所用的脈寬狀態(tài),從DPRAM(418)邏輯區(qū)域III讀取產(chǎn)生自駕PWM所用的周期到PWM信號產(chǎn)生單元X,其中,X = 1,2,3,4,6 ;自然躍遷到狀態(tài)309 ; 狀態(tài)309:寫遙控PWM脈寬狀態(tài),將采樣到的遙控PWM脈寬數(shù)據(jù)寫入到DPRAM邏輯區(qū)域II;自然躍遷到狀態(tài)310 ; 狀態(tài)310:產(chǎn)生中斷INT_F2狀態(tài),通知微處理器¢),已經(jīng)更新遙控PWM脈寬,可以讀取;自然躍遷到狀態(tài)311; 狀態(tài)311:清中斷INT_P2狀態(tài),準備接收下次中斷;自然躍遷到狀態(tài)304。
4.一種使用權(quán)利要求1所述的機載PWM信號轉(zhuǎn)換裝置的方法,其特征在于,所述的微處理器(6)通過SPI接口邏輯單元(425)向DPRAM飛控端邏輯控制單元(424)發(fā)送的16位數(shù)據(jù)種類,包含命令和有效數(shù)據(jù),其中,有效數(shù)據(jù)是產(chǎn)生自駕PWM所用的周期和脈寬,命令包括命令標識域、片選域、讀寫使能域、基地址域和數(shù)據(jù)長度域; 所述命令標識域,bitl5和bitl4,若是11,表明是命令; 所述片選域,bitl3,若是1,則DPRAM (418)飛控端片選有效; 所述讀寫使能域,bitl2,若是1,代表微處理器(6)向DPRAM(418)寫數(shù)據(jù),若是0,代表微處理器(6)讀取DPRAM (418)數(shù)據(jù); 所述基地址域,bitll?bit6,代表讀數(shù)據(jù)或?qū)憯?shù)據(jù)的起始地址; 所述數(shù)據(jù)長度域,bit5?bitO,代表讀數(shù)據(jù)或?qū)憯?shù)據(jù)的數(shù)據(jù)長度。
【文檔編號】H03K7/08GK104300943SQ201410413652
【公開日】2015年1月21日 申請日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
【發(fā)明者】丑武勝, 黃海明 申請人:丑武勝, 黃海明