[发明专利]一种数据链路传输过程的浮点数据保护方法有效
申请号: | 201510347139.8 | 申请日: | 2015-06-19 |
公开(公告)号: | CN104991756B | 公开(公告)日: | 2018-04-17 |
发明(设计)人: | 陈云;成龙;黄一敏;夏斌;张共济 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F7/57 | 分类号: | G06F7/57 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙)32249 | 代理人: | 杨晓玲 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据链 传输 过程 浮点 数据 保护 方法 | ||
技术领域
本发明涉及一种多字节数据传输过程中浮点数据保护方法,属于数据传输技术领域。
背景技术
嵌入式系统在数据传输过程中,特别是进行多字节传输,然后重新拼接成浮点数据时,容易产生不合理的浮点数,比如飞行控制系统中GPS传输协议,IMU传输协议中便通过串口传输了大量的浮点数据。当进行浮点运算时,若参与运算的浮点数为不合理数,则会导致计算结果无意义,甚至触发浮点异常中断使计算机死机重启。为了保证嵌入式计算机运行的安全性和可靠性,可在读取数据前进行不合理浮点数的滤除,因此多字节通信过程中增加嵌入式计算机的浮点数据保护能力便显得格外重要。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种数据链路传输过程的浮点数据保护方法,解决不合理浮点数导致嵌入式计算机产生异常情况,确保嵌入式系统的正常运行和通信链路工作的稳定性。
技术方案:为实现上述目的,本发明采用的技术方案为:一种数据链路传输过程的浮点数据保护方法,其基于浮点数数据结构实现浮点数保护,具体包括以下步骤:
步骤1,根据IEEE浮点数算术标准将传输过程中的浮点数据抽象出单精度浮点数和双精度浮点数的表示形式;
步骤2,将步骤1抽象出的单精度浮点数和双精度浮点数的表示形式利用位域操作构建出描述浮点数的数据结构,同时将浮点数的符号位,指数位,尾数位剥离出来;
步骤3,对步骤2中构建的数据结构进行异常数排除,得到非异常数;
步骤4,对步骤3得到的非异常数中剥离出来的符号位,指数位,尾数位进行数值判断;对于判断为不合理浮点数进行数据过滤,对于判断为合理浮点数进行数据更新,实现数据链路传输过程的浮点数据的保护,并在此过程中利用返回值将浮点数据出错情况反馈给用户。
优选的:所述步骤3中异常数为“指数为0,而尾数非0”的浮点数。
优选的:所述步骤4中的不合理浮点数为“指数为最大值”的浮点数。
有益效果:本发明提供的一种数据链路传输过程的浮点数据保护方法,相比现有技术,具有以下有益效果:
本发明将传输过程中的浮点数据抽象出单精度浮点数和双精度浮点数的表示形式,然后对其进行位域构建其数据结构,根据位域数据结构的特性,排除其异常数和不合理数,得到非异常数和合理数,即得到正确的浮点数,因此其能够彻底解决多字节数据链路传输过程中,由于浮点数据出错而导致的计算机死机或结果错误的问题,使得嵌入式系统具有更高的安全性和可靠性。
附图说明
图1是单精度浮点数结构示意图。
图2是双精度浮点数结构示意图。
图3是浮点数据分类图。
图4是浮点数据保护方案流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
一种数据链路传输过程的浮点数据保护方法,其基于浮点数数据结构实现浮点数保护,根据IEEE浮点数算术标准(IEEE Standard for Floating-Point Arithmetic)抽象出单精度浮点数和双精度浮点数的表示形式,分别如附图1,附图2所示。利用位域操作构建出描述浮点数的数据结构,将浮点数的符号位,指数位,尾数位剥离出来。再对符号位,指数位,尾数位进行数值判断,根据附图3中分类标准,对不同类型的浮点数做相应处理,即仅当判断结果为合理浮点数时才对数据进行更新,否则一律将该次数据过滤,避免计算结果无意义或计算机死机情况产生,最终实现保护功能。整个方案流程如附图4所示。具体包括以下步骤:
步骤1,根据IEEE浮点数算术标准将传输过程中的浮点数据抽象出单精度浮点数和双精度浮点数的表示形式;
步骤2,将步骤1抽象出的单精度浮点数和双精度浮点数的表示形式利用位域操作构建出描述浮点数的数据结构,同时将浮点数的符号位,指数位,尾数位剥离出来;
步骤3,对步骤2中构建的数据结构进行异常数排除,得到非异常数;
所述步骤3中异常数为“指数为0,而尾数非0”的浮点数。
步骤4,对步骤3得到的非异常数中剥离出来的符号位,指数位,尾数位进行数值判断;对于判断为不合理浮点数进行数据过滤,对于判断为合理浮点数进行数据更新,实现数据链路传输过程的浮点数据的保护。
所述步骤4中的不合理浮点数为“指数为最大值”的浮点数。
为了更好的理解本发明,下面详细介绍本发明的实现原理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510347139.8/2.html,转载请声明来源钻瓜专利网。