《一种EMMC内嵌式存储器的检测方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种EMMC内嵌式存储器的检测方法和装置.pdf(15页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104217768A43申请公布日20141217CN104217768A21申请号201410448288922申请日20140904G11C29/5620060171申请人青岛海信电器股份有限公司地址266100山东省青岛市崂山区株洲路151号72发明人初德进74专利代理机构北京同达信恒知识产权代理有限公司11291代理人黄志华54发明名称一种EMMC内嵌式存储器的检测方法和装置57摘要本发明实施例公开了一种EMMC内嵌式存储器的检测方法和装置,涉及电子电路领域,用以对EMMC的I/O端口的通断进行检测。本发明中,通过CLK端口输入与设置的时钟频率相同频率的时钟信号;通过。
2、CMD端口向EMMC发送第一指令,以指示EMMC通过CMD端口进行反馈,根据接收到的反馈信息,确定CMD端口和CLK端口的通断;在确定CMD端口和CLK端口均为使用正常的端口后,擦除EMMC中的至少一个最小数据块,通过CMD端口向EMMC发送第二指令,用以向已擦除的数据块所对应的存储空间中写入预设数值;通过数据端口读取存储空间所存储的数值,比较写入数值和读出数值,确定每个数据端口的通断;从而实现了上述功能。51INTCL权利要求书2页说明书8页附图4页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书8页附图4页10申请公布号CN104217768ACN104217768A1。
3、/2页21一种EMMC内嵌式存储器的检测方法,所述EMMC至少具有命令CMD端口、时钟CLK端口和八个数据端口,其特征在于,该方法包括设置所述EMMC的时钟频率,并通过所述CLK端口输入与设置的时钟频率相同频率的时钟信号;通过所述CMD端口向所述EMMC发送第一指令,以指示所述EMMC根据所述第一指令所指示的内容通过所述CMD端口进行反馈,根据接收到的反馈信息,确定所述CMD端口和所述CLK端口的通断;在确定所述CMD端口和所述CLK端口均为使用正常的端口后,擦除所述EMMC中的至少一个最小数据块,通过所述CMD端口向所述EMMC发送第二指令,用以向所述已擦除的数据块所对应的存储空间中写入预设。
4、数值;通过所述数据端口读取所述存储空间所存储的数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断。2如权利要求1所述的方法,其特征在于,所述第一指令用于指示所述EMMC从EMMC标识信息所对应的寄存器中获取EMMC标识信息;所述EMMC根据所述第一指令所指示的内容通过所述CMD端口进行反馈,具体包括所述EMMC根据所述第一指令所指示的内容,读取对应的寄存器所存储的EMMC标识信息,并将读取到的EMMC标识信息作为反馈信息通过所述CMD端口进行反馈。3如权利要求2所述的方法,其特征在于,所述确定所述CMD端口和所述CLK端口的通断,具体包括若接收到所述EMMC通过所述。
5、CMD端口输出EMMC标识信息,则将所述CMD端口和所述CLK端口均确定为使用正常的端口;否则,将所述CMD端口和所述CLK端口中至少一个端口确定为故障端口。4如权利要求1所述的方法,其特征在于,所述八个数据端口从最低位到最高位依次为第一数据端口第八数据端口;在所述通过所述CMD端口向所述EMMC发送第一指令之前,还包括设置所述EMMC的数据宽度;所述通过所述数据端口读取所述存储空间所存储的数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断,具体包括通过与设置的数据宽度对应的数据端口读取所述存储空间所存储的二进制数值,比较所述写入的预设数值和读取出的数值,根据比较结。
6、果确定所述EMMC的时序并确定与设置的数据宽度对应的数据端口的通断。5如权利要求14中任一项所述的方法,其特征在于,所述根据比较结果确定每个数据端口的通断,具体包括对于任意一个数据端口,若写入的二进制数值和读取出的二进制数值相同,则将该数据端口确定为使用正常的数据端口;否则,将该数据端口确定为断路端口;对于任意两个相邻的数据端口,当写入其中一个数据端口的二进制数值与写入另一个数据端口的二进制数值不同时,分别比较写入的二进制数值与读取出的二进制数值是否相同,若相同,则将所述两个相邻的数据端口均确定为使用正常的数据端口,若不同,则所述两个相邻的数据端口中至少一个端口确定为短路的数据端口。6一种EM。
7、MC内嵌式存储器的检测装置,其特征在于,该装置包括权利要求书CN104217768A2/2页3初始化单元,用于设置所述EMMC的时钟频率,并通过所述CLK端口输入与设置的时钟频率相同频率的时钟信号;端口检测单元,用于通过所述CMD端口向所述EMMC发送第一指令,以指示所述EMMC根据所述第一指令所指示的内容通过所述CMD端口进行反馈,根据接收到的反馈信息,确定所述CMD端口和所述CLK端口的通断;在确定所述CMD端口和所述CLK端口均为使用正常的端口后,擦除所述EMMC中的至少一个最小数据块,通过所述CMD端口向所述EMMC发送第二指令,用以向所述已擦除的数据块所对应的存储空间中写入预设数值;。
8、通过所述数据端口读取所述存储空间所存储的数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断。7如权利要求6所述的装置,其特征在于,所述第一指令用于指示所述EMMC从EMMC标识信息所对应的寄存器中获取EMMC标识信息;所述端口检测单元具体用于所述EMMC根据所述第一指令所指示的内容,读取对应的寄存器所存储的EMMC标识信息,并将读取到的EMMC标识信息作为反馈信息通过所述CMD端口进行反馈。8如权利要求7所述的装置,其特征在于,所述端口检测单元具体用于若接收到所述EMMC通过所述CMD端口输出EMMC标识信息,则将所述CMD端口和所述CLK端口均确定为使用正常的端口。
9、;否则,将所述CMD端口和所述CLK端口中至少一个端口确定为故障端口。9如权利要求6所述的装置,其特征在于,所述八个数据端口从最低位到最高位依次为第一数据端口第八数据端口;所述初始化单元还用于在所述通过所述CMD端口向所述EMMC发送第一指令之前,设置所述EMMC的数据宽度;所述端口检测单元具体用于通过与设置的数据宽度对应的数据端口读取所述存储空间所存储的二进制数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定所述EMMC的时序并确定与设置的数据宽度对应的数据端口的通断。10如权利要求69中任一项所述的装置,其特征在于,所述端口检测单元具体用于对于任意一个数据端口,若写入的二进制数值。
10、和读取出的二进制数值相同,则将该数据端口确定为使用正常的数据端口;否则,将该数据端口确定为断路端口;对于任意两个相邻的数据端口,当写入其中一个数据端口的二进制数值与写入另一个数据端口的二进制数值不同时,分别比较写入的二进制数值与读取出的二进制数值是否相同,若相同,则将所述两个相邻的数据端口均确定为使用正常的数据端口,若不同,则所述两个相邻的数据端口中至少一个端口确定为短路的数据端口。权利要求书CN104217768A1/8页4一种EMMC内嵌式存储器的检测方法和装置技术领域0001本发明涉及电子电路领域,尤其涉及一种EMMC内嵌式存储器的检测方法和装置。背景技术0002EMMCEMBEDDED。
11、MULTIMEDIACARD,内嵌式存储器是一种主要针对于手机或平板电脑的内嵌式存储器。EMMC由MMCMULTIMEDIACARD,多媒体卡接口、快闪存储器设备及主控制器组成,并采用BGABALLGRIDARRAYPACKAGE,球栅阵列封装技术封装。采用BGA技术封装的EMMC的I/OINPUT/OUTPUT,输入输出端口端口以圆形或柱状焊点按阵列形式分布在封装下面,可以增加EMMC的集成度。0003现有技术中,对电子元器件进行硬件检测时,通常使用万用表表笔直接接触电子元器件的I/O端口引脚,才能对该I/O端口的通断进行检测;还可以使用示波器探头直接接触电子元器件的I/O端口引脚,才能对该。
12、I/O端口的通断或输出信号进行检测。0004随着手机或平板电脑等智能设备的功能越来越多,其主板的集成度也越来越高,主板的PCBPRINTEDCIRCUITBOARD,印刷电路板往往采用多层布线。当采用多层布线时,集成在主板上的EMMC的I/O端口往往不被暴露在主板表面而是隐藏EMMC的芯片体下面,可见,当需要检测该EMMC时,使用万用表表笔或示波器探头无法接触到EMMC的I/O端口,因此,采用现有技术中的硬件检测方法无法对EMMC进行检测。发明内容0005本发明实施例提供一种EMMC内嵌式存储器的检测方法和装置,用以对EMMC的I/O端口的通断进行检测。0006一种EMMC内嵌式存储器的检测方。
13、法,所述EMMC至少具有命令CMD端口、时钟CLK端口和八个数据端口,该方法包括0007设置所述EMMC的时钟频率,并通过所述CLK端口输入与设置的时钟频率相同频率的时钟信号;0008通过所述CMD端口向所述EMMC发送第一指令,以指示所述EMMC根据所述第一指令所指示的内容通过所述CMD端口进行反馈,根据接收到的反馈信息,确定所述CMD端口和所述CLK端口的通断;0009在确定所述CMD端口和所述CLK端口均为使用正常的端口后,擦除所述EMMC中的至少一个最小数据块,通过所述CMD端口向所述EMMC发送第二指令,用以向所述已擦除的数据块所对应的存储空间中写入预设数值;通过所述数据端口读取所述。
14、存储空间所存储的数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断。0010一种EMMC内嵌式存储器的检测装置,所述EMMC至少具有命令CMD端口、时钟CLK端口和八个数据端口,该装置包括0011初始化单元,用于设置所述EMMC的时钟频率,并通过所述CLK端口输入与设置的时钟频率相同频率的时钟信号;说明书CN104217768A2/8页50012端口检测单元,用于通过所述CMD端口向所述EMMC发送第一指令,以指示所述EMMC根据所述第一指令所指示的内容通过所述CMD端口进行反馈,根据接收到的反馈信息,确定所述CMD端口和所述CLK端口的通断;在确定所述CMD端口和。
15、所述CLK端口均为使用正常的端口后,擦除所述EMMC中的至少一个最小数据块,通过所述CMD端口向所述EMMC发送第二指令,用以向所述已擦除的数据块所对应的存储空间中写入预设数值;通过所述数据端口读取所述存储空间所存储的数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断。0013从上述方案可以看出,本发明实施例提供一种EMMC的检测方法,首先向EMMC发送时钟信号和第一指令,监测该EMMC所反馈的信息,根据反馈信息判断该EMMC的CMD端口和CLK端口的通断,从而实现了对EMMC的CMD端口和CLK端口的通断的检测;擦除EMMC所存储的任一最小数据块,向擦除的数据块中。
16、写入预设数值,然后读取该数据块中所存储的数值,比较写入的数值和读取出的数值,根据比较结果确定每个数据端口的通断,由于EMMC的端口在布线或焊接时可能发生短路或断路的现象,若发生了短路或断路的现象时,则写入的数据与读取出的数据一定不相同,本发明实施例可以根据不相同的数据或数值,判断每一个数据端口的通断,从而实现了对EMMC的数据端口的检测。可见,本发明实施例可以检测的端口至少包括CMD端口、CLK端口和每个数据端口,由于上述端口为EMMC主要使用的I/O端口,因此通过本发明实施例可以实现对EMMC的I/O端口的通断进行检测的目的。附图说明0014为了更清楚地说明本发明实施例中的技术方案,下面将对。
17、实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。0015图1为现有技术中的典型的智能设备CPU最小系统的结构示意图;0016图2为现有技术中ROM程序的执行流程的示意图;0017图3为现有技术中EMMC的内部结构示意图;0018图4为本发明实施例提供的EMMC的检测方法的流程示意图;0019图5为本发明实施例中的将EMMC的数据宽度设置为8BIT时进行EMMC检测的流程示意图;0020图6为本发明实施例中数据端口进行传输的格式的示意图;0021图7为本发明。
18、实施例提供的EMMC的检测装置的结构示意图。具体实施方式0022为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。0023本发明实施例可适用于各种集成电路芯片,尤其适用于采用BGA技术封装的EMMC芯片。图1示出了一种现有技术中的典型的智能设备CPU最小系统的结构示意图,如图1说明书CN104217768A3/8页6所示,CPUCENTRALPROCESSINGUNIT,中央处理器。
19、最小系统由CPU、EMMC和DDRDOUBLEDATARATE,双倍速率同步动态随机存储器三部分组成。设备未上电前,程序代码存储在EMMC中,这些代码可以包括BOOT代码启动代码、KERNEL代码内核代码、RAMDISK虚拟内存盘代码、USERDATA用户数据代码等部分。通常的,在CPU内部SOCSYSTEMONCHIP,系统级芯片处会集成一片小容量的ROMREADONLYMEMORY,只读内存和RAMRANDOMACCESSMEMORY,随机存取存储器区域。其中,ROM中存储的是由CPU芯片厂商在出厂时固化的启动代码在本发明实施例中简称ROM程序,ROM程序的作用包括一、完成上电检测,并初始。
20、化CPU;二、从外部非易失性存储器上拷贝BOOT代码到内部RAM运行;三、通过UARTUNIVERSALASYNCHRONOUSRECEIVER/TRANSMITTER,通用异步收发传输器、USBUNIVERSALSERIALBUS,通用串行总线、I2CINTERINTEGRATEDCIRCUIT,两线式串行总线、RS232等通信接口与外界通常是外界PC通信,接收指令并执行响应的操作。图2示出了现有技术中ROM程序的执行流程的示意图,如图2所示,该过程可以包括0024步骤S01设备上电,并进行上电自检及初始化操作;0025步骤S02检测UART或USB或I2C接口上是否有数据,若是,则执行步骤。
21、S03;若否,则执行步骤S04;0026步骤S03进入指令模式,并通过UART或USB或I2C与外界PC进行信令交互,并结束流程;0027步骤S04从EMMC拷贝BOOT代码到内部RAM运行,并结束流程。0028本发明实施例可以应用于上述步骤S03的进程中,在外界PC上UART或USB或I2C接口向EMMC发送相关检测指令序列,与EMMC进行指定的信令交互,从而实现EMMC的信号的检测。0029图3示出了现有技术中EMMC的内部结构示意图,如图3所示,除了VCC或VCCQ双极器件电源电压、VDD或VDDI单级器件电源电压、VSS或VSSQ地或负极电源、RST_N复位等I/O端口之外,EMMC主。
22、要的I/O端口包括CMD命令端口、CLK时钟端口、DATA0DATA7第一第八数据端口。其中,CMD端口主要用来传输MMC协议指令;CLK端口用来提供传输时钟信号;数据端口用来传输数据信号。EMMC内部主要由MMCCONTROLLERMMC控制器和NANDFLASH非易失闪存两部分组成。其中,MMC控制器主要负责使用MMC接口协议与外部器件通信,还负责管理内部的NANDFLASH,EMMC所有的数据传输和模式设置等操作均是通过CMD端口上传输的指令实现的。0030本发明实施例提供了一种用于检测EMMC的CMD端口、CLK端口以及DATA0DATA7端口的方法。图4示出了本发明实施例提供的EMM。
23、C的检测方法的流程示意图,如图4所示,该方法包括0031步骤41设置EMMC的时钟频率,并通过CLK端口输入与设置的时钟频率相同频率的时钟信号。0032可选的,在步骤41之前,还可以对EMMC进行初始化处理。一般来说,可以在EMMC初始化之后设置EMMC的时钟频率,或者,在EMMC运行一段时间后,设置EMMC的时钟频率。这样,本发明实施例可以在设备初始化时检测EMMC的各I/O端口的通断,还可以在设备运行一段时间后检测EMMC的各I/O端口的通断;由于后续步骤中的获取EMMC的标识信息以及写入、读取数据均基于设置的时钟频率,因此,可以在初始化后或任意时间设置EMMC的说明书CN10421776。
24、8A4/8页7时钟频率,本发明实施例只要按照步骤41设置了时钟频率,就可以在任意时间对EMMC各I/O端口的通断进行检测。0033步骤42通过CMD端口向EMMC发送第一指令,以指示EMMC根据第一指令所指示的内容通过CMD端口进行反馈,根据接收到的反馈信息,确定CMD端口和CLK端口的通断。0034可选的,在上述步骤42中,第一指令用于指示EMMC从EMMC标识信息所对应的寄存器中获取EMMC标识信息;EMMC根据第一指令所指示的内容通过CMD端口进行反馈,具体包括EMMC根据第一指令所指示的内容,读取对应的寄存器所存储的EMMC标识信息,并将读取到的EMMC标识信息作为反馈信息通过CMD端。
25、口进行反馈。0035可选的,在上述步骤42中,确定CMD端口和CLK端口的通断,具体包括若接收到EMMC通过CMD端口输出EMMC标识信息,则将CMD端口和CLK端口均确定为使用正常的端口;否则,将CMD端口和CLK端口中至少一个端口确定为故障端口。0036步骤43在确定所述CMD端口和所述CLK端口均为使用正常的端口后,擦除EMMC中的至少一个最小数据块,通过CMD端口向EMMC发送第二指令,用以向已擦除的数据块所对应的存储空间中写入预设数值;通过数据端口读取存储空间所存储的数值,比较写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断。0037具体实现时,只有当EMMC的CLK。
26、端口输入了与设置的时钟频率对应的时钟信号,该EMMC才能在该时钟频率下正常工作,因此可以说CLK端口是EMMC芯片的基础;另外,由于CMD端口用于输入或输出EMMC的指令信息,例如,如果需要检测数据端口,首先需要通过CMD端口输入擦除指令和写入指令,可见,CMD端口也是EMMC芯片的基础。因此,在本发明实施例中,可以优先执行步骤42,然后继续执行步骤43,这样能够保证每一个检测步骤的有效性。0038可选的,在上述步骤41之前还包括设置EMMC的数据宽度;八个数据端口从最低位到最高位依次为第一数据端口第八数据端口;0039本发明实施例可以包括如下三个具体方案。0040方案一0041当预先设置EM。
27、MC的数据宽度为8BIT时,通过CMD端口向EMMC发送第二指令,具体包括0042通过CMD端口向EMMC发送第二指令,用以向已擦除的数据块所对应的存储空间中写入数据宽度为8BIT的数值;0043通过数据端口读取存储空间所存储的数值,比较写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断,具体包括通过第一数据端口第八数据端口读取存储空间所存储的二进制数值;针对于每个数据端口,分别比较写入的二进制数值和读取出的二进制数据,根据比较结果确定第一数据端口第八数据端口的通断。0044方案二0045当预先设置EMMC的数据宽度为4BIT时,通过CMD端口向EMMC发送第二指令,具体包括00。
28、46通过CMD端口向EMMC发送第二指令,用以向已擦除的数据块所对应的存储空间中写入数据宽度为4BIT的数值;通过数据端口读取存储空间所存储的数值,比较写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断,具体包括说明书CN104217768A5/8页80047通过第一数据端口第四数据端口读取存储空间所存储的二进制数值;针对于每个数据端口,分别比较写入的二进制数值和读取出的二进制数据,根据比较结果确定第一数据端口第四数据端口的通断。0048方案三0049当预先设置EMMC的数据宽度为1BIT时,通过CMD端口向EMMC发送第二指令,具体包括通过CMD端口向EMMC发送第二指令,用以。
29、向已擦除的数据块所对应的存储空间中写入数据宽度为1BIT的数值;0050通过数据端口读取存储空间所存储的数值,比较写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断,具体包括通过第一数据端口读取存储空间所存储的二进制数值;分别比较写入的二进制数值和读取出的二进制数据,根据比较结果确定EMMC的时序,并确定第一数据端口的通断。0051可选的,在上述步骤中,根据比较结果确定每个数据端口的通断,具体包括0052对于任意一个数据端口,若写入的二进制数值和读取出的二进制数值相同,则将该数据端口确定为使用正常的数据端口;否则,将该数据端口确定为断路端口;0053对于任意两个相邻的数据端口,当。
30、写入其中一个数据端口的二进制数值与写入另一个数据端口的二进制数值不同时,分别比较写入的二进制数值与读取出的二进制数值是否相同,若相同,则将两个相邻的数据端口均确定为使用正常的数据端口,若不同,则两个相邻的数据端口中至少一个端口确定为短路的数据端口。0054下面通过具体的实施例以数据宽度为8BIT的EMMC为例进行具体描述。0055在本发明实施例中,可以通过安装在外界PC上的软件或安装在外界智能设备上的软件对EMMC进行检测。PC或智能设备通过USB、I2C、RS232端口与EMMC进行通信,使用约定的通信协议进行命令传输和数据交互。ROM程序接收到PC或智能设备发送的用于指示EMMC执行指定操。
31、作的命令在本发明实施例中简称EMMC指令后,指示EMMC进行相应的操作。在本发明实施例中,用于检测EMMC的算法可以保存在外界PC上或智能设备上,用于与EMMC进行通信的协议也可以保存在外界PC上或智能设备上。其中,用于检测EMMC的算法可以保存在外界PC上或智能设备上的检测算法的核心思想是模拟真实的EMMC的操作流程,具体包括初始化流程,工作模式设置流程,数据读、写、擦除流程等。0056图5示出了本发明实施例中的将EMMC的数据宽度设置为8BIT时进行EMMC检测的流程示意图;如图5所示,本发明实施例以通过外界PC进行EMMC检测为例,该方法包括0057步骤51在初始化时,通过外界PC初始化。
32、CPU,并设置CPU内部的EMMC控制器。0058步骤52通过外界PC设置EMMC的工作模式。0059具体实现时,通过外界PC设置EMMC的时钟频率、数据宽度,将EMMC的数据宽度设置为8BIT。0060步骤53通过外界PC向EMMC发送CMD0指令,用于指示EMMC进行芯片复位操作。0061步骤54通过外界PC向EMMC发送CMD1指令,用于获取EMMC内部存储的OD寄存器内容,若未获取到,则执行步骤55;若获取到,则执行步骤56。0062步骤55认为CMD端口和CLK端口是故障端口,并结束检测流程。0063具体实现时,OD寄存器所存储的是EMMC芯片的厂商ID、产品ID等信息。外界PC需要。
33、通过CMD端口向EMMC发送CMD1指令,因此,通过步骤54可以检测EMMC的CMD端口的说明书CN104217768A6/8页9通断;另一方面,由于EMMC必须在设置的时钟频率下才能正常工作,因此,通过步骤54也可以检测EMMC的CLK端口的通断。当外界PC接收到EMMC返回OD寄存器中保存的EMMC芯片的厂商ID、产品ID等信息后,可以确定该EMMC的CMD端口和CLK端口是可以正常使用的,若外界PC未接收到EMMC返回OD寄存器中保存的EMMC芯片的厂商ID、产品ID等信息,则直接认为该EMMC的CMD端口和CLK端口是故障端口,并结束检测流程。0064步骤56在确定所述CMD端口和所述。
34、CLK端口均为使用正常的端口后,通过外界PC擦除任一最小数据块BLOCK。0065具体实现时,块BLOCK是EMMC内部NANDFLASH中最小的读、写、擦除单位通常来讲一个最小BLOCK的大小是512字节。在本发明实施例中,外界PC需要擦除任一一个BLOCK,需要向EMMC发送擦除指令,其中,CMD35指令用于指示EMMC进行擦除时的起始地址,CMD36指令用于指示EMMC进行擦除时的终止地址,CMD38指令用于指示EMMC进行擦除操作。0066需要说明的是,本发明实施例中的最小的读、写、擦除单位是根据不同类型的闪存确定的。例如,当EMMC使用其他类型的闪存,如NORFLASH时,最小数据块。
35、可能不是512字节。0067步骤57通过外界PC向EMMC中写入数据0XFF0055AA。0068具体实现时,外界PC发送CMD25指令,并写入一个数据长度恰好为512字节的数据。举例来说,可以连续向EMMC中重复多次写入0XFF0055AA的数据直至已写入的数据长度为512字节时停止写入。0069具体实现时,在设置的数据宽度为8BIT的情况时,该数据在数据端口DATA信号线进行传输。图6示出了数据端口进行传输的格式的示意图;在设置的数据宽度为8BIT的情况时,写入的数据0XFF0055AA在数据端口上进行传输的格式如图6所示,可见,数据0XFF0055AA的最高位在DATA7第八数据端口上传。
36、输,最低位在DATA0第一数据端口上传输。0070步骤58通过外界PC向EMMC发送读取指令,用于读取最小数据块中所存储的数据。0071具体实现时,通过外界PC向EMMC发送CMD17指令,用于读取通过步骤57写入的数据,在本发明实施例中,该数据即为0XFF0055AA。0072步骤59将写入的数据0XFF0055AA与读取出的数据进行比较,根据比较结果确定各数据端口的通断。0073具体实现时,继续参见图6,从图6中可以看出,当写入数据为0XFF时,读取到的字节中不为1的数据端口即代表该数据端口为断路;当写入数据为0X00时,读取到的字节中不为0的数据端口即代表该数据端口为断路;进一步的,当写。
37、入数据为0X55时,由于该数据对应的二进制数值为01010101,因此可以判断DATA0DATA7八个数据端口是否存在短路现象,若读取出的二进制数据不为01010101,则连续为0或连续为1的数据端口均存在短路现象;当写入数据为0XAA时,由于该数据对应的二进制数值为10101010,因此也可以判断DATA0DATA7八个数据端口是否存在短路现象,若读取出的二进制数据不为10101010则连续为0或连续为1的数据端口均存在短路现象。0074需要说明的是,在实际应用中,对于EMMC的任一数据端口,如果写入的二进制数说明书CN104217768A7/8页10值是1,而读取出的二进制数值是0时,该数。
38、据端口可能为断路,该数据端口也可能与地短路。为了区分该数据端口是断路还是与地短路的情况,本发明实施例还可以利用外界PC向EMMC发送指定命令,用于使能开启该数据端口的弱上拉功能,此时,可以继续写入二进制数值为1的数据,若读取出的二进制数值是0,则确定该数据端口与地短路;若读取出的二进制数值是1,则确定该数据端口断路。0075从上述方案可以看出,本发明实施例提供一种EMMC的检测方法,首先向EMMC发送时钟信号和第一指令,监测该EMMC所反馈的信息,根据反馈信息判断该EMMC的CMD端口和CLK端口的通断,从而实现了对EMMC的CMD端口和CLK端口的通断的检测;擦除EMMC所存储的任一最小数据。
39、块,向擦除的数据块中写入预设数值,然后读取该数据块中所存储的数值,比较写入的数值和读取出的数值,根据比较结果确定每个数据端口的通断,由于EMMC的端口在布线或焊接时可能发生短路或断路的现象,若发生了短路或断路的现象时,则写入的数据与读取出的数据一定不相同,本发明实施例可以根据写入的数值不同,逐一判断每一个数据端口的通断,例如当写入的二进制数值为11111111或00000000或类似的数值时,判断8个数据端口的通断;当写入的二进制数值为10101010或01010101或类似的数值时,判断8个数据端口是否发生短路,从而实现了对EMMC的数据端口的检测。可见,本发明实施例可以检测的端口至少包括C。
40、MD端口、CLK端口和每个数据端口,由于上述端口为EMMC主要使用的I/O端口,因此通过本发明实施例可以实现对EMMC的每个I/O端口进行检测的目的。0076基于相同的技术构思,本发明实施例提供了一种EMMC内嵌式存储器的检测装置,图7示出了本发明实施例提供的EMMC内嵌式存储器的检测装置的结构示意图;如图7所示,该装置包括0077初始化单元71,用于设置所述EMMC的时钟频率,并通过所述CLK端口输入与设置的时钟频率相同频率的时钟信号;0078端口检测单元72,用于通过所述CMD端口向所述EMMC发送第一指令,以指示所述EMMC根据所述第一指令所指示的内容通过所述CMD端口进行反馈,根据接收。
41、到的反馈信息,确定所述CMD端口和所述CLK端口的通断;在确定所述CMD端口和所述CLK端口均为使用正常的端口后,擦除所述EMMC中的至少一个最小数据块,通过所述CMD端口向所述EMMC发送第二指令,用以向所述已擦除的数据块所对应的存储空间中写入预设数值;通过所述数据端口读取所述存储空间所存储的数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定每个数据端口的通断。0079可选的,所述第一指令用于指示所述EMMC从EMMC标识信息所对应的寄存器中获取EMMC标识信息;所述端口检测单元72具体用于所述EMMC根据所述第一指令所指示的内容,读取对应的寄存器所存储的EMMC标识信息,并将读取。
42、到的EMMC标识信息作为反馈信息通过所述CMD端口进行反馈。0080可选的,所述端口检测单元72具体用于若接收到所述EMMC通过所述CMD端口输出EMMC标识信息,则将所述CMD端口和所述CLK端口均确定为使用正常的端口;否则,将所述CMD端口和所述CLK端口中至少一个端口确定为故障端口。0081可选的,所述八个数据端口从最低位到最高位依次为第一数据端口第八数据端口;所述初始化单元71还用于在所述通过所述CMD端口向所述EMMC发送第一指令之说明书CN104217768A108/8页11前,设置所述EMMC的数据宽度;所述端口检测单元72具体用于通过与设置的数据宽度对应的数据端口读取所述存储空。
43、间所存储的二进制数值,比较所述写入的预设数值和读取出的数值,根据比较结果确定所述EMMC的时序并确定与设置的数据宽度对应的数据端口的通断。0082可选的,所述端口检测单元72具体用于对于任意一个数据端口,若写入的二进制数值和读取出的二进制数值相同,则将该数据端口确定为使用正常的数据端口;否则,将该数据端口确定为断路端口;对于任意两个相邻的数据端口,当写入其中一个数据端口的二进制数值与写入另一个数据端口的二进制数值不同时,分别比较写入的二进制数值与读取出的二进制数值是否相同,若相同,则将所述两个相邻的数据端口均确定为使用正常的数据端口,若不同,则所述两个相邻的数据端口中至少一个端口确定为短路的数。
44、据端口。0083本发明是参照根据本发明实施例的方法、设备系统、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器,使得通过该计算机或其他可编程数据处理设备的处理器执行的指令可实现流程图中的一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。0084这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指。
45、令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。0085这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。0086尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。0087显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。说明书CN104217768A111/4页12图1图2说明书附图CN104217768A122/4页13图3图4说明书附图CN104217768A133/4页14图5说明书附图CN104217768A144/4页15图6图7说明书附图CN104217768A15。