CN105208192A - 一种终端控制存储卡状态的方法及装置 - Google Patents
一种终端控制存储卡状态的方法及装置 Download PDFInfo
- Publication number
- CN105208192A CN105208192A CN201510504113.XA CN201510504113A CN105208192A CN 105208192 A CN105208192 A CN 105208192A CN 201510504113 A CN201510504113 A CN 201510504113A CN 105208192 A CN105208192 A CN 105208192A
- Authority
- CN
- China
- Prior art keywords
- state
- storage card
- time
- card
- level
- 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.)
- Granted
Links
Landscapes
- Telephone Function (AREA)
Abstract
本发明实施例公开了一种检测终端存储卡状态的方法及装置。该方法包括:在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。该方法通过只在存储卡通讯端口的电平状态切换,且切换间隔时间大于时间阀值时,才检测当前存储卡处于插入状态或拔出状态,避免了切换间隔时间小于时间阀值时检测终端存储卡状态,从而避免了避免存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。
Description
技术领域
本发明实施例涉及电子终端技术领域,尤其涉及一种终端控制存储卡状态的方法及装置。
背景技术
随着用户对手机、平板电脑等终端的依赖性越来越高,例如用户经常使用手机观看离线视频,使得用户对终端存储性能的要求越来越高。
目前很多手机厂商都支持外部存储扩展,并且大部分手机的电池是不可卸的,因此很多外部存储都支持热插拔功能。热插拔动作是通过终端中存储卡通讯端口的电平状态响应的,例如,在存储卡通讯端口处于高电平时存储卡为插入状态,在存储卡通讯端口处于低电平时存储卡为拔出状态。
然而,结构硬件接触不良等原因会引起电平不稳的情况发生,这样就造成在极短的时间内存储卡通讯端口的电平状态频繁发生切换,有可能终端中插入有存储卡而存储卡通讯端口处于低电平而引起掉卡,或者,终端中未插入有存储卡而存储卡通讯端口处于高电平而引起错误插卡提示。
发明内容
本发明提供一种终端控制存储卡状态的方法及装置,以避免存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。
一方面,本发明实施例提供了检测终端存储卡状态的方法,包括:
在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
另一方面,本发明实施例提供了一种检测终端存储卡状态的装置,包括:时间计算单元,用于在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
状态检测单元,用于在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
本发明实施例提供的检测终端存储卡状态的方法,通过只在存储卡通讯端口的电平状态切换,且切换间隔时间大于时间阀值时,才检测当前存储卡处于插入状态或拔出状态,避免了切换间隔时间小于时间阀值时检测终端存储卡状态,从而避免了避免存储卡通讯端口的频繁高低电平切换引起的掉卡或错误插卡显示。
附图说明
图1为本发明实施例一提供的一种检测终端存储卡状态的方法的流程示意图;
图2为本发明实施例二提供的一种检测终端存储卡状态的方法的流程示意图;
图3为本发明实施例三提供的一种检测终端存储卡状态的方法的流程示意图;
图4为本发明实施例四提供的一种检测终端存储卡状态的装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种检测终端存储卡状态的方法的流程示意图,该方法可以由检测终端存储卡状态的装置执行,其中该装置可以由软件和/或硬件实现,可作为终端的一部分被内置在终端内部。如图1所示,该实现流程包括:
步骤11、在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间。
在本实施例中,终端可以是诸如智能手机、电脑或者个人数字助理等之类的电子产品。终端具有用于放置存储卡的卡槽,存储卡可以是诸如TF(T-Flash,T)卡或者SD(SecureDigitalMemoryCard,安全数码卡)卡之类的外置存储卡。存储卡通讯端口为终端CPU(CentralProcessingUnit,中央处理器)与外置存储卡间的通讯出口,存储卡通讯端口具有高电平或低电平两种电平状态。
示例性的,在检测到终端中存储卡通讯端口由高电平切换为低电平或者由低电平切换为高电平时,计算切换间隔时间。
步骤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、将内核层对存储卡状态的检测操作同步到用户层。
示例性的,通过linuxUevenrt机制通知系统层有卡的插入,拔出等动作,用户层对存储卡进行对应的操作处理,如挂载设备操作以便能对存储卡中的内容进行读写。
本发明实施例提供的检测终端存储卡状态的方法,外置存储卡支持热插拔功能,通过识别中断脚高低电平来判断对存储卡的是插入拔出操作,如当中断脚为高电平时,判断此时存储卡为插入,中断脚为低电平时判断此时对存储卡的是拔出操作。当有电平跳变时,延时一段时间(如200ms)再进行中断处理(防止抖动),避免了频繁中断引起的掉卡或错误插卡显示。
第四实施例
图4为本发明实施例四提供的一种检测终端存储卡状态的装置的结构示意图,该装置可以内置在终端内部。如图4所示,该检测终端存储卡状态的装置可以包括时间计算单元41和状态检测单元42。
其中,时间计算单元41用于在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
状态检测单元42用于在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
可选的,状态检测单元42可以包括:
延时子单元,用于在所述切换间隔时间大于所述时间阀值时,延时预设的时间长度;
状态检测子单元,用于检测当前存储卡处于插入状态或拔出状态。
可以的,时间计算单元41具体用于:
在检测到终端中存储卡通讯端口的电平状态切换时,计算该次电平状态切换对应的第一电平切换时间与上一次电平状态切换对应的第二电平切换时间之间的差值,并将计算出的差值作为所述切换间隔时间。
可选的,该装置还包括:切换忽略单元,用于在计算切换间隔时间之后,若所述切换间隔时间小于所述时间阀值,则忽略该次电平状态切换。
可选的,状态检测子单元具体用于:
控制发送复位命令以检测终端中是否插入有存储卡;
在所述终端中插入有所述存储卡时,控制所述存储卡进入空闲模式;
检测所述存储卡是否被拔出,若被拔出,则确定所述存储卡处于拔出状态并对所述存储卡进行下电操作;若未被拔出,则确定所述存储卡处于插入状态,获取所述存储卡支持的电压值,并根据获取的电压值对所述存储卡进行上电操作。
上述产品可执行本发明任意实施例所提供的检测终端存储卡状态的装置,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的检测终端存储卡状态的方法。
上所述仅为本发明实施例的优选实施例,并不用于限制本发明实施例,对于本领域技术人员而言,本发明实施例可以有各种改动和变化。凡在本发明实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种检测终端存储卡状态的方法,其特征在于,包括:
在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
2.根据权利要求1所述的方法,其特征在于,在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态,包括:
在所述切换间隔时间大于所述时间阀值时,延时预设的时间长度;
检测当前存储卡处于插入状态或拔出状态。
3.根据权利要求1或2所述的方法,其特征在于,在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间,包括:
在检测到终端中存储卡通讯端口的电平状态切换时,计算该次电平状态切换对应的第一电平切换时间与上一次电平状态切换对应的第二电平切换时间之间的差值,并将计算出的差值作为所述切换间隔时间。
4.根据权利要求3所述的方法,其特征在于,计算切换间隔时间之后,还包括:
在所述切换间隔时间小于所述时间阀值时,忽略该次电平状态切换。
5.根据权利要求2所述的方法,其特征在于,检测当前存储卡处于插入状态或拔出状态,包括:
控制发送复位命令以检测终端中是否插入有存储卡;
在所述终端中插入有所述存储卡时,控制所述存储卡进入空闲模式;
检测所述存储卡是否被拔出,若被拔出,则确定所述存储卡处于拔出状态并对所述存储卡进行下电操作;若未被拔出,则确定所述存储卡处于插入状态,获取所述存储卡支持的电压值,并根据获取的电压值对所述存储卡进行上电操作。
6.一种检测终端存储卡状态的装置,其特征在于,包括:
时间计算单元,用于在检测到终端中存储卡通讯端口的电平状态切换时,计算切换间隔时间;
状态检测单元,用于在所述切换间隔时间大于预设的时间阀值时,检测当前存储卡处于插入状态或拔出状态。
7.根据权利要求6所述的装置,其特征在于,状态检测单元包括:
延时子单元,用于在所述切换间隔时间大于所述时间阀值时,延时预设的时间长度;
状态检测子单元,用于检测当前存储卡处于插入状态或拔出状态。
8.根据权利要求6或7所述的装置,其特征在于,时间计算单元具体用于:
在检测到终端中存储卡通讯端口的电平状态切换时,计算该次电平状态切换对应的第一电平切换时间与上一次电平状态切换对应的第二电平切换时间之间的差值,并将计算出的差值作为所述切换间隔时间。
9.根据权利要求8所述的装置,其特征在于,还包括:
切换忽略单元,用于在计算切换间隔时间之后,若所述切换间隔时间小于所述时间阀值,则忽略该次电平状态切换。
10.根据权利要求7所述的装置,其特征在于,状态检测子单元具体用于:
控制发送复位命令以检测终端中是否插入有存储卡;
在所述终端中插入有所述存储卡时,控制所述存储卡进入空闲模式;
检测所述存储卡是否被拔出,若被拔出,则确定所述存储卡处于拔出状态并对所述存储卡进行下电操作;若未被拔出,则确定所述存储卡处于插入状态,获取所述存储卡支持的电压值,并根据获取的电压值对所述存储卡进行上电操作。
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 true CN105208192A (zh) | 2015-12-30 |
CN105208192B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143898A (zh) * | 2018-11-05 | 2020-05-12 | 瑞昱半导体股份有限公司 | 可插拔存储器装置数据保护方法 |
CN111638439A (zh) * | 2020-04-27 | 2020-09-08 | 西安广和通无线软件有限公司 | 通信模块测试方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080296376A1 (en) * | 2007-06-04 | 2008-12-04 | Jung-Hoon Kim | Card Detection Apparatus and Method |
CN101494922A (zh) * | 2008-12-23 | 2009-07-29 | 上海闻泰电子科技有限公司 | 一种实现t卡热插拔的移动终端和t卡热插拔方法 |
CN102955733A (zh) * | 2012-11-12 | 2013-03-06 | 中兴通讯股份有限公司 | 一种单板热插拔检测方法及装置 |
CN104243560A (zh) * | 2014-09-02 | 2014-12-24 | 赵军富 | 移动设备上的web服务系统 |
-
2015
- 2015-08-17 CN CN201510504113.XA patent/CN105208192B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080296376A1 (en) * | 2007-06-04 | 2008-12-04 | Jung-Hoon Kim | Card Detection Apparatus and Method |
CN101494922A (zh) * | 2008-12-23 | 2009-07-29 | 上海闻泰电子科技有限公司 | 一种实现t卡热插拔的移动终端和t卡热插拔方法 |
CN102955733A (zh) * | 2012-11-12 | 2013-03-06 | 中兴通讯股份有限公司 | 一种单板热插拔检测方法及装置 |
CN104243560A (zh) * | 2014-09-02 | 2014-12-24 | 赵军富 | 移动设备上的web服务系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143898A (zh) * | 2018-11-05 | 2020-05-12 | 瑞昱半导体股份有限公司 | 可插拔存储器装置数据保护方法 |
CN111143898B (zh) * | 2018-11-05 | 2022-06-14 | 瑞昱半导体股份有限公司 | 可插拔存储器装置数据保护方法 |
CN111638439A (zh) * | 2020-04-27 | 2020-09-08 | 西安广和通无线软件有限公司 | 通信模块测试方法、装置、计算机设备和存储介质 |
CN111638439B (zh) * | 2020-04-27 | 2023-09-15 | 西安广和通无线软件有限公司 | 通信模块测试方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105208192B (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092802B (zh) | 一种读卡器与上位机通信的方法 | |
CN103326149B (zh) | Sim卡连接器和移动终端 | |
CN103345459B (zh) | 基于单板上的多个处理器串口复用的切换方法及切换电路 | |
CN101645056B (zh) | 用于支持扩展坞的移动装置的对接的设备和方法 | |
CN201303424Y (zh) | 一种具有保护装置的移动终端 | |
CN104777891A (zh) | 一种应用于智能终端的otg连接控制方法和连接控制装置 | |
US20130046502A1 (en) | Motherboard test device | |
CN102073602A (zh) | 计算机系统、连接控制装置及连接与断开方法 | |
CN105376758A (zh) | 一种检测sim卡掉卡的方法及系统 | |
US10802991B2 (en) | Pluggable module identification system | |
CN105208192A (zh) | 一种终端控制存储卡状态的方法及装置 | |
CN111881074B (zh) | 电子系统、主机端装置及控制方法 | |
CN107423196A (zh) | 一种多卡槽状态检测方法、检测设备及移动终端 | |
CN108664430B (zh) | 设备的识别方法、装置、存储介质及电子设备 | |
CN103986844A (zh) | 一种移动终端及其快速启动省电实现方法 | |
CN110990316A (zh) | 用于输出热插拔设备状态的方法和可编程逻辑电路 | |
CN103294627A (zh) | 数据传输方法、系统及使用该方法的电子装置 | |
CN106921192A (zh) | 终端及电量共享方法 | |
CN112995955A (zh) | 智能车载网联终端、调试方法、联网兼容方法及装置 | |
CN112749036A (zh) | 固态盘暴力热拔出操作的处理方法、装置、系统及介质 | |
CN103546638A (zh) | 一种快闪存储卡的掉卡恢复方法及其移动终端 | |
CN104035844A (zh) | 一种故障测试方法及电子设备 | |
CN208207878U (zh) | 电子标签的防拆卸装置和电子标签 | |
CN105100344A (zh) | 一种用户识别模块卡热插拔处理方法以及移动终端 | |
CN108700628B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
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. |
|
CP01 | Change in the name or title of a patent holder |