CN104468039A - 一种基于fpga的帧解析方法及装置 - Google Patents

一种基于fpga的帧解析方法及装置 Download PDF

Info

Publication number
CN104468039A
CN104468039A CN201410711387.1A CN201410711387A CN104468039A CN 104468039 A CN104468039 A CN 104468039A CN 201410711387 A CN201410711387 A CN 201410711387A CN 104468039 A CN104468039 A CN 104468039A
Authority
CN
China
Prior art keywords
data
frame
fifo
fifo memory
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410711387.1A
Other languages
English (en)
Inventor
张孝飞
梁智豪
刘强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Group Co Ltd
Original Assignee
Inspur Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Group Co Ltd filed Critical Inspur Group Co Ltd
Priority to CN201410711387.1A priority Critical patent/CN104468039A/zh
Publication of CN104468039A publication Critical patent/CN104468039A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

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

Description

一种基于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写使能信号。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

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存储器中。
CN201410711387.1A 2014-12-01 2014-12-01 一种基于fpga的帧解析方法及装置 Pending CN104468039A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410711387.1A CN104468039A (zh) 2014-12-01 2014-12-01 一种基于fpga的帧解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410711387.1A CN104468039A (zh) 2014-12-01 2014-12-01 一种基于fpga的帧解析方法及装置

Publications (1)

Publication Number Publication Date
CN104468039A true CN104468039A (zh) 2015-03-25

Family

ID=52913482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410711387.1A Pending CN104468039A (zh) 2014-12-01 2014-12-01 一种基于fpga的帧解析方法及装置

Country Status (1)

Country Link
CN (1) CN104468039A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106682296A (zh) * 2016-12-19 2017-05-17 西安微电子技术研究所 一种面向fpga的多路通用化配置加载控制系统及方法
CN106777529A (zh) * 2016-11-23 2017-05-31 天津大学 基于fpga的集成电路抗故障注入攻击能力评估方法
CN107911372A (zh) * 2017-11-24 2018-04-13 杭州迪普科技股份有限公司 一种基于逻辑器件实现串口设备接入以太网的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420877A (zh) * 2011-12-01 2012-04-18 中国船舶重工集团公司第七○九研究所 一种多模式高速智能异步串口通信模块及实现方法
CN103220168A (zh) * 2013-03-29 2013-07-24 西安空间无线电技术研究所 一种基于定长协议数据包长度异常的处理方法
CN103560916A (zh) * 2013-11-04 2014-02-05 中国电子科技集团公司第四十一研究所 一种高速数据包过滤电路及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420877A (zh) * 2011-12-01 2012-04-18 中国船舶重工集团公司第七○九研究所 一种多模式高速智能异步串口通信模块及实现方法
CN103220168A (zh) * 2013-03-29 2013-07-24 西安空间无线电技术研究所 一种基于定长协议数据包长度异常的处理方法
CN103560916A (zh) * 2013-11-04 2014-02-05 中国电子科技集团公司第四十一研究所 一种高速数据包过滤电路及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777529A (zh) * 2016-11-23 2017-05-31 天津大学 基于fpga的集成电路抗故障注入攻击能力评估方法
CN106682296A (zh) * 2016-12-19 2017-05-17 西安微电子技术研究所 一种面向fpga的多路通用化配置加载控制系统及方法
CN107911372A (zh) * 2017-11-24 2018-04-13 杭州迪普科技股份有限公司 一种基于逻辑器件实现串口设备接入以太网的方法和装置
CN107911372B (zh) * 2017-11-24 2021-01-26 杭州迪普科技股份有限公司 一种基于逻辑器件实现串口设备接入以太网的方法和装置

Similar Documents

Publication Publication Date Title
CN102945217B (zh) 一种基于三模冗余的星载综合电子系统
CN102981776B (zh) 双倍数据率虚拟静态随机存取存储器及其控制器、存取与操作方法、写入与读取方法
CN211376201U (zh) 一种命令读写装置、存储器
CN105573239A (zh) 一种高速背板总线通讯控制装置及方法
CN203812236U (zh) 一种基于处理器和现场可编程门阵列的数据交换系统
CN104468039A (zh) 一种基于fpga的帧解析方法及装置
CN112948295B (zh) 一种基于axi4总线的fpga与ddr高速数据包传输系统及方法
CN104615386A (zh) 一种核外高速缓存装置
CN105207848A (zh) 一种基于嵌入式芯片的SerDes误码率检测方法及系统
CN204203964U (zh) 一种多路数据存储的便携式地面测试设备
CN204256732U (zh) 基于PCI-Express接口的高速数据传输装置
CN102053936B (zh) Fpga通过ddr2接口与dsp通信的方法及装置
CN101504559B (zh) 一种apb总线及其实现方法
CN105389282A (zh) 处理器和arinc429总线的通信方法
CN203102274U (zh) 一种高速数据传输连接器
CN101950276B (zh) 一种存储器访问装置及其程序执行方法
CN105320637A (zh) Flash数据读取电路
CN201812284U (zh) 一种存储器接口
CN204855793U (zh) 基于omap4460的船用导航雷达显控处理单元
CN102890664A (zh) 一种扩容式数据采集板及其数据存储方法
CN205092880U (zh) 基于fpga芯片的hdlc协议控制器
CN107341116B (zh) 基于arm的pc/104通信方法及其写入、读取时序
CN202067260U (zh) 一种减少数据传输的缓存系统
CN203151532U (zh) 一种轨道车辆能源管理系统mvb通讯装置及储能式轻轨车
CN103678231A (zh) 一种两通道并行信号处理模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150325