SIM卡接口

作者:金艺

概述

Air724UG 支持2路SIM卡通道,但是只能支持双卡单待,也就是两路SIM卡通路不能同时使用。

管脚定义

SIM0卡接口定义:

管脚名

管脚号

作用

USIM_VDD

12

USIM卡供电电源。自动侦测SIM卡工作电压。 精 度3.0V±10%和1.8V±10%。最大供电电流10mA。

USIM_RST_N

11

USIM卡复位脚

USIM_DATA

10

USIM卡数据线

USIM_CLK

9

USIM卡时钟线

USIM_CD

8

USIM卡插拔检测

SIM1卡接口定义:

管脚名

管脚号

作用

VSIM1

72

SIM1卡供电电源。自动侦测SIM卡工作电压。 精 度3.0V±10%和1.8V±10%。最大供电电流10mA。

SIM1_RST_N

71

SIM1卡复位脚

SIM1_DATA

70

SIM1卡数据线

SIM1_CLK

69

SIM1卡时钟线

SIM0 和 SIM1(或者内置贴片SIM卡)切换逻辑

Air724UG-NA 支持SIM0 和 SIM1双卡单待; Air724UG-MA 由于模块内部已经在SIM1接口上内置了贴片SIM卡,故SIM1 接口不可再外接SIM卡,也不可用作GPIO;

模块开机后首先会去查询SIM0 接口上是否有插入SIM卡,如果检测到SIM0接口上的SIM卡,就会读取SIM0接口的卡信息去连接网络;如果SIM0接口上没有检测到SIM卡,则会再去检测SIM1 接口上是否有SIM卡(或者是内置贴片SIM卡),如果检测到SIM1接口上的SIM卡(或者是内置贴片SIM卡),就会读取SIM1接口的卡信息去连接网络;如果SIM1接口上也没有检测到SIM卡,则会报错,未插入SIM卡;

SIM0 接口和SIM1 接口如果同时插入了SIM卡,默认会使用SIM0接口上的SIM卡,同时也可以通过AT+SIMCROSS 这个指令来切换;

SIM0

SIM1

默认使用

Air724UG-NA

插入SIM卡0

插入SIM卡1

SIM0

插入SIM卡0

未插入SIM卡

SIM0

未插入SIM卡

插入SIM卡1

SIM1

未插入SIM卡

未插入SIM卡

报 错,未插入SIM卡

Air724UG-MA

插入SIM卡0

有内置贴片SIM卡 ,不可以再外接 ,否则会出错!

SIM0

未插入SIM卡

同上

内部贴片SIM卡

注意: 如果SIM0和SIM1仅有一个卡槽插入了SIM卡 AT版本以AirM2M_720U_V3开头的固件,才支持自动识别SIM卡功能 Luat版本以Luat_V3开头的固件,才支持自动识别SIM卡功能 例如,如果SIM0没有插卡,SIM1有插卡; AirM2M_V301825_720U_LTE_AT可以自动识别到SIM1有卡; AirM2M_V1338_720U_LTE_AT不可以自动识别到SIM1有卡,必须使用AT+SIMCROSS=1命令设置主动去检测SIM1 Luat_V3024_RDA8910_TTS_NOVOLTE_FLOAT可以自动识别到SIM1有卡; Luat_V0022_RDA8910_TTS_FLOAT不可以自动识别到SIM1有卡,必须增加ril.request(“AT+SIMCROSS=1”)代码设置主动去检测SIM1

参考设计

下图是SIM接口的参考电路,使用6pin的SIM卡座。 image1

如果需要用到sim卡在位检测,推荐电路如下。 image2

在SIM卡接口的电路设计中,为了确保SIM卡的良好的功能性能和不被损坏,在电路设计中建议遵循以下设计原则: • SIM卡座与模块距离摆件不能太远,越近越好,尽量保证SIM卡信号线布线不超过20cm。 • SIM卡信号线布线远离RF线和VBAT电源线。。 • 为了防止可能存在的USIM_CLK信号对USIM_DATA信号的串扰,两者布线不要太靠近,在两条走线之间增加地屏蔽。且对USIM_RST_N信号也需要地保护。 • 为了保证良好的ESD保护,建议加TVS管,并靠近SIM卡座摆放。选择的ESD器件寄生电容不大于50pF。在模块和SIM卡之间也可以串联22欧姆的电阻用以抑制杂散EMI,增强ESD防护。SIM卡的外围电路必须尽量靠近SIM卡座。

SIM卡热插拔检测功能是指模块开机后SIM插上或拔去,模块能够检测判断SIM卡是否在位。

参考:https://luatdoc.papapoi.com/wiki/pages/521.html rtos.notify_sim_detect()接口说明

客户使用合宙LTE模块开发的产品如果需要具备热插拔功能,需要在硬件和软件上都具备相应的条件:

1)在硬件上,需要USIM_CD(USIM Card Detect)这个引脚与SIM卡座的SW(即SWITCH)连接来实现。下图是参考电路:

http://openluat-luatcommunity.oss-cn-hangzhou.aliyuncs.com/images/20200817215040735_simdet.png

当SIM卡插上,则USIM_CD变为1.8V高电平;当SIM卡拔去,则USIM_CD变为低电平(接地)。

2)在软件上,需要开机输入AT+CSDT=1打开SIM卡热插拔功能。(注:此命令即时生效,如需关机自动保存请输入AT+CSDT=1;&W)

  • 当SIM卡插上时,USIM_CD变高产生中断,触发模块的判断流程,USIM_CD为高会被判断为插卡,此时会重新初始化SIM卡并上报相应的URC;

  • 当SIM卡拔去时,USIM_CD变低产生中断,触发模块的判断流程,USIM_CD为低会被判断为拔卡,并上报相应的URC。

