虚拟现实技能是现在核算机信息科学中的前沿学科,文中规划了一种以FPGA 为中心的数据收集处理体系.运用HMC5883L和ADXL345对虚拟场景中物体的方位和朝向进行确认并经过以太网给虚拟场景主机发送数据.整个体系以 FPGA作为主操控器,配以传感器数据收集,内部FIFO存储,以太网高速传输,然后把定位体系参数实时传送到上位机中,具有传输速度快.实时性等长处,完结了虚拟现实高精度定位的功用.
1 导言
虚拟现实(Virtual Reality,VR)是现在核算机运用方面活泼的技能研究范畴,是整个信息科学范畴中的新式技能.它是依据核算机视频技能为根底,将核算机图画处理.核算机心理学.人工智能.人机交互技能.传感器技能.网络以及显现处理一系列信息技能分支的最新效果会集在一起.在虚拟现实环境中,人可以与虚拟国际中的场景和事物进行交互,它现已进入到了航空航天.民用军事.文娱游戏.医疗医用以及教育等职业.现在它现已是21世纪开展进程中影响人类日子的重要技能之一.
整个虚拟现实中,在场景中对物体的定位是要害中心部分.在定位中首要是要取得物体所在的直角平面坐标系中的朝向和方位以及物体与水平面的倾斜角.为此咱们运用三维磁阻传感器和三轴重力加速度来获取所有必要的数据.
磁阻效应传感器是依据磁性资料的磁阻效应构成的.图1为简略的磁阻效应传感器的结构示意图.因为磁性资料(如坡莫合金)具有各向异性,对它进行磁化时,其磁化方向将取决于资料的易磁化轴.资料的形状和磁化磁场的方向.所以在其线性规模内,电桥的输出电压与被测磁场成正比.一起运用XYZ 三个方向上的磁通量进行三角函数的转化可知道方位角为X方向上与Y方向上面的横竖切值.
三轴重力加速度传感器为多晶硅外表微加工结构,置于晶圆顶部.因为运用加速度,多晶硅绷簧悬挂于晶圆外表的结构之上,供给力气阻力.差分电容由独立固定板和活动质量衔接板组成,能对结构偏转进行丈量.加速度使惯性质量偏转.差分%&&&&&%失衡,然后传感器输出的起伏与加速度成正比.相敏解调用于确认加速度的起伏和极性.
虚拟现实定位技能在国内外开展很敏捷,首要在医疗与文娱方面取得了成果.国内传统的技能首要是以单片机为中心处理器,在数据的处理和传输速度上有显着的缺乏.本文的虚拟定位体系运用高精度的定位传感器,FPGA处理和传输数据可以高速.实时的对数据进行收集与处理,降低了传输压力,提高了数据吞吐量与设备运用率.现场可编程逻辑门阵列FPGA,是现代IC规划验证的干流AS%&&&&&%器材.FPGA规划灵敏,易于批改,可靠性高,开发周期短,处理速度快,易于完结高速电路的规划,可以便利的对定位传感器进行驱动,并对其数据进行快速的处理和传输.
数据收集体系总体规划结构
本文选用了Xilinx公司spartan3系列的 FPGA,ADI公司的ADXL345三轴重力加速度传感器以及Honeywell公司的HMC5883L三维磁阻传感器,运用了模块化的结构分别对每个单元进行流水线操作.整个体系首要包含:FPGA中心处理模块.硬件电源模块.场景数据处理模块.以太网通讯模块.当物体的方位角和倾斜角产生改变的时分,ADXL345模块和HMC5883L模块会将新的数据存储到FPGA中的FIFO里,终究经过以太网以UDP包的办法上传到上位机剖析处理.体系中的接口电路首要有ADXL345与FPGA的接口.HMC5883L与FPGA的接口.以太网芯片与FPGA 的接口电路.体系上电今后,FPGA宣布的信号包含两个传感器时钟驱动信号,以太网芯片操控信号.FPGA内部的信号包含FIFO操控信号.传感器信号传入的操控信号.体系的作业进程为:FPGA 对各传感器和以太网进行正确的驱动后,传感器开端以必定的频率向FPGA发送数据,当FPGA接纳到一次数据后马大将数据存储在FIFO中;一起FIFO 在相应的条件下依照写时钟把数据一次存储好,依照时钟把本来存储的数据发送给以太网芯片;以太网芯片把这些数据封装成UDP包,经过以太网总线上传给上位机;终究,上位机在收到有用的数据时,对数据进行剖析处理,然后传给三维软件部分使得三维场景中的物体也产生相同的方位角和倾斜角的改变,完结了虚拟现实的功用.
数据收集体系模块化规划
3.1 HMC5883L数据收集模块规划
场景数据模块是整个丈量体系的根底部分,也是整个电路作业的必不行少的一个模块.其间包含了丈量方位角用的HMC5883L磁阻传感器芯片以及丈量倾斜角 的三轴重力加速度传感器ADXL345、HMC5883L是一种外表贴装的高集成模块,并带有数字接口的弱磁传感器芯片,运用于低成本罗盘和磁场检测范畴.
HMC5883L的时钟是一系列的I2 C驱动时钟周期.本模块的规划方针在于将三维磁阻传感器芯片HMC5883L杰出的驱动并确认时序中数据的传输次序.现在选用FPGA引脚对相对应的时序进行操控.
HMC5883L传感器固定的时序中完结对数据的收集,收集到的数据是具有特定格局的数字量,需求经过必定算法剖析和数据收拾才干送往上位机进行操作. FPGA 与HMC5883L的通讯选用了I2 C的通讯手法,在代码编写的进程中选用了规范速率形式100kHz,在总线规则中,总线的位格局是一个8位数据/地址传送和1位应对位.如图3所示的格局 的时序状况.(点击可查看大图)
HMC5883L的作业流程:首要要芯片的初始化进行数据等候,之后运用I2C的传输办法对数据进行操控.一个测验前的进程需求对应有的丈量寄存器进行对 应的装备.首要发送装备寄存器A的装备量,为写操作,寄存器指令为默认值;第二步发送装备寄存器B的装备量,相同也为默认值;第三步发送形式寄存器的装备 量,即发送数据0X00(即接连丈量形式).此刻装备的寄存器的流程现已走完.之后进入读操作形式,此刻依据时钟的采样速度,循环对传感器内部寄存器 03-08进行操作,得到X、Y、Z 三个方向上的数据,读入到代码设定的寄存器中.具体操作流程如图4所示.
3.2 ADXL345数据收集模块规划
ADXL345在虚拟场景体系中用于丈量倾斜角,它的时钟驱动也是一系列的I2 C驱动时钟周期.本模块的规划也是针关于ADXL345的时钟驱动和对应的数据读取所进行的.倾斜角的寄存器内容的获取是整个模块的首要内容.
在实践的场景体系中首要用到了X、Y、Z 三个方向上的偏移寄存器,用于丈量中批改原始方位的丈量误差.关于数据收集速率则是由寄存器OX2C即寄存器BW_RATE的CH0-CH3所操控.关于 三维重力加速度传感器而言,首要的初始化也是经过常见的I2 C总线与FPGA 进行通讯,在数据获取方面会集在X、Y、Z 三个重力方向上的寄存器数据.其时序图如图5 所示,代码编写进程中与HMC5883L共用总线一起都受FPGA的操控,归于体系操控的从端.相同的,三维重力加速度传感器也需求依据丈量需求去输入初 始化寄存器的装备.然后对需求读取的寄存器数据位进行总线读取,并存入到装备好的8bit寄存器保存好打包传往上位机进行数据剖析.(点击可查看大图)
3.3 场景数据剖析
在地磁的丈量进程中需求对数据进行必要剖析才干得到对应的方位视点.
由HMC5883L 和ADX345传感器咱们可以得到地磁场在空间三个轴上的重量磁场巨细分别为Hx、Hy、Hz以及加速度传感器丈量俯仰角φ 和横滚角θ.
式中Ax、Ay、Az是重力加速度传感器三个方向上丈量得到的加速度值.在特定的公式核算下可以大致得到现在物体所在的顺时针方位角a为
以上是开始估量出来得到方位角参数,核算中不行疏忽的还有HMC5800L还受到外部磁性搅扰,其间较为杰出的是硬磁效应和软磁效应[8~9]一般来说 关于硬磁效应,咱们采纳的办法是将物体至于场景中旋转360°,然后经过屡次的采样得到X、Y、Z 坐标的最大值Xmax、Ymax、Zmax和最小值Xmin、Ymin、Zmin然后关于硬磁效应来说便是偏移量为
硬磁效应只需求运用测验的数据值加上off 的偏移值便可,而关于软磁效应,补偿的办法比较复杂,一般可以运用公式进行恰当的预算,项目中开始运用式(12)进行补偿.其间Xr为实在的无搅扰的坐标 值,a为其搅扰系数,一般软磁搅扰就需求很多的数据去得到a 的值.一般状况下可以采纳特定的视点进行数据采样,然后依据数据的
实践值Xr和对应无搅扰的值Xc进行运算,求出a的这个系数的值便可.
3.4 以太网通讯模块规划
LAN8700是SMSC公司的一款以太网物理层芯片.
LAN8700由编码器/解码器.扰码器/解扰器.波形整形器.输出驱动器.自适应均衡双绞线接纳器.时钟数据康复功用模块组成.
FPGA模块编程中界说了UDP_User_int模块来完结数据打包的具体进程,别的MAC的物理层通讯由MAC_top模块来完结,包含PHY的初始 化.时钟的操控.产生数据的操控.MII接口的操控.接纳数据操控,寄存器的操控等,都界说了UDP_TOP顶层模块来完结FPGA与它们的接口顺畅传输 数据.以太网驱动模块完结的RTL门级结构图如图7所示.
其间ip_local和mac_local是本地IP和MAC地址;每组E_RXD和E_TXD都是4个32位数据,E_RXD是接纳MAC层的数 据,E_TXD是发送给MAC层的数据;每组send_zb_value都是64个32位数据,打包成了UDP包,send_zb_value是发送至以 太网的UDP包,一起界说了send_en来作为发送数据的使能信号;E_COL和E_CRS分别是抵触检测和载波侦听信号,他们的作用是用来操控着 UDP包的正确发送.
4 结语
规划中运用了HMC5883L芯片对物体的方位角进行测定,运用辅佐芯片ADXL345来断定倾斜角和物体翻滚姿势,使得物体在虚拟场景中的实践状况更为 精准.运用FPGA对数据的高速处理才能将收集到的场景定位内容敏捷剖析处理而且经过以太网操控芯片发往局域网中的上位机中,终究在上位机完结虚拟场景的 变化.整套硬件体系可以安稳的作业在研制的项目之中,作业功能杰出.能耗低,精度可达1°以内的规模.