CN114513436B - Sdio设备传输速率的检测方法、系统及存储介质 - Google Patents

Sdio设备传输速率的检测方法、系统及存储介质 Download PDF

Info

Publication number
CN114513436B
CN114513436B CN202210010625.0A CN202210010625A CN114513436B CN 114513436 B CN114513436 B CN 114513436B CN 202210010625 A CN202210010625 A CN 202210010625A CN 114513436 B CN114513436 B CN 114513436B
Authority
CN
China
Prior art keywords
sdio
code
random code
transmission rate
target
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.)
Active
Application number
CN202210010625.0A
Other languages
English (en)
Other versions
CN114513436A (zh
Inventor
王雷
蔺小满
尉志伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Kerui Microelectronics Technology Co ltd
Original Assignee
Zhejiang Kerui Microelectronics Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Kerui Microelectronics Technology Co ltd filed Critical Zhejiang Kerui Microelectronics Technology Co ltd
Priority to CN202210010625.0A priority Critical patent/CN114513436B/zh
Publication of CN114513436A publication Critical patent/CN114513436A/zh
Application granted granted Critical
Publication of CN114513436B publication Critical patent/CN114513436B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种SDIO设备传输速率的检测方法、系统及介质,其中所述方法包括以下步骤:S1、获取目标伪随机码;S2、向SDIO从设备发送写入指令;S3、向所述SDIO从设备发送读取指令,并接收所述SDIO设备返回的验证数据码;S4、根据所述验证数据码,对所述目标伪随机码进行验证;S5、在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述步骤S2~S4,直至所述目标伪随机码验证失败为止,并将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。采用本发明,能解决现有技术中无法评估SDIO主设备支持的最大数据传输速率的技术问题。

Description

SDIO设备传输速率的检测方法、系统及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种SDIO设备传输速率的检测方法、系统及存储介质。
背景技术
安全数字输入输出(Secure Digital Input and Output,SDIO)协议是一种由SD卡读写接口发展而来的数据传输协议。SDIO接口协议中,传输双方分为SDIO主设备侧(host)和SDIO从设备侧(SDIO card),同时也在SDIO接口内部规定了若干寄存器(也可称为存储区域)。SDIO主设备侧可以通过读取SDIO从设备侧的寄存器来读取其支持的最高/最大数据传输速率,并因此决定其实际的数据传输速率。
然而在实际应用中,SDIO主设备(或SDIO接口)实际支持的最大数据传输速率并非完全取决于SDIO从设备能支持的最大数据传输速率,SDIO主设备的时钟质量、命令(即指令)及数据传输线的建立保持时间要求、传输连线的连接质量和抗干扰能力等因素,都会对实际传输的最大数据传输速率产生影响,从而导致无法准确评估SDIO主设备真实传输的最大数据传输速率。
发明内容
本申请实施例通过提供一种SDIO设备传输速率的检测方法,解决了现有技术中无法评估SDIO主设备支持的最大数据传输速率的技术问题。
第一方面,本申请通过本申请的一实施例提供一种SDIO设备传输速率的检测方法,应用于SDIO主设备侧,所述方法包括以下步骤:
S1、获取目标伪随机码;
S2、向SDIO从设备发送写入指令,所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
S3、向所述SDIO从设备发送读取指令,并接收所述SDIO设备返回的验证数据码,其中所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;
S4、根据所述验证数据码,对所述目标伪随机码进行验证;
S5、在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述步骤S2~S4,直至所述目标伪随机码验证失败为止,并将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
可选地,所述验证数据码为所述首位数据码,所述步骤S4具体包括:
调用所述SDIO主设备中的伪随机码生成器,根据所述首位数据码生成对应的验证伪随机码;
对所述验证伪随机码和所述目标伪随机码进行验证。
可选地,所述步骤S4之前,所述方法还包括:
判断所述验证数据码是否与所述目标伪随机码中的首位数据码相同;
若是,则继续执行步骤S4。
可选地,所述步骤S1具体包括:
调用所述SDIO主设备中的伪随机码生成器生成所述目标伪随机码。
可选地,所述写入指令具体用于按照预设的数据传输速率,将所述目标伪随机码写入SDIO从设备的目标存储区域中;其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
第二方面,本申请通过本申请的一实施例提供另一种SDIO设备传输速率的检测方法,应用于SDIO从设备侧,所述方法包括以下步骤:
响应于SDIO主设备的写入指令,按照预设的数据传输速率将目标伪随机码写入至所述SDIO从设备中;
响应于所述SDIO主设备的读取指令,从所述SDIO从设备中读取验证数据码,并将所述验证数据码返回给所述SDIO主设备;
其中,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码,所述验证数据码和所述目标伪随机码均用于确定所述SDIO主设备的最大数据传输速率。
可选地,所述按照预设的数据传输速率将目标伪随机码写入至所述SDIO从设备中包括:
按照预设的数据传输速率,将所述目标伪随机码写入所述SDIO从设备的目标存储区域中;
其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
第三方面,本申请通过本申请的一实施例提供一种SDIO设备传输速率的检测系统,包括SDIO主设备及SDIO从设备,其中:
所述SDIO主设备,用于获取目标伪随机码,向所述SDIO从设备发送写入指令,所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
所述SDIO从设备,用于接收并响应所述SDIO主设备的所述写入指令,按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
所述SDIO主设备,还用于向所述SDIO从设备发送读取指令,所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;
所述SDIO从设备,还用于接收并响应所述SDIO主设备的所述读取指令,读取所述数据传输速率下的验证数据码,并返回给所述SDIO主设备;
所述SDIO主设备,还用于接收所述SDIO设备返回的验证数据码;根据所述验证数据码,对所述目标伪随机码进行验证;在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述各流程步骤,直至所述目标伪随机码验证失败为止,并将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
可选地,所述SDIO从设备具体用于:
按照预设的数据传输速率,将所述目标伪随机码写入所述SDIO从设备的目标存储区域中;
其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
第四方面,本申请通过本申请的一实施例提供一种SDIO主设备,所述SDIO主设备包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如上第一方面提供的所述SDIO设备传输速率的检测方法。
第五方面,本申请通过本申请的一实施例提供一种SDIO从设备,所述SDIO从设备包括:处理器、存储器、通信接口和总线;所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;所述存储器存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行如上第二方面提供的所述SDIO设备传输速率的检测方法。
本申请通过本申请的一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序运行在SDIO设备时执行如上第一方面或第二方面提供的所述SDIO设备传输速率的检测方法。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请通过获取目标伪随机码,向SDIO从设备发送写入指令,以按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;接着向SDIO从设备发送读取指令,以从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;接着根据所述验证数据码,对所述目标伪随机码进行验证,在所述目标伪随机码验证成功时增大所述数据传输效率,重新执行上述各流程步骤,直至所述目标伪随机码验证失败为止,此时将上一次所述目标伪随机码验证成功时所对应的数据传输效率确定为所述SDIO主设备的最大数据传输速率。上述方案中,本申请能利用目标伪随机码来测试SDIO主设备支持的最大数据传输速率,利用较小的软硬件代价实现了SDIO主从设备间的数据传输速率的测试及选择过程,同时也提升了SDIO设备的传输效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种SDIO设备传输速率的检测系统的结构示意图。
图2是本申请实施例提供的一种可能的SDIO主从设备之间SDIO接口通信的示意图。
图3是本申请实施例提供的一种SDIO设备传输速率的检测方法的流程示意图。
图4是本申请实施例提供的一种可能的PRBS7伪随机码生成器的示意图。
图5和图6是本申请实施例提供的两种SDIO设备传输速率的检测装置的结构示意图。
图7是本申请实施例提供的一种SDIO主设备的结构示意图。
图8是本申请实施例提供的一种SDIO从设备的结构示意图。
具体实施方式
申请人在提出本申请的过程中还发现:SDIO协议由SD卡协会制定传输规则,有着良好的请求和响应机制,因此其在芯片间进行中等速率(10Mb~100Mb)传输中得到广泛地应用。在SDIO 3.0/2.0接口协议中,SDIO接口(传输接口)上1根时钟线、1根命令传输线及4根数据传输线,其中时钟线完全由主传输测驱动,其余传输线为双向传输。并且命令传输线与数据传输线的传输均依照时钟线的节拍来运行。在SDIO协议中,传输的时序控制和总线宽度是固定的,因此接口的传输速度主要取决于时钟频率、时钟频率越高,传输效率越快。根据传输协议,SDIO2.0接口至少要能支持25MHz的时钟频率,最高50MHz。而SDIO 3.0接口至少要支持50MHz时钟频率,最高208MHz的时钟频率。SDIO协议也在接口内部规定了若干寄存器,SDIO主传输侧可以通过读取SDIO从设备侧的寄存器来获取其能支持的最大传输速率,并因此决定实际的数据传输速率。由于SDIO协议并未规定最低数据传输速率,因此理论上只要低于最大数据传输频率即可。
在实际应用中,SDIO接口实际支持的最大数据传输频率并非完全取决于SDIO从设备能支持的最大数据传输速率,其还受SDIO主设备的时钟质量、命令及数据传输线的建立保持时间要求等因素的影响。目前,SDIO从设备对应的提供商往往会提高性能冗余度,相应地SDIO主设备侧的驱动程序往往会选择应用中所需要求最低的数据传输速率来进行通信,因此造成了不少的性能浪费,提高了传输成本。
本申请实施例通过提供一种SDIO设备传输速率的检测方法,解决了现有技术中无法评估SDIO主设备支持的最大数据传输速率的技术问题。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:本申请提供一种SDIO设备传输速率的检测方法,应用于SDIO主设备侧,所述方法包括以下步骤:S1、获取目标伪随机码;S2、向SDIO从设备发送写入指令,所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;S3、向所述SDIO从设备发送读取指令,并接收所述SDIO设备返回的验证数据码,所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;S4、根据所述验证数据码,对所述目标伪随机码进行验证;S5、在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述步骤S2~S4,直至所述目标伪随机码验证失败为止,并将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
请参见图1,是本申请实施例提供的一种SDIO设备传输速率的检测系统的结构示意图。如图1所示的系统包括:SDIO主设备100和SDIO从设备200。其中,所述SDIO主设备100和所述SDIO从设备200各自的数量并不做限定,图示仅以一个所述SDIO主设备100和一个所述SDIO从设备200为例示出,但并不构成限定。
在实际应用中,所述SDIO主设备100和所述SDIO从设备200之间通过网络相互通信,例如所述SDIO主设备100和所述SDIO从设备200相互之间通过SDIO接口通信。请一并参见图2是本申请实施例提供一种SDIO接口通信的示意图。所述SDIO主设备100和所述SDIO从设备200可以是SDIO存储卡、或SDIO芯片等,它们可以兼容于笔记本电脑、手机、平板电脑及数码相机等设备中。如图2中,所述SDIO主设备100和所述SDIO从设备200之间通过SDIO接口相互通信,所述SDIO接口上存在有例如时钟线(SDIO_CLK)、命令传输线(SDIO_CMD)及数据传输线(SDIO_DATE)等通信线。
基于图1所示的系统,请参见图3是本申请实施例提供的一种SDIO设备传输速率的检测方法的流程示意图。如图3所示的方法应用于图1所示的系统中,所述方法包括如下实施步骤:
S301、SDIO主设备获取目标伪随机码。
在一具体实施例中,本申请能根据实际使用需求在SDIO主设备中设计一伪随机码生成器,其能生成对应的伪随机码(Pseudo-Random Binary Sequence,PRBS),例如PRBS3、PRBS7、PRBS9及PRBS11等。本申请能调用SDIO主设备中的伪随机码生成器生成目标伪随机码。
需要说明的是,伪随机码(PRBS码)是一种常见的高速接口测试编码,可以利用PRBS码流来模拟真实的传输环境。其中,PRBS码流中的“0”和“1”是随机分布的,但是码流本身是确定的,可以便捷地对数据进行校验。PRBS码的周期长度与其阶数有关,常见的PRBS码阶数有3、7、9及11等,其也对应被称为PRBS3、PRBS7、PRBS9及PRBS11码等。本申请采用PRBS码的特点之一在于:给定一个特定数据之后,PRBS码中后续的数据实际上是固定的,因此可以利用这个特性来降低PRBS码校验所需的存储量。
举例来说,请参见图4示出一种可能的PRBS7生成器的结构示意图。如图4所示的PRBS7生成器,其满足X7+X6+1=0,且无论采用硬件还是软件实现,其实现的代价都非常小。此外图示中,PRBS码还可通过串并转换为4路输出,换言之将PRBS码用4bit数据输出,每一路依然保持原有的特性,因此对于大多数SDIO使用场景,PRBS7码能符合SDIO接口通信质量的测试要求。
S302、SDIO主设备向SDIO从设备发送写入指令。相应地,所述SDIO从设备接收所述写入指令。所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中。
在一具体实施例中,系统可使用预设的最低数据传输频率对SDIO从设备进行初始化。初始化完成后,可使用CMD52命令(command)读取SDIO从设备中各寄存器(或存储区域,FNx Block Size)的大小,从中划定/选定一个目标存储区域(也可称为读写测试区域)。进一步本申请从预设最低的数据传输速率,使用写入指令将所述目标伪随机码连续写入所述SDIO从设备的目标存储区域中。其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。所述写入指令可具体例如为CMD53命令、或其他支持SDIO接口传输通信的命令等,本申请不作限定。
可理解的,对于大多数SDIO主设备都支持多种SDIO时钟,其有可能来自于系统的时钟分频,也可能来自于单独的锁相环(Phase Locking Loop,PLL)时钟,但通常都可以通过软件配置来修改。由于设备未进行初始化,不清楚其实际支持的最低速率,因此通常选用最低的时钟频率(或其对应数据传输速率)来进行SDIO从设备的初始化。例如,假设SDIO主设备支持500KHz、1MHz、5MHz、10MHz、20MHz及40MHz的数据传输频率,则本申请可选用500KHz的数据传输频率按照SDIO协议的要求对SDIO从设备进行初始化,具体可对SDIO从设备进行复位、判断设备类型及工作电压域获取之后即可完成初始化,可以按照寄存器的配置要求对SDIO从设备进行读写操作。
相应地,本申请可根据SDIO协议,cccR寄存器组内定义了SDIO从设备中有多少个独立功能区域(其可根据IO enble寄存器获得,最多能有7个),每个独立功能区域均有存储区域大小(FNx Block Size),其中x表示存储区域的序号,其可为1至7;它定义了其自有读写区间的大小,根据功能区选择一存储空间最大的自由读写区间作为校验数据的目标存储区域,记录该区域的起始地址,即首地址。
S303、所述SDIO从设备响应所述写入指令,按照预设的数据传输速率将所述目标伪随机码写入所述SDIO从设备中。
本申请所述SDIO主设备可根据SDIO协议,按照预设最低的数据传输速率开始,使用CMD53命令将目标伪随机码连续地、无长度限制地写入至SDIO从设备的目标存储区域中。具体地,所述SDIO主设备向所述SDIO从设备发送写入指令(例如CMD53命令),相应地所述SDIO从设备接收并响应所述写入指令,按照预设最低的数据传输速率将所述目标伪随机码写入至所述SDIO从设备的目标存储区域中。
S304、所述SDIO主设备向所述SDIO从设备发送读取指令。相应地,所述SDIO从设备接收所述读取指令。所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码。
S305、所述SDIO从设备响应所述读取指令,从所述SDIO从设备中读取所述数据传输速率下的验证数据码,并返回给所述SDIO主设备。相应地,所述SDIO主设备接收所述数据传输速率下的验证数据码。
本申请所述SDIO主设备还可使用读取指令,从所述SDIO从设备的目标存储区域中读取所述数据传输速率下相应的验证数据码,所述验证数据码可为所述SDIO从设备中存储的目标伪随机码;或者为所述SDIO从设备中存储于首地址处的首位数据码等。所述读取指令可例如为CMD53命令等,本申请不做限定。
具体实施时,所述SDIO主设备可向所述SDIO从设备发送读取指令。相应地所述SDIO从设备接收并响应所述读取指令,从所述SDIO从设备的目标存储区域中读取相应地验证数据码。
S306、所述SDIO主设备根据所述验证数据码,对所述目标伪随机码进行验证。
在一具体实施例中,在所述验证数据码为读取的所述SDIO从设备中存储的目标伪随机码时,可直接对比所述验证数据码和步骤S301中的所述目标伪随机码是否相同,如果相同,则确定所述目标伪随机码验证成功,继续执行步骤S307。否则,确定所述目标伪随机码验证失败,可结束流程。
在另一具体实施例中,在所述验证数据码为所述SDIO从设备中存储于首地址的首位数据码时,可选地本申请可先判断所述验证数据码是否与步骤S301中所述目标伪随机码的首位数据码相同。如果不相同,可结束流程。如果相同,则本申请可调用伪随机码生成器根据所述验证数据码生成与所述目标伪随机码相同长度的验证伪随机码。进而对比所述验证伪随机码和所述目标伪随机码是否相同,如果相同,则确定所述目标伪随机码验证成功,继续执行步骤S307;否则,确定所述目标伪随机码验证失败,可结束流程。
需要说明的是,本申请读取首地址处的验证数据码,无需读取完整的目标伪随机码,可降低SDIO主设备侧对比所需的存储空间,即无需再存储之前写入SDIO从设备中目标伪随机码的其他数据。
S307、所述SDIO主设备在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述步骤S302~S306,直至所述目标伪随机码验证失败为止。
S308、所述SDIO主设备将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
本申请当所述目标伪随机码验证成功时,可判断所述SDIO主设备支持当前采用的数据传输速率,可继续执行步骤S307提高数据传输速率,重复执行步骤S302~S306,写入一组原始或新的PRBS码再读出和对比验证。当完成预设最高的数据传输速率的正确传输(即在该最高的数据传输速率下目标伪随机码验证成功)后,可认为该SDIO主设备可支持最高的数据传输速率(例如上例中的40MHz等),测试结束。或者,当目标伪随机码验证失败,即SDIO柱设备传输出错时,可判定SDIO主设备无法支持当前的数据传输速率,因此SDIO主设备支持的最高/最大数据传输速率为上一次较低的数据传输速率。
需要说明的是,如果当前采用的数据传输速率已为SDIO主设备支持的最低的数据传输速率时,但目标伪随机码验证失败,即数据传输依然出错,则可认为该SDIO主设备连接通信质量较差,虽然通过了SDIO从设备的初始化,但无法将其视为一可靠的外设通道予以使用。
由上可以看出,本申请为了减小因为SDIO接口连线质量差异较大而导致数据传输速率低、或性能冗余,本申请提供一种通用的对SDIO接口通信质量进行校验的方法,通过增加PRBS码生成器,选取合适的初始数据传输频率来获取SDIO从设备的目标存储区域,并使用PRBS码传输来模拟真实传输场景、并最终获得SDIO接口最高效率的最大数据传输速率,本方案用较小的软硬件代价和延长初始化的时间,大大提高了SDIO传输的可靠性和传输效率。
通过实施本申请实施例,本申请通过获取目标伪随机码,向SDIO从设备发送写入指令,以按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;接着向SDIO从设备发送读取指令,以从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;接着根据所述验证数据码,对所述目标伪随机码进行验证,在所述目标伪随机码验证成功时增大所述数据传输效率,重新执行上述各流程步骤,直至所述目标伪随机码验证失败为止,此时将上一次所述目标伪随机码验证成功时所对应的数据传输效率确定为所述SDIO主设备的最大数据传输速率。上述方案中,本申请能利用目标伪随机码来测试SDIO主设备支持的最大数据传输速率,利用较小的软硬件代价实现了SDIO主从设备间的数据传输速率的测试及选择过程,同时也提升了SDIO设备的传输效率。
基于同一发明构思,本申请另一实施例提供一种实施本申请实施例中所述SDIO设备传输速率的检测方法对应的装置和SDIO设备。
请参见图5,是本申请实施例提供的一种SDIO设备传输速率的检测装置的结构示意图。如图5所示的装置50包括:获取模块501、通信模块502、验证模块503、增大模块504及确定模块505,其中:
所述获取模块501,用于获取目标伪随机码;
所述通信模块502,用于向SDIO从设备发送写入指令,所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
所述通信模块502,还用于向所述SDIO从设备发送读取指令,并接收所述SDIO设备返回的验证数据码,所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;
所述验证模块503,用于根据所述验证数据码,对所述目标伪随机码进行验证;
所述增大模块504,用于在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述通信模块502及验证模块503各自对应的流程步骤,直至所述目标伪随机码验证失败为止;
所述确定模块505,用于将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
可选地,所述验证数据码为所述首位数据码,所述验证模块503具体用于:
调用所述SDIO主设备中的伪随机码生成器,根据所述首位数据码生成对应的验证伪随机码;
对所述验证伪随机码和所述目标伪随机码进行验证。
可选地,所述验证模块503还用于:
判断所述验证数据码是否与所述目标伪随机码中的首位数据码相同;
若是,则继续执行所述根据所述验证数据码,对所述目标伪随机码进行验证。
可选地,所述获取模块501具体用于:
调用所述SDIO主设备中的伪随机码生成器生成所述目标伪随机码。
可选地,所述写入指令具体用于按照预设的数据传输速率,将所述目标伪随机码写入SDIO从设备的目标存储区域中;其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
请一并参见图6,是本申请实施例提供的另一种SDIO设备传输速率的检测装置的结构示意图。如图6所示的装置60包括:写入模块601和读取模块602,其中:
所述写入模块601,用于响应于SDIO主设备的写入指令,按照预设的数据传输速率将目标伪随机码写入至所述SDIO从设备中;
所述读取模块602,用于响应于所述SDIO主设备的读取指令,从所述SDIO从设备中读取所述数据传输速率下的验证数据码,并将所述验证数据码返回给所述SDIO主设备;
其中,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码,所述验证数据码和所述目标伪随机码均用于确定所述SDIO主设备的最大数据传输速率。
可选地,所述写入模块601具体用于:
按照预设的数据传输速率,将所述目标伪随机码写入所述SDIO从设备的目标存储区域中;
其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
通过实施本申请实施例,本申请通过获取目标伪随机码,向SDIO从设备发送写入指令,以按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;接着向SDIO从设备发送读取指令,以从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;接着根据所述验证数据码,对所述目标伪随机码进行验证,在所述目标伪随机码验证成功时增大所述数据传输效率,重新执行上述各流程步骤,直至所述目标伪随机码验证失败为止,此时将上一次所述目标伪随机码验证成功时所对应的数据传输效率确定为所述SDIO主设备的最大数据传输速率。上述方案中,本申请能利用目标伪随机码来测试SDIO主设备支持的最大数据传输速率,利用较小的软硬件代价实现了SDIO主从设备间的数据传输速率的测试及选择过程,同时也提升了SDIO设备的传输效率。
请一并参见7,是本申请实施例提供的一种SDIO主设备的结构示意图。如图7所示的SDIO主设备70包括:至少一个处理器701、通信接口702、用户接口703和存储器704,处理器701、通信接口702、用户接口703和存储器704可通过总线或者其它方式连接,本发明实施例以通过总线705连接为例。其中,
处理器701可以是通用处理器,例如中央处理器(Central Processing Unit,CPU)。
通信接口702可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他终端或网站进行通信。本发明实施例中,通信接口702具体用于获取轨道参数。
用户接口703具体可为触控面板,包括触摸屏和触控屏,用于检测触控面板上的操作指令,用户接口703也可以是物理按键或者鼠标。用户接口703还可以为显示屏,用于输出、显示图像或数据。
存储器704可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器704还可以包括上述种类的存储器的组合。存储器704用于存储一组程序代码,处理器701用于调用存储器704中存储的程序代码,执行如下操作:
S1、获取目标伪随机码;
S2、向SDIO从设备发送写入指令,所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
S3、向所述SDIO从设备发送读取指令,并接收所述SDIO设备返回的验证数据码,所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;
S4、根据所述验证数据码,对所述目标伪随机码进行验证;
S5、在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述步骤S2~S4,直至所述目标伪随机码验证失败为止,并将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
可选地,所述验证数据码为所述首位数据码,所述步骤S4具体包括:
调用所述SDIO主设备中的伪随机码生成器,根据所述首位数据码生成对应的验证伪随机码;
对所述验证伪随机码和所述目标伪随机码进行验证。
可选地,所述步骤S4之前,所述处理器701还用于:
判断所述验证数据码是否与所述目标伪随机码中的首位数据码相同;
若是,则继续执行步骤S4。
可选地,所述步骤S1具体包括:
调用所述SDIO主设备中的伪随机码生成器生成所述目标伪随机码。
可选地,所述写入指令具体用于按照预设的数据传输速率,将所述目标伪随机码写入SDIO从设备的目标存储区域中;其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
请一并参见8,是本申请实施例提供的一种SDIO从设备的结构示意图。如图8所示的SDIO从设备80包括:至少一个处理器801、通信接口802、用户接口803和存储器804,处理器801、通信接口802、用户接口803和存储器804可通过总线或者其它方式连接,本发明实施例以通过总线805连接为例。其中,关于处理器801、通信接口802、用户接口803及存储器804可对应参见图7中的相关介绍,这里不再赘述。所述存储器804用于存储一组程序代码,处理器801用于调用存储器804中存储的程序代码,执行如下操作:
响应于SDIO主设备的写入指令,按照预设的数据传输速率将目标伪随机码写入至所述SDIO从设备中;
响应于所述SDIO主设备的读取指令,从所述SDIO从设备中读取所述数据传输速率下的验证数据码,并将所述验证数据码返回给所述SDIO主设备;
其中,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码,所述验证数据码和所述目标伪随机码均用于确定所述SDIO主设备的最大数据传输速率。
可选地,所述按照预设的数据传输速率将目标伪随机码写入至所述SDIO从设备中包括:
按照预设的数据传输速率,将所述目标伪随机码写入所述SDIO从设备的目标存储区域中;
其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
由于本实施例所介绍的SDIO主/从设备为实施本申请实施例中SDIO设备传输速率的检测方法所采用的SDIO主/从设备,故而基于本申请实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的各设备的具体实施方式以及其各种变化形式,所以在此对于该设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中SDIO设备传输速率的检测方法所采用的相关设备,都属于本申请所欲保护的范围。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:本申请通过获取目标伪随机码,向SDIO从设备发送写入指令,以按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;接着向SDIO从设备发送读取指令,以从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;接着根据所述验证数据码,对所述目标伪随机码进行验证,在所述目标伪随机码验证成功时增大所述数据传输效率,重新执行上述各流程步骤,直至所述目标伪随机码验证失败为止,此时将上一次所述目标伪随机码验证成功时所对应的数据传输效率确定为所述SDIO主设备的最大数据传输速率。上述方案中,本申请能利用目标伪随机码来测试SDIO主设备支持的最大数据传输速率,利用较小的软硬件代价实现了SDIO主从设备间的数据传输速率的测试及选择过程,同时也提升了SDIO设备的传输效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种SDIO设备传输速率的检测方法,其特征在于,应用于SDIO主设备侧,所述方法包括以下步骤:
S1、获取目标伪随机码;
S2、向SDIO从设备发送写入指令,所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
S3、向所述SDIO从设备发送读取指令,并接收所述SDIO设备返回的验证数据码,所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;
S4、根据所述验证数据码,对所述目标伪随机码进行验证;
S5、在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行上述步骤S2~S4,直至所述目标伪随机码验证失败为止,并将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
2.根据权利要求1所述的方法,其特征在于,所述验证数据码为所述首位数据码,所述步骤S4具体包括:
调用所述SDIO主设备中的伪随机码生成器,根据所述首位数据码生成对应的验证伪随机码;
对所述验证伪随机码和所述目标伪随机码进行验证。
3.根据权利要求2所述的方法,其特征在于,所述步骤S4之前,所述方法还包括:
判断所述验证数据码是否与所述目标伪随机码中的首位数据码相同;
若是,则继续执行步骤S4。
4.根据权利要求1所述的方法,其特征在于,所述步骤S1具体包括:
调用所述SDIO主设备中的伪随机码生成器生成所述目标伪随机码。
5.根据权利要求1所述的方法,其特征在于,所述写入指令具体用于按照预设的数据传输速率,将所述目标伪随机码写入SDIO从设备的目标存储区域中;其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
6.一种SDIO设备传输速率的检测系统,其特征在于,包括SDIO主设备及SDIO从设备,其中:
所述SDIO主设备,用于获取目标伪随机码,向所述SDIO从设备发送写入指令,所述写入指令用于指示按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
所述SDIO从设备,用于接收并响应所述SDIO主设备的所述写入指令,按照预设的数据传输速率将所述目标伪随机码写入SDIO从设备中;
所述SDIO主设备,还用于向所述SDIO从设备发送读取指令,所述读取指令用于指示从所述SDIO从设备中读取所述数据传输速率下的验证数据码,所述验证数据码为所述目标伪随机码,或者为所述目标伪随机码中存储于预设首地址的首位数据码;
所述SDIO从设备,还用于接收并响应所述SDIO主设备的所述读取指令,读取所述数据传输速率下的验证数据码,并返回给所述SDIO主设备;
所述SDIO主设备,还用于接收所述SDIO设备返回的验证数据码;根据所述验证数据码,对所述目标伪随机码进行验证;在所述目标伪随机码验证成功时,增大所述数据传输速率,重复执行各流程步骤,直至所述目标伪随机码验证失败为止,并将上一次所述目标伪随机码验证成功时所对应的数据传输速率,确定为所述SDIO主设备的最大数据传输速率。
7.根据权利要求6所述的系统,其特征在于,所述SDIO从设备具体用于:
按照预设的数据传输速率,将所述目标伪随机码写入所述SDIO从设备的目标存储区域中;
其中,所述目标存储区域为所述SDIO从设备中支持存储所述目标伪随机码的任一存储区域,或者为所述SDIO从设备中存储空间最大的存储区域。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,当所述程序运行在SDIO设备时执行如上权利要求1-5中任一项所述的方法步骤。
CN202210010625.0A 2022-01-05 2022-01-05 Sdio设备传输速率的检测方法、系统及存储介质 Active CN114513436B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210010625.0A CN114513436B (zh) 2022-01-05 2022-01-05 Sdio设备传输速率的检测方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210010625.0A CN114513436B (zh) 2022-01-05 2022-01-05 Sdio设备传输速率的检测方法、系统及存储介质

Publications (2)

Publication Number Publication Date
CN114513436A CN114513436A (zh) 2022-05-17
CN114513436B true CN114513436B (zh) 2023-10-03

Family

ID=81550656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210010625.0A Active CN114513436B (zh) 2022-01-05 2022-01-05 Sdio设备传输速率的检测方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN114513436B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999012275A1 (en) * 1997-09-02 1999-03-11 Motorola Inc. Adaptive power control of a pilot sub-channel
JPH11266235A (ja) * 1998-03-17 1999-09-28 Yrp Idou Tsushin Kiban Gijutsu Kenkyusho:Kk ビット誤り率測定方法および装置
CN1688137A (zh) * 2005-04-14 2005-10-26 武汉电信器件有限公司 基于现场可编程门阵列的155m比特误码分析测试仪
JP2006148389A (ja) * 2004-11-18 2006-06-08 Sony Corp 信号伝送システム
US7071679B1 (en) * 2003-05-23 2006-07-04 Xilinx, Inc. Testing of a system-on-a-chip having a programmable section and a plurality of high-speed interfaces
CN107331421A (zh) * 2017-06-09 2017-11-07 中国电子科技集团公司第四十研究所 一种基于fpga的sd卡测试系统及方法
CN109565600A (zh) * 2016-08-04 2019-04-02 华为技术有限公司 用于在预测参数中进行数据隐藏的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999012275A1 (en) * 1997-09-02 1999-03-11 Motorola Inc. Adaptive power control of a pilot sub-channel
JPH11266235A (ja) * 1998-03-17 1999-09-28 Yrp Idou Tsushin Kiban Gijutsu Kenkyusho:Kk ビット誤り率測定方法および装置
US7071679B1 (en) * 2003-05-23 2006-07-04 Xilinx, Inc. Testing of a system-on-a-chip having a programmable section and a plurality of high-speed interfaces
JP2006148389A (ja) * 2004-11-18 2006-06-08 Sony Corp 信号伝送システム
CN1688137A (zh) * 2005-04-14 2005-10-26 武汉电信器件有限公司 基于现场可编程门阵列的155m比特误码分析测试仪
CN109565600A (zh) * 2016-08-04 2019-04-02 华为技术有限公司 用于在预测参数中进行数据隐藏的方法和装置
CN107331421A (zh) * 2017-06-09 2017-11-07 中国电子科技集团公司第四十研究所 一种基于fpga的sd卡测试系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IIC总线和LVDS在高速数据传输接口电路中的应用研究;王红亮;刘伟;何少恒;邸丽霞;;计算机测量与控制(第07期);全文 *

Also Published As

Publication number Publication date
CN114513436A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
CN113076227A (zh) Mcu验证方法、系统和终端设备
CN109783340B (zh) SoC的测试代码烧写方法、IP测试方法及装置
CN103164523A (zh) 数据一致性检查方法、装置及系统
CN111813731A (zh) 一种内存信息的读取方法、装置、服务器及介质
CN112765082B (zh) 多主机仲裁方法、装置和可读存储介质
CN115685785B (zh) 通用总线模型和仿真测试的方法
CN111756858B (zh) 嵌入式设备的远程开发处理系统、方法及装置
CN113868039A (zh) 一种测试方法、装置及相关设备
CN112100014B (zh) 无源无线通信芯片验证平台、构建方法及芯片验证方法
CN109992556A (zh) 一种i2c驱动方法和装置
WO2017083751A1 (en) Serial device emulator using two memory levels with dynamic and configurable response
CN114513436B (zh) Sdio设备传输速率的检测方法、系统及存储介质
CN115827304A (zh) 一种片内高速总线数据的校验系统及校验方法
CN111198837B (zh) 基于fpga的sdio接口系统、控制器桥接方法
CN114691223A (zh) 一种通过网络传输bios日志的方法及装置
KR101260313B1 (ko) 전자장치 및 그 데이터 송수신방법과, 슬레이브 장치 및복수의 장치 간의 통신방법
CN111309521A (zh) Fpga重加载方法、fpga卡式设备和主机
CN114444423B (zh) 基于验证平台的数据处理方法、系统及电子设备
CN117131821B (zh) 芯片验证方法、装置、电子设备及存储介质
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
CN216014148U (zh) 一种服务器和服务器背板
CN115658411B (zh) 一种激励发生器以及激励发生方法
US8352239B2 (en) Emulator interface device and method thereof
CN117785756B (zh) 存储器控制系统、方法、芯片及计算机可读存储介质
CN117111539B (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