<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 基于STM32的無(wú)人機(jī)陀螺儀應(yīng)用詳解

          基于STM32的無(wú)人機(jī)陀螺儀應(yīng)用詳解

          作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò) 收藏

            在無(wú)人機(jī)系統(tǒng)與地面站通信過(guò)程中,機(jī)載陀螺儀姿態(tài)數(shù)據(jù)的高速產(chǎn)生與外部相對(duì)低速的無(wú)線(xiàn)數(shù)據(jù)模塊傳輸?shù)拿苋找嫱怀?,?yán)重制約著無(wú)人機(jī)的發(fā)展。針對(duì)這一問(wèn)題,采用FPGAFIFO作為高速數(shù)據(jù)緩沖,提出一種基于FPGA內(nèi)建FIFO的無(wú)人機(jī)陀螺儀前級(jí)通信接口。通過(guò)高速異步FIFO緩沖,將無(wú)人機(jī)陀螺儀姿態(tài)數(shù)據(jù)經(jīng)由FPGA準(zhǔn)確無(wú)誤地發(fā)送給地面站,顯著提高數(shù)據(jù)傳輸質(zhì)量,實(shí)現(xiàn)了高速芯片與低速設(shè)備之間的通信。整個(gè)設(shè)計(jì)在實(shí)際應(yīng)用中效果良好,數(shù)據(jù)穩(wěn)定可靠,滿(mǎn)足了低誤碼率與高穩(wěn)定性的要求,以及無(wú)人機(jī)與地面站高速通信的需求,有著廣闊的市場(chǎng)應(yīng)用前景。

          本文引用地址:http://www.ex-cimer.com/article/201611/316109.htm

            無(wú)人機(jī)系統(tǒng)對(duì)于地面站發(fā)送的控制信號(hào)以及飛行器傳回的姿態(tài)數(shù)據(jù)有著極高的實(shí)時(shí)性、可靠性與穩(wěn)定性要求,這對(duì)無(wú)人機(jī)通信系統(tǒng)設(shè)計(jì)提出了新的挑戰(zhàn)。對(duì)于采用 ARM作為微處理器的無(wú)人機(jī)系統(tǒng)來(lái)說(shuō),系統(tǒng)往往需要協(xié)調(diào)基于ARM處理器的高速陀螺儀模塊與相對(duì)低速的外部無(wú)線(xiàn)數(shù)據(jù)傳輸模塊間的工作。在通信高穩(wěn)定性與低誤碼率的要求下,處理器不得不花時(shí)間運(yùn)行空操作來(lái)等待外部相對(duì)低速的傳輸模塊完成一幀數(shù)據(jù)的收/發(fā)。由于等待所浪費(fèi)的處理器運(yùn)算周期無(wú)形中降低了整個(gè)飛控系統(tǒng)的實(shí)時(shí)性,進(jìn)而帶來(lái)許多潛在的不穩(wěn)定因素。本設(shè)計(jì)結(jié)合無(wú)人機(jī)系統(tǒng)發(fā)展需求,采用FPGA FIFO作為高速數(shù)據(jù)緩沖,提出一種基于FPGA內(nèi)建FIFO的無(wú)人機(jī)陀螺儀前級(jí)通信接口。通過(guò)高速異步FIFO緩沖,將無(wú)人機(jī)陀螺儀姿態(tài)數(shù)據(jù)經(jīng)由 FPGA準(zhǔn)確無(wú)誤地發(fā)送給地面站,保證了傳輸質(zhì)量,架起了高速芯片與低速設(shè)備之間溝通的橋梁。

            FPGA內(nèi)建FIFO的基本工作原理

            FIFO即先進(jìn)先出隊(duì)列,采用環(huán)形存儲(chǔ)電路結(jié)構(gòu),是一種傳統(tǒng)的按序執(zhí)行方法。先進(jìn)入的指令先完成并引退,隨后才執(zhí)行第二條指令,是一種先進(jìn)先出的數(shù)據(jù)緩存器。根據(jù)FIFO的讀寫(xiě)時(shí)鐘頻率是否相同,可將FIFO分為同步FIFO與異步FIFO。FIFO的應(yīng)用可以很好地協(xié)調(diào)不同時(shí)鐘、不同數(shù)據(jù)寬度數(shù)據(jù)的通信,滿(mǎn)足高/低速時(shí)鐘頻率要求。與普通存儲(chǔ)器相比,F(xiàn)IFO沒(méi)有外部讀寫(xiě)地址線(xiàn),使用方便。

          采用FPGA異步FIFO連接基于ARM處理器的高速無(wú)人機(jī)陀螺儀模塊與相對(duì)低速的無(wú)線(xiàn)數(shù)據(jù)傳輸外設(shè)。從硬件的觀點(diǎn)來(lái)看,F(xiàn)IFO實(shí)質(zhì)上就是一塊數(shù)據(jù)內(nèi)存。異步FIFO采用2個(gè)時(shí)鐘信號(hào)控制其讀寫(xiě)操作,分別為寫(xiě)時(shí)鐘(wrclk)和讀時(shí)鐘(rdclk)。一個(gè)用來(lái)寫(xiě)數(shù)據(jù),即將數(shù)據(jù)存入FIFO;另一個(gè)用來(lái)讀數(shù)據(jù),即將數(shù)據(jù)從FIFO中取出。與FIFO操作相關(guān)的有兩個(gè)指針:寫(xiě)指針指向要寫(xiě)的內(nèi)存部分;讀指針指向要讀的內(nèi)存部分。FIFO控制器通過(guò)外部的讀寫(xiě)信號(hào)控制這兩個(gè)指針移動(dòng),并由此產(chǎn)生FIFO空信號(hào)或滿(mǎn)信號(hào)。讀寫(xiě)時(shí)鐘相互獨(dú)立設(shè)計(jì),有效地保證了FIFO兩端數(shù)據(jù)的異步通信。

            基于ARM的無(wú)人機(jī)陀螺儀接口結(jié)構(gòu)

            由于機(jī)載燃油和電能儲(chǔ)備的制約,無(wú)人機(jī)載設(shè)備要求小巧輕便,能效比高,因此對(duì)芯片的選型及電路結(jié)構(gòu)提出了較高的要求。綜合穩(wěn)定性、數(shù)據(jù)精度、工作溫度、封裝體積以及能耗等各方面因素,對(duì)無(wú)人機(jī)陀螺儀傳感器經(jīng)行嚴(yán)格篩選,確定了所示的陀螺儀方案。無(wú)人機(jī)陀螺儀的主控芯片選用ARM 32 bit CortexTM M3內(nèi)核的STM32F103T8處理器。其內(nèi)建64 KB的閃存存儲(chǔ)器和20 KB的運(yùn)行內(nèi)存,以及7通道的DMA、7個(gè)定時(shí)器、2個(gè)UART端口等。通過(guò)板載的8 MHz晶體和STM32內(nèi)部的PLL,控制器可以運(yùn)行在72 MHz的主頻上,為姿態(tài)解算提供強(qiáng)大的硬件支持。

            三軸加速度與三軸角速度傳感器采用Invensense公司的MPU-6050單芯片方案,此芯片為全球首例整合性6軸運(yùn)動(dòng)處理組件,相比其他多芯片實(shí)現(xiàn)方案,免除了整合陀螺儀與加速度器軸間差的問(wèn)題,大大減少了封裝空間。三軸磁力計(jì)采用Honeywell公司的HMC5883L)芯片,此芯片內(nèi)部采用先進(jìn)的高分辨率HMC188X系列磁阻傳感器與行業(yè)領(lǐng)先的各向異性磁阻技術(shù)(AMR),具有軸向高靈敏度和線(xiàn)性高精度的特點(diǎn),測(cè)量范圍從毫高斯到8高斯,穩(wěn)定可靠。氣壓傳感器采用博世公司的BMP180芯片,該芯片性能卓越,絕對(duì)精度可以達(dá)到0.03 hpa,并且功耗極低。傳感器采用強(qiáng)大的7 pin陶瓷無(wú)引線(xiàn)芯片承載(LCC)超薄封裝,安裝使用方便。

            FPGA FIFO與陀螺儀的連接

            結(jié)合無(wú)人機(jī)ARM陀螺儀的特點(diǎn),為了適應(yīng)過(guò)程的復(fù)雜性,實(shí)現(xiàn)操作的簡(jiǎn)便性,設(shè)計(jì)選用Altera公司的CycloneII系列芯片EP2C8Q208C8N,在QuartuesII平臺(tái)上進(jìn)行Verilog代碼設(shè)計(jì),使用Altera公司提供的FIFO IP核。此方案穩(wěn)定高效,易于開(kāi)發(fā)。

            陀螺儀與FIFO及FPGA的連接

           處理器采集各傳感器信號(hào),在ARM內(nèi)部進(jìn)行姿態(tài)解算,進(jìn)而得到俯仰角、橫滾角、航向角、氣壓、高度和溫度信息。為了及時(shí)將解算得到的數(shù)據(jù)發(fā)送回地面站,處理器控制寫(xiě)請(qǐng)求信號(hào)wrreq和寫(xiě)時(shí)鐘wrclk將這些數(shù)據(jù)高速寫(xiě)入FIFO,然后回到飛行控制程序,進(jìn)行下一周期的姿態(tài)解算。FIFO在數(shù)據(jù)寫(xiě)滿(mǎn)后,寫(xiě)滿(mǎn)標(biāo)志位wrfull會(huì)置高電平,ARM處理器通過(guò)檢測(cè)寫(xiě)滿(mǎn)標(biāo)志位的狀態(tài)來(lái)判斷是否繼續(xù)寫(xiě)入數(shù)據(jù)。與此同時(shí),在FPGA中通過(guò)檢測(cè)所讀取FIFO是否為空標(biāo)志位rdempty來(lái)判斷是否繼續(xù)讀取數(shù)據(jù)。讀空標(biāo)志位為低電平代表FIFO中有數(shù)據(jù),可以讀取,則配合讀請(qǐng)求信號(hào)rdreq和讀時(shí)鐘rdclk及時(shí)讀取數(shù)據(jù),直到將數(shù)據(jù)全部讀出,標(biāo)志位變?yōu)楦唠娖剑藭r(shí)FIFO中已經(jīng)沒(méi)有數(shù)據(jù)。



          關(guān)鍵詞: STM32無(wú)人機(jī)陀螺

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();