[发明专利]一种基于CRC16的单比特纠错FPGA实现方法有效
申请号: | 202110344958.2 | 申请日: | 2021-03-31 |
公开(公告)号: | CN113050519B | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 王秀翠;朱佳;侯磊;孟繁兴;张义;王立英 | 申请(专利权)人: | 山东商业职业技术学院 |
主分类号: | G05B19/042 | 分类号: | G05B19/042 |
代理公司: | 北京中索知识产权代理有限公司 11640 | 代理人: | 商金婷 |
地址: | 250103 *** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 crc16 比特 纠错 fpga 实现 方法 | ||
1.一种基于CRC16的单比特纠错FPGA实现方法,包括数据缓存模块、读缓存控制模块、错误判断仲裁模块及发送控制模块,其特征在于,所述错误判断仲裁模块包括CRC计算模块、Hash映射模块和错误查询判断模块,过程如下:
(1) 从网络上送来的数据首先经过mac层,送入数据缓存模块,实现数据的缓存;
(2) 当读缓存控制模块判断缓存模块中有数据时,读取缓存的数据信息和冗余信息送入CRC计算模块;
(3) 利用CRC计算模块进行数据信息和冗余信息的CRC计算,当计算结果为0时,表明数据传输是正常的,直接将正常的结果返回给读缓存控制模块;当计算结果不为0时,表明数据传输存在异常情况,将CRC计算结果送给Hash映射模块;
(4) Hash映射模块,该模块中例化一个深度为2
(5) 错误查询判断模块,该模块实时接收hash映射模块送过来的数据;如果为0,表示多比特异常;如果不为0,表示当前数据单比特异常的位置,此判断结果送给发送控制模块;
(6) 发送控制模块,该模块根据返回的结果,控制数据直接发送、丢弃或是单比特翻转纠正在发送;
步骤(4)中RAM的初始化方法如下:
① 单比特错误对应的hash索引值对应地址下的初始化数据为单比特异常位置序号高n比特数据及对应的CRC值低m比特数据;
② 遇到hash值冲突的情况时,将n+1位的hash值与CRC值的低n+1位做异或运算,得到的值再次作为地址,并且将当前的单比特异常位置序号高n比特数据及对应的CRC值低m比特数据存储到改地址下;
③ 其余地址下均初始化为0;
步骤(4)中该模块的数据处理流程如下:
① 根据索引地址读出该地址下的数据;
② 数据判断:
A. 该地址下的低m比特数据为0,表明多比特异常,则将高n比特的0送给错误查询判断模块;
B. 如果该地址下的低m比特数据与当前用于hash运算的CRC值相等,则将高n比特的位置序号送给错误查询判断模块;
C. 如果不相等,将n+1位的hash值与CRC值的低n+1位做异或运算,得到的值再次作为地址,跳到步骤B。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东商业职业技术学院,未经山东商业职业技术学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110344958.2/1.html,转载请声明来源钻瓜专利网。