《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > FPGA與ARM的無人機陀螺儀數(shù)據(jù)接口設(shè)計
FPGA與ARM的無人機陀螺儀數(shù)據(jù)接口設(shè)計
來源:電子技術(shù)應(yīng)用2014年第1期
應(yīng) 進(jìn),潘浩曼,代冀陽,陸 歡
(南昌航空大學(xué) 信息工程學(xué)院,江西 南昌330063)
摘要: 在無人機系統(tǒng)與地面站通信過程中,機載陀螺儀姿態(tài)數(shù)據(jù)的高速產(chǎn)生與外部相對低速的無線數(shù)據(jù)模塊傳輸?shù)拿苋找嫱怀觯瑖?yán)重制約著無人機的發(fā)展。針對這一問題,采用FPGA FIFO作為高速數(shù)據(jù)緩沖,提出一種基于FPGA內(nèi)建FIFO的無人機陀螺儀前級通信接口。通過高速異步FIFO緩沖,將無人機陀螺儀姿態(tài)數(shù)據(jù)經(jīng)由FPGA準(zhǔn)確無誤地發(fā)送給地面站,顯著提高數(shù)據(jù)傳輸質(zhì)量,實現(xiàn)了高速芯片與低速設(shè)備之間的通信。整個設(shè)計在實際應(yīng)用中效果良好,數(shù)據(jù)穩(wěn)定可靠,滿足了低誤碼率與高穩(wěn)定性的要求,以及無人機與地面站高速通信的需求,有著廣闊的市場應(yīng)用前景。
關(guān)鍵詞: FPGA FIFO ARM無人機 陀螺儀
中圖分類號: TP29
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2014)01-0009-04
Design of data interface between FPGA and ARM gyroscope
Ying Jin,Pan Haoman,Dai Jiyang,Lu Huan
School of Information Engineering,Nanchang Hangkong University, Nanchang 330063,China
Abstract: During the process of communication between UAV and ground station, confliction between high speed on board gyroscope and low speed external wireless data transmission module is increasingly serious. It is badly restricting the development of UVA. Inorder to solve this problem, this paper uses high-speed FIFO as data buffer, building up an interface of the UVA gyroscope which is based on the FPGA FIFO. Gyroscope data is transferred accurately to ground station via high-speed FIFO which is built in FPGA. By this way,we highly improve the quality of data transmission, and achieve the communication between high-speed chips and low-speed equipments. The design works perfectly in pratical application, and the data is stable and reliable with low error rate and high stabe rate. The whole plan meets the communication demand between UAV and ground station.
Key words : FIFO;FPGA;ARM UAV;gyroscope

    無人機系統(tǒng)對于地面站發(fā)送的控制信號以及飛行器傳回的姿態(tài)數(shù)據(jù)有著極高的實時性、可靠性與穩(wěn)定性要求,這對無人機通信系統(tǒng)設(shè)計提出了新的挑戰(zhàn)。對于采用ARM作為微處理器的無人機系統(tǒng)來說,系統(tǒng)往往需要協(xié)調(diào)基于ARM處理器的高速陀螺儀模塊與相對低速的外部無線數(shù)據(jù)傳輸模塊間的工作。在通信高穩(wěn)定性與低誤碼率的要求下,處理器不得不花時間運行空操作來等待外部相對低速的傳輸模塊完成一幀數(shù)據(jù)的收/發(fā)。由于等待所浪費的處理器運算周期無形中降低了整個飛控系統(tǒng)的實時性,進(jìn)而帶來許多潛在的不穩(wěn)定因素。
    本設(shè)計結(jié)合無人機系統(tǒng)發(fā)展需求,采用FPGA FIFO[1]作為高速數(shù)據(jù)緩沖,提出一種基于FPGA內(nèi)建FIFO的無人機陀螺儀前級通信接口。通過高速異步FIFO緩沖,將無人機陀螺儀姿態(tài)數(shù)據(jù)經(jīng)由FPGA準(zhǔn)確無誤地發(fā)送給地面站,保證了傳輸質(zhì)量,架起了高速芯片與低速設(shè)備之間溝通的橋梁。
