在无人机体系与地面站通讯进程中,机载陀螺仪姿势数据的高速发生与外部相对低速的无线数据模块传输的对立日益突出,严峻限制着无人机的开展。针对这一问题,选用FPGAFIFO作为高速数据缓冲,提出一种依据FPGA内建FIFO的无人机陀螺仪前级通讯接口。经过高速异步FIFO缓冲,将无人机陀螺仪姿势数据经由FPGA准确无误地发送给地面站,明显进步数据传输质量,完结了高速芯片与低速设备之间的通讯。整个规划在实践运用中作用杰出,数据安稳牢靠,满意了低误码率与高安稳性的要求,以及无人机与地面站高速通讯的需求,有着宽广的商场运用远景。
无人机体系关于地面站发送的操控信号以及飞翔器传回的姿势数据有着极高的实时性、牢靠性与安稳性要求,这对无人机通讯体系规划提出了新的应战。关于选用 ARM作为微处理器的无人机体系来说,体系往往需求和谐依据ARM处理器的高速陀螺仪模块与相对低速的外部无线数据传输模块间的作业。在通讯高安稳性与低误码率的要求下,处理器不得不花时间运转空操作来等候外部相对低速的传输模块完结一帧数据的收/发。因为等候所糟蹋的处理器运算周期无形中降低了整个飞控体系的实时性,从而带来许多潜在的不安稳要素。本规划结合无人机体系开展需求,选用FPGA FIFO作为高速数据缓冲,提出一种依据FPGA内建FIFO的无人机陀螺仪前级通讯接口。经过高速异步FIFO缓冲,将无人机陀螺仪姿势数据经由 FPGA准确无误地发送给地面站,确保了传输质量,架起了高速芯片与低速设备之间交流的桥梁。
FPGA内建FIFO的根本作业原理
FIFO即先进先出行列,选用环形存储电路结构,是一种传统的按序履行办法。先进入的指令先完结并引退,随后才履行第二条指令,是一种先进先出的数据缓存器。依据FIFO的读写时钟频率是否相同,可将FIFO分为同步FIFO与异步FIFO。FIFO的运用能够很好地和谐不同时钟、不同数据宽度数据的通讯,满意高/低速时钟频率要求。与一般存储器比较,FIFO没有外部读写地址线,运用方便。
选用FPGA异步FIFO衔接依据ARM处理器的高速无人机陀螺仪模块与相对低速的无线数据传输外设。从硬件的观念来看,FIFO实质上便是一块数据内存。异步FIFO选用2个时钟信号操控其读写操作,分别为写时钟(wrclk)和读时钟(rdclk)。一个用来写数据,行将数据存入FIFO;另一个用来读数据,行将数据从FIFO中取出。与FIFO操作相关的有两个指针:写指针指向要写的内存部分;读指针指向要读的内存部分。FIFO操控器经过外部的读写信号操控这两个指针移动,并由此发生FIFO空信号或满信号。读写时钟彼此独立规划,有效地确保了FIFO两头数据的异步通讯。
依据ARM的无人机陀螺仪接口结构
因为机载燃油和电能储藏的限制,无人机载设备要求细巧简便,能效比高,因而对芯片的选型及电路结构提出了较高的要求。归纳安稳性、数据精度、作业温度、封装体积以及能耗等各方面要素,对无人机陀螺仪传感器经行严厉挑选,确认了所示的陀螺仪计划。无人机陀螺仪的主控芯片选用ARM 32 bit CortexTM M3内核的STM32F103T8($3.0391)处理器。其内建64 KB的闪存存储器和20 KB的运转内存,以及7通道的DMA、7个定时器、2个UART端口等。经过板载的8 MHz晶体和STM32($18.3200)内部的PLL,操控器能够运转在72 MHz的主频上,为姿势解算供给强壮的硬件支撑。
三轴加速度与三轴角速度传感器选用Invensense公司的MPU-6050($4.3178)单芯片计划,此芯片为全球首例整合性6轴运动处理组件,比较其他多芯片完结计划,免除了整合陀螺仪与加速度器轴间差的问题,大大减少了封装空间。三轴磁力计选用Honeywell公司的HMC5883L($1.2500)芯片,此芯片内部选用先进的高分辨率HMC188X系列磁阻传感器与职业抢先的各向异性磁阻技能(AMR),具有轴向高灵敏度和线性高精度的特色,丈量规模从毫高斯到8高斯,安稳牢靠。气压传感器选用博世公司的BMP180芯片,该芯片功能杰出,肯定精度能够到达0.03 hpa,而且功耗极低。传感器选用强壮的7 pin陶瓷无引线芯片承载(LCC)超薄封装,装置运用方便。各传感器与ARM处理器选用I2C总线衔接,示意图如图3所示。
FPGA FIFO与陀螺仪的衔接
结合无人机ARM陀螺仪的特色,为了习惯进程的复杂性,完结操作的简便性,规划选用Altera公司的CycloneII系列芯片EP2C8Q208C8N($23.3400),在QuartuesII渠道上进行Verilog代码规划,运用Altera公司供给的FIFO IP核。此计划安稳高效,易于开发。
陀螺仪与FIFO及FPGA的衔接
处理器收集各传感器信号,在ARM内部进行姿势解算,从而得到俯仰角、横滚角、航向角、气压、高度和温度信息。为了及时将解算得到的数据发送回地面站,处理器操控写恳求信号wrreq和写时钟wrclk将这些数据高速写入FIFO,然后回到飞翔操控程序,进行下一周期的姿势解算。FIFO在数据写满后,写满标志位wrfull会置高电平,ARM处理器经过检测写满标志位的状况来判别是否持续写入数据。与此同时,在FPGA中经过检测所读取FIFO是否为空标志位rdempty来判别是否持续读取数据。读空标志位为低电平代表FIFO中有数据,能够读取,则配合读恳求信号rdreq和读时钟rdclk 及时读取数据,直到将数据悉数读出,标志位变为高电平,此刻FIFO中现已没有数据。依据ARM的陀螺仪与FIFO及FPGA的衔接如图4所示。