SIM卡有VCC、RST、CLK、GND、VPP、I/O几个引脚,系统通过VCC脚给SIM卡供电。
当前手机上常用的是B类(3V)和C类(1.8V)卡,5V的A类卡已经不再使用,退出潮流了。

为什么你的手机能自动识别不同电压的SIM卡,即是如何识别B类和C类卡的呢?
识卡流程
流程如下图,可分为如下几个步骤:
- VCC、CLK先后上电,CLK上电之后,SIM卡应在200个时钟周期(ta)内将I/O设置为状态H,并且将RST保持在低电平状态至少400个时钟周期(延迟tb)。当RST处于状态L时,手机AP应忽略I/O上的电平状态。
- 经过时间Tb,RST由AP端驱动进入高电平状态。在RST信号的上升沿之后,SIM卡的I/O应当在400到40000个时钟周期(tc)之间开始应答,即发送ATR(Answer To Reset)命令给CPU,ATR是一串有特定格式的字节。
- 如果SIM卡没有发出ATR,说明没有插卡或者给的电压不对,手机的系统会再次发起更高电压的识卡流程。
- 如果多次识卡均失败后,则识卡过程停止。

识卡过程波形
如下图,仅插入SIM卡托(没有SIM卡)以后,手统会先提供1.8V的电源给SIM卡供电,进行识卡。但法统发现识别不到卡,于是调整为3V供电再次进行识卡。多次识卡均告失败,识卡过程停止。