1 FPGA內(nèi)建FIFO的基本工作原理
    FIFO即先進(jìn)先出隊列,采用環(huán)形存儲電路結(jié)構(gòu),是一種傳統(tǒng)的按序執(zhí)行方法。先進(jìn)入的指令先完成并引退,隨后才執(zhí)行第二條指令,是一種先進(jìn)先出的數(shù)據(jù)緩存器。根據(jù)FIFO的讀寫時鐘頻率是否相同,可將FIFO分為同步FIFO與異步FIFO[2]。FIFO的應(yīng)用可以很好地協(xié)調(diào)不同時鐘、不同數(shù)據(jù)寬度數(shù)據(jù)的通信,滿足高/低速時鐘頻率要求。與普通存儲器相比,F(xiàn)IFO沒有外部讀寫地址線,使用方便。
    本文設(shè)計采用FPGA異步FIFO連接基于ARM處理器的高速無人機陀螺儀模塊與相對低速的無線數(shù)據(jù)傳輸外設(shè)。從硬件的觀點來看,F(xiàn)IFO實質(zhì)上就是一塊數(shù)據(jù)內(nèi)存。異步FIFO采用2個時鐘信號控制其讀寫操作,分別為寫時鐘(wrclk)和讀時鐘(rdclk)。一個用來寫數(shù)據(jù),即將數(shù)據(jù)存入FIFO;另一個用來讀數(shù)據(jù),即將數(shù)據(jù)從FIFO中取出。與FIFO操作相關(guān)的有兩個指針:寫指針指向要寫的內(nèi)存部分;讀指針指向要讀的內(nèi)存部分。FIFO控制器通過外部的讀寫信號控制這兩個指針移動,并由此產(chǎn)生FIFO空信號或滿信號。讀寫時鐘相互獨立設(shè)計,有效地保證了FIFO兩端數(shù)據(jù)的異步通信,其模塊框圖[3]如圖1所示。其中,異步FIFO模塊共有9個端口,分別為數(shù)據(jù)輸入(datda[15..0])、寫請求(wrreq)、寫時鐘(wrclk)、緩沖器滿信號(wrful)、讀請求(rdreq)、讀時鐘(rdclk)、數(shù)據(jù)讀出(q[15..0])、緩沖器空信號(rdempty)、緩沖器清空信號(aclr)。

2 基于ARM的無人機陀螺儀接口結(jié)構(gòu)
    由于機載燃油和電能儲備的制約,無人機載設(shè)備要求小巧輕便,能效比高,因此對芯片的選型及電路結(jié)構(gòu)提出了較高的要求。綜合穩(wěn)定性、數(shù)據(jù)精度、工作溫度、封裝體積以及能耗等各方面因素,對無人機陀螺儀傳感器經(jīng)行嚴(yán)格篩選,確定了如圖2所示的陀螺儀方案。

    無人機陀螺儀的主控芯片選用ARM 32 bit CortexTM M3內(nèi)核的STM32F103T8處理器。其內(nèi)建64 KB的閃存存儲器和20 KB的運行內(nèi)存,以及7通道的DMA、7個定時器、2個UART端口等。通過板載的8 MHz晶體和STM32內(nèi)部的PLL,控制器可以運行在72 MHz的主頻上,為姿態(tài)解算[4]提供強大的硬件支持。
    三軸加速度與三軸角速度傳感器采用Invensense公司的MPU-6050單芯片方案,此芯片為全球首例整合性6軸運動處理組件,相比其他多芯片實現(xiàn)方案,免除了整合陀螺儀與加速度器軸間差的問題,大大減少了封裝空間。
    三軸磁力計采用Honeywell公司的HMC5883L芯片,此芯片內(nèi)部采用先進(jìn)的高分辨率HMC188X系列磁阻傳感器與行業(yè)領(lǐng)先的各向異性磁阻技術(shù)(AMR),具有軸向高靈敏度和線性高精度的特點,測量范圍從毫高斯到8高斯(gauss),穩(wěn)定可靠。
    氣壓傳感器采用博世公司的BMP180芯片,該芯片性能卓越,絕對精度可以達(dá)到0.03 hpa,并且功耗極低,只有3 ?滋A。傳感器采用強大的7 pin陶瓷無引線芯片承載(LCC)超薄封裝,安裝使用方便。各傳感器與ARM處理器采用I2C總線連接,示意圖如圖3所示。

3 FPGA FIFO與陀螺儀的連接
    結(jié)合無人機ARM陀螺儀的特點,為了適應(yīng)過程的復(fù)雜性,實現(xiàn)操作的簡便性,設(shè)計選用Altera公司的CycloneII系列芯片EP2C8Q208C8N,在QuartuesII平臺上進(jìn)行Verilog代碼設(shè)計,使用Altera公司提供的FIFO IP核[5]。此方案穩(wěn)定高效,易于開發(fā)。
