《一种基于FPGA的帧解析方法及装置.pdf》由会员分享,可在线阅读,更多相关《一种基于FPGA的帧解析方法及装置.pdf(6页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201410711387.1(22)申请日 2014.12.01H04L 1/00(2006.01)H04L 12/26(2006.01)(71)申请人浪潮集团有限公司地址 250101 山东省济南市高新区浪潮路1036号(72)发明人张孝飞 梁智豪 刘强(74)专利代理机构济南信达专利事务所有限公司 37100代理人姜明(54) 发明名称一种基于FPGA的帧解析方法及装置(57) 摘要本发明涉及一种帧解析方法,特别涉及一种基于FPGA(FieldProgrammableGateArray,即现场可编程门阵列)的帧解析方法及装置,其利用F。
2、IFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,其利用一个FPGA模拟串口和双口RAM节省芯片数量、提高性能、降低成本、增强了稳定性,本发明可以应用在计算机领域,降低功耗、节省了芯片数量提高性能为管理板PCB布局布线提供方便。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明书3页 附图1页(10)申请公布号 CN 104468039 A(43)申请公布日 2015.03.25CN 104468039 A1/1页21.一种基于FPGA的帧解析方法,是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,。
3、对接收到的数据向FIFO存储器写入前需要进行帧头和帧尾的判断:当检测数据检测为帧头时,将FIFO存储器内的数据清除,开始向FIFO存储器写入数据;当检测数据检测为帧尾时,若帧尾数据正确则此帧接收完毕,若帧尾检测不正确则将FIFO存储器数据清除等待下一次帧头检测。2.根据权利要求1所述的一种基于FPGA的帧解析方法,其特征在于,所述的帧解析方法是先将接收到的数据的前3个字节缓存起来:2个字节的帧头,1个字节的数据格式;只有当判断的缓存字节前两个为帧头时,才开启向FIFO存储器写入数据的使能信号,第3个字节为帧数据长度的判别标志。3.一种基于FPGA的帧解析装置,包括双口RAM,所述的双口RAM两。
4、侧分别通过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为帧头时复位。
5、FIFO存储器,把以前的数据抛掉,数据格式确定后检测帧尾不正确时复位FIFO存储器;帧接收标志产生模块是当检测到帧头和帧格式数据时产生帧接收标志和帧接收数据长度;帧数据写入FIFO使能信号产生模块根据rx_data_valid和rx_end-state产生接收使能信号;额外FIFO写使能信号产生模块是当rx_cnt大于帧长度 3后rx_end_state开始自加一;写入FIFO的帧数据模块是将第三个缓存寄存器的值写入FIFO存储器,然后根据rx_end_state的状态来把缓存缺少的3个数据补入到FIFO存储器中。权 利 要 求 书CN 104468039 A1/3页3一种基于 FPGA 的帧。
6、解析方法及装置技术领域0001 本发明涉及一种帧解析方法,特别涉及一种基于FPGA(FieldProgrammable Gate Array,即现场可编程门阵列)的帧解析方法及装置,其适用于对FPGA内模拟了串口后接收的串口数据的帧解析或者FPGA读取的双口RAM(Random-Access Memory随机存取存储器)的数据的帧解析,适用于FPGA内一切需要做帧解析的数据。背景技术0002 现有技术下,在帧解析项目中,需要把从FPGA模拟串口接收的数据写入到双口RAM中,然后通过双口RAM另一端把数据送给CPU或者是将CPU送给双口RAM的数据通过另一个串口发送出去。0003 目前的方法是利。
7、用的是5个单片机来实现此功能,其不但需要使用大量芯片,而且传输性能低,稳定性也较差。0004 FIFO(First In First O ut)存储器,简单说就是指先进先出存储器,是系统的缓冲环节。发明内容0005 为了解决现有技术的问题,本发明提供了一种基于FPGA的帧解析方法及装置,其利用寄存器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,利用一个FPGA模拟串口和双口RAM节省芯片数量、提高性能、降低成本、增强了稳定性。0006 本发明所采用的技术方案如下:一种基于FPGA的帧解析方法,是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,对接收到的数。
8、据向FIFO存储器写入前需要进行帧头和帧尾的判断:当检测数据检测为帧头时,将FIFO存储器内的数据清除,开始向FIFO存储器写入数据;当检测数据检测为帧尾时,若帧尾数据正确则此帧接收完毕,若帧尾检测不正确则将FIFO存储器数据清除等待下一次帧头检测。0007 帧解析方法是先将接收到的数据的前3个字节缓存起来:2个字节的帧头,1个字节的数据格式;只有当判断的缓存字节前两个为帧头时,才开启向FIFO存储器写入数据的使能信号,第3个字节为帧数据长度的判别标志。因为前3个字节缓存起来,这样的话再向FIFO写入一帧数据时使能FIFO写入信号就缺少了3个有效的使能信号,所以在此专利中当帧发送完毕时模拟了3。
9、个FIFO写有效使能信号。0008 一种基于FPGA的帧解析装置,包括双口RAM,所述的双口RAM两侧分别通过FIFO存储器连接FPGA的模拟串口(RS232),从FPGA的模拟串口接收的数据通过FIFO存储器缓存后写入到双口RAM中,然后通过双口RAM另一端把数据送给CPU。0009 FIFO存储器包括数据缓存模块、抛帧模块、帧接收标志产生模块、帧数据写入说 明 书CN 104468039 A2/3页4FIFO使能信号产生模块、产生额外FIFO写使能信号的状态模块和写入FIFO的帧数据模块,其中,数据缓存模块是以时钟触发,当串口接收完数据发送一个rx_data_valid信号触发缓存数据;抛。
10、帧模块是当检到缓存数据寄存器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存储。
11、器中。0010 本发明提供的技术方案带来的有益效果是:本发明的一种基于FPGA的帧解析方法及装置是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,其利用一个FPGA模拟串口和双口RAM节省芯片数量、提高性能、降低成本、增强了稳定性,本发明可以应用在计算机领域,降低功耗、节省了芯片数量提高性能为管理板PCB布局布线提供方便。附图说明0011 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的。
12、附图。0012 图1为本发明的一种基于FPGA的帧解析方法及装置的装置框图。0013 图2为本发明的一种基于FPGA的帧解析方法及装置的帧解析模块框图。具体实施方 式0014 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。0015 实施例一一种基于FPGA的帧解析方法,是利用FIFO存储器来缓存接收到的数据,将接收到的数据写入到FIFO存储器中,对接收到的数据向FIFO存储器写入前需要进行帧头和帧尾的判断:当检测数据检测为帧头时,将FIFO存储器内的数据清除,开始向FIFO存储器写入数据;当检测数据检测为帧尾时,若帧尾数据正确则此帧接收完毕,若帧尾。
13、检测不正确则将FIFO存储器数据清除等待下一次帧头检测。0016 如附图2所示,系统上电后,通过串口RS232发送一个帧数据:帧数据定义为帧头为0xed、0x90,数据格式定义为0x00的64字节长度的帧,帧尾定义为0x90、0xed,帧数据为0xaa。0017 在系统内部将串口模块、FIFO存储器、双口RAM模块链接起来,一端串口接收发送的长度为64字节的带有帧头和帧尾的数据,经过帧解析模块解析后送到FIFO存储器内,控说 明 书CN 104468039 A3/3页5制双口RAM模块读取FIFO存储器数据后通过双口RAM另一端送给另一端FIFO存储器,通过另一个串口把数据发送出去。0018 。
14、本实施例的帧解析方法是先将接收到的数据的前3个字节缓存起来:2个字节的帧头,1个字节的数据格式;只有当判断的缓存字节前两个为帧头时,才开启向FIFO存储器写入数据的使能信号,第3个字节为帧数据长度的判别标志。因为前3个字节缓存起来,这样的话再向FIFO写入一帧数据时使能FIFO写入信号就缺少了3个有效的使能信号,所以在此专利中当帧发送完毕时模拟了3个FIFO写有效使能信号。0019 实施例二:如附图1所示,一种基于FPGA的帧解析装置,包括双口RAM,所述的双口RAM两侧分别通过FIFO存储器连接FPGA的模拟串口(RS232),从FPGA的模拟串口接收的数据通过FIFO存储器缓存后写入到双口。
15、RAM中,然后通过双口RAM另一端把数据送给CPU。0020 数据缓存模块是以时钟触发,当串口接收完数据发送一个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_stat。
16、e开始自加一;写入FIFO的帧数据模块是将第三个缓存寄存器的值写入FIFO,然后根据rx_end_state的状态来把缓存缺少的3个数据补入到FIFO中。当rx_cnt大于 帧长度减去三的数后,就不会有rx_data_valid信号产生,这时根据rx_end_state状态来产生3个FIFO写使能信号以补充由于利用缓存而缺少的三个FIFO写使能信号。0021 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说 明 书CN 104468039 A1/1页6图1图2说 明 书 附 图CN 104468039 A。