中国电子技术网

设为首页 网站地图 加入收藏

 
 

基于STM32的无人机陀螺仪应用详解

关键词:STM32 陀螺仪

时间:2018-01-09 15:13:06      来源:网络

在无人机系统与地面站通信过程中,机载陀螺仪姿态数据的高速产生与外部相对低速的无线数据模块传输的矛盾日益突出,严重制约着无人机的发展。针对这一问题,采用FPGAFIFO作为高速数据缓冲,提出一种基于FPGA内建FIFO的无人机陀螺仪前级通信接口。通过高速异步FIFO缓冲,将无人机陀螺仪姿态数据经由FPGA准确无误地发送给地面站,显著提高数据传输质量,实现了高速芯片与低速设备之间的通信。整个设计在实际应用中效果良好,数据稳定可靠,满足了低误码率与高稳定性的要求,以及无人机与地面站高速通信的需求,有着广阔的市场应用前景。

无人机系统对于地面站发送的控制信号以及飞行器传回的姿态数据有着极高的实时性、可靠性与稳定性要求,这对无人机通信系统设计提出了新的挑战。对于采用 ARM作为微处理器的无人机系统来说,系统往往需要协调基于ARM处理器的高速陀螺仪模块与相对低速的外部无线数据传输模块间的工作。在通信高稳定性与低误码率的要求下,处理器不得不花时间运行空操作来等待外部相对低速的传输模块完成一帧数据的收/发。由于等待所浪费的处理器运算周期无形中降低了整个飞控系统的实时性,进而带来许多潜在的不稳定因素。本设计结合无人机系统发展需求,采用FPGA FIFO作为高速数据缓冲,提出一种基于FPGA内建FIFO的无人机陀螺仪前级通信接口。通过高速异步FIFO缓冲,将无人机陀螺仪姿态数据经由 FPGA准确无误地发送给地面站,保证了传输质量,架起了高速芯片与低速设备之间沟通的桥梁。

FPGA内建FIFO的基本工作原理

       FIFO即先进先出队列,采用环形存储电路结构,是一种传统的按序执行方法。先进入的指令先完成并引退,随后才执行第二条指令,是一种先进先出的数据缓存器。根据FIFO的读写时钟频率是否相同,可将FIFO分为同步FIFO与异步FIFOFIFO的应用可以很好地协调不同时钟、不同数据宽度数据的通信,满足高/低速时钟频率要求。与普通存储器相比,FIFO没有外部读写地址线,使用方便。

采用FPGA异步FIFO连接基于ARM处理器的高速无人机陀螺仪模块与相对低速的无线数据传输外设。从硬件的观点来看,FIFO实质上就是一块数据内存。异步FIFO采用2个时钟信号控制其读写操作,分别为写时钟(wrclk)和读时钟(rdclk)。一个用来写数据,即将数据存入FIFO;另一个用来读数据,即将数据从FIFO中取出。与FIFO操作相关的有两个指针:写指针指向要写的内存部分;读指针指向要读的内存部分。FIFO控制器通过外部的读写信号控制这两个指针移动,并由此产生FIFO空信号或满信号。读写时钟相互独立设计,有效地保证了FIFO两端数据的异步通信。

基于ARM的无人机陀螺仪接口结构

  由于机载燃油和电能储备的制约,无人机载设备要求小巧轻便,能效比高,因此对芯片的选型及电路结构提出了较高的要求。综合稳定性、数据精度、工作温度、封装体积以及能耗等各方面因素,对无人机陀螺仪传感器经行严格筛选,确定了所示的陀螺仪方案。无人机陀螺仪的主控芯片选用ARM 32 bit CortexTM M3内核的STM32F103T8处理器。其内建64 KB的闪存存储器和20 KB的运行内存,以及7通道的DMA7个定时器、2UART端口等。通过板载的8 MHz晶体和STM32内部的PLL,控制器可以运行在72 MHz的主频上,为姿态解算提供强大的硬件支持。

   三轴加速度与三轴角速度传感器采用Invensense公司的MPU-6050单芯片方案,此芯片为全球首例整合性6轴运动处理组件,相比其他多芯片实现方案,免除了整合陀螺仪与加速度器轴间差的问题,大大减少了封装空间。三轴磁力计采用Honeywell公司的HMC5883L)芯片,此芯片内部采用先进的高分辨率HMC188X系列磁阻传感器与行业领先的各向异性磁阻技术(AMR),具有轴向高灵敏度和线性高精度的特点,测量范围从毫高斯到8高斯,稳定可靠。气压传感器采用博世公司的BMP180芯片,该芯片性能卓越,绝对精度可以达到0.03 hpa,并且功耗极低。传感器采用强大的7 pin陶瓷无引线芯片承载(LCC)超薄封装,安装使用方便。

   FPGA FIFO与陀螺仪的连接

   结合无人机ARM陀螺仪的特点,为了适应过程的复杂性,实现操作的简便性,设计选用Altera公司的CycloneII系列芯片EP2C8Q208C8N,在QuartuesII平台上进行Verilog代码设计,使用Altera公司提供的FIFO IP核。此方案稳定高效,易于开发。

   陀螺仪与FIFOFPGA的连接

   处理器采集各传感器信号,在ARM内部进行姿态解算,进而得到俯仰角、横滚角、航向角、气压、高度和温度信息。为了及时将解算得到的数据发送回地面站,处理器控制写请求信号wrreq和写时钟wrclk将这些数据高速写入FIFO,然后回到飞行控制程序,进行下一周期的姿态解算。FIFO在数据写满后,写满标志位wrfull会置高电平,ARM处理器通过检测写满标志位的状态来判断是否继续写入数据。与此同时,在FPGA中通过检测所读取FIFO是否为空标志位rdempty来判断是否继续读取数据。读空标志位为低电平代表FIFO中有数据,可以读取,则配合读请求信号rdreq和读时钟rdclk及时读取数据,直到将数据全部读出,标志位变为高电平,此时FIFO中已经没有数据。

 

猜你喜欢

  • LED显示开启未来新视界 DISPLIX® E1010和DISPLIX® E0808是欧司朗光电半导体从2008年推出1616封装的SMD三合一产品,致力于小间距显示屏的应用发展。2014年推出的高亮1010封装, 2017年应市场需求而生的DISPLIX® E1010和...... OSRAM     2018年07月31日     注册 预先提问

    植物生长灯应用及欧司朗产品介绍 LED作为第五代发光技术,在植物生长灯领域,因其能针对性提供植物生长专属光谱、高效节能,已逐步取代传统钠灯及HID,并将于2020年占据约80%以上市场份额,可以说,未来的植物生长灯领域将...... OSRAM     2018年08月17日     注册 预先提问

    高性能红外、激光与传感光电器件在汽车领域的广泛应用 本次研讨会将共话红外在汽车领域的最新技术和解决方案,旨在帮助中国的制造商了解和应对快速成长的汽车红外、激光和传感器市场,应对其中的竞争挑战。本次内容主要介绍光开关、雨量和隧道光线传感器、空调传...... OSRAM     2018年08月29日     注册 预先提问