那如何在合宙LTE模块开发板上验证SIM热插拔功能呢?

合宙LTE模块开发板上已经将USIM_CD引出,在CAT4模块开发板上,这个脚在开发板上的引出点叫做SIM_DET;在CAT1模块开发板上,这个脚在开发板上的引出点叫GPIO_23

系列开发板的SIM卡座没有SWITCH检测,SIM_CD不会自动跳变,所以我们需要在SIM卡热插拔的时候将SIM_CD手动拉高接地来模拟这个动作进行测试。

SIM_CD手动拉高接地的具体方法就是拿一根下图中的线,一端焊到SIM_CD,另外一端需要接地的时候插到开发板的GND,需要拉高的时候就从GND拔掉(SIM_CD已经有内部拉高)。 image3

1)SIM_DET接GND,模块不插卡开机 2)AT+CSDT=1 (不需要重启模块,这个命令是即时生效的) 3)SIM卡热插上,然后SIM_DET从GND拔掉,此时应该上报”+CPIN: READY”这个URC 4)SIM热拔除,SIM_DET接到GND,此时应该上报”+CPIN: SIM REMOVED”这个URC


相关AT指令

语法规则:

命令类型

语法

返回和说明

设置命令

AT+CPIN=[,]

OK 说明:如果需要的PIN 是SIM PUK 或者SIM PUK2, 则需 要第二个pin。用来取代 SIM 卡中的原有的pin。

查询命令

AT+CPIN?

+CPIN: OK

测试命令

AT+CPIN=?

OK

URC

+CPIN:

  参数定义:

参数

定义

取值

对取值的说明

密码

字符串型

新密码

字符串型

READY

ME不再需要提供密码

SIM PIN

ME等待提供SIM卡的PIN码

SIM PUK

ME等待提供SIM卡的PUK码

SIM PIN2

ME等待提供SIM卡的PIN2码

SIM PUK2

ME等待提供SIM卡的PUK2码

SIM REMOVED

SIM卡未检出

  举例:

命令(→)/ 返回(←)

实例

解释和说明

AT+CPIN?

查询PIN码锁状态

+CPIN: READY OK

表示PIN码锁并未开启

A T+CLCK=”SC”,1,”1234”

开启 开机PIN码锁,1234是 PIN码,SC表示是SIM卡

OK

返回OK后,重启模块

+CPIN: SIM PIN

重新开机后,模块会自 动上报PIN码状态,SIM PIN表示开机 PIN码为ON的状态(即 开机需要输入PIN码)

AT+CPIN=”1234”

此时需要输入PIN码

+CPIN: READY OK

表示密 码正确,PIN码锁解锁

AT+CLCK=”SC”,2

查询当前的开 机PIN码是否仍然开启

+CLCK: 1 OK

1表示 仍然有开机PIN码提示

A T+CLCK=”SC”,0,”1234”

关闭开机PIN码提示

OK

返回OK后重新开机

+CPIN: READY

重新开机后,模块会自 动上报PIN码状态,REA DY表示开机PIN码:OFF

####  SIM卡切换:AT+SIMCROSS

  语法规则:

命令类型

语法

返回

设置命令

AT+SIMCROSS=

OK

查询命令

AT+SIMCROSS?

+SIMCROSS: OK

测试命令

AT+SIMCROSS=?

+SIMCROSS:(取值范围) OK

注意事项

本命令关机保存,但是需重启生效

  参数定义:

参数

定义

取值

对取值的说明

SIM No.

0

SIM卡0

1

SIM卡1或内置贴片卡

  举例:

命令(→)/返回(←)

实例

解释和说明

AT+SIMCROSS?

+SIMCROSS:0 OK

SIM卡位置为0

AT+SIMCROSS=1

切换成内置贴片卡或SIM卡1

OK

LUAT开发相关接口

详情见LUAT API SIM 相关章节(未完成)

相关资料以及购买链接

相关开发板购买链接 Air724UG开发板 Air724 开发板使用说明

常见问题

https://luatdoc.papapoi.com/638/ #### SIM卡不识别 1. 首先要确认模块SIM引脚是否有硬件损坏,判断标准https://luatdoc.papapoi.com/634/ 造成硬件损坏的原因大部分是有带电插拔SIM卡的操作导致。务必杜绝带电插拔SIM卡,同时要在线路上加入TVS管保护。 2. 软件方面:确认模块是否进入飞行模式,模块在进入飞行模式后会出现无法识别卡的情况,AT+CFUN=0命令或Luat版本执行net.switchFly(true)接口都会进入飞行模式,通过 AT+CFUN=1或net.switchFly(false) 来退出飞行模式.

  • 模块开机了,但是SIM卡VDD没有电压,是不不到卡。 SIM卡的VDD在初始化SIM卡时会打开,并且进行初始化卡的动作,但是如果识别不到SIM卡,SIMVDD就会关闭,所以就会出现开机了但是SIMVDD没有电压的情况,而不是SIMVDD没有电压导致的不识别SIM卡 #### 新的流量卡需要激活吗? 一般是上电自动激活;合宙出售的物联网卡为纯流量卡,不支持语音和短信业务,必须去运营商办理实名认证的卡才能使用;合宙物联网卡相关问题可参考以下链接 https://luatdoc.papapoi.com/1477/