内存卡的扩容检测方法及具有扩容检测功能的读卡器.pdf

上传人:Y94****206 文档编号:4597788 上传时间:2018-10-21 格式:PDF 页数:8 大小:1.11MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410811043.8

申请日:

2014.12.23

公开号:

CN104484634A

公开日:

2015.04.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06K 7/00申请日:20141223|||公开

IPC分类号:

G06K7/00

主分类号:

G06K7/00

申请人:

电子科技大学

发明人:

李力; 杨怡; 张朋; 黄建国; 王诗舒; 程瑶

地址:

611731四川省成都市高新区(西区)西源大道2006号

优先权:

专利代理机构:

成都行之专利代理事务所(普通合伙)51220

代理人:

温利平

PDF下载: PDF下载
内容摘要

本发明公开了一种内存卡扩容检测方法,针对目前内存卡扩容方法,采用比对扇区内存容量和寄存器内存容量、超范围地址的数据写入并读回和高地址范围随机地址的数据写入并读回共计三步检测对内存卡是否扩容进行检测,三步检测均正常才判定为正常未扩容的内存卡,从而实现对内存卡准确有效的扩容检测。并提供具有扩容检测功能的读卡器,实现脱离主机的独立检测,使扩容检测更为便捷。

权利要求书

1.  一种内存卡扩容检测方法,其特征在于,包括以下步骤:
S1:读取内存卡的DBR扇区数据,获取扇区总数,根据扇区总数得到内存 卡的内存容量C1,然后读取内存卡CSD寄存器得到内存容量C2,判断C1和C2是 否相等,如果不相等,则该内存卡为扩容卡,否则进入步骤S2;
S2:根据步骤S1得到的内存容量C1,将其地址最大值记为P,向地址 [P+p1,P+p2]范围内写入任意数据后读回,其中0<p1<p2,判断写入的数据和读 出的数据是否一致,如果一致,则该内存卡为扩容卡,否则进入步骤S3;
S3:在地址[P-p3,P]范围内随机产生一组地址,其中p3>0,写入任意数据 后读回,判断写入的数据和读出的数据是否一致,如果一致,则该内存卡为正 常卡,否则该内存卡为扩容卡。

2.
  一种具有扩容检测功能的读卡器,包括内存卡接口、控制器和USB接 口,控制器分别与内存卡接口和USB接口连接用于控制数据传输,内存卡接口 用于连接内存卡进行数据读写,USB接口用于连接主机,其特征在于:还包括 与控制器连接的结果显示模块和模式开关,控制器中设置有扩容检测模块,其 中:
开关模式用于选择读卡器的工作模式,包括普通模式和扩容检测模式,模 式开关将模式选择信号发送给控制器,控制器根据模式选择信号确定当前读卡 器工作模式;
当读卡器工作在扩容检测模式,扩容检测模块按照权利要求1中所述的内 存卡扩容检测方法对内存卡进行扩容检测,将得到的扩容检测结果发送给结果 显示模块,结果显示模块对扩容检测结果进行显示。

3.
  根据权利要求1所述的读卡器,其特征在于,所述控制器中还包括格式 化模块,模式开关所选择的工作模式中还包括格式化模式。

4.
  根据权利要求2所述的读卡器,其特征在于,还包括电源模块,用于向 控制器、内存卡接口、结果显示模式和模式开关供电。

5.
  根据权利要求4所述的读卡器,其特征在于,所述电源模式可通过USB 接口充电。

说明书

