CN105208192B - 一种检测终端存储卡状态的方法及装置 - Google Patents

一种检测终端存储卡状态的方法及装置 Download PDF

Info

Publication number
CN105208192B
CN105208192B CN201510504113.XA CN201510504113A CN105208192B CN 105208192 B CN105208192 B CN 105208192B CN 201510504113 A CN201510504113 A CN 201510504113A CN 105208192 B CN105208192 B CN 105208192B
Authority
CN
China
Prior art keywords
state
card
switching
storage card
time
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
CN201510504113.XA
Other languages
English (en)
Other versions
CN105208192A (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201510504113.XA priority Critical patent/CN105208192B/zh
Publication of CN105208192A publication Critical patent/CN105208192A/zh
Application granted granted Critical
Publication of CN105208192B publication Critical patent/CN105208192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种检测终端存储卡状态的方法及装置。该方法包括:在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。该方法通过只在存储卡通讯端口的电平状态切换,且切换间隔时间大于时间阀值时,才检测当前存储卡处于插入状态或拔出状态,避免了切换间隔时间小于时间阀值时检测终端存储卡状态,从而避免了避免存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。

Description

一种检测终端存储卡状态的方法及装置
技术领域
本发明实施例涉及电子终端技术领域,尤其涉及一种检测终端存储卡状态的方法及装置。
背景技术
随着用户对手机、平板电脑等终端的依赖性越来越高,例如用户经常使用手机观看离线视频,使得用户对终端存储性能的要求越来越高。
目前很多手机厂商都支持外部存储扩展,并且大部分手机的电池是不可卸的,因此很多外部存储都支持热插拔功能。热插拔动作是通过终端中存储卡通讯端口的电平状态响应的,例如,在存储卡通讯端口处于高电平时存储卡为插入状态,在存储卡通讯端口处于低电平时存储卡为拔出状态。
然而,结构硬件接触不良等原因会引起电平不稳的情况发生,这样就造成在极短的时间内存储卡通讯端口的电平状态频繁发生切换,有可能终端中插入有存储卡而存储卡通讯端口处于低电平而引起掉卡,或者,终端中未插入有存储卡而存储卡通讯端口处于高电平而引起错误插卡提示。
发明内容
本发明提供一种检测终端存储卡状态的方法及装置,以避免存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。
一方面,本发明实施例提供了检测终端存储卡状态的方法,包括:
在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
另一方面,本发明实施例提供了一种检测终端存储卡状态的装置,包括:时间计算单元,用于在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
状态检测单元,用于在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
本发明实施例提供的检测终端存储卡状态的方法,通过只在存储卡通讯端口的电平状态切换,且切换间隔时间大于时间阀值时,才检测当前存储卡处于插入状态或拔出状态,避免了切换间隔时间小于时间阀值时检测终端存储卡状态,从而避免了避免存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。
附图说明
图1为本发明实施例一提供的一种检测终端存储卡状态的方法的流程示意图;
图2为本发明实施例二提供的一种检测终端存储卡状态的方法的流程示意图;
图3为本发明实施例三提供的一种检测终端存储卡状态的方法的流程示意图;
图4为本发明实施例四提供的一种检测终端存储卡状态的装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种检测终端存储卡状态的方法的流程示意图,该方法可以由检测终端存储卡状态的装置执行,其中该装置可以由软件和/或硬件实现,可作为终端的一部分被内置在终端内部。如图1所示,该实现流程包括:
步骤11、在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间。
在本实施例中,终端可以是诸如智能手机、电脑或者个人数字助理等之类的电子产品。终端具有用于放置存储卡的卡槽,存储卡可以是诸如TF(T-Flash,T)卡或者SD(Secure Digital Memory Card,安全数码卡)卡之类的外置存储卡。存储卡通讯端口为终端CPU(Central Processing Unit,中央处理器)与外置存储卡间的通讯出口,存储卡通讯端口具有高电平或低电平两种电平状态。
示例性的,在检测到终端中存储卡通讯端口由高电平切换为低电平或者由低电平切换为高电平时,计算切换间隔时间。
步骤12、在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
在本实施例中,时间阀值可以小于1s,例如时间阀值为1ms,以使用户在时间阀值的时间长度内无法完成对存储卡的插拔操作。
可选的,计算切换间隔时间之后,还包括:在所述切换间隔时间小于所述间阀值时,忽略该次电平状态切换。
示例性的,只有在所述切换间隔时间大于预设的时间阀值时,才检测当前存储卡处于插入状态或拔出状态,而在所述切换间隔时间小于预设的时间阀值时,不检测当前的存储卡状态。相比于现有技术中只要检测到终端中存储卡通讯端口的电平状态切换就检测存储卡状态,避免了在存储卡通讯端口的频繁高低电平切换时检测存储卡状态,即避免了存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。
本发明实施例提供的检测终端存储卡状态的方法,通过只在存储卡通讯端口的电平状态切换,且切换间隔时间大于时间阀值时,才检测当前存储卡处于插入状态或拔出状态,避免了切换间隔时间小于时间阀值时检测终端存储卡状态,即该方法避免了存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。
实施例二
本实施例在上述实施例的基础上提供了一种新的检测终端存储卡状态的方法。图2为本发明实施例二提供的一种检测终端存储卡状态的方法的流程示意图,如图2所示,该实现流程包括:
步骤21、在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间。
在本实施例中,终端可以是诸如智能手机、电脑或者个人数字助理等之类的电子产品。终端具有用于放置存储卡的卡槽,存储卡可以是诸如TF卡或者SD卡之类的外置存储卡。存储卡通讯端口为终端CPU与外置存储卡间的通讯出口,存储卡通讯端口具有高电平或低电平两种电平状态。
示例性的,在检测到终端中存储卡通讯端口由高电平切换为低电平或由低电平切换为高电平时,计算切换间隔时间。
可选的,在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间,包括:在检测到终端中存储卡通讯端口的电平状态切换时,计算该次电平状态切换对应的第一电平切换时间与上一次电平状态切换对应的第二电平切换时间之间的差值,并将计算出的差值作为所述切换间隔时间。
可选的,计算切换间隔时间之后,还包括:在所述切换间隔时间小于所述时间阀值时,忽略该次电平状态切换。示例性的,在计算出的切换间隔时间小于所述时间阀值时,不检测存储卡状态也不记录该次电平状态以及该次电平切换时间。
步骤22、在所述切换间隔时间大于所述时间阀值时,延时预设的时间长度。
在本实施例中,时间阀值可以小于1s,例如时间阀值为1ms,以使用户在时间阀值时间内无法完成对存储卡的插拔操作。时间长度可以小于1s,例如时间长度可以为200ms。
步骤23、检测当前存储卡处于插入状态或拔出状态。
可选的,检测当前存储卡处于插入状态或拔出状态,包括:
A、控制发送复位命令以检测终端中是否插入有存储卡。
示例性的,控制CPU发送只有存储卡能够识别的复位命令,在CPU接收到存储卡对复位命令的响应信息时确定终端中插入有存储卡,即存储卡为插入状态;在CPU接收不到存储卡对复位命令的响应信息时确定终端中未插入存储卡,即存储卡为拔出状态。
B、在所述终端中插入有所述存储卡时,控制所述存储卡进入空闲模式。
示例性的,在所述终端中插入有所述存储卡时,CPU发送CMD0(Command,命令提示符)命令,让存储卡进入IDLE(空闲)模型。
C、检测所述存储卡是否被拔出,若被拔出,则确定所述存储卡处于拔出状态并对所述存储卡进行下电操作;若未被拔出,则确定所述存储卡处于插入状态,获取所述存储卡支持的电压值,并根据获取的电压值对所述存储卡进行上电操作。
示例性的,CPU还可以发送CMD命令,检测存储卡是否被拔出,若被拔出,则确定存储卡为移除状态,并对其进行下电操作,以防止漏电;若未被拔出,则发送CMD8命令,获取存储卡支持的电压值,对其进行上电。
本实施在所述切换间隔时间大于所述时间阀值时,延时一段时间再检查存储卡状态,进一步避免了存储卡通讯端口的电平抖动引起的掉卡或错误插卡显示。
本发明实施例提供的检测终端存储卡状态的方法,通过在存储卡通讯端口的电平状态切换,且切换间隔时间大于时间阀值时,延时一段时间之后再检测当前存储卡处于插入状态或拔出状态,进一步避免了存储卡通讯端口的电平抖动引起的掉卡或错误插卡显示。
实施例三
本实施例在上述实施例的基础上,具体提供了一种检测终端存储卡状态的方法。图3为本发明实施例三提供的一种检测终端存储卡状态的方法的流程示意图,如图3所示,该实现流程包括:
步骤31、检测中断脚的电平状态,记录中断间隔时间。
在本实施例中,中断脚即存储卡通讯端口,中断间隔时间即切换间隔时间。
示例性的,检测中断脚电平状态,用静态变量记录中断处理时间,当有下一次中断来时,计算中断间隔时间,在中断间隔时间小于1ms(用户插拔速度不能到此)时,忽略此次中断处理,将静态变量的值恢复为上一次中断状态及上一次中断时间;在所述切换间隔时间大于1ms时间阀值时,继续执行S32。
步骤32、延时200ms,发送复位命令以让存储卡进入空闲模式。
示例性的,CPU内核层发送复位命令,该命令只有存储卡等才能够识别,在终端接收到存储卡对复位命令的响应信息时确定终端中有存储卡,再发送CMD0命令以让存储卡进入IDLE(空闲)模式。
步骤33、发送命令探测存储卡是否被拔出,在被拔出时对存储卡进行下电操作;在未被拔出时发送命令选择合适电压值,并对其进行上电操作。
示例性的,发送状态检测指令(即CMD命令)以探测存储卡是否被拔出,如被拔出,则设置存储卡为拔出状态,并其进行下电操作以防止漏电;如未被拔出(即插入),则发送CMD8命令以获取该卡所支持的电压值,对其进行上电。
步骤34、初始化存储卡,并注册。
示例性的,初始化存储卡,如设置存储卡的总线宽度、时钟频率或者驱动电流等,然后对其进行注册为linux设备模型,注册结果使得可以在/sys/bus/mmc/devices目录下查看存储卡名称以供查看其信息,如设备ID信息等。
步骤35、将内核层对存储卡状态的检测操作同步到用户层。
示例性的,通过linux Uevenrt机制通知系统层有卡的插入,拔出等动作,用户层对存储卡进行对应的操作处理,如挂载设备操作以便能对存储卡中的内容进行读写。
本发明实施例提供的检测终端存储卡状态的方法,外置存储卡支持热插拔功能,通过识别中断脚高低电平来判断对存储卡的是插入拔出操作,如当中断脚为高电平时,判断此时存储卡为插入,中断脚为低电平时判断此时对存储卡的是拔出操作。当有电平跳变时,延时一段时间(如200ms)再进行中断处理(防止抖动),避免了频繁中断引起的掉卡或错误插卡显示。
第四实施例
图4为本发明实施例四提供的一种检测终端存储卡状态的装置的结构示意图,该装置可以内置在终端内部。如图4所示,该检测终端存储卡状态的装置可以包括时间计算单元41和状态检测单元42。
其中,时间计算单元41用于在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
状态检测单元42用于在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
可选的,状态检测单元42可以包括:
延时子单元,用于在所述切换间隔时间大于所述时间阀值时,延时预设的时间长度;
状态检测子单元,用于检测当前存储卡处于插入状态或拔出状态。
可以的,时间计算单元41具体用于:
在检测到终端中存储卡通讯端口的电平状态切换时,计算该次电平状态切换对应的第一电平切换时间与上一次电平状态切换对应的第二电平切换时间之间的差值,并将计算出的差值作为所述切换间隔时间。
可选的,该装置还包括:切换忽略单元,用于在计算切换间隔时间之后,若所述切换间隔时间小于所述时间阀值,则忽略该次电平状态切换。
可选的,状态检测子单元具体用于:
控制发送复位命令以检测终端中是否插入有存储卡;
在所述终端中插入有所述存储卡时,控制所述存储卡进入空闲模式;
检测所述存储卡是否被拔出,若被拔出,则确定所述存储卡处于拔出状态并对所述存储卡进行下电操作;若未被拔出,则确定所述存储卡处于插入状态,获取所述存储卡支持的电压值,并根据获取的电压值对所述存储卡进行上电操作。
上述产品可执行本发明任意实施例所提供的检测终端存储卡状态的装置,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的检测终端存储卡状态的方法。
上所述仅为本发明实施例的优选实施例,并不用于限制本发明实施例,对于本领域技术人员而言,本发明实施例可以有各种改动和变化。凡在本发明实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (8)

1.一种检测终端存储卡状态的方法,其特征在于,包括:
在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态;
其中,所述在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间,包括:
在检测到终端中存储卡通讯端口由高电平切换为低电平或者由低电平切换为高电平时,计算该次电平状态切换对应的第一电平切换时间与上一次电平状态切换对应的第二电平切换时间之间的差值,并将计算出的差值作为所述切换间隔时间。
2.根据权利要求1所述的方法,其特征在于,在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态,包括:
在所述切换间隔时间大于所述时间阀值时,延时预设的时间长度;
检测当前存储卡处于插入状态或拔出状态。
3.根据权利要求1所述的方法,其特征在于,计算切换间隔时间之后,还包括:
在所述切换间隔时间小于所述时间阀值时,忽略该次电平状态切换。
4.根据权利要求2所述的方法,其特征在于,检测当前存储卡处于插入状态或拔出状态,包括:
控制发送复位命令以检测终端中是否插入有存储卡;
在所述终端中插入有所述存储卡时,控制所述存储卡进入空闲模式;
检测所述存储卡是否被拔出,若被拔出,则确定所述存储卡处于拔出状态并对所述存储卡进行下电操作;若未被拔出,则确定所述存储卡处于插入状态,获取所述存储卡支持的电压值,并根据获取的电压值对所述存储卡进行上电操作。
5.一种检测终端存储卡状态的装置,其特征在于,包括:
时间计算单元,用于在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
状态检测单元,用于在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态;
其中,所述时间计算单元具体用于:
在检测到终端中存储卡通讯端口由高电平切换为低电平或者由低电平切换为高电平时,计算该次电平状态切换对应的第一电平切换时间与上一次电平状态切换对应的第二电平切换时间之间的差值,并将计算出的差值作为所述切换间隔时间。
6.根据权利要求5所述的装置,其特征在于,状态检测单元包括:
延时子单元,用于在所述切换间隔时间大于所述时间阀值时,延时预设的时间长度;
状态检测子单元,用于检测当前存储卡处于插入状态或拔出状态。
7.根据权利要求5所述的装置,其特征在于,还包括:
切换忽略单元,用于在计算切换间隔时间之后,若所述切换间隔时间小于所述时间阀值,则忽略该次电平状态切换。
8.根据权利要求6所述的装置,其特征在于,状态检测子单元具体用于:
控制发送复位命令以检测终端中是否插入有存储卡;
在所述终端中插入有所述存储卡时,控制所述存储卡进入空闲模式;
检测所述存储卡是否被拔出,若被拔出,则确定所述存储卡处于拔出状态并对所述存储卡进行下电操作;若未被拔出,则确定所述存储卡处于插入状态,获取所述存储卡支持的电压值,并根据获取的电压值对所述存储卡进行上电操作。
CN201510504113.XA 2015-08-17 2015-08-17 一种检测终端存储卡状态的方法及装置 Active CN105208192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510504113.XA CN105208192B (zh) 2015-08-17 2015-08-17 一种检测终端存储卡状态的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510504113.XA CN105208192B (zh) 2015-08-17 2015-08-17 一种检测终端存储卡状态的方法及装置

Publications (2)

Publication Number Publication Date
CN105208192A CN105208192A (zh) 2015-12-30
CN105208192B true CN105208192B (zh) 2018-03-23

Family

ID=54955610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510504113.XA Active CN105208192B (zh) 2015-08-17 2015-08-17 一种检测终端存储卡状态的方法及装置

Country Status (1)

Country Link
CN (1) CN105208192B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143898B (zh) * 2018-11-05 2022-06-14 瑞昱半导体股份有限公司 可插拔存储器装置数据保护方法
CN111638439B (zh) * 2020-04-27 2023-09-15 西安广和通无线软件有限公司 通信模块测试方法、装置、计算机设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080106731A (ko) * 2007-06-04 2008-12-09 타이코에이엠피 주식회사 카드 검출장치 및 그 방법
CN101494922A (zh) * 2008-12-23 2009-07-29 上海闻泰电子科技有限公司 一种实现t卡热插拔的移动终端和t卡热插拔方法
CN102955733B (zh) * 2012-11-12 2015-09-16 中兴通讯股份有限公司 一种单板热插拔检测方法及装置
CN104243560A (zh) * 2014-09-02 2014-12-24 赵军富 移动设备上的web服务系统

Also Published As

Publication number Publication date
CN105208192A (zh) 2015-12-30

Similar Documents

Publication Publication Date Title
CN103326149B (zh) Sim卡连接器和移动终端
CN207529373U (zh) 连接器、NVMe存储设备及计算机设备
CN106161706B (zh) Sim卡和sd卡共卡托的检测方法、装置及移动终端
CN102073602B (zh) 计算机系统、连接控制装置及连接与断开方法
CN101577561A (zh) 一种实现sim卡热插拔的移动终端及sim卡热插拔方法
CN201303424Y (zh) 一种具有保护装置的移动终端
CN104777891A (zh) 一种应用于智能终端的otg连接控制方法和连接控制装置
CN105208192B (zh) 一种检测终端存储卡状态的方法及装置
CN103220411A (zh) 一种热插拔检测方法、装置及移动终端
CN107423196B (zh) 一种多卡槽状态检测方法、检测设备及移动终端
CN102438169B (zh) 一种机顶盒及数字电视一体机的自动测试方法
CN105654003B (zh) 一种ic卡到位检测方法及装置
CN103986844A (zh) 一种移动终端及其快速启动省电实现方法
CN115407116A (zh) 充电电流的确定方法及装置
CN110970970A (zh) 一种终端充电器的处理方法和装置
CN202551148U (zh) 一种sim卡热插拔电路及其手机
CN105892609A (zh) 一种终端开机与识别存储卡同步运行的方法及智能终端
CN105245671A (zh) 一种移动终端及其sd卡插拔检测装置和方法
CN112526898B (zh) 一种串口线插拔检测电路和嵌入式设备
CN203982355U (zh) 数码卡固定装置及电子设备
CN103810068A (zh) 一种基于sd卡槽的调试设备、系统及其方法
CN103546638A (zh) 一种快闪存储卡的掉卡恢复方法及其移动终端
CN105100344A (zh) 一种用户识别模块卡热插拔处理方法以及移动终端
CN102446151A (zh) 电子装置的存储卡热插拔电路
CN205158350U (zh) 用于虚拟服务器上的usb设备切换装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.