[发明专利]一种基于FPGA的数据传输板之间进行高速传输的方法有效
申请号: | 201410226473.3 | 申请日: | 2014-05-27 |
公开(公告)号: | CN104008078B | 公开(公告)日: | 2017-02-15 |
发明(设计)人: | 徐强;王飞;王俊 | 申请(专利权)人: | 安徽中兴继远信息技术股份有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F5/06;H04L1/00 |
代理公司: | 合肥天明专利事务所34115 | 代理人: | 张祥骞,奚华保 |
地址: | 230031 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 数据传输 之间 进行 高速 传输 方法 | ||
1.一种基于FPGA的数据传输板之间进行高速传输的方法,主数据传输板包括主CPU(2)和主FPGA(1),从数据传输板包括从CPU(4)和从FPGA(3);主FPGA(1)包括与主CPU(2)相连的主总线控制逻辑模块(11),主总线控制逻辑模块(11)通过发送FIFO(12)与发送帧处理模块(13)相连,发送帧处理模块(13)通过编码模块(14)与并串转换模块(15)相连,并串转换模块(15)与差分输出模块(16)相连;差分输入模块(31)通过同步模块(32)与解码模块(33)相连,解码模块(33)通过接收帧处理模块(34)与接收FIFO(35)相连,接收FIFO(35)通过从总线控制逻辑模块(36)与从CPU(4)相连;差分输出模块(16)与差分输入模块(31)相连,其特征在于,传输方法包括以下步骤:
10)监听空闲标志位,检测并串转换模块(15)中的空闲标志位是否处于空闲状态,若处于繁忙状态则继续等待空闲状态,若处于空闲状态,主CPU(2)将发送数据写入主总线控制逻辑模块(11),并置位于主总线控制逻辑模块(11)中的发送标志位;
11)对发送FIFO写数据,主总线控制逻辑模块(11)接收到发送标志位的消息后,将数据写入发送FIFO(12);
12)数据组帧,发送帧处理模块(13)检测到发送FIFO(12)中有数据后,将数据读出并组帧发送给编码模块(14);
13)数据编码,编码模块(14)接收到数据后,将数据的每个字节通过8B/10B编码器编成10bit的数据,发送至并串转换模块(15);
14)差分传送,并串转换模块(15)接收到编码模块(14)的10bit数据后将其转换成1bit数据,通过差分输出模块(16)将单端信号转化为差分信号传出去,并置并串转换模块(15)的空闲标志位为空闲状态;
15)差分转换,差分输入模块(31)接收差分输出模块(16)发送的数据并转换成单端信号后发送给同步模块(32);
16)同步接收,同步模块(32)通过位同步形成数据采集时钟,通过字节同步得到10bit数据后发送给解码模块(33);
17)数据解码,解码模块(33)通过8B/10B解码器将10bit数据转换成8bit数据并发送给接收帧处理模块(34);
18)数据解析,接收帧处理模块(34)将数据根据帧定义进行解析,并将解析后的数据存入接收FIFO(35);
19)数据读取,从总线控制逻辑模块(36)监控接收FIFO(35)中的数据字节数信号N,如果N=20,则产生中断并通知从CPU(4),从CPU(4)通过数据总线读取数据。
2.根据权利要求1所述的一种基于FPGA的数据传输板之间进行高速传输的方法,其特征在于,所述的数据组帧包括以下步骤:
21)发送帧处理模块(13)监测发送FIFO(12)中的数据字节接口;
22)若检测到发送FIFO(12)中的字节数不为零,则不停地轮询发送FIFO(12)中的字节信号;
23)若字节数超过10个则将数据依次读出,发送FIFO(12)进入读数据状态,发送FIFO(12)读取一个字节的数据后进行计算校验和,判断处理的数据个数是否等于待发送字节数,若是则进入组帧状态,加上帧头、信息位和校验位并将数据传给编码模块(14);若数据个数小于待发送字节数,则继续发送FIFO(12)的数据,直到处理的字节数等于待发送字节数为止;
24)若发送FIFO(12)的轮询时间大于超时时间,发送FIFO(12)进入数据状态,发送FIFO(12)读取一个字节的数据后进计算校验和,判断处理的数据个数是否等于待发送字节数,若是则进入组帧状态,加上帧头、信息位和校验位并将数据传给编码模块(14);若数据个数小于待发送字节数,则继续发送FIFO(12)的数据,直到处理的字节数等于待发送字节数为止。
3.根据权利要求1所述的一种基于FPGA的数据传输板之间进行高速传输的方法,其特征在于,所述的数据解析包括以下步骤:
31)接收帧处理模块(34)在未收到字节使能信号前处于空闲状态,探测到字节使能信号后,接收帧处理模块(34)进入帧头状态;
32)判断帧头状态中收到的数据是否是帧头,如果是则等下一个字节使能信号到来进入读帧字节数状态,如果不是,则返回空闲状态;
33)读取数据并转入计算校验状态,在计算校验状态中计算校验和并累加读取字节数,当读取字节数小于帧字节数时,返回读取数据状态;当读取字节数等于帧字节数时,进入读取校验位状态;
34)在读取校验位状态中,判断校验和是否正确,如果正确则进入写数据到接收FIFO(35)的状态,如果不正确则返回空闲状态;在写数据到接收FIFO状态(35)中,连续将等于帧字节数个数的数据都存入接收FIFO(35)中,存完转入空闲状态,重新等待新数据帧的到来。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽中兴继远信息技术股份有限公司,未经安徽中兴继远信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410226473.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:舰载光电设备智能充电管理器
- 下一篇:一种复合电源超级电容实时电量管理方法