SIM卡接口

# SIM卡管脚定义 ![image.png](https://cos.easydoc.net/22753220/files/l00r7rxg.png) # SIM 接口参考电路 下图是 SIM 接口的参考电路,使用 6pin 的 SIM 卡座。 ![image.png](https://cos.easydoc.net/22753220/files/l00rbl7l.png) 如果需要用到 sim 卡在位检测,推荐电路如下。 ![image.png](https://cos.easydoc.net/22753220/files/l00rdd4o.png) > 在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,增强ESD防护。SIM卡的外围电路必须尽量 靠近SIM卡座。 # 常见问题及故障排查 ## 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:如果是贴片卡,可以先拆下贴片卡,飞线到一个可以识别到卡的卡座到模块管脚,看下是否贴片卡问题 ## 模块AT固件584 sim卡不识别问题? 现象:同一客户板子和固件+同一批次2张电信卡 模块始终无法识别到卡,error 10 开发板和同一固件 + 同一批次2张电信卡 可以识别 同一客户板子和固件+某个移动卡 可以识别 结论:同一批次电信卡内部rst存在上拉,模块外部usim-rst管脚必须接上,才能识别到,实际客户板子上模块usim-rst管脚存在虚焊,所以电信卡不识别 这个移动卡内部不存在rst上拉,即使模块外部usim-rst管脚没接到卡座,也能识别,不影响 ## - 新的流量卡需要激活吗? - 一般是上电自动激活;合宙出售的物联网卡为纯流量卡,不支持语音和短信业务,必须去运营商办理实名认证的卡才能使用;合宙物联网卡相关问题可参考以下链接 [上海合宙物联网卡产品介绍](https://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()接口说明](https://doc.openluat.com/wiki/21?wiki_page_id=2247#rtosnotify_sim_detectnsimconnect_606) [(以gpio7为例)demo](https://cdn.openluat-luatcommunity.openluat.com/attachment/20210308200711388_main.lua) 注意事项: 1.sim卡座的cd检测管脚接到gpio口,可以指定任意没被复用的gpio做sim卡检测, 2.gpio配置为中断模式,可以在demo中改为上升沿检测拔出,或下降沿拔出都可以。 3.热插拔模拟测试同AT版本一样。 ##### AT版本 客户使用合宙LTE模块开发的产品如果需要具备热插拔功能,需要在硬件和软件上都具备相应的条件: 1)在硬件上,需要USIM_CD(USIM Card Detect)这个引脚与SIM卡座的SW(即SWITCH)连接来实现。下图是参考电路: ![](https://cdn.openluat-luatcommunity.openluat.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已经有内部拉高)。 ![](https://cdn.openluat-luatcommunity.openluat.com/images/20200817221815159_xian.png) 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 ## 上电后在插卡,不能自动识别,一定要上电前插卡吗 是的,或者重启一下,或者增加热插拔功能 ## sim.setId(1, cbFn)来切换卡没有生效 sim.getId返回的值变了,而卡的iccid等还是SIM0位置这张卡 设置完了要重启一下,才能正常生效 ## 卡才用2天,也没有用流量,查询卡流量用完了 通过AT+RNDISCALL?确认RNDIS是否关闭,0关闭,1打开 如果不需要RNDIS可以通过下面链接说明关闭 [如何禁用RNDIS功能](https://doc.openluat.com/wiki/21?wiki_page_id=2010#RNDIS_17 "如何禁用RNDIS功能") ### 物联网卡APN设置 有些物联网,需要设置APN才能使用,可以通过调用link.setAuthApn(0,"APN") 设置[API说明](https://doc.openluat.com/wiki/21?wiki_page_id=2277 "API说明") ### 已经把那个上网卡的驱动关了,at固件下未进行任何操作,还是有流量消耗,想问一下这可能是那个环节在使用流量呢? 自动升级关掉试试 或者通过抓log分析:[AP日志的抓取与分析](https://doc.openluat.com/wiki/21?wiki_page_id=2451 "AP日志的抓取与分析") ### 把SIM卡的ESD拿掉,不要保护了,这样做问题大吗 要接esd , 不然容易被静电打坏 ### 重启sim卡怎么操作 1. 重启模块 2. SIM卡热插拔 ## 怎么判断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方法 ```lua AT+CIMI 460043136520119 --MNC为04说明是中国移动卡 OK ``` LUA获取IMSI方法 ```lua sim.getImsi() --获取sim卡的imsi sim.getMnc() --获取sim卡的getmnc ``` [lib API 查询sim卡状态](https://doc.openluat.com/wiki/21?wiki_page_id=2292 "查询sim卡状态")