CN106096702B - 补偿安全数码卡的延长线引起的延迟的方法及装置 - Google Patents
补偿安全数码卡的延长线引起的延迟的方法及装置 Download PDFInfo
- Publication number
- CN106096702B CN106096702B CN201610339223.XA CN201610339223A CN106096702B CN 106096702 B CN106096702 B CN 106096702B CN 201610339223 A CN201610339223 A CN 201610339223A CN 106096702 B CN106096702 B CN 106096702B
- Authority
- CN
- China
- Prior art keywords
- data
- value
- delay
- digital card
- extended line
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/077—Constructional details, e.g. mounting of circuits in the carrier
- G06K19/07749—Constructional details, e.g. mounting of circuits in the carrier the record carrier being capable of non-contact communication, e.g. constructional details of the antenna of a non-contact smart card
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/004—Error avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Abstract
本发明公开了一种补偿安全数码卡的延长线引起的延迟的方法及装置。方法包括:经由延长线对安全数码卡执行预设次数的通信操作,若接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第一数值,若未接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第二数值;查找状态值连续为第一数值的最长数据段;将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值;将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟。通过以上方式,本发明能够弥补安全数码卡的信号传输延时,保证传输速率。
Description
技术领域
本发明涉及通信领域,特别是涉及一种补偿安全数码卡的延长线引起的延迟的方法及装置。
背景技术
在车机系统中,安全数码(Secure Digital,SD)卡的卡槽不放置在主印刷电路板(Printed Circuit Board,PCB)板上,而是通过延长线引出放置在操作面板上。
电流在不同导体中传输速度会不同,一般情况下传输速度在2x108m/s与3x108m/s之间,这样1m长度的导线引起的delay在4~5ns,信号往返时间x2,这样比正常情况下会增加8~10ns的延迟时间。而增加这些时间就可能会导致SD卡采样出现偏差。由于增加延长线后,会增加信号传输延迟,还会增加信号被干扰概率,导致SD卡经常会出现兼容性问题。有些SD卡能正常工作,而另一些SD卡则传输异常。现有的方案都是采取降频方案,将SD卡的时钟频率从50Mhz降到12Mhz左右。这样则会导致SD卡的传输速度大大降低,进而影响存储以及系统的性能。
发明内容
本发明实施例提供了一种补偿安全数码卡的延长线引起的延迟的方法及装置,能够补偿安全数码卡上的延迟,保证安全数码卡的传输速率,提高系统的性能。
本发明提供一种补偿安全数码卡的延长线引起的延迟的方法,包括:经由延长线与安全数码卡进行预设次数的通信操作,若接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第一数值,若未接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第二数值;查找状态值连续为第一数值的最长数据段;将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值;将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟。
其中,通信操作包括命令通信操作和数据通信操作,最佳延迟值包括最佳命令延迟值和最佳数据延迟值,经由延长线与安全数码卡进行通信操作的步骤包括:经由延长线的命令总线与安全数码卡进行预设次数的命令通信操作,分别获取多个命令通信操作分别对应的多个状态值;或经由延长线的数据总线与安全数码卡进行预设次数的数据通信操作,分别获取多个数据通信操作分别对应的多个状态值。
其中,经由延长线的命令总线与安全数码卡进行预设次数的命令通信操作,分别获取多个命令通信操作分别对应的多个状态值的步骤包括:设置命令通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的命令;如果接收到安全数码卡经由所述延长线的命令总线返回的未显示循环冗余校验错误的响应,则记录当前的命令通信操作对应的状态值为第一数值,否则记录当前的命令通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否,则返回执行向安全数码卡发送预存的下一条命令的操作,若是,则结束本步骤。
其中,数据通信操作包括读数据通信操作,经由延长线的数据总线与安全数码卡进行预设次数的数据通信操作,分别获取多个数据通信操作分别对应的多个状态值的步骤包括:设置读数据通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的读数据的命令;如果正确接收到安全数码卡经由所述延长线的数据总线返回的未显示循环冗余校验错误的数据,则记录当前的读数据通信操作对应的状态值为第一数值,否则记录当前的读数据通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否,则返回执行向安全数码卡发送预存的下一条读数据的命令操作,若是则结束本步骤。
其中,数据通信操作包括写数据通信操作,经由延长线的数据总线与安全数码卡进行预设次数的数据通信操作,分别获取多个数据通信操作分别对应的多个状态值的步骤包括:设置写数据通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的写数据的命令,并经由延长线的数据总线向安全数码卡发送待写数据;如果正确接收到安全数码卡返回的写数据成功的响应,则记录当前的写数据通信操作对应的状态值为第一数值,否则记录当前的写数据通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否则返回执行向安全数码卡发送预存的下一条写数据的命令的操作,若是则结束本步骤。
其中,数据通信操作包括读数据通信操作和写数据通信操作,查找状态值连续为第一数值的最长数据段的步骤包括:查找对应于读数据通信操作的第一最长数据段以及对应于写数据通信操作的第二最长数据段;将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值的步骤包括:将第一最长数据段和第二最长数据段相重叠部分的数据段的中间位置的状态值所对应的延迟值作为最佳数据延迟值。
本发明还提供一种补偿安全数码卡的延长线引起的延迟的装置,包括:操作模块,用于经由延长线与安全数码卡进行预设次数的通信操作,若接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第一数值,若未接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第二数值;查找模块,与操作模块连接,用于查找状态值连续为第一数值的最长数据段;处理模块,与查找模块连接,用于将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值;设置模块,与处理模块连接,将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟。
其中,通信操作包括命令通信操作和数据通信操作,最佳延迟值包括最佳命令延迟值和最佳数据延迟值,操作模块用于:经由延长线的命令总线与安全数码卡进行预设次数的命令通信操作,分别获取多个命令通信操作分别对应的多个状态值;或经由延长线的数据总线与安全数码卡进行预设次数的数据通信操作,分别获取多个数据通信操作分别对应的多个状态值。
其中,操作模块还用于:设置命令通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的命令;如果接收到安全数码卡返回的未显示循环冗余校验错误的响应,则记录当前的命令通信操作对应的状态值为第一数值,否则记录当前的命令通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否,则返回执行向安全数码卡发送预存的下一条命令的操作,若是,则结束本步骤。
其中,数据通信操作包括读数据通信操作,操作模块还用于:设置读数据通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的读数据的命令;如果正确接收到安全数码卡经由延长线的数据总线返回的未显示循环冗余校验错误的数据,则记录当前的读数据通信操作对应的状态值为第一数值,否则记录当前的读数据通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否,则返回执行向安全数码卡发送预存的下一条读数据的命令操作,若是则结束本步骤。
其中,数据通信操作包括写数据通信操作,操作模块还用于:设置写数据通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的写数据的命令,并经由延长线的数据总线向安全数码卡发送待写数据;
如果正确接收到安全数码卡返回的写数据成功的响应,则记录当前的写数据通信操作对应的状态值为第一数值,否则记录当前的写数据通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否则返回执行向安全数码卡发送预存的下一条写数据的命令的操作,若是则结束本步骤。
其中,数据通信操作包括读数据通信操作和写数据通信操作,查找模块用于:查找对应于读数据通信操作的第一最长数据段以及对应于所述写数据通信操作的第二最长数据段;处理模块用于:将第一最长数据段和第二最长数据段相重叠部分的数据段的中间位置的状态值所对应的延迟值作为最佳数据延迟值。
上述补偿安全数码卡的延长线引起的延迟的方法及装置,通过经由延长线与安全数码卡进行预设次数的通信操作,若接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第一数值,若未接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第二数值;查找状态值连续为第一数值的最长数据段;将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值;将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟,能够补偿安全数码卡的延长线引起的延迟,保证安全数码卡的传输速度,提高系统的性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本发明实施例的安全数码卡的源时钟和采样时钟的相位差示意图;
图2是本发明实施例的补偿安全数码卡的延长线引起的延迟的方法的流程示意图;
图3是本发明经由延长线与SD卡进行命令通信操作的方法的流程示意图;
图4是本发明经由延长线与SD卡进行读数据通信操作的方法的流程示意图;
图5是本发明经由延长线与SD卡进行写数据通信操作的方法的流程示意图;
图6是本发明实施例的补偿安全数码卡的延长线引起的延迟装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的安全数码卡的源时钟和采样时钟的相位差示意图。如图1所示,源时钟的下降沿以及与源时钟的下降沿相邻的采样时钟的下降沿之间的相位差定义为源时钟和采样时钟的相位差。当然也可以是源时钟的上升沿以及与源时钟的下降沿相邻的采样时钟的上升沿之间的相位差定义为源时钟和采样时钟的相位差。
在本发明实施例中,经由延长线对安全数码卡执行通信操作时,使用源时钟做为基准时钟来发送命令或数据到安全数码卡。命令或数据会经过芯片管脚、印刷电路板(Printed Circuit Board,PCB)走线、安全数码卡延长线到安全数码卡上,然后安全数码卡会回复相应的响应或数据。安全数码卡会使用采样时钟做为基准时钟来采样来接收响应或数据。通过调整源时钟和采样时钟的相位差,可以弥补延长线引起的时序延时。
图2是本发明实施例的补偿安全数码卡的延长线引起的延迟的方法的流程示意图。如图2所示,补偿安全数码卡的延长线引起的延迟的方法包括:
步骤S10:经由延长线与安全数码卡进行预设次数的通信操作,若接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第一数值,若未接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第二数值。
为了补偿因SD卡的延长线而引起的延迟,本发明实施例中,首先设置测试工具对SD卡的延长线引起的延迟进行测试。具体地,外部测试工具经由延长线与SD卡进行预设次数的通信操作,该通信操作可以为命令通信操作或数据通信操作,外部测试工具可以设置为由SD卡的驱动器执行一段测试程序,用以逐个扫描预先储存的命令通信操作或数据通信操作,以将其经由延长线传输至SD卡。因此,在步骤S10之前,通常将配置SD卡的驱动器为扫描模式。若此后接收到SD卡返回的正确响应,则记录该通信操作所对应的状态值为第一数值,若未接收到SD卡返回的正确响应,则记录该通信操作对应的状态值为第二数值。该第一数值和第二数值例如为0或1,而在经过预设次数的通信操作及状态值记录后,可得到一段连续的由0和1组成的数据串。
步骤S11:查找状态值连续为第一数值的最长数据段。
步骤S12:将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值。
步骤S13:将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟。
得到一段连续的数据串后,可在此数据串中查找状态值连续为第一数值的最长数据段,也就是说,查找通信操作状态持续为“正确传送-接收-响应”的命令通信操作或数据通信操作所对应的状态值的最长数据段。例如,如果扫描到一组状态值如下:
[1,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0]
则最长数据段为序号为4-10的连续7个状态值为1的数据段。
查找到这段数据段后,直接将查找到的最长数据段的中间值所对应的通信操作的延迟值作为最佳延迟值,并将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟。例如,对于以上查找到的最长数据段,其中间值为最长数据段中的第4个状态值,在整组数据段中为第7个状态值,该状态值所对应的延迟值则为最佳延迟值。
在本发明实施例中,选择状态值连续为第一数值的最长数据段的中间数值所对应的延迟值为最佳延迟值可以保证所选择的最佳延迟值有一个较大的误差浮动范围。换句话说,即便所选择的延迟值存在一定的偏差,也能保证在一定偏差范围内所选择的延迟值对应的通信操作仍然为可以正确“发送-接收-响应”的状态,从而可以使得在实际的通信操作过程中,即使环境发生变化导致时序存在波动时,也可以确保通信操作不会因外部环境变化而导致异常。
本发明实施例中,上述步骤S10中经由延长线与SD卡进行的通信操作可以为命令通信操作或数据通信操作,最佳延迟值可以为最佳命令延迟值或最佳数据延迟值。图3是本发明经由延长线与SD卡进行命令通信操作的方法的流程示意图,如图3所示,经由延长线与SD卡进行命令通信操作的方法包括:
步骤S21:设置命令通信操作的初始延迟值为0;
步骤S22:经由延长线的命令总线向安全数码卡发送预存的命令;
具体地,在执行本实施例之前,预先配置SD卡的驱动器为扫描模式,从而在上述步骤S22中,驱动器可依序扫描预先储存设置的多个命令通信操作。需要说明的是,这些命令通信操作均为带有响应的命令通信操作,即若接收方能成功接收到该命令通信操作,则会返回正确接收的响应。
步骤S23:判断是否接收到安全数码卡返回的未显示循环冗余校验(CCR)错误的响应,若是则跳至步骤S24,若否则跳至步骤S25;
步骤S24:记录当前的命令通信操作对应的状态值为第一数值,跳至步骤S26;
步骤S25:记录当前的命令通信操作对应的状态值为第二数值,跳至步骤S26;
向SD卡发送命令通信操作后,判断是否能接收到SD卡返回的未显示CCR错误的响应,即判断SD卡是否能经由延长线成功接收到命令。若接收到SD卡返回的正确接收的响应,则记录当前的命令通信操作对应的状态值为第一数值,反之,则记录当前的命令通信操作对应的状态值为第二数值。举例来说,该第一数值和第二数值例如为0或1。
步骤26:将延迟值加1,并判断延迟值是否达到预设值,若否,则返回步骤S22,若是,则结束本流程。
记录下当前命令通信操作对应的状态值后,将延迟值加1,并判断延迟值是否达到预设值,即判断与SD卡进行的命令通信操作是否已经达到预设次数。若是,则结束本流程,若否则返回步骤S22,继续通过延长线的命令总线向SD卡发送预存的下一条命令操作,以及继续记录下一条命令操作所对应的状态值,直至测试完预设次数的命令通信操作,以及记录下所有命令通信操作对应的状态值,得到完整的由一组状态值组成的数据串为止。
需要说明的是,在本发明实施例中,各命令通信操作对应的延迟值即为各命令通信操作所对应的序号减1。例如假定第一数值为1,第二数值为0,则在上述状态值数据串[1,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0]中,连续状态值为第一数值的最长数据段为序号4-10的数据段,而该最长数据段的中间位置的状态值所对应的延迟值的序号为7,其对应的延迟值为6,因而在此实施例中,6为最佳延迟值。此外还需要说明的是,实际操作中,可配置进行发送预存的命令时的时钟频率为50MHz,为安全数码卡的最大时钟频率。此外,上述延迟值的预设值通常是根据经验确定的,一般在0.5个时钟周期左右。
此外需要说明的是,在步骤S10中经由延长线的命令总线向SD卡发送带有响应的命令时,还经由延长线的命令总线向安全数码卡发送不带有响应的命令。并且在向SD卡发送不带有响应的命令时,可将发送不带有响应的命令的时钟频率控制在6-15MHz之间,具体值可根据经验确定,同时配置默认的延迟值以保证能正确发送命令。
对于数据通信操作而言,在本发明实施例中,数据通信操作包括读数据通信操作和写数据通信操作。在本发明实施例中,对于读数据通信操作和写数据通信操作的处理方式有所不同,下面将分别进行说明。图4是本发明经由延长线与SD卡进行读数据通信操作的方法的流程示意图,如图4所示,经由延长线与SD卡进行读数据通信操作的方法包括:
步骤S31:设置读数据通信操作的初始延迟值为0;
步骤S32:经由延长线的命令总线向安全数码卡发送预存的读数据的命令;
与上述命令通信操作的实施例类似,在执行本实施例之前,预先配置SD卡的驱动器为扫描模式,从而在上述步骤S32中,驱动器可依序扫描预先储存设置的多个读数据的命令通信操作。
步骤S33:判断是否接收到安全数码卡返回的未显示CCR错误的数据,若是则跳至步骤S34,若否则跳至步骤S35;
S34:记录当前的读数据通信操作对应的状态值为第一数值,跳至步骤S36;
S35:记录当前的读数据通信操作对应的状态值为第二数值,跳至步骤S36;
向SD卡发送读数据的命令操作后,判断是否能接收到SD卡经由延长线的数据总线返回的未显示CCR错误的数据,即判断SD卡是否能正确响应该读数据的命令。若接收到SD卡经由延长线的数据总线返回的正确的数据,则记录当前的读数据通信操作对应的状态值为第一数值,反之,则记录当前的读数据通信操作对应的状态值为第二数值。
步骤36:将延迟值加1,并判断延迟值是否达到预设值,若否,则返回步骤S32,若是,则结束本流程。
图5是本发明经由延长线与SD卡进行写数据通信操作的方法的流程示意图,如图5所示,经由延长线与SD卡进行写数据通信操作的方法包括:
步骤S41:设置写数据通信操作的初始延迟值为0;
步骤S42:经由延长线的命令总线向安全数码卡发送预存的写数据的命令,并经由延长线的数据总线向安全数据卡发送待写数据;
与上述读数据通信操作的做法不同的是,在本实施例中,除了向SD卡发送写数据的命令之外,还需要紧接着经由延长线的数据总线向SD卡发送待写数据。
步骤S43:判断是否接收到安全数码卡返回的写数据成功的响应,若是则跳至步骤S44,若否则跳至步骤S45;
S44:记录当前的写数据通信操作对应的状态值为第一数值,跳至步骤S46;
S45:记录当前的写数据通信操作对应的状态值为第二数值,跳至步骤S46;
若SD卡能够正确接收到待写数据,则会返回写数据成功的响应,从而若接收到SD卡返回的正确响应,则记录当前的写数据通信操作对应的状态值为第一数值,反之,则记录当前的写数据通信操作对应的状态值为第二数值。
步骤46:将延迟值加1,并判断延迟值是否达到预设值,若否,则返回步骤S42,若是,则结束本流程。
在上述读数据通信操作和写数据通信操作的测试流程中,同样可配置进行发送带有读数据命令和写数据命令时的时钟频率为50MHz,即为SD卡在SDR25模式下的最大时钟频率。
需要说明的是,对于数据通信操作,由于存在读数据通信操作和写数据通信操作两种类型,因而在上述执行完预设次数的读数据通信操作和写数据通信操作后,会得到分别与其对应的由多个状态值组成的两组数据串,从而在上述步骤S11中,会分别查找到两个最长数据段,即对应读数据通信操作的第一最长数据段和对应写数据通信操作的第二最长数据段。在实际应用中,虽然这两组数据串不一定完全一致(通常只有些许不同),但是由于操作环境的一致性,这两组数据串所分别包含的最长数据段必然会大致重叠,从而可以从重叠部分选取最佳数据延迟值。具体地,在上述步骤S12中,将第一最长数据段和第二最长数据段相重叠部分的数据段的中间位置的状态值所对应的延迟值作为最佳数据延迟值。
例如,如果扫描到一组向安全数码卡发送读数据的命令所记录的状态值如下:
[0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1]
则第一最长数据段为序号为8-15的连续8个状态值为1的数据段。
扫描到一组向安全数码卡发送写数据的命令所记录的状态值如下:
[0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,0,0,1,1,1,1,1,1,0,0,1]
则第二最长数据段为序号为9-16的连续8个状态值为1的数据段。
以上查找到的第一最长数据段和第二最长数据段相重叠部分为序号为9-15中间的7个状态值组成的数据段,对应的中间位置的数值为序号为12的状态值,其对应的通信操作的延迟值为11,即最佳数据延迟值为11。
以上描述了如何经由延长线与SD卡进行通信操作、记录每个通信操作对应的状态值、以及查找最佳延迟值的方法流程。本发明实施例通过上述方法选择最佳延迟值可以保证所选择的最佳延迟值有一个较大的误差浮动范围。换句话说,即便所选择的延迟值存在一定的偏差,也能保证在一定偏差范围内所选择的延迟值对应的通信操作仍然为可以正确“发送-接收-响应”的状态,从而可以使得在实际的通信操作过程中,即使环境发生变化导致时序存在波动时,也可以在一定范围内确保通信操作不会因外部环境变化而导致异常。
而在实际应用中,在经由上述参数配置后,SD卡通常能够满足正常的传输过程,但是仍然很难避免SD卡的通信操作出现突发干扰等情况。如此就需要增强通信操作软件的鲁棒性,对通信操作过程中出现的不同错误都需要设置解决方案,让系统能够正常对SD卡进行通信操作。具体地,在SD卡通信操作过程中,主要会出现的错误包括接收到SD卡返回的包含CRC错误的响应,以及通信操作超时。
当接收到SD卡返回的包含CRC错误的响应时,本发明实施例中可以通过动态调整命令通信操作或数据通信操作对应的最佳延迟值后,再重传当前命令/数据,以使系统恢复正常。或者直接降低时钟频率后重传当前命令/数据,以使系统恢复正常。对于前者,可以针对最佳延迟值设置一定的调整范围,以在预设范围内,对最佳延迟值进行调整。
而当遇到SD卡的通信操作超时的情况时,本发明实施例则可以通过重传当前命令/数据、关闭SD卡硬件电源重启后再重传、或者直接降低时钟频率后重传当前命令/数据,以使系统恢复正常。
图6是本发明实施例的补偿安全数码卡的延长线引起的延迟装置的结构示意图。如图6所示,补偿安全数码卡的延长线引起的延迟装置10包括:通信操作模块11、查找模块12、处理模块13以及设置模块14。
通信操作模块11用于经由延长线与安全数码卡进行预设次数的通信操作,若接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第一数值,若未接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第二数值。
为了补偿因SD卡的延长线而引起的延迟,本发明实施例中,首先设置测试工具对SD卡的延长线引起的延迟进行测试。具体地,外部测试工具经由延长线与SD卡进行预设次数的通信操作,该通信操作可以为命令通信操作或数据通信操作,外部测试工具可以设置为由SD卡的驱动器执行一段测试程序,用以逐个扫描预先储存的命令通信操作或数据通信操作,以将其经由延长线传输至SD卡。因此,在步骤S10之前,通常将配置SD卡的驱动器为扫描模式。若此后接收到SD卡返回的正确响应,则记录该通信操作所对应的状态值为第一数值,若未接收到SD卡返回的正确响应,则记录该通信操作对应的状态值为第二数值。该第一数值和第二数值例如为0或1,而在经过预设次数的通信操作及状态值记录后,可得到一段连续的由0和1组成的数据串。
查找模块12与通信操作模块11连接,用于查找状态值连续为第一数值的最长数据段。处理模块13与查找模块12连接,用于将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值。设置模块14与处理模块13连接,将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟。
得到一段连续的数据串后,查找模块12可在此数据串中查找状态值连续为第一数值的最长数据段,也就是说,查找模块12查找通信操作状态持续为“正确传送-接收-响应”的命令通信操作或数据通信操作所对应的状态值的最长数据段。例如,如果扫描到一组状态值如下:
[1,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0]
则最长数据段为序号为4-10的连续7个状态值为1的数据段。
查找模块12查找到这段数据段后,处理模块13直接将查找模块12查找到的最长数据段的中间值所对应的通信操作的延迟值作为最佳延迟值,并将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟。例如,对于以上查找到的最长数据段,其中间值为最长数据段中的第4个状态值,在整组数据段中为第7个状态值,该状态值所对应的延迟值则为最佳延迟值。
在本发明实施例中,处理模块13选择状态值连续为第一数值的最长数据段的中间数值所对应的延迟值为最佳延迟值可以保证所选择的最佳延迟值有一个较大的误差浮动范围。换句话说,即便处理模块13所选择的延迟值存在一定的偏差,也能保证在一定偏差范围内所选择的延迟值对应的通信操作仍然为可以正确“发送-接收-响应”的状态,从而可以使得在实际的通信操作过程中,即使环境发生变化导致时序存在波动时,也可以确保通信操作不会因外部环境变化而导致异常。
在本发明实施例中,通信操作包括命令通信操作和数据通信操作,最佳延迟值包括最佳命令延迟值和最佳数据延迟值。通信操作模块还包括命令通信模块111和数据通信模块112。命令通信模块111用于首先配置安全数码卡的驱动器为扫描模式,然后对安全数码卡执行命令通信操作。需要说明的是,这些命令通信操作均为带有响应的命令通信操作,即若接收方能成功接收到该命令通信操作,则会返回正确接收的响应。具体地,命令通信模块111用于:经由延长线的命令总线与安全数码卡进行预设次数的命令通信操作,分别获取多个命令通信操作分别对应的多个状态值;或经由延长线的数据总线对安全数码卡执行预设次数的数据通信操作,分别获取多个数据通信操作分别对应的多个状态值。
在本发明实施例中,对于命令通信操作,命令通信模块111还用于:设置命令通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的命令;如果接收到安全数码卡返回的未显示循环冗余校验错误的响应,则记录当前的命令通信操作对应的状态值为第一数值,否则记录当前的命令通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否,则返回执行向安全数码卡发送预存的下一个命令的操作,若是,则结束本步骤。如果返回执行向安全数码卡发送预存的下一个命令的操作,则继续记录下一条命令操作所对应的状态值,直至测试完预设次数的命令通信操作,以及记录下所有命令通信操作对应的状态值,得到完整的由一组状态值组成的数据串为止。
需要说明的是,在本发明实施例中,各命令通信操作对应的延迟值即为各命令通信操作所对应的序号减1。例如假定第一数值为1,第二数值为0,则在上述状态值数据串[1,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0]中,连续状态值为第一数值的最长数据段为序号4-10的数据段,而该最长数据段的中间位置的状态值所对应的延迟值的序号为7,其对应的延迟值为6,因而在此实施例中,6为最佳延迟值。此外还需要说明的是,实际操作中,命令通信模块111发送预存的命令的时钟频率为50MHz,为安全数码卡的最大时钟频率。此外,上述延迟值的预设值通常是根据经验确定的,一般在0.5个时钟周期左右。
此外需要说明的是,命令通信模块111在经由延长线的命令总线向SD卡发送带有响应的命令时,还经由延长线的命令总线向SD卡发送不带有响应的命令。并且在向SD卡发送不带有响应的命令时,将发送不带有响应的命令的时钟频率控制在6-15MHz之间,具体值可根据经验确定,同时配置默认的延迟值以保证能正确发送命令。
在本发明实施例中,数据通信操作包括读数据通信操作和写数据通信操作,数据通信模块112还包括读数据通信模块1121和写数据通信模块1122。在本发明实施例中,对于读数据通信操作和写数据通信操作的处理方式有所不同,下面将分别进行说明。对于读数据通信操作,与上述命令通信操作的实施例类似,预先配置SD卡的驱动器为扫描模式,驱动器可依序扫描预先储存设置的多个读数据的命令通信操作。读数据通信模块1121用于:设置读数据通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的读数据的命令;如果正确接收到安全数码卡经由延长线的数据总线返回的未显示循环冗余校验错误的数据,则记录当前的读数据通信操作对应的状态值为第一数值,否则记录当前的读数据通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否,则返回执行向安全数码卡发送预存的下一条读数据的命令通信操作,若是则结束本步骤。
对于写数据通信操作,写数据通信模块1122还用于:设置写数据通信操作的初始延迟值为0;经由延长线的命令总线向安全数码卡发送预存的写数据的命令,并经由延长线的数据总线向安全数码卡发送待写数据;如果正确接收到安全数码卡返回的写数据成功的响应,则记录当前的写数据通信操作对应的状态值为第一数值,否则记录当前的写数据通信操作对应的状态值为第二数值;将延迟值加1,并判断延迟值是否达到预设值,若否则返回执行向安全数码卡发送预存的下一条写数据的命令的操作,若是则结束本步骤。
在本发明实施例中,优选地,第一数值为1,第二数值为0。在本发明的其他实施例中,也可以第一数值为0,第二数值为1,在此不作限制。在上述读数据通信操作和写数据通信操作的测试流程中,操作模块11同样可配置进行发送带有读数据命令和写数据命令时的时钟频率为50MHz,即为安全数码卡在SDR25模式下的最大时钟频率。
在本发明实施例中,查找模块12查找状态值连续为第一数值的最长数据段时,对于命令操作,查找模块12逐一扫描状态值,直接查找向安全数码卡发送带有响应的命令所记录的状态值连续为第一数值的最长数据段。对应地,处理模块13直接将查找到的最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳命令延迟值。
对于数据通信操作,由于数据通信操作包括读数据通信操作和写数据通信操作,因而在上述执行完预设次数的读数据通信操作和写数据通信操作后,会得到分别与其对应的由多个状态值组成的两组数据串,查找模块12用于:分别查找到两个最长数据段,即对应读数据通信操作的第一最长数据段以及和对应写数据通信操作的第二最长数据段。在实际应用中,虽然这两组数据串不一定完全一致(通常只有些许不同),但是由于操作环境的一致性,这两组数据串所分别包含的最长数据段必然会大致重叠,从而可以从重叠部分选取最佳数据延迟值。对应地,处理模块13将第一最长数据段和第二最长数据段相重叠部分的数据段的中间位置的状态值所对应的延迟值作为最佳数据延迟值。
以上描述了如何经由延长线与SD卡进行通信操作、记录每个通信操作对应的状态值、以及查找最佳延迟值的过程,通过查找模块12查找状态值连续为第一数值的最长数据段,可以保证选择的最佳延迟值有一个较大的浮动范围,换句话说,即便所选择的延迟值存在一定的偏差,也能保证在一定偏差范围内所选择的延迟值对应的通信操作仍然为可以正确“发送-接收-响应”的状态,使得在实际的通信操作过程中,即使环境发生变化导致时序存在波动时,也可以在一定范围内确保通信操作不会因外部环境变化导致异常。
本发明实施例的补偿安全数码卡的延长线引起的延迟的装置10通过将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差后,安全数码卡能够满足正常通信操作过程,但很难避免出现突发干扰等情况。如此就需要增强通信操作软件的鲁棒性.对通信操作过程中出现的不同错误都需要有解决方案,让系统能够正常对安全数码卡进行通信操作。在安全数码卡通信操作过程中,主要会出现的错误包括接收到安全数码卡返回的CRC错误响应,以及通信操作超时。
当接收到SD卡返回的包含CRC错误的响应时,本发明实施例中可以通过动态调整命令通信操作或数据通信操作对应的最佳延迟值后,再重传当前命令/数据,以使系统恢复正常。或者直接降低时钟频率后重传当前命令/数据,以使系统恢复正常。对于前者,可以针对最佳延迟值设置一定的调整范围,以在预设范围内,对最佳延迟值进行调整。
而当遇到SD卡的通信操作超时的情况时,本发明实施例则可以通过重传当前命令/数据、关闭SD卡硬件电源重启后再重传、或者直接降低时钟频率后重传当前命令/数据,以使系统恢复正常。
综上所述,本发明通过经由延长线与安全数码卡进行预设次数的通信操作,若接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第一数值,若未接收到安全数据卡返回的正确响应,则记录通信操作对应的状态值为第二数值;查找状态值连续为第一数值的最长数据段;将位于最长数据段的中间位置的状态值所对应的通信操作的延迟值作为最佳延迟值;将最佳延迟值设置为安全数码卡的源时钟和采样时钟的相位差,以补偿由安全数码卡的延长线所引起的延迟,能够补偿安全数码卡的延长线引起的延迟,保证安全数码卡的传输速度,提高系统的性能。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均应包括在本发明的专利保护范围内。
Claims (12)
1.一种补偿安全数码卡的延长线引起的延迟的方法,其特征在于,所述方法包括:
经由所述延长线与所述安全数码卡进行预设次数的通信操作,若接收到所述安全数据卡返回的正确响应,则记录所述通信操作对应的状态值为第一数值,若未接收到所述安全数据卡返回的正确响应,则记录所述通信操作对应的状态值为第二数值;
查找所述状态值连续为所述第一数值的最长数据段;
将位于所述最长数据段的中间位置的状态值所对应的所述通信操作的延迟值作为最佳延迟值;以及
将所述最佳延迟值设置为所述安全数码卡的源时钟和采样时钟的相位差,以补偿由所述安全数码卡的所述延长线所引起的延迟。
2.根据权利要求1所述的方法,其特征在于,所述通信操作包括命令通信操作和数据通信操作,所述最佳延迟值包括最佳命令延迟值和最佳数据延迟值,经由所述延长线与所述安全数码卡进行所述通信操作的步骤包括:
经由所述延长线的命令总线与所述安全数码卡进行预设次数的所述命令通信操作,分别获取多个所述命令通信操作分别对应的多个状态值;或
经由所述延长线的数据总线与所述安全数码卡进行预设次数的所述数据通信操作,分别获取多个所述数据通信操作分别对应的多个状态值。
3.根据权利要求2所述的方法,其特征在于,所述经由所述延长线的命令总线与所述安全数码卡进行预设次数的所述命令通信操作,分别获取多个所述命令通信操作分别对应的多个状态值的步骤包括:
设置所述命令通信操作的初始延迟值为0;
经由所述延长线的命令总线向所述安全数码卡发送预存的命令;
如果接收到所述安全数码卡经由所述延长线的命令总线返回的未显示循环冗余校验错误的响应,则记录当前的所述命令通信操作对应的状态值为所述第一数值,否则记录当前的所述命令通信操作对应的状态值为所述第二数值;以及
将所述延迟值加1,并判断所述延迟值是否达到预设值,若否,则返回执行向所述安全数码卡发送预存的下一条命令的操作,若是,则结束本步骤。
4.根据权利要求2所述的方法,其特征在于,所述数据通信操作包括读数据通信操作,所述经由所述延长线的数据总线与所述安全数码卡进行预设次数的所述数据通信操作,分别获取多个所述数据通信操作分别对应的多个状态值的步骤包括:
设置所述读数据通信操作的初始延迟值为0;
经由所述延长线的命令总线向所述安全数码卡发送预存的读数据的命令;
如果正确接收到所述安全数码卡经由所述延长线的数据总线返回的未显示循环冗余校验错误的数据,则记录当前的所述读数据通信操作对应的状态值为第一数值,否则记录当前的所述读数据通信操作对应的状态值为第二数值;以及
将所述延迟值加1,并判断所述延迟值是否达到预设值,若否,则返回执行向所述安全数码卡发送预存的下一条读数据的命令的操作,若是则结束本步骤。
5.根据权利要求2所述的方法,其特征在于,所述数据通信操作包括写数据通信操作,所述经由所述延长线的数据总线与所述安全数码卡进行预设次数的所述数据通信操作,分别获取多个所述数据通信操作分别对应的多个状态值的步骤包括:
设置所述写数据通信操作的初始延迟值为0;
经由所述延长线的命令总线向所述安全数码卡发送预存的写数据的命令,并经由所述延长线的数据总线向所述安全数码卡发送待写数据;
如果正确接收到所述安全数码卡返回的写数据成功的响应,则记录当前的所述写数据通信操作对应的状态值为第一数值,否则记录当前的所述写数据通信操作对应的状态值为第二数值;以及
将所述延迟值加1,并判断所述延迟值是否达到预设值,若否则返回执行向所述安全数码卡发送预存的下一条写数据的命令的操作,若是则结束本步骤。
6.根据权利要求2所述的方法,其特征在于,所述数据通信操作包括读数据通信操作和写数据通信操作,
所述查找所述状态值连续为所述第一数值的最长数据段的步骤包括:查找对应于所述读数据通信操作的第一最长数据段以及对应于所述写数据通信操作的第二最长数据段;
所述将位于所述最长数据段的中间位置的状态值所对应的所述通信操作的延迟值作为最佳延迟值的步骤包括:将所述第一最长数据段和所述第二最长数据段相重叠部分的数据段的中间位置的状态值所对应的延迟值作为最佳数据延迟值。
7.一种补偿安全数码卡的延长线引起的延迟的装置,其特征在于,所述装置包括:
通信操作模块,用于经由所述延长线与所述安全数码卡进行预设次数的通信操作,若接收到所述安全数据卡返回的正确响应,则记录所述通信操作对应的状态值为第一数值,若未接收到所述安全数据卡返回的正确响应,则记录所述通信操作对应的状态值为第二数值;
查找模块,与所述通信操作模块连接,用于查找所述状态值连续为所述第一数值的最长数据段;
处理模块,与所述查找模块连接,用于将位于所述最长数据段的中间位置的状态值所对应的所述通信操作的延迟值作为最佳延迟值;以及设置模块,与所述处理模块连接,将所述最佳延迟值设置为所述安全数码卡的源时钟和采样时钟的相位差,以补偿由所述安全数码卡的所述延长线所引起的延迟。
8.根据权利要求7所述的装置,其特征在于,所述通信操作包括命令通信操作和数据通信操作,所述最佳延迟值包括最佳命令延迟值和最佳数据延迟值,所述通信操作模块包括:
命令通信模块,用于经由所述延长线的命令总线与所述安全数码卡进行预设次数的所述命令通信操作,分别获取多个所述命令通信操作分别对应的多个状态值;以及
数据通信模块,用于经由所述延长线的数据总线与所述安全数码卡进行预设次数的所述数据通信操作,分别获取多个所述数据通信操作分别对应的多个状态值。
9.根据权利要求8所述的装置,其特征在于,所述命令通信模块还用于:设置所述命令通信操作的初始延迟值为0;
经由所述延长线的命令总线向所述安全数码卡发送预存的命令;
如果接收到所述安全数码卡经由所述延长线的命令总线返回的未显示循环冗余校验错误的响应,则记录当前的所述命令通信操作对应的状态值为所述第一数值,否则记录当前的所述命令通信操作对应的状态值为所述第二数值;以及
将所述延迟值加1,并判断所述延迟值是否达到预设值,若否,则返回执行向所述安全数码卡发送预存的下一条命令的操作,若是,则结束本步骤。
10.根据权利要求8所述的装置,其特征在于,所述数据通信操作包括读数据通信操作,所述数据通信模块包括读数据通信模块,所述读数据通信模块用于:
设置所述读数据通信操作的初始延迟值为0;
经由所述延长线的命令总线向所述安全数码卡发送预存的读数据的命令;以及
如果正确接收到所述安全数码卡经由所述延长线的数据总线返回的未显示循环冗余校验错误的数据,则记录当前的所述读数据通信操作对应的状态值为第一数值,否则记录当前的所述读数据通信操作对应的状态值为第二数值;
将所述延迟值加1,并判断所述延迟值是否达到预设值,若否,则返回执行向所述安全数码卡发送预存的下一条读数据的命令操作,若是则结束本步骤。
11.根据权利要求8所述的装置,其特征在于,所述数据通信操作包括写数据通信操作,所述数据通信模块还包括写数据通信模块,所述写数据通信模块用于:
设置所述写数据通信操作的初始延迟值为0;
经由所述延长线的命令总线向所述安全数码卡发送预存的写数据的命令,并经由所述延长线的数据总线向所述安全数码卡发送待写数据;
如果正确接收到所述安全数码卡返回的写数据成功的响应,则记录当前的所述写数据通信操作对应的状态值为第一数值,否则记录当前的所述写数据通信操作对应的状态值为第二数值;以及
将所述延迟值加1,并判断所述延迟值是否达到预设值,若否则返回执行向所述安全数码卡发送预存的下一条写数据的命令的操作,若是则结束本步骤。
12.根据权利要求8所述的装置,其特征在于,所述数据通信操作包括读数据通信操作和写数据通信操作,所述查找模块还用于:查找对应于所述读数据通信操作的第一最长数据段以及对应于所述写数据通信操作的第二最长数据段;
所述处理还模块用于:将所述第一最长数据段和所述第二最长数据段相重叠部分的数据段的中间位置的状态值所对应的延迟值作为最佳数据延迟值。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610339223.XA CN106096702B (zh) | 2016-05-18 | 2016-05-18 | 补偿安全数码卡的延长线引起的延迟的方法及装置 |
US15/341,620 US10162570B2 (en) | 2016-05-18 | 2016-11-02 | Methods and apparatuses of compensating for delays caused by an extension line of a storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610339223.XA CN106096702B (zh) | 2016-05-18 | 2016-05-18 | 补偿安全数码卡的延长线引起的延迟的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106096702A CN106096702A (zh) | 2016-11-09 |
CN106096702B true CN106096702B (zh) | 2019-03-01 |
Family
ID=57229790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610339223.XA Active CN106096702B (zh) | 2016-05-18 | 2016-05-18 | 补偿安全数码卡的延长线引起的延迟的方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10162570B2 (zh) |
CN (1) | CN106096702B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11650750B2 (en) * | 2020-01-15 | 2023-05-16 | Micron Technology, Inc. | Performing asynchronous scan operations across memory subsystems |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310462A (zh) * | 2005-11-14 | 2008-11-19 | 艾利森电话股份有限公司 | 根据接收到的分组流产生时钟信号 |
CN102484516A (zh) * | 2009-06-24 | 2012-05-30 | 株式会社泛泰 | 利用自适应循环延迟分集来补偿频率衰减的方法以及使用该方法的发射装置及方法和接收装置及方法 |
CN103490788A (zh) * | 2012-04-27 | 2014-01-01 | 联发科技股份有限公司 | 补偿接收器或发射器中频率相依相位失衡的方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4921888B2 (ja) * | 2006-08-22 | 2012-04-25 | ルネサスエレクトロニクス株式会社 | インターフェース回路 |
KR101022674B1 (ko) * | 2008-12-05 | 2011-03-22 | 주식회사 하이닉스반도체 | 지연고정루프회로 및 그 동작방법 |
US7948817B2 (en) * | 2009-02-27 | 2011-05-24 | International Business Machines Corporation | Advanced memory device having reduced power and improved performance |
US9190129B2 (en) * | 2013-05-31 | 2015-11-17 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Continuous tuning of preamble release timing in a double data-rate memory device interface |
KR102140117B1 (ko) * | 2013-06-18 | 2020-08-12 | 에스케이하이닉스 주식회사 | 클럭 위상 조절 회로 및 이를 포함하는 반도체 장치 |
US9244799B2 (en) * | 2014-01-06 | 2016-01-26 | International Business Machines Corporation | Bus interface optimization by selecting bit-lanes having best performance margins |
-
2016
- 2016-05-18 CN CN201610339223.XA patent/CN106096702B/zh active Active
- 2016-11-02 US US15/341,620 patent/US10162570B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310462A (zh) * | 2005-11-14 | 2008-11-19 | 艾利森电话股份有限公司 | 根据接收到的分组流产生时钟信号 |
CN102484516A (zh) * | 2009-06-24 | 2012-05-30 | 株式会社泛泰 | 利用自适应循环延迟分集来补偿频率衰减的方法以及使用该方法的发射装置及方法和接收装置及方法 |
CN103490788A (zh) * | 2012-04-27 | 2014-01-01 | 联发科技股份有限公司 | 补偿接收器或发射器中频率相依相位失衡的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106096702A (zh) | 2016-11-09 |
US10162570B2 (en) | 2018-12-25 |
US20170337012A1 (en) | 2017-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102576342A (zh) | 错误侦测为基础的内存写入时序调整 | |
US6701469B1 (en) | Detecting and handling bus errors in a computer system | |
CN106096702B (zh) | 补偿安全数码卡的延长线引起的延迟的方法及装置 | |
CN110223643B (zh) | 数据传输方法、组件及系统、显示装置 | |
CN1248337A (zh) | Ic卡 | |
CN103593252B (zh) | 具有动态错误侦测及更正的存储器 | |
CN101739322A (zh) | 嵌入式系统的测试装置及方法 | |
CN110134557A (zh) | 一种读Flash接口数据随机注错的验证方法及其系统 | |
CN103809051A (zh) | 开关矩阵、自动测试系统及其中的开关矩阵的检测方法 | |
CN219248063U (zh) | 域控制器测试装置 | |
CN111459730A (zh) | 一种Whitley平台下PCH端参数的调整方法及系统 | |
CN112860495A (zh) | 一种i2c从设备的调试方法、i2c主设备及存储介质 | |
CN103309787B (zh) | 一种非标准usb协议兼容性检测方法 | |
KR100451374B1 (ko) | 병렬 버스를 사용하는 백플레인의 통신 고속화 장치 및신뢰성 향상 방법 | |
CN101354673A (zh) | 内存之spd芯片错误信息仿真装置 | |
CN103021470B (zh) | 取样相位校正方法和使用此取样相位校正方法的储存系统 | |
CN115862725A (zh) | 一种电表存储器可靠性及使用寿命的检测方法 | |
CN113778472A (zh) | Flash芯片烧写方法、装置及电子设备 | |
JP4394438B2 (ja) | 診断インターフェイスを標準spiに変換する装置及び方法 | |
CN101071394A (zh) | 一种板间透传总线的测试装置及方法 | |
CN101221519A (zh) | 一种处理器系统中闪存存储器的读写调试方法 | |
CN110727448B (zh) | 用于充电桩的ota空中升级方法 | |
CN103823731B (zh) | 一种基于安卓系统的sd协议栈调试方法 | |
CN110209433B (zh) | 一种识别不同型号集中器的方法 | |
CN113409873A (zh) | 擦写干扰测试系统、方法以及执行装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park Applicant after: Hefei Jie FA Technology Co., Ltd. Address before: Hefei City, Anhui province 230000 Wangjiang Road No. 800 building 10 layer A3 Innovation Industrial Park Applicant before: Smart technology (Hefei) Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |