一种SD卡的数据检测方法及系统及外接SD卡的卡槽与流程

文档序号:12365342阅读:687来源:国知局
一种SD卡的数据检测方法及系统及外接SD卡的卡槽与流程

本发明涉及集成电路检测的技术领域,特别是涉及一种SD卡的数据检测方法及系统及外接SD卡的卡槽。



背景技术:

随着各种多媒体娱乐内容的丰富,消费者对所用的电子产品的储存容量要求越来越高,SD卡作为储存装置已被广泛应用于各种电子设备中,其要么作为产品内置的储存装置;要么作为其扩展储存装置,即在电子产品的本体上设有SD接口,如需电子产品与外部设备互换数据或增加电子产品本身储存容量时,就可以直接将SD卡插入电子产品上的SD卡接口即可。

为了保证SD卡工作稳定可靠,生产时,生产厂商一般都要对SD卡采样时序进行测试,目前市场上对SD卡接口测试都是直接利用SD卡插入接品进行测试。这种方式对于研发以及成品阶段都存在不足:

首先,不同电子产品其系统的读写频率不同,当接入外接SD卡存在读写数据发生错误的现象;其次,研发以及成品验收阶段,图形在测试卡槽不同插拔,造成SD卡容易磨损或烧毁,增加测试成本;再次,由于SD卡体积很小,测试人员操作很不方便,不易管理。



技术实现要素:

本发明目的是提供一种SD卡的数据检测方法及系统,其目的是能够实现在研发或者成品阶段对SD卡采样时序延迟的数据信息读写自动化测试,能够节约测试成本、便于管理、安全可靠。

本发明提供的技术方案如下:

一种SD卡的数据检测方法,包括:

步骤S10利用IO控制器开启外接SD卡处于工作状态;

步骤S20获取用户向所述外接SD卡输入预设的工作时钟频率;

步骤S40根据用户输入的所述预设的工作时钟频率,向所述外接SD读写预设的容量的数据信息;

步骤S50检测所述外接SD卡读写的数据信息一致性;当一致时,执行步骤S60。

步骤S60利用所述IO控制器关闭外接SD卡的工作状态。

进一步优选的,所述步骤S40之前还包括:

步骤S30根据用户输入的所述预设的工作时钟频率,设置所述外接SD卡读写数据信息的时序延时参数。

进一步优选的,所述步骤S50包括:

步骤S51从所述外接SD卡中提取写入的预设的字节段内的所述数据信息中样本数据;

步骤S52从所述外接SD卡中提取读出的所述预设的字节段内的所述样本数据;

步骤S53将所述步骤S51提取写入所述样本数据与所述步骤S52提取读出所述样本数据进行比对;

当至少有一个写入和读出对应的字节段所述样本数据比对不一致时,返回执行步骤S30。

进一步优选的,当向所述外接SD卡读写数据信息时包括:

当向所述外接SD卡读数据信息时,停止向所述外接SD写数据信息;

当向所述外接SD卡写数据信息时,停止向所述外接SD读数据信息。

进一步优选的,还包括:

利用所述IO控制器的GPIO输出的电平控制所述外接SD卡工作状态。

一种SD卡的数据检测方法的检测系统,包括:

SD卡开启模块,用于利用IO控制器开启外接SD卡处于工作状态;

频率获取模块,当所述外接SD卡处于工作状态时,用于获取用户向所述外接SD卡输入预设的工作时钟频率;

数据读写模块,根据所述频率获取模块获取的预设的工作时钟频率,用于向所述外接SD读写预设的容量的数据信息;

数据检测模块,用于判断所述数据读写模块读写的数据信息是否一致;

SD卡关闭模块,当所述数据检测模块检测数据信息一致时,利用所述IO控制器关闭外接SD卡的工作状态。

进一步优选的,包括:

信息设置模块,分别与所述频率获取模块、所述数据读写模块电连接,用于设置所述外接SD卡读写数据信息的时序延时参数。

进一步优选的,所述数据检测模块包括:

第一样本数据提取子模块,用于从所述外接SD卡中提取写入的预设的字节段内的所述数据信息中样本数据;

第二样本数据提取子模块,用于从所述外接SD卡中提取读出的所述预设的字节段内的所述样本数据;

样本数据比对子模块,用于将所述第一样本数据提取子模块提取的样本数据与所述第二样本数据提取子模块提取的所述样本数据进行比对;

当所述样本数据比对的结果不一致时,所述信息设置模块再次设置所述时序延时参数。

一种外接SD卡的卡槽,包括:外接SD卡设置在专用的外接SD卡卡槽内,在所述卡槽内设置连通触点,与所述外接SD卡电连接的分别为工作始终频率触点,数据读写触点;

所述外接SD卡的DET触点与IO控制电连接,用于控制所述外接SD的工作状态。

通过本发明提供的一种SD卡的数据检测方法及系统及外接SD卡的卡槽,能够带来以下至少一种有益效果:

1、本发明通过对外接SD工作时钟频率的设置,在此条件下判断SD卡读写数据能力,根据写入的数据与读出的数据判断一致性,以此判断当前待检测的SD卡的工作参数是否匹配正确,实现了SD卡的自动化测试。

2、本发明中针对SD卡读写的数据信息的检测,是按照设定的在延迟参数范围内对应字节的检测,当至少一个字节对比不一致时,停止在该延迟参数下检测工作,重新设置延迟参数,而延迟参数的设置是按照从小到大的顺序进行的,保障SD卡工作时有最大的延迟性,同时保障数据读写的安全可靠。

3、本发明将原有检测模式进行改变,通过对SD卡卡槽控制接口的创新,模拟对SD卡开启与断开,实现了SD卡采样时序延迟的自动化测试,节省了人力以及时间成本,缩短了产品研发周期,并且在采用抽象层的封装后,具有很高的安全性,在自动化测试中不会由于无意识错误导致系统崩溃造成软硬件的破坏。

附图说明

下面将以明确易懂的方式,结合附图说明优选实施方式,对一种SD卡的数据检测方法及系统及外接SD卡的卡槽的上述特性、技术特征、优点及其实现方式予以进一步说明。

图1是本发明一种SD卡的数据检测方法的实施例的流程图;

图2是本发明一种SD卡的数据检测方法的另一实施例的流程图;

图3是本发明一种SD卡的数据检测方法的另一实施例的流程图;

图4是本发明一种SD卡的数据检测系统的实施例的结构图;

图5是本发明一种SD卡的数据检测系统的另一实施例的结构图;

图6是本发明一种SD卡的数据检测系统的另一实施例的结构图;

图7是本发明一种SD卡的卡槽的实施例的电路图;

图8是本发明一种SD卡的卡槽的另一实施例的电路图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

本发明提供一种SD卡的数据检测方法的实施例,参考图1所示;包括:

步骤S10利用IO控制器开启外接SD卡处于工作状态;

步骤S20获取用户向所述外接SD卡输入预设的工作时钟频率;

步骤S40根据用户输入的所述预设的工作时钟频率,向所述外接SD读写预设的容量的数据信息;

步骤S50检测所述外接SD卡读写的数据信息一致性;当一致时,执行步骤S60。

步骤S60利用所述IO控制器关闭外接SD卡的工作状态。

具体的,本实施例中,利用CPU的IO端口的高低电平控制外接SD卡的工作状态,当进入测试模式时,CPU的IO控制发送高电平,设置SD卡的源头工作频率,根据设定的工作频率向SD卡进行数据的读写操作,并设定读写数据的数量向SD卡的存储文件夹内存入,当根据预设容量的信息完成读写操作后,进一步验证其在此工作频率条件下,读入的数据和写入的数据是否一致,以此验证对SD卡设置的工作参数的准确性,当验证后读入与写入的数据是统一数据信息时,利用CPU控制器IO发送低电平,关闭SD卡的工作状态,也即相当于没有SD卡进行验证工作。

优选的,所述步骤S40之前还包括:

步骤S30根据用户输入的所述预设的工作时钟频率,设置所述外接SD卡读写数据信息的时序延时参数。

具体的,参考图2所示;本实施例中在上一实施例的基础上增加步骤S30;根据对SD卡的设置的工作频率,进一步根据设置在此工作频率下在数据读写过程中产生的采样时序延迟量参数。

优选的,所述步骤S50包括:

步骤S51从所述外接SD卡中提取写入的预设的字节段内的所述数据信息中样本数据;

步骤S52从所述外接SD卡中提取读出的所述预设的字节段内的所述样本数据;

步骤S53将所述步骤S51提取写入所述样本数据与所述步骤S52提取读出所述样本数据进行比对;

当至少有一个写入和读出对应的字节段所述样本数据比对不一致时,返回执行步骤S30。

具体的,参考图3所示;在以上实施例的基础上继续本实施例;在设定的工作时钟频率时进一步设定数据读写的时序延迟量的条件下,检测SD卡对数据读写的正确性;具体的检测方法为,当设定的时候频率为12M,同时设定的延迟量为20ns;向外接的SD卡写入512个字节的数据,写入后保存在SD卡的暂存文件夹内,进一步从SD卡的暂存文件夹内读出写入的512个字节数据,当存入的数据量过大时,在系统的内部采取样本式的提取方式,取其中某一字节端的数据信息,进行比对,读取第25-366字节段数据信息,同样在读样本数据时在延迟的采样参数范围内,读取第25-366字节段数据信息;将对应的各个字节进行比对,如果比对一致那么证明SD卡在设定的频率下,设定延迟参数下数据的读写是正确的,此次对于SD卡检测成功;比对的自己只要其中之一出现异常,则证明在此设定延迟参数下数据读写不一致,进一步重新设定延迟参数,再次验证。延迟参数从最小参数开始验证,取最大的延迟参数。

优选的,当向所述外接SD卡读写数据信息时包括:

当向所述外接SD卡读数据信息时,停止向所述外接SD写数据信息;

当向所述外接SD卡写数据信息时,停止向所述外接SD读数据信息。

具体的,在验证向外接SD卡读写数据信息时,读或写只能单一进行,这样避免了在检测过程造成信息的错乱。

优选的,还包括:

利用所述IO控制器的GPIO输出的电平控制所述外接SD卡工作状态。

本发明还提一种SD卡的数据检测方法的实施例,参考图3所示;包括:

利用所述IO控制器的GPIO输出的电平控制所述外接SD卡工作状态;

步骤S10利用IO控制器开启外接SD卡处于工作状态;步骤S20获取用户向所述外接SD卡输入预设的工作时钟频率;步骤S30根据用户输入的所述预设的工作时钟频率,设置所述外接SD卡读写数据信息的时序延时参数;步骤S40根据用户输入的所述预设的工作时钟频率,向所述外接SD读写预设的容量的数据信息;步骤S50检测所述外接SD卡读写的数据信息一致性;当一致时,执行步骤S60;步骤S51从所述外接SD卡中提取写入的预设的字节段内的所述数据信息中样本数据;当向所述外接SD卡读数据信息时,停止向所述外接SD写数据信息;步骤S52从所述外接SD卡中提取读出的所述预设的字节段内的所述样本数据;当向所述外接SD卡写数据信息时,停止向所述外接SD读数据信息;步骤S53将所述步骤S51提取写入所述样本数据与所述步骤S52提取读出所述样本数据进行比对;当至少有一个写入和读出对应的字节段所述样本数据比对不一致时,返回执行步骤S30。

本发明还提供一种SD卡的数据检测系统的实施例,参考图4所示,包括:

SD卡开启模块10,用于利用IO控制器开启外接SD卡处于工作状态;