3.1 陀螺儀與FIFO及FPGA的連接
    處理器采集各傳感器信號,在ARM內(nèi)部進(jìn)行姿態(tài)解算,進(jìn)而得到俯仰角、橫滾角、航向角、氣壓、高度和溫度信息。為了及時將解算得到的數(shù)據(jù)發(fā)送回地面站,處理器控制寫請求信號wrreq和寫時鐘wrclk將這些數(shù)據(jù)高速寫入FIFO,然后回到飛行控制程序,進(jìn)行下一周期的姿態(tài)解算。FIFO在數(shù)據(jù)寫滿后,寫滿標(biāo)志位wrfull會置高電平,ARM處理器通過檢測寫滿標(biāo)志位的狀態(tài)來判斷是否繼續(xù)寫入數(shù)據(jù)。
    與此同時,在FPGA中通過檢測所讀取FIFO是否為空標(biāo)志位rdempty來判斷是否繼續(xù)讀取數(shù)據(jù)。讀空標(biāo)志位為低電平代表FIFO中有數(shù)據(jù),可以讀取,則配合讀請求信號rdreq和讀時鐘rdclk及時讀取數(shù)據(jù),直到將數(shù)據(jù)全部讀出,標(biāo)志位變?yōu)楦唠娖?,此時FIFO中已經(jīng)沒有數(shù)據(jù)。基于ARM的陀螺儀與FIFO及FPGA的連接如圖4所示。

3.2 FIFO的配置與讀寫操作
    針對上述ARM陀螺儀接口特點,對FIFO進(jìn)行配置如下。
    FIFO Width    :            16        bit
    FIFO Depth    :            2 048    words
Synchronize reading and writing clock    :    YES
Asynchronous clear                    :    YES
    設(shè)計采用位寬為16 bit、深度為2 048且?guī)в型角辶愣薣6]的異步FIFO結(jié)構(gòu),其寫時序與讀時序分別如圖5、圖6所示。

    狀態(tài)機跳轉(zhuǎn)部分控制代碼如下:
    always@(posedge SYSCLK or negedge RST )
    begin
    if(!RST)
        state <= idle;
    else
        case(state)
            idle:
                begin
                    data[15:0]    <= 16&prime;d0;
                    wrreq        <= 1&prime;b1;
                    rdreq        <= 1&prime;b0;
                    aclr            <= 1&prime;b0;
                    state            <= write;
                end
            read:
              if(rdempty != 1&prime;b1 && rdreq ==1&prime;b1)
                  read_start <= 1&prime;b1;
              else
                  begin
                      read_start <= 1&prime;b0;
                      wrreq     <= 1&prime;b1;
                      state        <= idle;
                  end
              write:
                  if(wrfull!= 1&prime;b1 && wrreq == 1&prime;b1)
                      write_start     <= 1&prime;b1;
                  else
                      begin
                          write_start <= 1&prime;b0;
                          rdreq     <= 1&prime;b1;
                          state        <= read;    
                      end
              default:    state        <= idle;
          endcase
  end
4 系統(tǒng)仿真效果
    綜合運用QuartuesII[9]與ModelSim SE[10]先進(jìn)仿真工具,結(jié)合FPGA內(nèi)建FIFO與基于ARM的無人機陀螺儀接口設(shè)計方法,仿真結(jié)果如圖8、圖9所示。

 

 

    從圖8中仿真結(jié)果得知,在寫入時鐘頻率為100 MHz、寫滿標(biāo)志位為低電平時,待寫入數(shù)據(jù)data在每個寫入時鐘上升沿來臨后被準(zhǔn)確寫入FIFO的存儲區(qū);隨后在讀出時鐘頻率為5 MHz且讀空標(biāo)志位為低電平的情況下,待讀出數(shù)據(jù)q在每個讀時鐘上升沿來臨后被正確讀出,系統(tǒng)讀寫數(shù)據(jù)穩(wěn)定準(zhǔn)確,符合設(shè)計需求。
    圖9為通過此通信接口讀取得到的無人機飛行姿態(tài)數(shù)據(jù),包括俯仰角、偏航角、滾轉(zhuǎn)角,以圖表形式予以顯示。數(shù)據(jù)精度與實驗結(jié)果理想,驗證了FPGA與ARM無人機陀螺儀數(shù)據(jù)接口設(shè)計方案穩(wěn)定可靠。
  本文提出了基于FPGA內(nèi)建FIFO與ARM的無人機陀螺儀數(shù)據(jù)接口設(shè)計方法,解決了無人機ARM處理器與相對低速無線發(fā)送模塊直接數(shù)據(jù)傳輸時傳輸速度不匹配的難題,實現(xiàn)了ARM處理器將無人機姿態(tài)數(shù)據(jù)高速寫入FIFO后就可以立即返回、無需等待的功能,節(jié)約了處理器資源,使得無人機系統(tǒng)的可靠性與穩(wěn)定性得到大幅提升。仿真驗證表明,讀寫數(shù)據(jù)準(zhǔn)確無誤,顯著提高了數(shù)據(jù)傳輸速度與數(shù)據(jù)質(zhì)量,證明了本方案的可行性與正確性。面對高速數(shù)據(jù)傳輸?shù)男枨?,該系統(tǒng)還可廣泛應(yīng)用于其他需要高無線數(shù)據(jù)傳輸?shù)念I(lǐng)域,有較高的理論意義和應(yīng)用價值。
參考文獻(xiàn)
[1] 秦鴻剛,劉京科,吳迪.基于FPGA的雙口RAM實現(xiàn)及應(yīng)用[J].電子工程設(shè)計,2010,2(2):72-74.
[2] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2008.
[3] BAKER R J,LI H W,BOYEE D E.CMOS電路設(shè)計布局與仿真[M].陳中建,譯.北京:機械工業(yè)出版社,2006.
[4] PAVLLOV A.CMOS SRAM circuit design and parame tric  test in Nano-Scaled technologies[M].New York:Springer,2008.
[5] 單立超,謝雪松.基于FPGA的一種可變幀數(shù)字分接技術(shù)[J].電子技術(shù)應(yīng)用,2013,32(2):27-30.
[6] 何濤.基于軟硬件協(xié)同技術(shù)的FPGA測試平臺設(shè)計及測試實現(xiàn)[D].成都:電子科技大學(xué),2009.
[7] 徐國強,張萌.基于FPGA的高性能視頻信號采集系統(tǒng)設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2012,31(6):72-75.
[8] BRIAN D,ANDREW S,CHAN K.RAM with configurable  depth and width[P].US:6578 104.1 8.22,June 2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品资源| 亚洲免费观看高清在线观看| 欧美激情综合色综合啪啪| 久久激情视频久久| 午夜精品999| 亚洲综合日韩在线| 亚洲午夜日本在线观看| 99国产麻豆精品| 亚洲久久在线| 99re8这里有精品热视频免费 | 久久网站热最新地址| 欧美一区二区三区免费视| 亚洲女人天堂av| 午夜免费在线观看精品视频| 亚洲在线中文字幕| 亚洲欧美日韩爽爽影院| 亚洲欧美国产77777| 午夜在线精品偷拍| 欧美一区视频| 久久精品30| 久久这里有精品15一区二区三区 | 国产一区视频观看| 精品福利电影| 亚洲国产精品尤物yw在线观看 | 欧美一区二区三区视频免费| 欧美一二三区在线观看| 香蕉久久夜色| 亚洲第一精品久久忘忧草社区| 亚洲电影在线观看| 亚洲美女中文字幕| 一区二区精品国产| 亚洲综合首页| 久久久久久久综合日本| 久久综合色综合88| 欧美激情片在线观看| 欧美日韩亚洲国产精品| 国产精品www色诱视频| 国产精品一区久久| 国内精品美女在线观看| 亚洲国产精品一区二区www在线| 日韩视频在线永久播放| 亚洲天天影视| 欧美与黑人午夜性猛交久久久| 亚洲第一色在线| 一本大道久久精品懂色aⅴ| 亚洲中字在线| 久久久久99| 欧美国产亚洲另类动漫| 国产精品久久久久久久第一福利| 国产日韩av高清| 在线国产精品播放| 99精品99久久久久久宅男| 午夜精品影院在线观看| 亚洲国产欧美日韩| 亚洲亚洲精品在线观看 | 久久亚洲综合网| 欧美日韩国产成人高清视频| 国产精品视频区| 亚洲成色777777在线观看影院| 日韩一级片网址| 久久99在线观看| 一本色道久久综合亚洲精品婷婷| 欧美在线观看网站| 欧美黄在线观看| 国产欧美日韩三区| 亚洲肉体裸体xxxx137| 午夜日韩电影| 中文日韩在线视频| 久久久噜噜噜久久中文字幕色伊伊| 欧美激情精品久久久久久| 国产精品稀缺呦系列在线| 激情综合五月天| 一区二区三区国产| 亚洲人www| 久久九九国产| 国产精品久久久久久久浪潮网站 | 午夜精品在线看| 一区二区三区国产精品| 久久久久国内| 国产精品久久久久久久久| 亚洲国产精品第一区二区三区| 亚洲欧美中文日韩在线| 日韩一级黄色av| 久久一区精品| 国产麻豆午夜三级精品| 亚洲狼人精品一区二区三区| 亚洲国产成人精品久久久国产成人一区| 亚洲综合色自拍一区| 欧美精品福利在线| 一区二区三区在线观看视频| 亚洲欧美一区二区原创| 亚洲专区一区| 欧美片网站免费| 亚洲国内高清视频| 亚洲承认在线| 久久激情五月丁香伊人| 国产精品国产三级国产专区53 | 国产精品久久久久久久7电影| 亚洲人成亚洲人成在线观看| 欧美伊久线香蕉线新在线| 亚洲欧美日本国产专区一区| 欧美日韩亚洲不卡| 亚洲人成在线观看网站高清| 亚洲福利视频在线| 久久电影一区| 国产欧美日韩综合一区在线观看| 亚洲色无码播放| 亚洲影院免费| 欧美午夜宅男影院| 亚洲卡通欧美制服中文| 日韩一区二区精品葵司在线| 欧美韩日亚洲| 91久久线看在观草草青青| 久久精品视频网| 久久中文字幕一区| 韩国av一区二区| 久久精品亚洲精品| 久久综合给合久久狠狠狠97色69| 国产性猛交xxxx免费看久久| 欧美一级成年大片在线观看| 久久国产乱子精品免费女| 国产精品午夜在线观看| 亚洲欧美日韩在线高清直播| 西西裸体人体做爰大胆久久久 | 国产欧美日韩在线视频| 亚洲欧美伊人| 久久成年人视频| 韩国美女久久| 亚洲高清视频中文字幕| 麻豆av一区二区三区| 亚洲二区在线视频| 亚洲精品久久久久久下一站 | 午夜精品一区二区三区在线播放 | 欧美日韩一区二区视频在线观看| 99精品免费| 亚洲资源av| 国产精品永久免费在线| 午夜精品婷婷| 久久综合一区二区| 亚洲国产日韩在线| 夜夜躁日日躁狠狠久久88av| 国产精品久久久久久超碰| 性亚洲最疯狂xxxx高清| 久热国产精品| 亚洲日本一区二区三区| 亚洲一区国产| 国产主播精品在线| 亚洲欧洲视频| 欧美色大人视频| 午夜精品视频| 嫩草影视亚洲| 一区二区毛片| 久久成人免费网| 在线看一区二区| 这里只有精品在线播放| 国产欧美三级| 亚洲精品在线电影| 国产精品国产三级国产a| 欧美在线视频一区| 欧美精品一区在线发布| 亚洲在线国产日韩欧美| 老牛国产精品一区的观看方式| 亚洲欧洲精品一区二区三区| 亚洲在线免费观看| 黄色日韩在线| 一区二区久久| 国产有码在线一区二区视频| 99国内精品久久| 国产精品亚洲一区二区三区在线| 亚洲国产精彩中文乱码av在线播放| 欧美日韩不卡在线| 午夜在线视频观看日韩17c| 免费观看成人| 亚洲专区在线| 欧美激情综合在线| 亚洲欧美日韩精品久久久久| 牛牛国产精品| 午夜免费在线观看精品视频| 欧美激情1区| 羞羞色国产精品| 欧美日本一道本在线视频| 欧美亚洲三区| 欧美日韩在线第一页| 亚洲第一福利视频| 国产精品伦理| 日韩亚洲欧美一区| 国产亚洲观看| 亚洲网址在线| 亚洲电影欧美电影有声小说| 亚洲欧美日韩在线| 亚洲欧洲一区二区天堂久久| 欧美中文字幕在线视频| 亚洲乱码精品一二三四区日韩在线 | 亚洲免费在线精品一区| 在线日韩av永久免费观看| 亚洲欧美一区二区三区久久| 亚洲国产精品福利| 久久久精品2019中文字幕神马| 9l视频自拍蝌蚪9l视频成人| 蜜臀久久99精品久久久画质超高清 |