一种基于SDIO接口的FPGA板级通信装置及通信方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201711006016.3
(22)申请日 2017.10.25
(71)申请人 武汉精测电子集团股份有限公司
地址 430070 湖北省武汉市洪山区南湖大
道53号洪山创业中心四楼
(72)发明人 邓志 许恩 彭骞 陈凯 沈亚非 
(74)专利代理机构 武汉东喻专利代理事务所
(普通合伙) 42224
代理人 方可
(51)Int.Cl.
G06F  13/10(2006.01)
G06F  13/40(2006.01)
(54)发明名称
一种基于SDIO接口的FPGA板级通信装置及
通信方法
(57)摘要
本发明公开了一种基于SDIO接口的FPGA板
级通信装置及通信方法,包括主机FPGA的SDIO
Master模块与从机FPGA的SDIO  slave模块;SDIO
Master模块与SDIO  slave模块间通过SDIO总线
相连;其中,SDIO  Master模块包括时钟单元、控
制信号处理单元、第一命令控制单元、第一数据
处理单元和FIFO存储单元;SDIO  slave模块包括
第二命令控制单元、第二数据处理单元和数据缓
存单元;时钟单元直接驱动SDIO  Master模块工
作,同时作为时钟源驱动SDIO  Slave模块工作;
控制信号处理单元接收上位机或主机FPGA的控
制命令并解析;第一数据处理单元和第二数据处
理单元根据解析后的控制命令驱动数据在FIFO
存储单元和数据缓存单元间进行传输。采用本发
明的通信装置,数据在主机和从机FPGA间的传输
速度可达到200Mbps,能满足大部分移动设备的
高速数据传输需求。权利要求书2页  说明书7页  附图2页CN 107741915 A 2018.02.27
C N  107741915
A
1.一种基于SDIO接口的FPGA板级通信装置,其特征在于,包括主机FPGA的SDIO Master 模块与从机FPGA的SDIO slave模块;SDIO Master模块与SDIO slave模块之间通过SDIO总线相连;
其中,所述SDIO Master模块包括控制信号处理单元、第一命令控制单元、第一数据处理单元和FIFO存储单元;所述SDIO slave模块包括第二命令控制单元、第二数据处理单元和数据缓存单元;
所述控制信号处理单元用于接收、回复上位机或主机FPGA的控制命令,并用于将控制命令解析为初始化命令和/或数据传输命令;
所述第一命令控制单元用于执行初始化命令并将初始化命令发送至第二命令控制单元;并用于将数据传输命令发送至第二命令控制单元和第一数据控制单元;
所述第二命令控制单元用于执行初始化命令;并用于将数据传输命令发送至第二数据控制单元;
所述第一数据处理单元和第二数据处理单元用于根据接收的数据传输命令驱动数据在FIFO存储单元和数据缓存单元间进行传输。
2.如权利要求1所述的基于SDIO接口的板级通信装置,其特征在于,所述SDIO总线包括指令总线、数据总线和时钟总线,第一命令控制单元和第二命令控制单元通过所述指令总线相连;第一数据处理单元和第二数据处理单元通过所述数据总线相连;时钟单元通过所述时钟总线驱动SDIOSlave模块。
3.如权利要求1所述的基于SDIO接口的板级通信装置,其特征在于,所述FIFO存储单元包括写FIFO和读FIFO;
所述写FIFO用于缓存向SDIO slave模块发送的数据;所述读FIFO用于缓存从SDIO slave模块接收的数据。
4.如权利要求3所述的基于SDIO接口的板级通信装置,其特征在于,所述第一数据处理单元用于根据接收的写数据命令提取写FIFO中的数据并传输至数据总线上;并用于根据接收的读数据命令接收数据总线上的数据并将其写入读FIFO;
所述第二数据处理单元用于根据接收的写数据接收数据总线上的数据并存入的数据缓存单元中;并用于根据接收的读数据命令读取数据缓存单元中对应地址的数据并传输至数据总线上。
5.如权利要求1或4所述的基于SDIO接口的板级通信装置,其特征在于,所述第一数据处理单元和第二数据处理单元以块为单位进行Byte数据传输,通过所述控制信号处理单元设置数据传输速率、每块传输的Byte数和每次传输的块数。
6.如权利要求5所述的基于SDIO接口的板级通信装置,其特征在于,所述Byte数据按照bit7-bit4、bit3-bit0的方式在数据总线上进行传输。
7.如权利要求1所述的基于SDIO接口的板级通信装置,其特征在于,所述第一命令控制单元和第二命令控制单元校对并生成命令的CRC校验信息,并将CRC正确或错误信息反馈至控制信号处理单元;
所述第二数据处理单元校对并生成数据的CRC校验信息,并将CRC正确或错误信息反馈至第一数据处理单元;
所述第一数据处理单元校对并生成数据的CRC校验信息,若CRC错误,则通知控制信号
处理单元生成停止命令,中断数据传输过程。
8.一种基于SDIO接口的FPGA板级通信方法,其特征在于,包括以下步骤:
S1:主机FPGA和从机FPGA完成初始化;
S2:对控制命令进行解析,得到读/写命令协议包;
S3:提取写命令协议包中的写起始地址,将主机FPGA中的待写数据通过数据总线写入从机FPGA;
S4:提取读命令协议包中的读起始地址,将从机FPGA中的待读数据并通过数据总线传输至主机FPGA。
9.如权利要求8所述的通信方法,其特征在于,步骤S2中对控制命令进行解析的过程包括:提取读/写数据命令中的读/写起始地址和长度信息,加入读/写指示码。
10.如权利要求8所述的通信方法,其特征在于,步骤S1中的初始化过程包括以下步骤:
S1:初始化I/O接口,分别设置指令总线和数据总线为高和低,并判断是否是高和低;若I/O配置成功,进入下一步;若配置失败,则初始化失败;
S2:依次复位SDIO slave各模块,并获取返回CRC值;若返回超时,则初始化失败,返回失败;若CRC值错误,返回S1;若CRC值正确,则进入下一步;
S3:设置数据传输速率,并返回CRC值;若获取返回超时,则初始化失败,返回失败;若CRC值错误,返回S1;若CRC值正确,则进入下一步;
S4:设置1块传输的byte数,并返回CRC值;若获取返回超时,则初始化失败,返回失败;若CRC值错误,返回S1;若CRC值正确,则进入下一步;
S5:设置1次传输的块数,并返回CRC值;若返回超时,则初始化失败,返回失败;若CRC值错误,返回S1;若CRC值正确,则初始化成功,返回成功。
一种基于SDIO接口的FPGA板级通信装置及通信方法
技术领域
[0001]本发明属于FPGA嵌入式技术领域,更具体地,涉及一种基于SDIO接口的FPGA板级通信装置及通信方法。
背景技术
[0002]SDIO(Secure Digital Input and Output Card)协议由SD卡的协议演化升级而来,而SDIO接口是在SD标准上定义的一种外设接口,它具有很强的扩展性和较快的传输速度,标准模式速率为100Mbps,高速模式速率为200Mbps;它还支持即插即用,为移动设备提供了高速低功耗IO数据传输解决方案,在蓝牙、相机、GPS、无线WIFI等外设中具有广泛的应用。这些外设允许任何宿主设备与他们“通话”,只要它们都支持SDIO应用规范。
[0003]FPGA与FPGA板级通信一般采用I2C、串行外设接口(Seria l Periphera l Interface,SPI)、串口、以太网和serdes接口协议。I2C、SPI、串口协议速率较低,小于10Mbps,难以满足高速信号处
理系统的需要,且收发包没有循环冗余校验(Cyclic Redundancy Check,CRC),不能判断数据是否出错;而以太网和serdes外围电路复杂,高性能模块对于芯片的成本会增加,应用程序编码难度大。
[0004]针对传统FPGA板级通信的种种缺点,我们将SDIO接口扩展到FPGA上,在FPGA上实现一种高速的、数据可靠的通信方法。
发明内容
[0005]针对现有技术的以上缺陷或改进需求,本发明提供了一种基于SDIO接口的FPGA板级通信装置及通信方法,实现一种高速的、数据可靠的、操作简单的通信方法。
[0006]为实现上述目的,按照本发明的一个方面,提供了一种基于SDIO接口的FPGA板级通信装置,包括主机FPGA的SDIO Master模块与从机FPGA的SDIO slave模块;SDIO Master 模块与SDIO slave模块之间通过SDIO总线相连;
[0007]其中,SDIO Master模块包括时钟单元、控制信号处理单元、第一命令控制单元、第一数据处理单元和FIFO存储单元;SDIO slave模块包括第二命令控制单元、第二数据处理单元和数据缓存单元;
[0008]时钟单元用于直接驱动SDIO Master模块工作,同时作为时钟源驱动SDIO Slave 模块工作;
[0009]控制信号处理单元用于接收、回复上位机或主机FPGA的控制命令,并用于将控制命令解析为初始化命令和/或数据传输命令;
[0010]第一命令控制单元用于执行初始化命令并将初始化命令发送至第二命令控制单元;并用于将数据传输命令发送至第二命令控制单元和第一数据控制单元;
[0011]第二命令控制单元用于执行初始化命令;并用于将数据传输命令发送至第二数据控制单元;
[0012]第一数据处理单元和第二数据处理单元用于根据接收的数据传输命令驱动数据
在FIFO存储单元和数据缓存单元间进行传输。
[0013]优选的,上述基于SDIO接口的板级通信装置,其SDIO总线包括指令总线、数据总线和时钟总线,第一命令控制单元和第二命令控制单元通过所述指令总线相连;第一数据处理单元和第二数据处理单元通过所述数据总线相连;时钟单元通过所述时钟总线驱动SDIO Slave模块。
[0014]优选的,上述基于SDIO接口的板级通信装置,其FIFO存储单元包括写FIFO和读FIFO;
[0015]写FIFO用于缓存向SDIO slave模块发送的数据;读FIFO用于缓存从SDIO slave模块接收的数据;
[0016]优选的,上述基于SDIO接口的板级通信装置,其第一数据处理单元用于根据接收的写数据命令提取写FIFO中的数据并传输至数据总线上;并用于根据接收的读数据命令接收数据总线上的数据并将其写入读FIFO;
[0017]第二数据处理单元用于根据接收的写数据接收数据总线上的数据并存入的数据缓存单元中;并用于根据接收的读数据命令读取数据缓存单元中对应地址的数据并传输至数据总线上。
[0018]优选的,上述基于SDIO接口的板级通信装置,其第一数据处理单元和第二数据处理单元以块为单位进行Byte数据传输,通过所述控制信号处理单元设置数据传输速率、每块传输的Byte数和每次传输的块数。
[0019]优选的,上述基于SDIO接口的板级通信装置,其Byte数据按照bit7-bit4、bit3-bit0的方式在数据总线上进行传输。
[0020]优选的,上述基于SDIO接口的板级通信装置,其第一命令控制单元和第二命令控制单元校对并生成命令的CRC校验信息,并将CRC正确或错误信息反馈至控制信号处理单元;
[0021]第二数据处理单元校对并生成数据的CRC校验信息,并将CRC正确或错误信息反馈至第一数据处理单元;
[0022]第一数据处理单元校对并生成数据的CRC校验信息,若CRC错误,则通知控制信号处理单元生成停止命令,中断数据传输过程。
[0023]按照本发明的另一个方面,提供了一种基于SDIO接口的FPGA板级通信方法,包括以下步骤:
[0024]S1:主机FPGA和从机FPGA完成初始化;
[0025]S2:对控制命令进行解析,得到读/写命令协议包;
[0026]S3:提取写命令协议包中的写起始地址,将主机FPGA中的待写数据通过数据总线写入从机FPGA;
[0027]S4:提取读命令协议包中的读起始地址,将从机FPGA中的待读数据并通过数据总线传输至主机FPGA。
[0028]优选的,上述通信方法,步骤S2中对控制命令进行解析的过程包括:提取读/写数据命令中的读/写起始地址和长度信息,加入读/写指示码。
[0029]优选的,上述通信方法,其待读/写数据以bit7-bit4、bit3-bit0的方式在数据总线上进行传输。

本文发布于:2024-09-23 10:16:20,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/403502.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   命令   单元   控制   接口   装置   板级   处理单元
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议