内存卡的扩容检测方法及具有扩容检测功能的读卡器
技术领域
本发明属于内存卡技术领域,更为具体地讲,涉及一种内存卡扩容检测方 法及具有扩容检测功能的读卡器。
背景技术
内存卡扩容是山寨内存卡厂商经常使用的一种牟利手段,但是目前市面上 缺乏专门检测内存卡好坏的独立装置,消费者只能通过Windows操作系统上的 一些软件来识别内存卡的优劣,对操作系统的依赖性强,同时操作过程缓慢, 容易导致死机;检测结果只能在购买内存卡之后才可以得到,检测意义不大。 目前市面上的大部分检测软件,都是按照一定递增顺序扫描检测,如此,便给 了一些无良商家利用这种递增顺序制作扩容内存卡、借助大型公司的名气来兜 售劣质扩容内存卡的机会。
同时内存卡在使用过程中,由于使用方法的不当,内存卡会发生不同程度 的损伤,这样的内存卡在格式化处理时,电脑会变得反应缓慢,特别在内存卡 的文件系统出现问题时,电脑可能会出现‘卡死’的现象,以及‘Window无法 完成格式化’的问题。目前大家使用的读卡器仅仅具有读写的功能,大有升值 的空间。
发明内容
本发明的目的在于克服现有技术的不足,提供一种内存卡扩容检测方法及 具有扩容检测功能的读卡器,实现对内存卡准确有效的扩容检测,并且通过在 读卡器上设置扩容检测模块来实现独立检测。
为实现上述发明目的,本发明内存卡扩容检测方法,包括以下步骤:
S1:读取内存卡的DBR扇区数据,获取扇区总数,根据扇区总数得到内存 卡的内存容量C1,然后读取内存卡CSD寄存器得到内存容量C2,判断C1和C2是 否相等,如果不相等,则该内存卡为扩容卡,否则进入步骤S2;
S2:根据步骤S1得到的内存容量C1,将其地址最大值记为P,向地址 [P+p1,P+p2]范围内写入任意数据后读回,其中0<p1<p2,判断写入的数据和读 出的数据是否一致,如果一致,则该内存卡为扩容卡,否则进入步骤S3;
S3:在地址[P-p3,P]范围内随机产生一组地址,其中p3>0,写入任意数据 后读回,判断写入的数据和读出的数据是否一致,如果一致,则该内存卡为正 常卡,否则该内存卡为扩容卡。
本发明提供了一种具有扩容检测功能的读卡器,包括内存卡接口、控制器 和USB接口,控制器分别与内存卡接口和USB接口连接用于控制数据传输,内 存卡接口用于连接内存卡进行数据读写,USB接口用于连接主机,还包括与控 制器连接的结果显示模块和模式开关,控制器中设置有扩容检测模块,其中:
模式开关用于选择读卡器的工作模式,包括普通模式和扩容检测模式,模 式开关将模式选择信号发送给控制器,控制器根据模式选择信号确定当前读卡 器工作模式;
当读卡器工作在扩容检测模式,扩容检测模块按照权利要求1中所述的内 存卡扩容检测方法对内存卡进行扩容检测,将得到的扩容检测结果发送给结果 显示模块,结果显示模块对扩容检测结果进行显示。
本发明内存卡扩容检测方法,针对目前内存卡扩容方法,采用比对扇区内 存容量和寄存器内存容量、超范围地址的数据写入并读回和高地址范围随机地 址的数据写入并读回共计三步检测对内存卡是否扩容进行检测,实现对内存卡 准确有效的扩容检测。并提供具有扩容检测功能的读卡器,实现脱离主机的独 立检测,使扩容检测更为便捷。
附图说明
图1是本发明内存卡的扩容检测方法的具体实施方式流程图;
图2是本发明具有扩容检测功能的读卡器的具体实施方式结构图;
图3是图2所示读卡器的工作流程图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员 更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和 设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明内存卡的扩容检测方法的具体实施方式流程图。如图1所示, 本发明内存卡的扩容检测方法主要采用三步检测,包括以下步骤:
S101:读取内存卡的DBR(DOS BOOT RECORD,分区引导扇区)扇区数 据,获取扇区总数,根据扇区总数得到内存卡的内存容量C1
查阅FAT文件系统的规范可知,如果内存卡中有MBR(Main Boot Record, 主引导记录),则MBR数据存储在内存卡最低地址空间,占用内存512字节空 间,即第一个扇区;如果内存卡没有MBR,那么第一个扇区数据即为DBR。因 此先通过调用内存卡单块读函数SD_ReadBlock()读取内存卡的第一个扇区的信 息,判断其是否为DBR,否则为MBR(可通过判断该扇区中0x52~0x56地址处 的数据是否为“FAT32”来识别是否为DBR,判断方法不唯一)。根据MBR可 以得到分区DBR的起始地址,然后就可以通过调用内存卡单块读函数 SD_ReadBlock()读取内存卡中的DBR数据,获得扇区总数TotalSectors,将该 值乘以512bytes得到内存卡的字节容量,将该值C1存放在控制器的寄存器1中。 在实际应用中,函数的编写需要根据相关协议标准来进行。
S102:然后读取内存卡CSD(Card Specific Data Register,描述数据寄存器) 寄存器得到内存容量C2
通过内存卡寄存器读函数SD_GetCardInfo()函数获取内存卡CSD寄存器的 C_SIZE(设备容量),C_SIZE_MULT(设备容量乘子)和READ_BL_LEN(最 大读取数据块长)的值,然后通过内存容量计算公式即可计算出内存卡的容量。 由于对于不同类型的内存卡,其内存容量计算公式可能会存在不同,例如SDSC (Secure Digital Standard Capacity标准容量SD卡)卡和SDHC(Secure Digital  High Capacity,高容量SD卡)卡的计算公式就不一样。因此在实际应用中,可 以在检测系统对内存卡初始化的同时,识别内存卡的类型,自动选择对应的计 算公式来计算,以扩大适用范围。
S103:判断C1和C2是否相等,如果不相等,进入步骤S110,否则进入步骤 S104。
根据步骤S101至步骤S103的判断,可以对通过修改引导扇区信息的扩容 内存卡实现检测。
S104:根据步骤S101得到的内存容量C1,将其地址最大值记为P,向地址 [P+p1,P+p2]范围内写入任意数据后读回,其中0<p1<p2
在实际应用中,为了扩容检测完毕后对原有数据进行恢复,可先将写入地 址的数据另存。
S105:判断写入的数据和读出的数据是否一致,如果一致,进入步骤S110, 否则进入步骤S106。
步骤S104、105是向超出内存卡容量值的一段地址范围写入数据并读回, 从而对采用“加大地址循环映射法”扩容的内存卡实现检测。为了保证检测的 正确性,该地址范围不宜太小,如果太大又会增加检测时间,通常可以采用1K 的容量,即向[C1,C1+1024byte]对应的地址空间进行操作。
S106:在地址[P-p3,P]范围内随机产生一组地址,其中p3>0。
S107:在步骤S106得到的随机地址写入任意数据并读回。
S108:判断写入的数据和读出的数据是否一致,如果一致,进入步骤S109, 否则进入步骤S110。
S109:该内存卡为正常卡。
S110:该内存卡为扩容卡。
采用本发明内存卡的扩容检测方法可以实现对内存卡扩容的准确检测。为 了能够对内存卡进行无需主机的独立检测,本发明提供了一种具有扩容检测功 能的读卡器。图2是本发明具有扩容检测功能的读卡器的具体实施方式结构图。 如图2所示,本发明具有扩容检测功能的读卡器除了具有一般读卡器也具有的 USB接口1,控制器2和内存卡接口3之外,其控制器中还设置有扩容检测模 块21和格式化模块22,另外还包括结果显示模块4、模块开关5和电源模块6。
与一般读卡器相同,控制器2分别与USB接口1和内存卡接口3连接,用 于控制数据传输,USB接口1用于连接主机,内存卡接口2用于连接内存卡进 行数据读写。本实施例中控制器选用意法半导体STM32微控制器。
模式开关5用于选择读卡器的工作模式,包括普通模式和扩容检测模式, 模式开关将模式选择信号发送给控制器2,控制器2根据模式选择信号确定当前 读卡器工作模式。
当读卡器处于扩容检测模式时,控制器2中设置的扩容检测模块21,按照 本发明所提供的内存卡的扩容检测方法对内存卡进行扩容检测,然后将得到的 扩容检测结果发送给结果显示模块4,结果显示模块4对扩容检测结果进行显示。
结果显示模块4可以采用指示灯或液晶屏来实现,例如指示灯为红表示内 存卡为扩容卡,为绿表示内存卡为正常卡。液晶屏则可以更详细地显示扩容检 测结果。
为了增加读卡器的应用范围,本发明具有扩容检测功能的读卡器的控制器2 中还增加了一个格式化模块22,该模块用于对内存卡进行格式化。一般来说, 可以直接在格式化模块22中移植一个文件系统FATFS,利用该文件系统提供的 格式化函数F_MKFS()格式化内存卡,从而实现格式化。相应地,当读卡器配置 有格式化模块22时,模式开关5也要相应地设置对应的格式化模块的开关。
目前读卡器都是通过USB接口来供电的。对于本发明的具有扩容检测的读 卡器,虽然也可以通过USB接口1来供电,但是为了更好地实现读卡器的独立 使用,配置了一个电源模块6,向控制器2、内存卡接口3、结果显示模块4和 模式开关5供电。该电源模块6可以是电池或超级电容供电,还可以通过USB 进行充电。
图3是图2所示读卡器的工作流程图。如图3所示,本实施例中的读卡器 的工作流程包括以下步骤:
S301:判断工作模式:
读卡器上电后,控制器先根据模式开关的模式选择信号判断读卡器当前所 处的工作模式,如果是普通模式,进入步骤S302,如果是扩容检测模式,进入 步骤S303,如果是格式化式,进入步骤S304。
S302:根据主机的操作对内存卡进行读写等操作。
S303:扩容检测模块21对内存卡进行扩容检测,将扩容检测结果通过结果 显示模块4进行显示。
S304:格式化模块22对内存卡进行格式化。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域 的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对 本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定 的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发 明创造均在保护之列。

