SIM卡接口
简介
SIM( Subscriber Identity Module)卡为用户识别模块,内部使用新式单片机及存储器管理结构,包含了大规模的集成电路,同时也称为用户识别卡。通信设备通过SIM卡来识别其用户,只有设备插入SIM卡后才能入网使用。SIM卡接口用于和SIM卡进行通信。
特性
SIM0接口(外置卡)
USIM_VDD:USIM卡供电电源。自动侦测SIM卡工作电压。 精度3.0V±10%和1.8V±10%。最大供电电流10mA。
USIM_RST_N:USIM卡复位脚
USIM_DATA:USIM卡数据线
USIM_CLK:USIM卡时钟线
USIM_CD:USIM卡插拔检测
模块SIM卡功能列表
类型 Air720UH Air720UG Air724UG Air722UG
外置卡 支持 支持 支持 支持
内置卡 部分支持 部分支持 部分支持 不支持
*注:只有模块小型号第一位为"M"字母的型号带内置贴片卡,否则不带,例如:Air724UG-MFC带内置卡,Air724UG-NFC则不带。
参考设计
下图是SIM接口的参考电路,使用6pin的SIM卡座。
如果需要用到sim卡在位检测,推荐电路如下。
SIM卡热插拔检测功能是指模块开机后SIM插上或拔去,模块能够检测判断SIM卡是否在位。
在SIM卡接口的电路设计中,建议遵循以下设计原则:
1.SIM卡座与模块距离摆件需尽量靠近摆放,保证SIM卡信号线布线不超过20cm。
2.SIM卡信号线布线远离RF线和VBAT电源线。
3.为了防止可能存在的USIM_CLK信号对USIM_DATA信号的串扰,两者布线不要太靠近,在两条走线之间增加地屏蔽,对USIM_RST_N信号也需要地保护。
4.为了保证良好的ESD保护,建议加TVS管,并靠近SIM卡座摆放,选择的ESD器件寄生电容不大于50pF。在模块和SIM卡之间也可以串联22欧姆的电阻用以抑制杂散EMI。SIM卡的外围电路必须尽量靠近SIM卡座。
SIM接口软件控制
LUA开发相关API
常见问题及故障排查
http://doc.openluat.com/article/638/0
- SIM卡不识别
首先要确认模块SIM引脚是否有硬件损坏,判断标准点击此处
而造成硬件损坏的原因大部分是由于带电插拔SIM卡的操作导致。务必杜绝带电插拔SIM卡,同时要在线路上加入TVS管保护。
sim卡方向有没反,注意直插的卡座缺口是朝外
软件方面:确认模块是否进入飞行模式,模块在进入飞行模式后会出现无法识别卡的情况,AT+CFUN=0命令或LuatOS-Air版本执行net.switchFly(true)接口都会进入飞行模式,通过 AT+CFUN=1或net.switchFly(false) 来退出飞行模式.
模块识别不到卡时,SIM卡VDD会关闭,测量时就会出现没有电压。
SIM卡的VDD在初始化SIM卡时会打开,并且进行初始化卡的动作,但是如果识别不到SIM卡,SIMVDD就会关闭,所以就会出现开机了但是SIMVDD没有电压的情况,而不是SIMVDD没有电压导致的不识别SIM卡
模块不识别sim卡,一插sim卡,数据脚就和sim_vdd对地短路?
看是否卡座高度太低,导致压下去弹片顶到底下的地了,导致短路。
每个脚对地用二级管量下,红接地,黑接每个管脚,值是400-500之间正常。
看模块与卡座之间连线有没有问题,引脚对地阻值是不是正常,引脚间有没短路,原理图和Pcb网络名与实物对不对
示波器测试下sim_vdd波形,如果波形正常,一般是卡座和模块引脚之间问题,要识别到卡,才会有电压输出。
如果以上都排除了,重新烧下at固件看下。
如果是贴片卡,可以先拆下贴片卡,飞线到一个可以识别到卡的卡座到模块管脚,看下是否贴片卡问题
1.2基线不支持自动切换sim卡,默认是sim0,1.3基线支持自动切换sim卡
724模块AT固件584 sim卡不识别问题?
现象:同一客户板子和固件+同一批次2张电信卡 模块始终无法识别到卡,error 10
开发板和同一固件 + 同一批次2张电信卡 可以识别
同一客户板子和固件+某个移动卡 可以识别
结论:同一批次电信卡内部rst存在上拉,模块外部usim-rst管脚必须接上,才能识别到,实际客户板子上模块usim-rst管脚存在虚焊,所以电信卡不识别
这个移动卡内部不存在rst上拉,即使模块外部usim-rst管脚没接到卡座,也能识别,不影响
sim卡不识别问题?
sim卡不识别按以下步骤进行:
1:看模块开机没?at指令能不能用?at+cpin?返回ready,代表读到卡,如果返回error,按以下几点排查:
2:sim卡是不是Ok?sim卡方向有没反,注意直插的卡座缺口是朝外
3:每个脚对地用万用表,打到二级管档位量下,红接地,黑接每个管脚,值是400-500之间正常。
4:看模块与卡座之间连线有没有问题,引脚对地阻值是不是正常,引脚间有没短路,
原理图和Pcb网络名与sim卡座实物对不对,卡座是否接触良好,如果sim卡一插入,vdd和clk就对地短路,一般是卡座问题。
5:示波器测试下sim_vdd波形,有个1.8-3.3v的高电平跳变,如果波形正常,一般是卡座和模块引脚之间问题,要识别到卡,才会有电压输出。
6:如果以上都排除了,重新烧下at固件看下,1.2基线不支持自动切换sim卡,默认sim0,1.3基线可以支持自动切换
7:如果是贴片卡,可以先拆下贴片卡,飞线到一个可以识别到卡的卡座到模块管脚,看下是否贴片卡问题
- 新的流量卡需要激活吗?
一般是上电自动激活;合宙出售的物联网卡为纯流量卡,不支持语音和短信业务,必须去运营商办理实名认证的卡才能使用;合宙物联网卡相关问题可参考以下链接 http://doc.openluat.com/article/1477/0 - 流量卡相关问题联系方式(微信手机同号)
采购&商务:
陆相成 17717258958
运营&客户支持:
姜彩燕 18366199964 jiangcaiyan@openluat.com
陈秀芝 18256050375 chenxiuzhi@airm2m.com
客户支持:
金玲 15656964968 jinling@airm2m.com
- 专网卡访问白名单
用定向Ip的物联网卡,需要把域名或IP加入白名单才能使用,下面列出模块会访问的域名或IP服务器。
AT版本
DNS服务器,可以通过AT+CDNSCFG?查询默认的服务器,如果需要修改,可以通过AT+CDNSCFG=ip1,ip2进行修改。
功能 地址 端口 协议
远程升级 iot.openluat.com 80 http
基站WIFI定位 bs.openluat.com 80 http
AGPS星历下载 download.openluat.com 80 http
NTP时间同步 ntp1.aliyun.com 123 udp
Lua版本
DNS服务器,可以通过AT+CDNSCFG?查询默认的服务器,如果需要修改,可以通过AT+CDNSCFG=ip1,ip2进行修改。(最新V3103版本已支持)
NTP时间同步,会在下面列出的服务器中随机选一下,可以根据需要修改。
功能 地址 端口 协议
远程升级 iot.openluat.com 80 http
日志服务 dev_msg1.openluat.com 12425 udp
基站WIFI定位 bs.openluat.com 12412和 12411 udp
AGPS星历下载 download.openluat.com 80 http
NTP时间同步 cn.pool.ntp.org 123 udp
NTP时间同步 edu.ntp.org.cn 123 udp
NTP时间同步 cn.ntp.org.cn 123 udp
NTP时间同步 s2c.time.edu.cn 123 udp
NTP时间同步 time1.aliyun.com 123 udp
NTP时间同步 tw.pool.ntp.org 123 udp
NTP时间同步 0.cn.pool.ntp.org 123 udp
NTP时间同步 0.tw.pool.ntp.org 123 udp
NTP时间同步 1.cn.pool.ntp.org 123 udp
NTP时间同步 1.tw.pool.ntp.org 123 udp
NTP时间同步 3.cn.pool.ntp.org 123 udp
NTP时间同步 3.tw.pool.ntp.org 123 udp
SIM卡热插拔功能
SIM卡热插拔检测功能是指模块开机后SIM插上或拔去,模块能够检测判断SIM卡是否在位。
LuatOS-Air版本
参考:
rtos.notify_sim_detect()接口说明
(以gpio7为例)demo
注意事项:
1.sim卡座的cd检测管脚接到gpio口,可以指定任意没被复用的gpio做sim卡检测,
2.gpio配置为中断模式,可以在demo中改为上升沿检测拔出,或下降沿拔出都可以。
3.热插拔模拟测试同AT版本一样。
AT版本
客户使用合宙LTE模块开发的产品如果需要具备热插拔功能,需要在硬件和软件上都具备相应的条件:
1)在硬件上,需要USIM_CD(USIM Card Detect)这个引脚与SIM卡座的SW(即SWITCH)连接来实现。下图是参考电路:
当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。
3)注意:
AT+CSDT=1:默认上升沿触发,不插卡是低,插入卡是高电平
AT+CSDT=1,0:可以配置下降沿触发,不插卡是高,插入卡是低电平
AT+CSDT=1,1:可以配置上升沿触发,不插卡是低,插入卡是高电平
那如何在合宙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已经有内部拉高)。
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
724ug上电后在插卡,不能自动识别,一定要上电前插卡吗
是的,或者重启一下,或者增加热插拔功能
sim.setId(1, cbFn)来切换卡没有生效
sim.getId返回的值变了,而卡的iccid等还是SIM0位置这张卡
设置完了要重启一下,才能正常生效
卡才用2天,也没有用流量,查询卡流量用完了
通过AT+RNDISCALL?确认RNDIS是否关闭,0关闭,1打开
如果不需要RNDIS可以通过下面链接说明关闭
如何禁用RNDIS功能
物联网卡APN设置
有些物联网,需要设置APN才能使用,可以通过调用link.setAuthApn(0,“APN”) 设置API说明
已经把那个上网卡的驱动关了,at固件下未进行任何操作,还是有流量消耗,想问一下这可能是那个环节在使用流量呢?
自动升级关掉试试
或者通过抓log分析:AP日志的抓取与分析
把SIM卡的ESD拿掉,不要保护了,这样做问题大吗
要接esd , 不然容易被静电打坏
重启sim卡怎么操作
重启模块
进退飞行模式方法
AT方式
AT+CFUN = 0 --进入飞行模式
AT+CFUN = 1 --退出飞行模式
LUA方式
net.switchFly(mode) --mode,true:飞行模式开,false:飞行模式关
SIM卡热插拔
Air724怎么判断sim卡是移动,联通还是电信?
可以通过查询卡的IMSI来判断
IMSI共有15位,其结构如下:
MCC+MNC+MSIN ,(MNC+MSIN=NMSI)
MCC:Mobile Country Code,移动国家码,MCC的资源由国际电联(ITU)统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460;
MNC:Mobile Network Code,移动网络码,共2位,中国移动00、02、04、07,中国联通01,中国电信03,11
MSIN:Mobile Subscriber Identification Number共有10位
AT命令获取IMSI方法
AT+CIMI
460043136520119 --MNC为04说明是中国移动卡
OK
LUA获取IMSI方法
sim.getImsi() --获取sim卡的imsi
sim.getMnc() --获取sim卡的getmnc
lib API 查询sim卡状态