[发明专利]一种基于硬件语言的航向角指示仪有效

专利信息
申请号: 201410546130.5 申请日: 2014-10-16
公开(公告)号: CN104406584B 公开(公告)日: 2017-10-31
发明(设计)人: 孙华;吴宗凯;张岩;薛晶晶;李昊俊 申请(专利权)人: 哈尔滨工程大学
主分类号: G01C21/08 分类号: G01C21/08
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙江省哈尔滨市南岗区*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 硬件 语言 航向 指示
【权利要求书】:

1.一种基于硬件语言的航向角指示仪,包括:地磁传感器、FPGA控制器、数码管,其特征是:使用FPGA作为控制器,地磁传感器接收到载体的地磁数据,通过I2C总线把接收数据传给FPGA,经过FPGA进行数据处理,经数据处理后实现对地磁传感器所采集信号的计算、校正,最后将载体的航向角输出显示;

所述的地磁传感器为MAG3110型三轴地磁传感器模块;

所述的FPGA与地磁传感器的通信方式采用的是I2C方式,根据I2C总线的时序对地磁信息进行采集;

所述的数码管为三位共阳数码管,作为航向角指示仪的显示器采用静态显示的方式;

(1)地磁传感器与FPGA的数据传输

根据I2C总线协议时序图以及地磁传感器的操作时序图,在FPGA中使用硬件描述语言建立一个I2C通行模块,完成地磁传感器与FPGA磁场测量信息的传输,地磁信号采集程序具体步骤如下:

第一步:设置一个计数器,输出周期为10us的方波作为SCL信号;并设置每个周期的10us为下降沿,2.5us为低电平,5us为上升沿,7.5us为高电平;

第二步:当SCL第一个高电平时,SDA给低电平;

第三步:在之后的八个低电平时,给SDA赋MAG3110写地址0x1C;

第四步:在接着的下降沿时,让SDA高阻态输出,结束一次赋值;

第五步:在之后的八个低电平时,给SDA赋目标寄存器地址;

第六步:在接着的下降沿时,让SDA高阻态输出,结束一次赋值;

第七步:判断是写操作还是读操作,写操作:在之后的八个低电平时,给SDA赋数据,结束;读操作:重复起始位,并进入下一步;

第八步:当SCL第一个高电平时,SDA给低电平;

第九步:在之后的八个低电平时,给SDA赋MAG3110读地址(0x1D);然后,在接着的下降沿时,让SDA高阻态输出,结束一次赋值;

第十步:在之后的八个高电平时,从SDA读取数据,结束;

第十一步:输出结束信号;

FPGA与地磁传感器的通信方式采用的是I2C方式,根据I2C总线的时序对地磁信息进行采集;初始化部分,先将MAG3110设为STANDBY模式配置OSR,ODR将MAG3110设为ACTIVE模式,传感器开始转化数据具体程序步骤如下:

第一步:写操作允许,对寄存器CTRL_REG1进行赋值0x00;

第二步:上一步结束后,再对寄存器CTRL_REG1进行赋值0x30;

第三步:上一步结束后,再对寄存器CTRL_REG1进行赋值0x31;

数据读取部分,读DR_STATUS状态寄存器,如果DR_STATUS&0x08=1,一次转换已经完成,此时读取数据;读OUT_X_MSB(0x01)、OUT_X_LSB(0x02)、OUT_Y_MSB(0x03)、OUT_Y_LSB(0x04)、OUT_Z_MSB(0x05)、OUT_Z_LSB(0x06)寄存器,分别得到X、Y、Z三轴十六位的数据;此时转动MAG3110,三轴数据会发生变化;具体程序步骤如下:

第一步:读操作允许,读取寄存器DR_STATUS的值;

第二步:上一步结束后,判断读取的数据的第四位数据是否为1,是:则进入下一步;不是:则返回上一步;

第三步:设置寄存器OUT_X_MSB(0x01);把数据存入xData数组的高八位;

第四步:设置寄存器OUT_X_LSB(0x02);把数据存入xData数组的低八位;

第五步:设置寄存器OUT_Y_MSB(0x03);把数据存入yData数组的高八位;

第六步:设置寄存器OUT_Y_LSB(0x04);把数据存入yData数组的低八位;

第七步:设置寄存器OUT_Z_MSB(0x05);把数据存入zData数组的高八位;

第八步:设置寄存器OUT_Z_LSB(0x06);把数据存入zData数组的低八位;

第九步:设置x坐标值为xData,y坐标值为yData,z坐标值为zData,输出结束信号;

(2)地磁场修正

在程序中对于受到干扰时地磁场形状进行修正,使之经过拉伸、平移变换成原点位于圆心的规则圆;具体程序步骤如下:

第一步:把x坐标值赋给XMAX和XMIN数组;

第二步:判断新的x坐标值与XMAX和XMIN的大小关系,如果大于XMAX,则赋给XMAX;如果小于XMIN,则赋给XMIN;并输出X0为XMAX和XMIN的平均值;

则XO、YO为X、Y平面的原点,原受干扰的椭圆被修正成了一个圆;通过测量出载体在X、Y轴的磁场强度,再应用反三角函数,使用泰勒级数展开即可求出载体的航向角;

根据泰勒级数在0处展开的公式:

arctan(x)=x-x33+x55+...]]>

选择保留到5次方项;先求出然后分三步求出接下去的三项;最后一步输出acrtan(x)的值,即角度值,然后再输出一个结束信号;

(3)载体的航向与真北的夹角

数据处理程序流程包括:

等待角度计算完成后;

第一步:判断X坐标值是否等于均值X0;如果是,那么再判断Y坐标值是否大于均值Y0,是则角度等于90度并且需加上地区的地磁北与真北夹角度;如果Y坐标值不大于均值Y0;则角度等于270度再加上地区的地磁北与真北夹角度;

第二步:判断Y坐标值是否等于均值Y0;如果是,那么再判断X坐标值是否大于均值X0,是则角度等于0度并且需加上地区的地磁北与真北夹角度;如果X坐标值不大于均值X0;则角度等于180度再加上地区的地磁北与真北夹角度;

第三步:判断X坐标值和Y坐标值是否都大于均值?是则角度等于计算得出的角度值再加上地区的地磁北与真北夹角度;不是,进入下一步;

第四步:判断是否是X小于均值而Y大于均值?是则角度等于180度减计算得到的角度再加上地区的地磁北与真北夹角度;不是则进入下一步;

第五步:判断是否是X小于均值而Y小于均值?是则角度等于180度加计算得到的角度再加上地区的地磁北与真北夹角度;不是则进入下一步;

第六步:判断是否X大于均值而Y小于均值且计算得到的角度是否大于地区的地磁北与真北夹角度?是则角度等于360度减计算得到的角度再加上地区的地磁北与真北夹角度;不是则进入下一步;

第七步:判断是否X大于均值而Y小于均值且计算得到的角度是否小于地区的地磁北与真北夹角度?是则角度等于地区的地磁北与真北夹角度减计算得到的角度;

第八步:最后输出处理后的角度值;

(4)数码管显示模块

航向角指示仪的显示器使用的是三位共阳数码管,采用静态显示的方式,具体显示程序步骤如下:

第一步:初始化显示数组display[],因为使用的是共阳的数码管,所以给display[]赋的是共阳数码管的0~9显示码;

第二步:得到处理后的角度值后,计算每位数码管显示的数字,通过取整取余计算得到角度值的各位数字;并按顺序始终显示出来。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410546130.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top