4G模组SIM卡电路很简单,但也要注意这些坑

devtools/2024/10/18 3:37:43/

上次水SIM卡相关的文章,还是上一次;

上一篇文章里吹牛说,跟SIM卡相关的问题还有很多,目的是为下一篇文章埋下伏笔;伏笔埋是埋下了,但如果债老是不还,心里的石头就总悬着,搞不好老板还要扣老子的钱……

硬着头皮,写吧。

上一篇文章链接如下,没看过的同学可以补下课:

https://mp.weixin.qq.com/s/M_LQXbyIvZvUCOwhMliVfw

本篇文章我们主要讲SIM卡硬件电路相关的基础知识,以及常见的一些坑。

我们以合宙4G-Cat.1模组经典型号Air780E为例进行说明。

Air780E最新资料下载:
www.air780e.cn

图片

一、先说说SIM卡信号

基础的SIM卡相关信号有4个:

  • USIM_VDD:SIM卡供电电源;

  • USIM_RST:SIM卡复位信号;

  • USIM_DAT:SIM卡数据信号;

  • USIM_CLK:SIM卡时钟信号。

管脚定义及参考电路如下:

图片

图片

除了以上4个基础信号外,还有两个信号大家经常会遇到:

  • USIM_VPP:SIM卡编程电源;

  • USIM_DET:SIM卡插入监测。

对于USIM_VPP,大家经常会的疑问是:
——我需要接吗?悬空可以吗?

答案是:
——跟USIM_VCC短接在一起也可以,悬空也可以,对于大家所使用的SIM卡来说,这个信号就是个摆设。

图片

合宙模组推荐大家直接悬空,你看我们的手册都没介绍这个信号.......

对于USIM_DET,则跟另外两件事息息相关:

一是你家的模组支持热插拔吗?

二是你家的模组支持双卡单待或者双卡双待吗?

我们先看下Air780E硬件手册上对于USIM_DET的定义:

图片

所谓热插拔:

就是模块在开机状态下插入SIM卡,模组软件可以检测到这一事件,并且重新开启SIM卡初始化流程。

知识点:

  • SIM卡检测流程默认只在开机时开启,确认无卡后不会再执行SIM卡初始化流程;

  • USIM_DET相当于告诉模组,SIM卡插进来了,我通知你了,你再执行一次初始化流程吧。

参考电路如下:

图片

需要说明的是:

  • USIM_DET为上下边沿电平触发中断,触发系统进行SIM1通道的卡在位检测(热插拔检测);

    注意:是SIM1通道,不是SIM2通道。SIM2不支持插入检测(接下来我们再介绍SIM2通道相关的知识)。

  • 从上图可以看出,USIM_DET上拉到AGPIO3(一直输出高电平),卡未插入时为高,插入后为低;

  • 为什么上拉到AGPIO3,而不是常见的VDD_EXT电源?说来话长,简单说就是AGPIO3可以保证模组在开机后任何状态下都输出为高,而VDD_EXT则为了省电在模组休眠状态下会间歇性关闭;

  • 我们的文档当前做的还真是一言难尽,明明信号定义是USIM_DET,参考原理图却写成USIM_CD......

  • 文档问题我们已经注意到了,是当下重点中的重点,请给我们一点点时间,一定会做好!!!

二、关于双卡单待

合宙的大部分模组型号,都可以支持双卡单待,比如Air780E。

图片

关于双卡单待,你需要知道的是:

  • 双卡单待,顾名思义就是只能一路SIM卡在工作——要么是SIM1,要么是SIM2,无法像我们的手机那样可以两张SIM卡同时工作;

  • 合宙支持通过AT指令来指定选用哪一路SIM卡,大家感兴趣可以看一下合宙AT指令手册;

  • 模块开机会默认检测SIM1通道,在SIM1通道检测到SIM卡不在位的情况下才会去检测SIM2通道;

  • 再次强调!USIM_DET仅支持SIM1通道,不支持SIM2通道。

    因此:对于有内置贴片SIM卡的双卡应用场景,建议将贴片SIM卡置于SIM2通道,外置插拔SIM卡座置于SIM1通道,以实现优先使用外置插拔SIM卡的效果;

  • SIM2的参考电路跟SIM1一样,没有区别(不考虑USIM_DET的话)。

三、还需注意哪些事项

除了以上介绍的这些,还有哪些需要注意的呢?

1. 关于PCB走线:

  • SIM卡座布局尽量靠近模组SIM接口,走线过长会影响信号质量,也容易受到其它高频信号干扰;

  • USIM_CLK和USIM_DATA走线应包地处理以屏蔽干扰,并远离射频走线和电源走线。

