CN110727619A - 基于sdio接口的通信系统及数据传输方法 - Google Patents
基于sdio接口的通信系统及数据传输方法 Download PDFInfo
- Publication number
- CN110727619A CN110727619A CN201910981609.4A CN201910981609A CN110727619A CN 110727619 A CN110727619 A CN 110727619A CN 201910981609 A CN201910981609 A CN 201910981609A CN 110727619 A CN110727619 A CN 110727619A
- Authority
- CN
- China
- Prior art keywords
- cache unit
- data
- chip
- storage space
- host
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 104
- 230000005540 biological transmission Effects 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 50
- 239000000872 buffer Substances 0.000 claims description 36
- 230000015654 memory Effects 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 6
- 238000004220 aggregation Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0278—Traffic management, e.g. flow control or congestion control using buffer status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种基于SDIO接口的通信系统及数据传输方法,涉及通信技术领域。在该通信系统及数据传输方法中,通过第一缓存单元对待发送数据进行缓存,同时,通过片内处理器控制该DMA控制器将第一缓存单元中缓存的待发送数据写入预读取缓存单元并链入发送链表,可以使得该通信模块连续地进行数据发送,从而实现流水化的发送数据,提高数据的发送效率;除此之外,在该通信系统及数据传输方法中,通过第二缓存单元对通信模块接收到的数据进行缓存,可以避免通信模块在接收到每一帧数据时均向主机端发送中断,从而减少主机端在读取接收数据过程中的中断次数,进而实现流水化的接收和读取数据,提高数据的接收效率和读取效率。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种基于SDIO接口的通信系统及数据传输方法。
背景技术
SDIO(Secure Digital Input and Output,安全数字输入输出)接口是一种常用的外设接口,随着电子产品及物联网技术的快速发展,SDIO接口被广泛引用于通信芯片中,作为主机与通信芯片的接口。
由于SDIO接口是一种主从架构,设备端(例如上述的通信芯片)只能被动响应主机端的操作。在传统的实现方式中,主机端在发送数据时需要处理发送数据的FIFO(FirstInputFirst Output)溢出,发送状态返回等过程,并且不能实现流水化的发送操作,因此数据发送效率较低。而在接收数据时,通信芯片的内嵌CPU需要处理接收数据FIFO溢出,并且,每个接收帧都需要通过中断通知主机端。如此一来,频繁的中断便会降低主机端的处理效率,进而降低数据的接收效率。
因此,对于本领域技术人员而言,改进SDIO接口的数据传输方式或通信体系结构以提高其传输效率具有重要的研究意义。
发明内容
本申请实施例通过提供一种基于SDIO接口的通信系统及数据传输方法,以提高主机端与通信之间的数据传输效率。
为了实现上述目的,本申请较佳实施例采用的技术方案如下:
第一方面,本申请实施例提供一种基于SDIO接口的通信系统,所述系统包括主机端及通信模块,所述通信模块包括SDIO接口和通信芯片,所述通信芯片通过所述SDIO接口与所述主机端通信连接;其中,
所述通信模块还包括SDIO控制器、片内处理器、直接内存访问DMA控制器及预读取缓存单元,所述SDIO控制器、片内处理器、直接内存访问DMA控制器、预读取缓存单元以及所述通信芯片之间通过片内总线连接;
所述SDIO控制器包括第一缓存单元、第二缓存单元、命令处理机、中断控制器及状态寄存器组;其中,
所述命令处理机用于根据所述主机端发送的CMD命令建立所述通信模块与所述主机端之间的数据传输通道,所述第一缓存单元用于缓存所述主机端向所述通信模块传输的待发送数据,所述第二缓存单元用于缓存所述通信模块接收到的接收数据,所述中断控制器用于在所述片内处理器的控制下生成中断信号,所述状态寄存器组用于记录所述SDIO控制器的状态信息,所述状态信息包括所述第一缓存单元的当前存储空间状态以及所述第二缓存单元的当前存储空间状态。
可选地,在本申请的一种实施例中,所述主机端与所述SDIO接口通过SDIO总线连接,所述通信芯片与所述SDIO接口通过片内总线连接。
可选地,在本申请的一种实施例中,所述通信芯片包括WiFi芯片、蓝牙芯片及ZigBee芯片中的任意一种。
第二方面,本申请实施例提供一种数据传输方法,所述方法应用于如上任一项所述的系统,所述方法包括:
在所述主机端对外发送数据时,所述主机端向所述SDIO控制器发送查询命令,以查询所述第一缓存单元的当前存储空间状态;
若所述第一缓存单元的当前存储空间状态满足第一预设条件,则所述主机端将待发送数据按照预设格式发送到所述第一缓存单元进行缓存;
所述SDIO控制器在接收到所述待发送数据后,向所述片内处理器发送第一中断信号;
所述片内处理器在检测到所述第一中断信号后,基于所述预设格式从所述第一缓存单元中读取第一数据,并根据所述第一数据控制所述DMA控制器将所述第一缓存单元中与所述第一数据对应的缓存数据写入所述预读取缓存单元;
在所述第一数据对应的缓存数据写入所述预读取缓存单元之后,所述片内处理器将所述预读取缓存单元中存储的数据链入发送链表,以使得所述通信芯片基于所述发送链表将所述待发送数据对外发送。
可选地,在本申请的一种实施例中,所述方法还包括:
若所述第一缓存单元的当前存储空间状态不满足所述第一预设条件,则所述主机端在间隔第一预设时间段后再次向所述SDIO控制器发送查询命令,以再次查询所述第一缓存单元的当前存储状态。
可选地,在本申请的一种实施例中,所述通信芯片基于所述发送链表将所述待发送数据对外发送的步骤,包括:
所述通信芯片对所述发送链表中存储的多个数据帧进行聚合处理,并将聚合处理后得到的聚合帧对外发送。
可选地,在本申请的一种实施例中,在所述通信芯片基于所述发送链表将所述待发送数据对外发送后,所述方法还包括:
所述片内处理器对所述第一缓存单元的当前存储空间状态进行更新。
可选地,在本申请的一种实施例中,所述方法还包括:
在所述通信芯片接收到数据时,所述片内处理器将所述通信芯片接收到的接收数据存储到接收链表,并向所述第二缓存单元写入传输命令字,所述传输命令字包括所述接收数据的帧长度;
在所述片内处理器向所述第二缓存单元写入所述传输命令字后,所述片内处理器控制所述DMA控制器将所述接收链表中存储的接收数据写入所述第二缓存单元;
在所述接收数据写入所述第二缓存单元后,所述片内处理器控制所述中断控制器生成第二中断信号,并将所述第二中断信号发送给所述主机端;
所述主机端接收到所述第二中断信号后,向所述SDIO控制器发送查询命令,以查询所述第二缓存单元的当前存储空间状态;
若所述第二缓存单元的当前存储空间状态满足第二预设条件,则所述主机端读取所述传输命令字,并根据所述传输命令字中的帧长度读取所述第二缓存单元中缓存的接收数据。
可选地,在本申请的一种实施例中,在所述主机端根据所述传输命令字中的帧长度读取所述第二缓存单元中缓存的接收数据之后,所述方法还包括:
所述片内处理器对所述第二缓存单元的当前存储空间状态进行更新。
可选地,在本申请的一种实施例中,在所述片内处理器向所述第二缓存单元写入所述传输命令字的步骤之前,所述方法还包括:
所述片内处理器查询所述第二缓存单元的当前存储空间状态;
若所述第二缓存单元的当前存储空间状态满足第三预设条件,则所述片内处理器向所述第二缓存单元写入所述传输命令字;
若所述第二缓存单元的当前存储空间状态不满足所述第三预设条件,则所述片内处理器在间隔第二预设时间段后再次查询所述第二缓存单元的当前存储空间状态,直至所述第二缓存单元的当前存储空间状态满足所述第三预设条件时,向所述第二缓存单元写入所述传输命令字。
相对于现有技术而言,本申请实施例中提供的基于SDIO接口的通信系统及数据传输方法,至少具有如下技术效果或优点:
1.本申请实施例提供的基于SDIO接口的通信系统及数据传输方法中,通过该第一缓存单元按照预设格式对待发送数据进行缓存,可以使得主机端在该第一缓存单元写满前连续地进行发送传输,无需等待前一帧数据完成发送;同时,通过片内处理器控制该DMA控制器将第一缓存单元中缓存的待发送数据写入预读取缓存单元并链入发送链表,可以使得该通信模块根据发送链表连续地进行数据发送,从而实现流水化的发送传输,提高数据的发送效率。
2.本申请实施例提供的基于SDIO接口的通信系统及数据传输方法中,通过第二缓存单元按照预设格式对通信模块接收到的接收数据进行缓存,可以避免通信模块在接收到每一帧数据时均向主机端发送中断,从而减少主机端在读取接收数据过程中的中断次数,进而实现流水化的接收和读取数据,提高数据的接收效率和读取效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于SDIO接口的通信系统的第一系统结构示意图;
图2为本申请实施例提供的基于SDIO接口的通信系统的第二系统结构示意图;
图3为本申请实施例提供的数据传输方法的第一步骤流程示意图;
图4为本申请实施例提供的数据传输方法中的数据传输格式示意图;
图5为本申请实施例提供的数据传输方法的第二步骤流程示意图。
图标:10-主机端;20-通信模块;21-通信芯片;22-SDIO控制器;221-第一缓存单元;222-第二缓存单元;223-中断控制器;224-命令处理机;225-状态寄存器;23-DMA控制器;24-片内处理器;25-预读取缓存单元。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。在不冲突的情况下,下述实施例及实施例中的特征可以相互组合。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除此之外,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解。例如,可以是固定连接,也可以是可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连;可以是一体地连接,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
参照图1,为本申请实施例提供的基于SDIO(Secure Digital Input and Output,安全数字输入输出)接口的通信系统的系统结构示意图,该系统包括主机端10及通信模块20,其中,所述通信模块20包括SDIO接口和通信芯片21,所述通信芯片21通过所述SDIO接口与所述主机端10通信连接。
在本申请实施例中,该主机端10与该通信模块20通过SDIO接口连接之后,该主机端10即可通过该通信模块20向外部设备发送数据,同时,也可以通过该通信模块20接收由外部设备发送的数据。
举例而言,在本申请的一种实施例中,该主机端10为电脑,该通信模块20为无线网卡,该电脑通过SDIO接口与无线网卡连接之后,即可通过无线网卡中的WiFi芯片连接到无线网络,从而与其他设备进行数据交互。
应当理解,在本申请实施例中,该主机端10可以是,但不限于电脑。同时,该通信模块20可以是,但不限于无线网卡。
例如,在另一种可能的实施例中,该通信模块20也可以是蓝牙模块,该主机端10可以是电脑或其他支持SDIO接口的电子设备(如智能家居设备),当该电脑通过SDIO接口与蓝牙模块连接之后,即可通过该蓝牙模块中的蓝牙芯片与其他设备进行无线蓝牙传输。
可替换地,在另一种可能的实施例中,该通信模块20也可以是ZigBee模块,当主机端10通过SDIO接口与ZigBee模块连接之后,即可通过该ZigBee模块中的ZigBee芯片与其他设备进行数据传输。
具体地,请继续参照图1,在本申请实施例中,该通信模块20还包括SDIO控制器22、片内处理器24、直接内存访问DMA(DirectMemoryAccess)控制器及预读取缓存单元25,该SDIO控制器22、片内处理器24、直接内存访问DMA控制器23、预读取缓存单元25以及所述通信芯片21之间通过片内总线连接,同时该SDIO控制与主机端10通过SDIO总线连接。
进一步地,请参照图2,在本申请实施例中,该SDIO控制器22包括第一缓存单元221、第二缓存单元222、命令处理机224、中断控制器223及状态寄存器225组。
其中,命令处理机224用于根据主机端10发送的CMD命令建立该通信模块20与主机端10之间的数据传输通道;第一缓存单元221用于缓存主机端10向该通信模块20传输的待发送数据;第二缓存单元222用于缓存该通信模块20接收到的接收数据(即通信芯片21接收到的由外部设备发送的数据);中断控制器223用于在片内处理器24的控制下生成中断信号;状态寄存器225组用于记录该SDIO控制器22的状态信息,例如:第一缓存单元221的当前存储空间状态,以及第二缓存单元222的当前存储空间状态。
具体地,在本申请实施例中,该第一缓存单元221和第二缓存单元222可以是FIFO(First InputFirst Output)存储器,该预读取缓存单元25可以是随机存取存储器RAM(RandomAccess Memory)。
参照图3,为本申请实施例提供的数据传输方法的步骤流程示意图,该方法可以应用于如上所述的通信系统,从而与该通信系统相结合,以达到提高数据传输效率的目的。
下面,申请人将结合本申请实施例提供的数据传输方法对上述基于SDIO接口的通信系统的工作原理及其有益效果进行详细说明。
参照图3,在本申请实施例中,该数据传输方法包括:
步骤S11,在所述主机端对外发送数据时,所述主机端向所述SDIO控制器发送查询命令,以查询所述第一缓存单元的当前存储空间状态。
步骤S12,若所述第一缓存单元的当前存储空间状态满足第一预设条件,则所述主机端将待发送数据按照预设格式发送到所述第一缓存单元进行缓存。
步骤S13,所述SDIO控制器在接收到所述待发送数据后,向所述片内处理器发送第一中断信号。
步骤S14,所述片内处理器在检测到所述第一中断信号后,基于所述预设格式从所述第一缓存单元中读取第一数据,并根据所述第一数据控制所述DMA控制器将所述第一缓存单元中与所述第一数据对应的缓存数据写入所述预读取缓存单元。
步骤S15,在所述第一数据对应的缓存数据写入所述预读取缓存单元之后,所述片内处理器将所述预读取缓存单元中存储的数据链入发送链表,以使得所述通信芯片基于所述发送链表将所述待发送数据对外发送。
在本申请实施例中,由于在SDIO控制器中增加了第一缓存单元来缓存主机端对外发送的待发送数据,使得主机端在该第一缓存单元写满前可以连续地进行发送传输,无需等待前一帧数据完成发送,从而可以在一定程度提高主机端对外发送数据的发送效率。
同时,在本申请实施例中,通过设置状态寄存器组来记录该第一缓存单元的当前存储空间状态,并且在主机端对外发送数据时,先查询该第一缓存单元是否已满,若未满,则该主机端将待发送数据按照图4所示的数据格式写入该第一缓存单元;若已满,则该主机端在间隔第一预设时间段后再次向所述SDIO控制器发送查询命令,以再次查询所述第一缓存单元的当前存储状态,直到查询到该第一缓存单元空出存储空间时,该主机继续将待发送数据写入该第一缓存单元。因此,通过本申请实施例提供的通信系统和数据传输方法不仅可以提高主机端对外发送数据的发送效率,还可以避免该主机端在向第一缓存单元写入待发送数据时发生缓存溢出。
举例而言,在本申请的一种实施例中,该通信模块为无线网卡,该主机端为一智能家居设备(如智能音箱),并且,该智能家居设备包括应用处理器。
当该智能家居设备需要对外部设备发送数据时,首先可以通过应用处理器完成802.11帧的组帧过程(目前无线局域网使用较多的802.11n/ac协议中,帧聚合技术是其中重要的传输机制),生成1~10共10个聚合子帧并放入发送队列。
然后,应用处理器查询SDIO控制器中第一缓存单元的当前存储空间状态,若该第一缓存单元当前未写满,则应用处理器按照图4所示的传输格式将第一个子帧写入第一缓存单元,其中,图4所示的传输命令字中包括第一个子帧的帧长度。
进一步地,当SDIO控制器检测到主机端开始向第一缓存单元写入待发送数据后,SDIO控制器向片内处理器发送第一中断信号。而片内处理器在接收到该第一中断信号后,从第一缓存单元中读取第一个字,并根据该字中包含的帧长度字段控制DMA控制器将第一缓存单元中缓存的待发送数据写入第一个发送预读取缓存中。
进一步地,当该待发送数据写入预读取缓存后,DMA控制器向片内处理器发送传输完成中断,然后片内处理器将第一个子帧数据链入发送链表,并启动WiFi发送,从而将其发送至其他设备。并且,在该数据成功发送后,片内处理器可以对第一缓存单元的当前存储空间状态进行更新,例如,第一缓存单元的总存储空间为4,该数据发出前该第一缓存单元的存储空间状态为满,则在该数据发出后将其存储空间状态更新为3(即剩余缓存空间为1)。
在本申请实施例中,当第一个子帧写入第一缓存单元之后,可以继续执行步骤S11中的查询操作,若第一缓存单元未满,则继续向第一缓存单元写入下一个子帧数据,直到该第一缓存单元写完时进入等待状态,并在间隔第一预设时间段后再次执行该查询操作。
需要说明的是,在本申请实施例中,上述第一预设时间段可以根据需要任意设定,此处不对其进行任何限定。
此外,在本申请实施例中,片内处理器可以一次性将后面的子帧数据链入发送链接,然后通过WiFi芯片将子帧聚合并发出,从而进一步提高数据的发送效率。
进一步地,请参照图5,在本申请实施例中,所述数据传输方法还包括:
步骤S21,在所述通信芯片接收到数据时,所述片内处理器将所述通信芯片接收到的接收数据存储到接收链表,并向所述第二缓存单元写入传输命令字,所述传输命令字包括所述接收数据的帧长度。
步骤S22,在所述片内处理器向所述第二缓存单元写入所述传输命令字后,所述片内处理器控制所述DMA控制器将所述接收链表中存储的接收数据写入所述第二缓存单元。
步骤S23,在所述接收数据写入所述第二缓存单元后,所述片内处理器控制所述中断控制器生成第二中断信号,并将所述第二中断信号发送给所述主机端。
步骤S24,所述主机端接收到所述第二中断信号后,向所述SDIO控制器发送查询命令,以查询所述第二缓存单元的当前存储空间状态。
步骤S25,若所述第二缓存单元的当前存储空间状态满足第二预设条件,则所述主机端读取所述传输命令字,并根据所述传输命令字中的帧长度读取所述第二缓存单元中缓存的接收数据。
同理地,在本申请实施例中,由于在SDIO控制器中增加了第二缓存单元来缓存通信模块接收到的接收数据(具体而言,即通信模块中的通信芯片接收到的数据),可以使得该通信模块无需在接收到每一帧数据时均向主机端发送中断,从而减少主机端在读取接收数据过程中的中断次数,实现流水化的接收和读取数据,提高数据的接收效率和读取效率。
就上述的智能家居设备和无线网卡举例而言,当WiFi芯片接收到数据帧后,首先将该数据帧存储在片内接收链表中。然后片内处理器按照图4所示的数据格式向第二缓存单元写入传输命令字,该传输命令字中包含接收数据的帧长度。
进一步地,片内处理器控制该DMA控制将接收链表中的接收数据写入第二缓存单元,并且DMA控制在写入完成后向片内处理器发送传输完成中断。
进一步地,片内处理器检测到该传输完成中断后,向SDIO控制写中断设置位,从而向主机端发送第二中断信号。主机端接收到该第二中断信号后,首先读取状态寄存器组中第二缓存单元的当前存储空间状态,若该第二缓存单元的当前存储空间状态不为空,则读取第二缓存单元中的第一个命令传输字,并根据该命令传输字中的帧长度从该第二缓存单元中读取接收帧数据。
同理地,在本申请实施例中,当主机端成功读取第一个数据帧之后,片内处理器也可以对该第二缓存单元的当前存储空间状态进行更新。
并且,在主机端完成读取第一个帧数据后,可以继续读取该第二缓存单元的当前存储空间状态,若该第二缓存单元的当前存储空间状态依然不为空,则继续从第二缓存单元中读取接收数据,直到该第二缓存单元为空时完成本次读取操作。
此外,在本申请实施例中,为了避免在将接收链表中的接收数据写入第二缓存单元时出现缓存溢出,可以在片内处理器向所述第二缓存单元写入所述传输命令字的步骤之前,通过片内处理器先查询第二缓存单元的当前存储空间状态。
具体而言,即在该第二缓存单元当前未写满时,片内处理器向第二缓存单元写入所述传输命令字;在该第二缓存单元已写满时,片内处理器在间隔第二预设时间段后再次查询第二缓存单元的当前存储空间状态,直至第二缓存单元空出存储空间时,向第二缓存单元写入传输命令字。
因此,通过本申请实施例提供的通信系统和数据传输方法,还可以在提高数据接收效率的同时,防止接收数据在写入第二缓存单元时溢出。
综上所述,本申请实施例中提供的基于SDIO接口的通信系统及数据传输方法相对于现有技术而言,具有如下技术效果或优点:
1.本申请实施例提供的基于SDIO接口的通信系统及数据传输方法中,通过该第一缓存单元按照预设格式对待发送数据进行缓存,可以使得主机端在该第一缓存单元写满前连续地进行发送传输,无需等待前一帧数据完成发送;同时,通过片内处理器控制该DMA控制器将第一缓存单元中缓存的待发送数据写入预读取缓存单元并链入发送链表,可以使得该通信模块根据发送链表连续地进行数据发送,从而实现流水化的发送传输,提高数据的发送效率。
2.本申请实施例提供的基于SDIO接口的通信系统及数据传输方法中,通过第二缓存单元按照预设格式对通信模块接收到的接收数据进行缓存,可以避免通信模块在接收到每一帧数据时均向主机端发送中断,从而减少主机端在读取接收数据过程中的中断次数,进而实现流水化的接收和读取数据,提高数据的接收效率和读取效率。
以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于SDIO接口的通信系统,其特征在于,所述系统包括主机端及通信模块,所述通信模块包括SDIO接口和通信芯片,所述通信芯片通过所述SDIO接口与所述主机端通信连接;其中,
所述通信模块还包括SDIO控制器、片内处理器、直接内存访问DMA控制器及预读取缓存单元,所述SDIO控制器、片内处理器、直接内存访问DMA控制器、预读取缓存单元以及所述通信芯片之间通过片内总线连接;
所述SDIO控制器包括第一缓存单元、第二缓存单元、命令处理机、中断控制器及状态寄存器组;其中,
所述命令处理机用于根据所述主机端发送的CMD命令建立所述通信模块与所述主机端之间的数据传输通道,所述第一缓存单元用于缓存所述主机端向所述通信模块传输的待发送数据,所述第二缓存单元用于缓存所述通信模块接收到的接收数据,所述中断控制器用于在所述片内处理器的控制下生成中断信号,所述状态寄存器组用于记录所述SDIO控制器的状态信息,所述状态信息包括所述第一缓存单元的当前存储空间状态以及所述第二缓存单元的当前存储空间状态。
2.如权利要求1所述的系统,其特征在于,所述主机端与所述SDIO接口通过SDIO总线连接,所述通信芯片与所述SDIO接口通过片内总线连接。
3.如权利要求1或2所述的系统,其特征在于,所述通信芯片包括WiFi芯片、蓝牙芯片及ZigBee芯片中的任意一种。
4.一种数据传输方法,其特征在于,应用于如权利要求1-3中任一项所述的系统,所述方法包括:
在所述主机端对外发送数据时,所述主机端向所述SDIO控制器发送查询命令,以查询所述第一缓存单元的当前存储空间状态;
若所述第一缓存单元的当前存储空间状态满足第一预设条件,则所述主机端将待发送数据按照预设格式发送到所述第一缓存单元进行缓存;
所述SDIO控制器在接收到所述待发送数据后,向所述片内处理器发送第一中断信号;
所述片内处理器在检测到所述第一中断信号后,基于所述预设格式从所述第一缓存单元中读取第一数据,并根据所述第一数据控制所述DMA控制器将所述第一缓存单元中与所述第一数据对应的缓存数据写入所述预读取缓存单元;
在所述第一数据对应的缓存数据写入所述预读取缓存单元之后,所述片内处理器将所述预读取缓存单元中存储的数据链入发送链表,以使得所述通信芯片基于所述发送链表将所述待发送数据对外发送。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一缓存单元的当前存储空间状态不满足所述第一预设条件,则所述主机端在间隔第一预设时间段后再次向所述SDIO控制器发送查询命令,以再次查询所述第一缓存单元的当前存储状态。
6.如权利要求5所述的方法,其特征在于,所述通信芯片基于所述发送链表将所述待发送数据对外发送的步骤,包括:
所述通信芯片对所述发送链表中存储的多个数据帧进行聚合处理,并将聚合处理后得到的聚合帧对外发送。
7.如权利要求5所述的方法,其特征在于,在所述通信芯片基于所述发送链表将所述待发送数据对外发送后,所述方法还包括:
所述片内处理器对所述第一缓存单元的当前存储空间状态进行更新。
8.如权利要求5所述的方法,其特征在于,所述方法还包括:
在所述通信芯片接收到数据时,所述片内处理器将所述通信芯片接收到的接收数据存储到接收链表,并向所述第二缓存单元写入传输命令字,所述传输命令字包括所述接收数据的帧长度;
在所述片内处理器向所述第二缓存单元写入所述传输命令字后,所述片内处理器控制所述DMA控制器将所述接收链表中存储的接收数据写入所述第二缓存单元;
在所述接收数据写入所述第二缓存单元后,所述片内处理器控制所述中断控制器生成第二中断信号,并将所述第二中断信号发送给所述主机端;
所述主机端接收到所述第二中断信号后,向所述SDIO控制器发送查询命令,以查询所述第二缓存单元的当前存储空间状态;
若所述第二缓存单元的当前存储空间状态满足第二预设条件,则所述主机端读取所述传输命令字,并根据所述传输命令字中的帧长度读取所述第二缓存单元中缓存的接收数据。
9.如权利要求8所述的方法,其特征在于,在所述主机端根据所述传输命令字中的帧长度读取所述第二缓存单元中缓存的接收数据之后,所述方法还包括:
所述片内处理器对所述第二缓存单元的当前存储空间状态进行更新。
10.如权利要求9所述的方法,其特征在于,在所述片内处理器向所述第二缓存单元写入所述传输命令字的步骤之前,所述方法还包括:
所述片内处理器查询所述第二缓存单元的当前存储空间状态;
若所述第二缓存单元的当前存储空间状态满足第三预设条件,则所述片内处理器向所述第二缓存单元写入所述传输命令字;
若所述第二缓存单元的当前存储空间状态不满足所述第三预设条件,则所述片内处理器在间隔第二预设时间段后再次查询所述第二缓存单元的当前存储空间状态,直至所述第二缓存单元的当前存储空间状态满足所述第三预设条件时,向所述第二缓存单元写入所述传输命令字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981609.4A CN110727619B (zh) | 2019-10-16 | 2019-10-16 | 基于sdio接口的通信系统及数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910981609.4A CN110727619B (zh) | 2019-10-16 | 2019-10-16 | 基于sdio接口的通信系统及数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110727619A true CN110727619A (zh) | 2020-01-24 |
CN110727619B CN110727619B (zh) | 2021-05-18 |
Family
ID=69221376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910981609.4A Active CN110727619B (zh) | 2019-10-16 | 2019-10-16 | 基于sdio接口的通信系统及数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110727619B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596492A (zh) * | 2020-11-30 | 2021-04-02 | 北京东土军悦科技有限公司 | 一种can帧传输方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508804A (zh) * | 2011-10-20 | 2012-06-20 | 豪威科技(上海)有限公司 | Sd/sdio主控制器 |
US20120260008A1 (en) * | 2011-04-07 | 2012-10-11 | Qualcomm Innovation Center, Inc. | Method and Apparatus for Transferring Data |
CN103064808A (zh) * | 2011-10-24 | 2013-04-24 | 北京强度环境研究所 | 优先级可调多通道dma控制器 |
CN105988955A (zh) * | 2015-02-06 | 2016-10-05 | 苏州澜起微电子科技有限公司 | Sdio设备及其应用的电子装置和数据传输方法 |
CN108932207A (zh) * | 2017-05-23 | 2018-12-04 | 珠海全志科技股份有限公司 | 带有缓存区的sdio-wifi数据传输方法及系统 |
-
2019
- 2019-10-16 CN CN201910981609.4A patent/CN110727619B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120260008A1 (en) * | 2011-04-07 | 2012-10-11 | Qualcomm Innovation Center, Inc. | Method and Apparatus for Transferring Data |
CN102508804A (zh) * | 2011-10-20 | 2012-06-20 | 豪威科技(上海)有限公司 | Sd/sdio主控制器 |
CN103064808A (zh) * | 2011-10-24 | 2013-04-24 | 北京强度环境研究所 | 优先级可调多通道dma控制器 |
CN105988955A (zh) * | 2015-02-06 | 2016-10-05 | 苏州澜起微电子科技有限公司 | Sdio设备及其应用的电子装置和数据传输方法 |
CN108932207A (zh) * | 2017-05-23 | 2018-12-04 | 珠海全志科技股份有限公司 | 带有缓存区的sdio-wifi数据传输方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596492A (zh) * | 2020-11-30 | 2021-04-02 | 北京东土军悦科技有限公司 | 一种can帧传输方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110727619B (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11176068B2 (en) | Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link | |
WO2020001459A1 (zh) | 数据处理方法、远程直接访存网卡和设备 | |
US20090089459A1 (en) | Schedule and data caching for wireless tranmission | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
CN108595350B (zh) | 一种基于axi的数据传输方法和装置 | |
TW201111975A (en) | Method and apparatus for reducing power consumption | |
EP1535169B1 (en) | Improved inter-processor communication system for communication between processors | |
CN116627869B (zh) | 应用于电子设备的数据传输方法及装置 | |
KR100944892B1 (ko) | 버스 시스템 및 버스 인터페이스 | |
CN115499505B (zh) | Usb网卡和通信方法 | |
KR19990023189A (ko) | 중앙 처리 장치의 사용 최소화 방법과, 데이터 패킷 전송 및 수신 방법 | |
JP4022442B2 (ja) | フィールドバスインタフェースボードの制御方法 | |
TWI423032B (zh) | 提升資料傳輸效能的方法 | |
CN110727619B (zh) | 基于sdio接口的通信系统及数据传输方法 | |
US7469304B2 (en) | Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation | |
JP2005504392A (ja) | バス・システムおよびバス・インターフェース | |
CN117093157A (zh) | 一种用于单向光传输的ddr高速读写方法及系统 | |
US10572439B1 (en) | I3C read from long latency devices | |
CN108874685B (zh) | 固态硬盘的数据处理方法以及固态硬盘 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
US20210157519A1 (en) | Solid-state drive (ssd) with a storage controller employing differential two-wire serial buses to access flash memory | |
CN113342724A (zh) | 一种基于fpga的数据传输方法与装置 | |
CN101877622B (zh) | 提升数据传输效能的方法 | |
JPH11110342A (ja) | バス接続方法及び装置 | |
CN118474128A (zh) | 一种多节点实时通讯的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220520 Address after: 310051 Room 502, 5 / F, building 9, No. 19, Jugong Road, Xixing street, Binjiang District, Hangzhou, Zhejiang Province Patentee after: Zhejiang Kerui Microelectronics Technology Co.,Ltd. Address before: Room 210-045, 2 / F, building 003, 750 Chuangyuan Road, high tech Zone, Ningbo, Zhejiang 315000 Patentee before: Zhongke Rui micro (Ningbo) Electronic Technology Co.,Ltd. |