频率获取模块20,当所述外接SD卡处于工作状态时,用于获取用户向所述外接SD卡输入预设的工作时钟频率;

数据读写模块40,根据所述频率获取模块获取的预设的工作时钟频率,用于向所述外接SD读写预设的容量的数据信息;

数据检测模块50,用于判断所述数据读写模块读写的数据信息是否一致;

SD卡关闭模块60,当所述数据检测模块50检测数据信息一致时,利用所述IO控制器关闭外接SD卡的工作状态。

具体的,本实施例中,利用SD卡开启模块10CPU的IO端口的高低电平控制外接SD卡的工作状态,当进入测试模式时,CPU的IO控制发送高电平,频率获取模块20设置SD卡的源头工作频率,根据设定的工作频率向数据读写模块40的SD卡进行数据的读写操作,并设定读写数据的数量向SD卡的存储文件夹内存入,当根据预设容量的信息完成读写操作后,进一步利用数据检测模块50验证其在此工作频率条件下,读入的数据和写入的数据是否一致,以此验证对SD卡设置的工作参数的准确性,当验证后读入与写入的数据是统一数据信息时,利用CPU控制器IO发送低电平,关闭SD卡的工作状态,也即相当于没有SD卡进行验证工作。

优选的,包括:

信息设置模块30,分别与所述频率获取模块20、所述数据读写模块40电连接,用于设置所述外接SD卡读写数据信息的时序延时参数。

具体的,参考图5所示;本实施例中在上一实施例的基础上增加信息设置模块30;根据对SD卡的设置的工作频率,进一步根据设置在此工作频率下在数据读写过程中产生的采样时序延迟量参数。

优选的,所述数据检测模块50包括:

第一样本数据提取子模块51,用于从所述外接SD卡中提取写入的预设的字节段内的所述数据信息中样本数据;

第二样本数据提取子模块52,用于从所述外接SD卡中提取读出的所述预设的字节段内的所述样本数据;

样本数据比对子模块53,用于将所述第一样本数据提取子模块提取的样本数据与所述第二样本数据提取子模块提取的所述样本数据进行比对;

当所述样本数据比对的结果不一致时,所述信息设置模块再次所述时序延时参数。

具体的,参考图6所示;在以上实施例的基础上继续本实施例;在设定的工作时钟频率时进一步设定数据读写的时序延迟量的条件下,利用数据检测模块50检测SD卡对数据读写的正确性;具体的检测方法为,当设定的时候频率为12M,同时设定的延迟量为20ns;向外接的SD卡写入512个字节的数据,写入后保存在SD卡的暂存文件夹内,进一步从SD卡的暂存文件夹内读出写入的512个字节数据,当存入的数据量过大时,在系统的内部采取样本式的提取方式,取其中某一段字节的数据信息,进行比对,利用第一样本数据提取子模块51从暂存文件夹内提取写入第25-366字节段数据信息,同样在读样本数据时在延迟的采样参数范围内,利用第二样本数据提取子模块52从暂存文件夹内提取读出的第25-366字节段数据信息;利用样本数据比对子模块53将对应的各个字节进行比对,如果比对一致那么证明SD卡在设定的频率下,设定延迟参数下数据的读写是正确的,此次对于SD卡检测成功;比对的字节只要其中之一出现异常,则证明在此设定延迟参数下数据读写不一致,进一步重新设定延迟参数,再次验证。延迟参数从最小参数开始验证,取最大的延迟参数。

本发明还提供一种外接SD卡的卡槽,包括:外接SD卡设置在专用的外接SD卡卡槽内,在所述卡槽内设置连通触点,与所述外接SD卡电连接的分别为工作始终频率触点(CLK),数据读写触点(DATAn);

所述外接SD卡的DET触点与IO控制电连接,用于控制所述外接SD的工作状态。

