[发明专利]一种基于FPGA的通信方法以及FPGA控制器和USB适配器有效

专利信息
申请号: 201711367607.3 申请日: 2017-12-18
公开(公告)号: CN108664428B 公开(公告)日: 2020-05-05
发明(设计)人: 蔡臻昱;彭晓林;吴乾科 申请(专利权)人: 深圳市鼎阳科技股份有限公司
主分类号: G06F13/38 分类号: G06F13/38;G06F13/42
代理公司: 深圳鼎合诚知识产权代理有限公司 44281 代理人: 郭燕
地址: 518000 广东省深圳市宝安区新安街道兴东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga 通信 方法 以及 控制器 usb 适配器
【权利要求书】:

1.一种基于FPGA的通信方法,其特征在于,包括以下步骤:

FPGA通过其FIFO模块获取载荷数据,所述载荷数据包括协议头部和读写数据,所述协议头部包括写命令或者问询命令;

FPGA通过其数据收发模块解析所述载荷数据;

FPGA通过其状态机判断所述协议头部的命令类型,如果是写命令,则FPGA通过其数据收发模块发送相应的读写数据至外部通信设备,如果是问询命令,则FPGA通过其数据收发模块发送相应的读写数据至外部通信设备以及接收所述外部通信设备返回的答复数据;

当所述协议头部包括问询命令时,所述读写数据为查询问题,所述FPGA将所述外部通信设备返回的答复数据进行回传,包括:FPGA通过其数据收发模块封装所述答复数据,FPGA的状态机将已封装的答复数据写入所述FIFO模块,FPGA通过FIFO模块发送已封装的答复数据;其中,所述数据收发模块封装所述答复数据时包括为所述答复数据添加协议头部的操作,所述数据收发模块主动识别已返回的答复数据的优先级标志,根据优先级标志获取与之相对应的协议头部,将该答复数据作为读写数据与问询命令相对应的协议头部结合,从而形成新的载荷数据。

2.一种用于通信的FPGA控制器,其特征在于,包括FIFO模块、数据收发模块和状态机模块;

所述FIFO模块用于信号连接USB主设备,该FIFO模块用于缓存载荷数据;所述载荷数据包括协议头部和读写数据,所述协议头部包括写命令或者问询命令;

所述数据收发模块用于通信连接USB从设备,用于解析载荷数据并发送载荷数据中的读写数据;

所述状态机模块用于控制所述FIFO模块和所述数据收发模块的通信过程,包括:所述状态机模块读取FIFO模块中的载荷数据并发送至所述数据收发模块,判断所述数据收发模块解析到的所述协议头部的命令类型,如果是写命令,则控制所述数据收发模块发送相应的读写数据至外部通信设备,如果是问询命令,则控制数据收发模块发送相应的读写数据至外部通信设备以及接收所述外部通信设备返回的答复数据;在所述数据收发模块接收到所述答复数据时,所述状态机模块控制所述数据收发模块封装所述答复数据,控制将已封装的答复数据写入所述FIFO模块,且控制所述FIFO模块发送已封装的答复数据;其中,所述数据收发模块封装所述答复数据时包括为所述答复数据添加协议头部的操作,所述数据收发模块主动识别已返回的答复数据的优先级标志,根据优先级标志获取与之相对应的协议头部,将该答复数据作为读写数据与问询命令相对应的协议头部结合,从而形成新的载荷数据。

3.一种用于通信的USB适配器,其特征在于,包括USB控制器和权利要求2中所述的FPGA控制器;

所述USB控制器用于通信连接USB主设备和所述FPGA控制器,用于运行底层USB协议;

所述FPGA控制器用于执行驱动层USB协议。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市鼎阳科技股份有限公司,未经深圳市鼎阳科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201711367607.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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