内存卡的扩容检测方法及具有扩容检测功能的读卡器.pdf_第1页
第1页 / 共8页
内存卡的扩容检测方法及具有扩容检测功能的读卡器.pdf_第2页
第2页 / 共8页
内存卡的扩容检测方法及具有扩容检测功能的读卡器.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《内存卡的扩容检测方法及具有扩容检测功能的读卡器.pdf》由会员分享,可在线阅读,更多相关《内存卡的扩容检测方法及具有扩容检测功能的读卡器.pdf(8页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410811043.8 (22)申请日 2014.12.23 G06K 7/00(2006.01) (71)申请人 电子科技大学 地址 611731 四川省成都市高新区 (西区) 西 源大道 2006 号 (72)发明人 李力 杨怡 张朋 黄建国 王诗舒 程瑶 (74)专利代理机构 成都行之专利代理事务所 ( 普通合伙 ) 51220 代理人 温利平 (54) 发明名称 内存卡的扩容检测方法及具有扩容检测功能 的读卡器 (57) 摘要 本发明公开了一种内存卡扩容检测方法, 针 对目前内存卡扩容方法, 采用比对扇区内存容量 和寄存器内。

2、存容量、 超范围地址的数据写入并读 回和高地址范围随机地址的数据写入并读回共计 三步检测对内存卡是否扩容进行检测, 三步检测 均正常才判定为正常未扩容的内存卡, 从而实现 对内存卡准确有效的扩容检测。并提供具有扩容 检测功能的读卡器, 实现脱离主机的独立检测, 使 扩容检测更为便捷。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书4页 附图2页 (10)申请公布号 CN 104484634 A (43)申请公布日 2015.04.01 CN 104484634 A 1/1 页 2 1.一种内存卡扩容检测方法, 其特征在于, 包括以下步。

3、骤 : S1 : 读取内存卡的 DBR 扇区数据, 获取扇区总数, 根据扇区总数得到内存卡的内存容量 C1, 然后读取内存卡 CSD 寄存器得到内存容量 C2, 判断 C1和 C 2是否相等, 如果不相等, 则该 内存卡为扩容卡, 否则进入步骤 S2 ; S2 : 根据步骤 S1 得到的内存容量 C1, 将其地址最大值记为 P, 向地址 P+p1,P+p2 范围 内写入任意数据后读回, 其中 0 p1 p2, 判断写入的数据和读出的数据是否一致, 如果一 致, 则该内存卡为扩容卡, 否则进入步骤 S3 ; S3 : 在地址 P-p3,P 范围内随机产生一组地址, 其中 p3 0, 写入任意数据。

4、后读回, 判 断写入的数据和读出的数据是否一致, 如果一致, 则该内存卡为正常卡, 否则该内存卡为扩 容卡。 2.一种具有扩容检测功能的读卡器, 包括内存卡接口、 控制器和 USB 接口, 控制器分 别与内存卡接口和 USB 接口连接用于控制数据传输, 内存卡接口用于连接内存卡进行数据 读写, USB 接口用于连接主机, 其特征在于 : 还包括与控制器连接的结果显示模块和模式开 关, 控制器中设置有扩容检测模块, 其中 : 开关模式用于选择读卡器的工作模式, 包括普通模式和扩容检测模式, 模式开关将模 式选择信号发送给控制器, 控制器根据模式选择信号确定当前读卡器工作模式 ; 当读卡器工作在扩。

5、容检测模式, 扩容检测模块按照权利要求 1 中所述的内存卡扩容检 测方法对内存卡进行扩容检测, 将得到的扩容检测结果发送给结果显示模块, 结果显示模 块对扩容检测结果进行显示。 3.根据权利要求 1 所述的读卡器, 其特征在于, 所述控制器中还包括格式化模块, 模式 开关所选择的工作模式中还包括格式化模式。 4.根据权利要求 2 所述的读卡器, 其特征在于, 还包括电源模块, 用于向控制器、 内存 卡接口、 结果显示模式和模式开关供电。 5.根据权利要求 4 所述的读卡器, 其特征在于, 所述电源模式可通过 USB 接口充电。 权 利 要 求 书 CN 104484634 A 2 1/4 页 。

6、3 内存卡的扩容检测方法及具有扩容检测功能的读卡器 技术领域 0001 本发明属于内存卡技术领域, 更为具体地讲, 涉及一种内存卡扩容检测方法及具 有扩容检测功能的读卡器。 背景技术 0002 内存卡扩容是山寨内存卡厂商经常使用的一种牟利手段, 但是目前市面上缺乏专 门检测内存卡好坏的独立装置, 消费者只能通过 Windows 操作系统上的一些软件来识别内 存卡的优劣, 对操作系统的依赖性强, 同时操作过程缓慢, 容易导致死机 ; 检测结果只能在 购买内存卡之后才可以得到, 检测意义不大。 目前市面上的大部分检测软件, 都是按照一定 递增顺序扫描检测, 如此, 便给了一些无良商家利用这种递增顺。

7、序制作扩容内存卡、 借助大 型公司的名气来兜售劣质扩容内存卡的机会。 0003 同时内存卡在使用过程中, 由于使用方法的不当, 内存卡会发生不同程度的损伤, 这样的内存卡在格式化处理时, 电脑会变得反应缓慢, 特别在内存卡的文件系统出现问题 时, 电脑可能会出现 卡死 的现象, 以及 Window 无法完成格式化 的问题。目前大家使用 的读卡器仅仅具有读写的功能, 大有升值的空间。 发明内容 0004 本发明的目的在于克服现有技术的不足, 提供一种内存卡扩容检测方法及具有扩 容检测功能的读卡器, 实现对内存卡准确有效的扩容检测, 并且通过在读卡器上设置扩容 检测模块来实现独立检测。 0005 。

8、为实现上述发明目的, 本发明内存卡扩容检测方法, 包括以下步骤 : 0006 S1 : 读取内存卡的 DBR 扇区数据, 获取扇区总数, 根据扇区总数得到内存卡的内存 容量 C1, 然后读取内存卡 CSD 寄存器得到内存容量 C2, 判断 C1和 C 2是否相等, 如果不相等, 则该内存卡为扩容卡, 否则进入步骤 S2 ; 0007 S2 : 根据步骤 S1 得到的内存容量 C1, 将其地址最大值记为 P, 向地址 P+p1,P+p2 范围内写入任意数据后读回, 其中 0 p1 p2, 判断写入的数据和读出的数据是否一致, 如 果一致, 则该内存卡为扩容卡, 否则进入步骤 S3 ; 0008 。

9、S3 : 在地址 P-p3,P 范围内随机产生一组地址, 其中 p3 0, 写入任意数据后读 回, 判断写入的数据和读出的数据是否一致, 如果一致, 则该内存卡为正常卡, 否则该内存 卡为扩容卡。 0009 本发明提供了一种具有扩容检测功能的读卡器, 包括内存卡接口、 控制器和 USB 接口, 控制器分别与内存卡接口和 USB 接口连接用于控制数据传输, 内存卡接口用于连接 内存卡进行数据读写, USB 接口用于连接主机, 还包括与控制器连接的结果显示模块和模式 开关, 控制器中设置有扩容检测模块, 其中 : 0010 模式开关用于选择读卡器的工作模式, 包括普通模式和扩容检测模式, 模式开关。

10、 将模式选择信号发送给控制器, 控制器根据模式选择信号确定当前读卡器工作模式 ; 说 明 书 CN 104484634 A 3 2/4 页 4 0011 当读卡器工作在扩容检测模式, 扩容检测模块按照权利要求 1 中所述的内存卡扩 容检测方法对内存卡进行扩容检测, 将得到的扩容检测结果发送给结果显示模块, 结果显 示模块对扩容检测结果进行显示。 0012 本发明内存卡扩容检测方法, 针对目前内存卡扩容方法, 采用比对扇区内存容量 和寄存器内存容量、 超范围地址的数据写入并读回和高地址范围随机地址的数据写入并读 回共计三步检测对内存卡是否扩容进行检测, 实现对内存卡准确有效的扩容检测。并提供 具。

11、有扩容检测功能的读卡器, 实现脱离主机的独立检测, 使扩容检测更为便捷。 附图说明 0013 图 1 是本发明内存卡的扩容检测方法的具体实施方式流程图 ; 0014 图 2 是本发明具有扩容检测功能的读卡器的具体实施方式结构图 ; 0015 图 3 是图 2 所示读卡器的工作流程图。 具体实施方式 0016 下面结合附图对本发明的具体实施方式进行描述, 以便本领域的技术人员更好地 理解本发明。 需要特别提醒注意的是, 在以下的描述中, 当已知功能和设计的详细描述也许 会淡化本发明的主要内容时, 这些描述在这里将被忽略。 0017 实施例 0018 图 1 是本发明内存卡的扩容检测方法的具体实施。

12、方式流程图。如图 1 所示, 本发 明内存卡的扩容检测方法主要采用三步检测, 包括以下步骤 : 0019 S101 : 读取内存卡的 DBR(DOS BOOT RECORD, 分区引导扇区 ) 扇区数据, 获取扇区 总数, 根据扇区总数得到内存卡的内存容量 C1。 0020 查阅 FAT 文件系统的规范可知, 如果内存卡中有 MBR(Main Boot Record, 主引导 记录 ), 则 MBR 数据存储在内存卡最低地址空间, 占用内存 512 字节空间, 即第一个扇区 ; 如 果内存卡没有 MBR, 那么第一个扇区数据即为 DBR。因此先通过调用内存卡单块读函数 SD_ ReadBloc。

13、k() 读取内存卡的第一个扇区的信息, 判断其是否为 DBR, 否则为 MBR( 可通过判 断该扇区中 0x52 0x56 地址处的数据是否为 “FAT32” 来识别是否为 DBR, 判断方法不唯 一 )。根据 MBR 可以得到分区 DBR 的起始地址, 然后就可以通过调用内存卡单块读函数 SD_ ReadBlock()读取内存卡中的DBR数据, 获得扇区总数TotalSectors, 将该值乘以512bytes 得到内存卡的字节容量, 将该值 C1存放在控制器的寄存器 1 中。在实际应用中, 函数的编 写需要根据相关协议标准来进行。 0021 S102 : 然后读取内存卡 CSD(Card 。

14、Specific Data Register, 描述数据寄存器 ) 寄 存器得到内存容量 C2。 0022 通过内存卡寄存器读函数 SD_GetCardInfo() 函数获取内存卡 CSD 寄存器的 C_ SIZE( 设备容量 ),C_SIZE_MULT( 设备容量乘子 ) 和 READ_BL_LEN( 最大读取数据块长 ) 的 值, 然后通过内存容量计算公式即可计算出内存卡的容量。 由于对于不同类型的内存卡, 其 内存容量计算公式可能会存在不同, 例如 SDSC(Secure Digital Standard Capacity 标准 容量SD卡)卡和SDHC(Secure Digital H。

15、igh Capacity, 高容量SD卡)卡的计算公式就不 一样。因此在实际应用中, 可以在检测系统对内存卡初始化的同时, 识别内存卡的类型, 自 说 明 书 CN 104484634 A 4 3/4 页 5 动选择对应的计算公式来计算, 以扩大适用范围。 0023 S103 : 判断 C1和 C 2是否相等, 如果不相等, 进入步骤 S110, 否则进入步骤 S104。 0024 根据步骤 S101 至步骤 S103 的判断, 可以对通过修改引导扇区信息的扩容内存卡 实现检测。 0025 S104 : 根据步骤 S101 得到的内存容量 C1, 将其地址最大值记为 P, 向地址 P+p1,P。

16、+p2 范围内写入任意数据后读回, 其中 0 p1 p 2。 0026 在实际应用中, 为了扩容检测完毕后对原有数据进行恢复, 可先将写入地址的数 据另存。 0027 S105 : 判断写入的数据和读出的数据是否一致, 如果一致, 进入步骤 S110, 否则进 入步骤 S106。 0028 步骤 S104、 105 是向超出内存卡容量值的一段地址范围写入数据并读回, 从而对 采用 “加大地址循环映射法” 扩容的内存卡实现检测。为了保证检测的正确性, 该地址范围 不宜太小, 如果太大又会增加检测时间, 通常可以采用1K的容量, 即向C1,C1+1024byte对 应的地址空间进行操作。 0029。

17、 S106 : 在地址 P-p3,P 范围内随机产生一组地址, 其中 p3 0。 0030 S107 : 在步骤 S106 得到的随机地址写入任意数据并读回。 0031 S108 : 判断写入的数据和读出的数据是否一致, 如果一致, 进入步骤 S109, 否则进 入步骤 S110。 0032 S109 : 该内存卡为正常卡。 0033 S110 : 该内存卡为扩容卡。 0034 采用本发明内存卡的扩容检测方法可以实现对内存卡扩容的准确检测。 为了能够 对内存卡进行无需主机的独立检测, 本发明提供了一种具有扩容检测功能的读卡器。图 2 是本发明具有扩容检测功能的读卡器的具体实施方式结构图。如图 。

18、2 所示, 本发明具有扩 容检测功能的读卡器除了具有一般读卡器也具有的USB接口1, 控制器2和内存卡接口3之 外, 其控制器中还设置有扩容检测模块21和格式化模块22, 另外还包括结果显示模块4、 模 块开关 5 和电源模块 6。 0035 与一般读卡器相同, 控制器 2 分别与 USB 接口 1 和内存卡接口 3 连接, 用于控制数 据传输, USB 接口 1 用于连接主机, 内存卡接口 2 用于连接内存卡进行数据读写。本实施例 中控制器选用意法半导体 STM32 微控制器。 0036 模式开关 5 用于选择读卡器的工作模式, 包括普通模式和扩容检测模式, 模式开 关将模式选择信号发送给控。

19、制器 2, 控制器 2 根据模式选择信号确定当前读卡器工作模式。 0037 当读卡器处于扩容检测模式时, 控制器 2 中设置的扩容检测模块 21, 按照本发明 所提供的内存卡的扩容检测方法对内存卡进行扩容检测, 然后将得到的扩容检测结果发送 给结果显示模块 4, 结果显示模块 4 对扩容检测结果进行显示。 0038 结果显示模块 4 可以采用指示灯或液晶屏来实现, 例如指示灯为红表示内存卡为 扩容卡, 为绿表示内存卡为正常卡。液晶屏则可以更详细地显示扩容检测结果。 0039 为了增加读卡器的应用范围, 本发明具有扩容检测功能的读卡器的控制器 2 中还 增加了一个格式化模块22, 该模块用于对内。

20、存卡进行格式化。 一般来说, 可以直接在格式化 模块22中移植一个文件系统FATFS, 利用该文件系统提供的格式化函数F_MKFS()格式化内 说 明 书 CN 104484634 A 5 4/4 页 6 存卡, 从而实现格式化。相应地, 当读卡器配置有格式化模块 22 时, 模式开关 5 也要相应地 设置对应的格式化模块的开关。 0040 目前读卡器都是通过 USB 接口来供电的。对于本发明的具有扩容检测的读卡器, 虽然也可以通过USB接口1来供电, 但是为了更好地实现读卡器的独立使用, 配置了一个电 源模块 6, 向控制器 2、 内存卡接口 3、 结果显示模块 4 和模式开关 5 供电。该。

21、电源模块 6 可 以是电池或超级电容供电, 还可以通过 USB 进行充电。 0041 图 3 是图 2 所示读卡器的工作流程图。如图 3 所示, 本实施例中的读卡器的工作 流程包括以下步骤 : 0042 S301 : 判断工作模式 : 0043 读卡器上电后, 控制器先根据模式开关的模式选择信号判断读卡器当前所处的工 作模式, 如果是普通模式, 进入步骤 S302, 如果是扩容检测模式, 进入步骤 S303, 如果是格 式化式, 进入步骤 S304。 0044 S302 : 根据主机的操作对内存卡进行读写等操作。 0045 S303 : 扩容检测模块 21 对内存卡进行扩容检测, 将扩容检测结。

22、果通过结果显示模 块 4 进行显示。 0046 S304 : 格式化模块 22 对内存卡进行格式化。 0047 尽管上面对本发明说明性的具体实施方式进行了描述, 以便于本技术领域的技术 人员理解本发明, 但应该清楚, 本发明不限于具体实施方式的范围, 对本技术领域的普通技 术人员来讲, 只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内, 这些 变化是显而易见的, 一切利用本发明构思的发明创造均在保护之列。 说 明 书 CN 104484634 A 6 1/2 页 7 图 1 说 明 书 附 图 CN 104484634 A 7 2/2 页 8 图 2 图 3 说 明 书 附 图 CN 104484634 A 8 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1