具体的,本实施例中,通过CPU的IO端口的选择一个空闲的CPU IO飞线到去除内置卡检测金属片的SD卡卡槽的DET管脚,控制外接SD卡工作状态,是一种对原有测试硬件的改变;参考图7和图8所示,硬件板1、cpu2、cpu内核3、SD控制器4、IO控制器5、IO PAD 6;cpu2包括cpu内核3、SD控制器4、IO控制器5;IO PAD 6在硬件板上1。

本发明还提供一种SD卡的数据检测系统,参考图7和图8所示,包括相位调节通道、驱动层接口、硬件接口模型;硬件接口模型,提供一个硬件改进方式,目的是将原有TF卡接口检测管脚与硬件板上IO PAD 6接通,改成IO电平控制,由此能够通过软件改变IO电平达到模拟插拔SD卡的过程;驱动层接口向上为用户层提供能够直接控制相位调节通道以及运行态内核的模块时钟频率的接口(向用户层提供硬件接口模型的封装),向下直接与相位调节通道进行信息交互;相位调节通道其主要作用在于接受驱动层接口信息,并控制CPU输出的对SD卡模块的采样时序相位;

相位调节通道包括:SD控制器,适于接受来自驱动层接口的改动,并基于此向外接存储设备提供特定延迟量的采样时序;IO控制器,适于将处理器发起的存储设备读写请求和数字逻辑进行双向转换;SD控制器和IO控制器在驱动层接口中进行封装,为上层的用户提供控制接口;通过IO控制器发出的IO控制电平,控制每次自动化测试时SD卡的插拔,通过模拟插拔来复位每次测试循环之后SD控制器内部状态,使每次测试循环开始时SD控制器内部状态都一致,SD控制器提供特定的采样时序给外接SD卡,并通过存储控制器向外接SD卡读写数据,并判断在特定采样时序延迟下读写的正确性。

驱动层接口包括:外接SD卡模型的时钟总线,适于在内核状态下提供外接模块的采样时序频率,外接SD卡在初始化阶段唯一一次接受此采样时序频率设定;工作频率属性,适于在初始化阶段之外动态改变采样时序频率提供通道;和SD控制器抽象,适于向用户层展现SD控制器部分细节,如时序延时量的控制寄存器,频率控制接口,数据控制接口等;以及向SD控制器报告用户层改动的作用;IO控制器抽象,适于对数字信号进行控制,形成对外接SD卡检测管脚的插拔信号。

硬件接口模型包括:改进的外接SD卡接口,为去除了内置卡检测金属片,并将其检测管脚(结合图7和图8所示,中DET管脚)与IO PAD相连,始终引脚(CLK)和与CPU通讯的数据信息的读出和写入引脚(DATAn)不变,确保重要信号的正确连通。

本发明的一种SD卡的数据检测系统,在一个自动化测试循环周期开始之前,首先做好硬件改动准备,选择一个空闲的CPU IO飞线到去除内置卡检测金属片的SD卡卡槽的DET管脚(此即改进的外接SD卡接口),在随后的软件自测的一个循环周期内的内核启动阶段,在外接SD卡插入改进的外接SD卡卡槽后,驱动层接口中的外接SD卡模型的时钟总线工作频率会被SD控制器读取;在内核启动之后,用户层软件通过驱动层接口IO控制器抽象使IO PAD的电平为高,此时,CPU将会认为改进的外接SD卡卡槽已经插入卡,SD控制器将会被CPU重置(RESET),以清除上一个软件自测周期的状态,接着用户层软件通过驱动层接口内的工作频率属性动态改变外接SD卡工作所需频率,并通过SD控制器抽象改变其采样时序延迟量的数值;在一个软件自测周期的最后,系统将对外接SD卡进行读写操作,若读写对比失败,则改变采样时序延迟量的数值后进入下一个测试循环;若读写成功,则记录此采样时序延迟量数值,并改变采样时序延迟量的数值后进入下一个测试循环,循环一直持续到数值增加到采样时序延迟量数值的最大值,此时循环结束,由此达到自动测试的目的。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1