[发明专利]一种面向智能物联的同步串行大数据可靠传输方法有效

专利信息
申请号: 201711427894.2 申请日: 2017-12-26
公开(公告)号: CN108153701B 公开(公告)日: 2018-12-07
发明(设计)人: 陶飞;邹孝付;左颖 申请(专利权)人: 北京航空航天大学
主分类号: G06F15/76 分类号: G06F15/76
代理公司: 北京科迪生专利代理有限责任公司 11251 代理人: 杨学明;邓治平
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种面向智能物联的同步串行大数据可靠传输方法,该方法利用VHDL语言设计并在FPGA上实现,具体包括:同步串行数据接收模块:FPGA同步串行时钟接收管脚的上升沿检测;建立BRAM将接收到的数据进行一级缓存并判断数据的有效性;读取一级缓存中的数据并保存到另一个BRAM中进行二级缓存,当一级缓存中的数据存在连续5个高电平时,跳过下一个数据接着读取。同步串行数据发送模块:利用FPGA主时钟分频得到同步串行发送时钟;在同步串行发送时钟下降沿时将待发送的数据按照bit位从低到高的顺序依次赋值给FPGA同步串行数据发送管脚,并检测FPGA同步串行数据发送管脚是否存在连续5个高电平,如果存在就插入一个低电平,并赋值给FPGA同步串行数据发送管脚。
搜索关键词: 同步串行数据 同步串行 一级缓存 发送管 读取 同步串行发送 可靠传输 大数据 物联 上升沿检测 智能 二级缓存 发送模块 接收模块 判断数据 时钟接收 低电平 高电平 下降沿 主时钟 分频 高电 管脚 跳过 发送 保存 检测
【主权项】:
1.一种面向智能物联的同步串行大数据可靠传输方法,该方法利用VHDL语言设计并在FPGA上实现,其特征在于:包括以下步骤:步骤一:设计同步串行数据接收模块,包括一个位宽为1bit的一级缓存BRAM、一个位宽为1bit的二级缓存BRAM,具体实现如下:①设FPGA主时钟为clk,设FPGA同步串行时钟接收管脚为rx_clk,在clk的驱动下检测rx_clk状态,当rx_clk产生上升沿时,置变量rx_true为高电平;②在clk的驱动下,当rx_true为低电平时,计时模块timer工作,当timer达到10毫秒时,timer复位,同时复位一级缓存BRAM的地址addr_BRAM_1为0,并跳转到④;当timer没有达到10毫秒且rx_true为高电平,timer复位,并跳转到③;③在clk的驱动下,将FPGA同步串行数据接收管脚rx_data上的值保存进一级缓存BRAM,同时使一级缓存BRAM的地址addr_BRAM_1加1,变量bit_BRAM_1加1,置变量rx_true为低电平,并返回①;④在clk的驱动下,通过控制addr_BRAM_1的自加1完成依次读取一级缓存BRAM中的8个数据,将这8个数据按照从低到高的顺序组合成一个字节数据;⑤当该字节为十六进制7E时,说明检测到一个帧头,变量F_Head_cnt加1,并跳转到⑥,否则,将addr_BRAM_1自减6,并跳转到⑥;⑥在clk的驱动下,当F_Head_cnt大于等于1时,说明一级缓存中的帧头全部检测完毕,记录此时的一级缓存BRAM地址,记作addr_BRAM_1_F_start,跳转到⑦;否则:当addr_BRAM_1>(bit_BRAM_1-9)时,说明一级缓存BRAM中没有帧头,一级缓存BRAM中的数据无效,此时清空一级缓存BRAM,并跳转到①;当addr_BRAM_1≤(bit_BRAM_1-9)时,跳转到④;⑦在clk的驱动下,使addr_BRAM_1=(bit_BRAM_1-8),然后通过控制addr_BRAM_1的自加1完成依次读取一级缓存BRAM中的8个数据,将这8个数据按照从低到高的顺序组合成一个字节数据;⑧当该字节为十六进制7E时,说明检测到一个帧尾,变量F_Tail_cnt加1,并跳转到⑨,否则,将addr_BRAM_1自减8,并跳转到⑨;⑨在clk的驱动下,当F_Tail_cnt大于等于1时,说明一级缓存中的帧尾全部检测完毕,记录此时的一级缓存BRAM地址,记作addr_BRAM_1_F_stop,此时跳转到⑩;否则:当addr_BRAM_1小于1时,说明一级缓存BRAM中没有帧尾,一级缓存BRAM中的数据无效,此时清空一级缓存BRAM,并跳转到①;当addr_BRAM_1大于等于1时,跳转到⑦;⑩在clk的驱动下,依次读取一级缓存BRAM中从addr_BRAM_1_F_start到addr_BRAM_1_F_stop的数据,该数据即为一级缓存BRAM的净荷数据,当连续读取到5个高电平时,则跳过下一个地址,然后接着读取,并保存进二级缓存BRAM;当一级缓存BRAM中的净荷数据全部搬移到二级缓存BRAM中后,同步串行数据接收完毕,二级缓存BRAM中的数据即为同步串行接收到的数据,返回①;步骤二:设计同步串行发送时钟产生模块,具体实现如下:1)设变量tx_clk_cnt_1和tx_clk_cnt_2,设同步串行发送时钟为tx_clk_band,令tx_clk_cnt_1=clk/(tx_clk_band×2),令tx_clk_cnt_2=clk/tx_clk_band;2)设变量tx_clk_cnt_3,并赋初始值0,同时在clk的驱动下,tx_clk_cnt_3自加1;3)在clk的驱动下,当tx_clk_cnt_3等于0时,将FPGA同步串行时钟发送管脚tx_clk置低电平;4)在clk的驱动下,当tx_clk_cnt_3等于tx_clk_cnt_1时,将FPGA同步串行时钟发送管脚tx_clk置高电平;5)在clk的驱动下,当tx_clk_cnt_3等于tx_clk_cnt_2时,将tx_clk_cnt_3复位为0,返回3);步骤三:设计同步串行数据发送模块,具体实现如下:A)在clk的驱动下,每当tx_clk_cnt_3等于0时,依次将待发送的数据按照bit位从低到高的顺序赋值给FPGA同步串行数据发送管脚tx_data;B)在clk的驱动下,检测FPGA同步串行数据发送管脚tx_data是否存在连续5个高电平,如果存在就插入一个低电平,并赋值给FPGA同步串行数据发送管脚tx_data,返回A)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201711427894.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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