书签 分享 收藏 举报 版权申诉 / 6

一种基于FPGA的帧解析方法及装置.pdf

  • 上传人:a***
  • 文档编号:4081914
  • 上传时间:2018-08-14
  • 格式:PDF
  • 页数:6
  • 大小:360.97KB
  • 摘要
    申请专利号:

    CN201410711387.1

    申请日:

    2014.12.01

    公开号:

    CN104468039A

    公开日:

    2015.03.25

    当前法律状态:

    撤回

    有效性:

    无权

    法律详情:

    发明专利申请公布后的视为撤回IPC(主分类):H04L 1/00申请公布日:20150325|||实质审查的生效IPC(主分类):H04L1/00申请日:20141201|||公开

    IPC分类号:

    H04L1/00; H04L12/26

    主分类号:

    H04L1/00

    申请人:

    浪潮集团有限公司

    发明人:

    张孝飞; 梁智豪; 刘强

    地址:

    250101山东省济南市高新区浪潮路1036号

    优先权:

    专利代理机构:

    济南信达专利事务所有限公司37100

    代理人:

    姜明

    PDF完整版下载: PDF下载
    内容摘要

    本发明涉及一种帧解析方法,特别涉及一种基于FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)的帧解析方法及装置,其利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,其利用一个FPGA模拟串口和双口RAM节省芯片数量、提高性能、降低成本、增强了稳定性,本发明可以应用在计算机领域,降低功耗、节省了芯片数量提高性能为管理板PCB布局布线提供方便。

    权利要求书

    权利要求书1.  一种基于FPGA的帧解析方法,是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,对接收到的数据向FIFO存储器写入前需要进行帧头和帧尾的判断:当检测数据检测为帧头时,将FIFO存储器内的数据清除,开始向FIFO存储器写入数据;当检测数据检测为帧尾时,若帧尾数据正确则此帧接收完毕,若帧尾检测不正确则将FIFO存储器数据清除等待下一次帧头检测。2.  根据权利要求1所述的一种基于FPGA的帧解析方法,其特征在于,所述的帧解析方法是先将接收到的数据的前3个字节缓存起来:2个字节的帧头,1个字节的数据格式;只有当判断的缓存字节前两个为帧头时,才开启向FIFO存储器写入数据的使能信号,第3个字节为帧数据长度的判别标志。3.  一种基于FPGA的帧解析装置,包括双口RAM,所述的双口RAM两侧分别通过FIFO存储器连接FPGA的模拟串口(RS232),从FPGA的模拟串口接收的数据通过FIFO存储器缓存后写入到双口RAM中,然后通过双口RAM另一端把数据送给CPU。4.  根据权利要求3所述的一种基于FPGA的帧解析装置,其特征在于,所述的FIFO存储器包括数据缓存模块、抛帧模块、帧接收标志产生模块、帧数据写入FIFO使能信号产生模块、产生额外FIFO写使能信号的状态模块和写入FIFO的帧数据模块,其中,数据缓存模块是以时钟触发,当串口接收完数据发送一个rx_data_valid信号触发缓存数据;抛帧模块是当检到缓存数据寄存器rx_data1_0和rx_data_in_0为帧头时复位FIFO存储器,把以前的数据抛掉,数据格式确定后检测帧尾不正确时复位FIFO存储器;帧接收标志产生模块是当检测到帧头和帧格式数据时产生帧接收标志和帧接收数据长度;帧数据写入FIFO使能信号产生模块根据rx_data_valid和rx_end-state产生接收使能信号;额外FIFO写使能信号产生模块是当rx_cnt大于帧长度 – 3后rx_end_state开始自加一;写入FIFO的帧数据模块是将第三个缓存寄存器的值写入FIFO存储器,然后根据rx_end_state的状态来把缓存缺少的3个数据补入到FIFO存储器中。

    说明书

    说明书一种基于FPGA的帧解析方法及装置
    技术领域
    本发明涉及一种帧解析方法,特别涉及一种基于FPGA(Field-Programmable Gate Array,即现场可编程门阵列)的帧解析方法及装置,其适用于对FPGA内模拟了串口后接收的串口数据的帧解析或者FPGA读取的双口RAM(Random-Access Memory随机存取存储器)的数据的帧解析,适用于FPGA内一切需要做帧解析的数据。
    背景技术
    现有技术下,在帧解析项目中,需要把从FPGA模拟串口接收的数据写入到双口RAM中,然后通过双口RAM另一端把数据送给CPU或者是将CPU送给双口RAM的数据通过另一个串口发送出去。
    目前的方法是利用的是5个单片机来实现此功能,其不但需要使用大量芯片,而且传输性能低,稳定性也较差。
    FIFO(First In First Out)存储器,简单说就是指先进先出存储器,是系统的缓冲环节。
    发明内容
    为了解决现有技术的问题,本发明提供了一种基于FPGA的帧解析方法及装置,其利用寄存器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,利用一个FPGA模拟串口和双口RAM节省芯片数量、提高性能、降低成本、增强了稳定性。
    本发明所采用的技术方案如下:
    一种基于FPGA的帧解析方法,是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,对接收到的数据向FIFO存储器写入前需要进行帧头和帧尾的判断:
    当检测数据检测为帧头时,将FIFO存储器内的数据清除,开始向FIFO存储器写入数据;
    当检测数据检测为帧尾时,若帧尾数据正确则此帧接收完毕,若帧尾检测不正确则将FIFO存储器数据清除等待下一次帧头检测。
    帧解析方法是先将接收到的数据的前3个字节缓存起来:2个字节的帧头,1个字节的数据格式;只有当判断的缓存字节前两个为帧头时,才开启向FIFO存储器写入数据的使能信号,第3个字节为帧数据长度的判别标志。因为前3个字节缓存起来,这样的话再向FIFO写入一帧数据时使能FIFO写入信号就缺少了3个有效的使能信号,所以在此专利中当帧发送完毕时模拟了3个FIFO写有效使能信号。
    一种基于FPGA的帧解析装置,包括双口RAM,所述的双口RAM两侧分别通过FIFO存储器连接FPGA的模拟串口(RS232),从FPGA的模拟串口接收的数据通过FIFO存储器缓存后写入到双口RAM中,然后通过双口RAM另一端把数据送给CPU。
    FIFO存储器包括数据缓存模块、抛帧模块、帧接收标志产生模块、帧数据写入FIFO使能信号产生模块、产生额外FIFO写使能信号的状态模块和写入FIFO的帧数据模块,其中,数据缓存模块是以时钟触发,当串口接收完数据发送一个rx_data_valid信号触发缓存数据;抛帧模块是当检到缓存数据寄存器rx_data1_0和rx_data_in_0为帧头时复位FIFO存储器,把以前的数据抛掉,数据格式确定后检测帧尾不正确时复位FIFO存储器;帧接收标志产生模块是当检测到帧头和帧格式数据时产生帧接收标志和帧接收数据长度;帧数据写入FIFO使能信号产生模块根据rx_data_valid和rx_end-state产生接收使能信号;额外FIFO写使能信号产生模块是当rx_cnt大于帧长度 – 3后rx_end_state开始自加一;写入FIFO的帧数据模块是将第三个缓存寄存器的值写入FIFO存储器,然后根据rx_end_state的状态来把缓存缺少的3个数据补入到FIFO存储器中。
    本发明提供的技术方案带来的有益效果是:
    本发明的一种基于FPGA的帧解析方法及装置是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,其利用一个FPGA模拟串口和双口RAM节省芯片数量、提高性能、降低成本、增强了稳定性,本发明可以应用在计算机领域,降低功耗、节省了芯片数量提高性能为管理板PCB布局布线提供方便。
    附图说明
    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    图1为本发明的一种基于FPGA的帧解析方法及装置的装置框图。
    图2为本发明的一种基于FPGA的帧解析方法及装置的帧解析模块框图。
    具体实施方式
    为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
    实施例一
    一种基于FPGA的帧解析方法,是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,对接收到的数据向FIFO存储器写入前需要进行帧头和帧尾的判断:
    当检测数据检测为帧头时,将FIFO存储器内的数据清除,开始向FIFO存储器写入数据;
    当检测数据检测为帧尾时,若帧尾数据正确则此帧接收完毕,若帧尾检测不正确则将FIFO存储器数据清除等待下一次帧头检测。
    如附图2所示,系统上电后,通过串口RS232发送一个帧数据:帧数据定义为帧头为0xed、0x90,数据格式定义为0x00的64字节长度的帧,帧尾定义为0x90、0xed,帧数据为0xaa。
    在系统内部将串口模块、FIFO存储器、双口RAM模块链接起来,一端串口接收发送的长度为64字节的带有帧头和帧尾的数据,经过帧解析模块解析后送到FIFO存储器内,控制双口RAM模块读取FIFO存储器数据后通过双口RAM另一端送给另一端FIFO存储器,通过另一个串口把数据发送出去。
    本实施例的帧解析方法是先将接收到的数据的前3个字节缓存起来:2个字节的帧头,1个字节的数据格式;只有当判断的缓存字节前两个为帧头时,才开启向FIFO存储器写入数据的使能信号,第3个字节为帧数据长度的判别标志。因为前3个字节缓存起来,这样的话再向FIFO写入一帧数据时使能FIFO写入信号就缺少了3个有效的使能信号,所以在此专利中当帧发送完毕时模拟了3个FIFO写有效使能信号。
    实施例二:
    如附图1所示,一种基于FPGA的帧解析装置,包括双口RAM,所述的双口RAM两侧分别通过FIFO存储器连接FPGA的模拟串口(RS232),从FPGA的模拟串口接收的数据通过FIFO存储器缓存后写入到双口RAM中,然后通过双口RAM另一端把数据送给CPU。
    数据缓存模块是以时钟触发,当串口接收完数据发送一个rx_data_valid信号触发缓存数据;抛帧模块是当检到缓存数据寄存器rx_data1_0和rx_data_in_0为帧头时复位FIFO,把以前的数据抛掉,数据格式确定后检测帧尾不正确时复位FIFO;帧接收标志产生模块是当检测到帧头和帧格式数据时产生帧接收标志和帧接收数据长度;帧数据写入FIFO使能信号产生模块根据rx_data_valid和rx_end-state【2:0】产生接收使能信号;额外FIFO写使能信号产生模块是当rx_cnt大于(帧长度 – 3)后rx_end_state开始自加一;写入FIFO的帧数据模块是将第三个缓存寄存器的值写入FIFO,然后根据rx_end_state的状态来把缓存缺少的3个数据补入到FIFO中。当rx_cnt大于 帧长度减去三的数后,就不会有rx_data_valid信号产生,这时根据rx_end_state状态来产生3个FIFO写使能信号以补充由于利用缓存而缺少的三个FIFO写使能信号。
    以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

    关 键  词:
    一种 基于 FPGA 解析 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种基于FPGA的帧解析方法及装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4081914.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1