2. 关于电路处理:

  • USIM_VDD并联33pF和1uF电容到地,如果SIM_VDD走线过长,必要时也可增加一个4.7uF电容;

  • USIM_CLK、USIM_DATA和USIM_RST并联33pF电容到地,防止射频信号干扰;

  • 因模组设计差异,合宙有的模组型号内部USIM_DATA已上拉至USIM_VDD,有的模组型号则内部没有这样处理,您选用的模组若内部没做USIM_DAT上拉,建议USIM_DAT通过10KΩ电阻上拉到USIM_VDD,增加USIM_DAT驱动能力;

  • 建议在SIM卡座附近设计ESD保护,选择最大反向工作电压为5V的TVS管,寄生电容小于10pF,布局位置尽量靠近卡座引脚;

  • USIM_DTA、USIM_CLK、USIM_RST三个信号线建议预留端接电阻22Ω可抑制EMI杂散传输。

四、常见避坑指南要点

接下来,重点介绍两点最常见的避坑指南!

1. 电容、电阻、TVS管参数选取不当,导致读卡不良:

通常来说,在考虑电容、电阻、TVS管等参数时,需重点关注以下三个问题:

  • 电容容值不宜选取过大,过大会导致无法过滤来自射频干扰、SIM卡信号波形变缓,甚至致读卡失败;

  • 端接电阻值不宜过大,过大会导致信号驱动能力下降及波形异常;

  • TVS管寄生电容不宜过大,过大会导致波形变缓,读卡失败。

PS:这下你知道各大模组公司的FAE在面对你的SIM卡技术问题时,通常会让你把这些元器件都拿掉试试的原因了吧?

2. SIM卡检测引脚逻辑错误,导致读卡不良:

在使用SIM卡检测引脚时,客户有时会误用和模组检测逻辑相反的卡座,导致SIM卡检测功能异常,或者未将USIM_DET上拉至AGPIO3,导致SIM卡无法检测;

因此,客户在选择SIM卡座时,需注意检测引脚是否与模组检测逻辑相同,合宙的模组是用USIM_DET用高电平表示拔出、低电平表示插入,切勿弄反了检测逻辑。

以上内容均来自合宙Air780E硬件设计手册和百度搜索,如有雷同,表示感谢。

说到最后,请教大家一个问题:

——SIM,还是USIM?这俩哥们有什么不同吗?


http://www.ppmy.cn/devtools/119167.html

相关文章

如何使用GitHub Desktop管理GitLab库

不管是新手还是老手,Github Desktop都是在苹果系统和Windows系统上管理与创建项目的不错的方式,GitHub Desktop都能够让在GitHub上的工作流更为简单快捷。 注意,以下步骤只支持原版的GitHub Desktop 第一步 从这下载GitHub Desktop打开你的G…

利用redis实现分布式定时任务

如果是微服务,两个服务都有定时,那么就出问题了,但是上分布式定时任务框架太麻烦怎么办,那么就用redis加个锁,谁先抢到锁谁执行 整个工具类 import org.springframework.beans.factory.annotation.Autowired; import …

Spring Boot 进阶-Spring Boot 如何实现自定义的过滤器详解

在上一篇文章中我们讲解了关于拦截器的相关内容,并且通过一个防抖的例子来讲解了拦截器在实际开发中的使用。这篇文章我们为大家带来的就是关于过滤器的相关内容的分享。下面我们首先来介绍一下什么是过滤器。 什么是过滤器? 过滤器Filter,是Servlet技术中最常用的技术,开…

Motion open Heart 详细动画化开放式心脏解剖

详细和动画的心脏直视解剖。 具有真实的运动和精确的心动周期动画。 包括真实阀门动画序列。 配备高清纹理2048x2048和高清法线贴图,可在教育和游戏方面获得更好、更真实的效果。为(VR)虚拟现实场景和增强现实(AR)做好准备。 下载:​​Unity资源商店链接资源下载链接 …

C++ 排序算法

快速排序 思想: 分而治之,或者说递归,即大问题拆解成类似的小问题,把所有的小问题解决,就解决了大问题; 应用在快排(默认从小到大排序)上,就是取一基准点,遍…

0基础跟德姆(dom)一起学AI 机器学习02-KNN算法

【理解】KNN算法思想 K-近邻算法(K Nearest Neighbor,简称KNN)。比如:根据你的“邻居”来推断出你的类别 KNN算法思想:如果一个样本在特征空间中的 k 个最相似的样本中的大多数属于某一个类别,则该样本也属…

从零到 Go 语言开发:你可能需要了解下 5 个关键技巧

你有没有想过,要在 Go 语言中开发一个简单的 Web 应用其实没那么难?或者说,你是不是在学习 Go 语言的时候,常常觉得各种框架和概念让人头疼?今天,我就带你一步一步看看 Go 语言 Web 开发中最核心的几个点,揭开它那看似复杂的面纱,实际操作起来,可能比你想象中简单得多…

【Webpack】使用 Webpack 和 LocalStorage 实现静态资源的离线缓存

基本流程 1)使用 Webpack 进行资源打包: 安装 Webpack 及其相关插件。配置 Webpack,将静态资源打包到特定目录。 2)配置 Service Worker: 安装 workbox-webpack-plugin 插件。配置 Service Worker,通过…