4G模组SIM卡电路很简单,但也要注意这些坑
上次水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?这俩哥们有什么不同吗?
相关文章:

4G模组SIM卡电路很简单,但也要注意这些坑
上次水SIM卡相关的文章,还是上一次; 上一篇文章里吹牛说,跟SIM卡相关的问题还有很多,目的是为下一篇文章埋下伏笔;伏笔埋是埋下了,但如果债老是不还,心里的石头就总悬着,搞不好老板…...
常见电脑品牌BIOS设置与进入启动项快捷键
常见电脑品牌BIOS与引导项快捷键速查表 | 电脑品牌 | BIOS快捷键 | 引导项快捷键 | 备注 ||------------|------------|--------------|------------------------------ || 联想 | F2/F1 | F12 | 笔记本通常为F2,台式机通常为F1 || IBM/ThinkPad | F1 | 未知 | ||…...

C语言中的日志机制:打造全面强大的日志系统
前言 在软件开发中,良好的日志记录机制对于调试、监控程序状态和维护系统的稳定性至关重要。本文将介绍如何在C语言中构建一个全面强大的日志系统,并提供一些示例代码。 1. 日志的基本概念 日志级别:用于分类日志信息的重要性,…...

局域网广域网,IP地址和端口号,TCP/IP 4层协议,协议的封装和分用
前言 在古老的年代,如果我们要实现两台机器进行数据传输, A员工就得去B员工的办公电脑传数据(B休息,等A传完),这样就很浪费时间 所以能不能不去B的工位的同时,还能传数据。这时候网络通信就出来…...

LabVIEW项目编码器选择
在LabVIEW项目中,选择增量式(Incremental Encoder)和绝对式(Absolute Encoder)编码器取决于项目的具体需求。增量式编码器和绝对式编码器在工作原理、应用场景、精度和成本等方面存在显著差异。以下从多方面详细阐述两…...
Spring Boot实现房产租赁业务逻辑
1 绪论 1.1 研究背景 中国的科技的不断进步,计算机发展也慢慢的越来越成熟,人们对计算机也是越来越更加的依赖,科研、教育慢慢用于计算机进行管理。从第一台计算机的产生,到现在计算机已经发展到我们无法想象。给我们的生活改变很…...

汽车3d动画渲染选择哪个?选择最佳云渲染解决方案
面临汽车3D动画渲染挑战?选择正确的云渲染服务至关重要。探索最佳解决方案,优化渲染效率,快速呈现逼真动画。 汽车3d动画渲染选择哪个? 对于汽车3D动画渲染,选择哪个渲染器取决于你的项目需求、预算和期望的效果。Ble…...

火语言RPA流程组件介绍--网页/元素截图
🚩【组件功能】:对整个网页、可见区域或者某个元素进行截图 ,保存至指定文件夹,仅适用于内置浏览器 配置预览 配置说明 截图类型 整个网页/可见区域/元素截图 目标元素 支持T或# 通过自动捕获工具捕获(选择元素工具使用方法)…...

VSCode编程配置再次总结
VScode 中C++编程再次总结 0.简介 1.配置总结 1.1 launch jsion文件 launch.json文件主要用于运行和调试的配置,具有程序启动调试功能。launch.json文件会启用tasks.json的任务,并能实现调试功能。 左侧任务栏的第四个选项运行和调试,点击创建launch.json {"conf…...
银行管理系统
摘 要 伴随着信息技术与互联网技术的不断发展,人们进到了一个新的信息化时代,传统管理技术性没法高效率、容易地管理信息内容。为了实现时代的发展必须,提升管理高效率,各种各样管理管理体系应时而生,各个领域陆续进到…...
极狐GitLab 17.4 重点功能解读【四】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
[每日一练]利用自连接实现数量查询
该题目来源于力扣: 1731. 每位经理的下属员工数量 - 力扣(LeetCode) 题目要求: 表:Employees----------------------- | Column Name | Type | ----------------------- | employee_id | int | | name …...

Linux云计算 |【第四阶段】RDBMS1-DAY3
主要内容: 子查询(单行单列、多行单列、单行多列、多行多列)、分页查询limit、联合查询union、插入语句、修改语句、删除语句 一、子查询 子查询就是指的在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一…...

初始MYSQL数据库(8)—— JDBC编程
找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏: MYSQL 目录 JDBC的概念 JDBC的使用 加载驱动包 建立连接 创建 statement 对象 定义并执行SQL语句 处理结果集 关闭资源 SQL注入 …...

Vue $router.push打开新窗口
Vue $router.push打开新窗口 最近有粉丝小伙伴问我:$router.push方法用于在当前窗口中跳转路由,但有时候我们需要在新的窗口或标签页中打开一个路由改怎么实现呢? 那么这里就介绍下实现逻辑和代码案例! 文章目录 Vue $router.pus…...

SQL进阶技巧:如何利用if语句简化where或join中的条件 | if条件语句的优雅使用方法
目录 0 问题场景 1 数据准备 2 问题分析 2.1 需求一 2.2需求二 3 小结 0 问题场景 有两张表,一张用户下单表user_purchase(用户ID粒度)包含用户ID、订单ID和下单消耗金额和一张用户维表user_info包含用户ID、用户年龄和用户是否实名认证。 user_purchase user_info 需…...

SpringCloud-Alibaba第二代微服务快速入门
1.简介 Spring Cloud Alibaba其实是阿里的微服务解决方案,是阿里巴巴结合自身微服务实践,开源的微服务全家桶,在Spring Cloud项目中孵化成为Spring Cloud的子项目。第一代的Spring Cloud标准中很多组件已经停更,如:Eureak,zuul等。所以Sprin…...
JSON字符串转换成对象
在Java中,将JSON字符串转换成对象是一个常见的操作,特别是在处理Web服务或API时。这通常通过使用第三方库来实现,因为Java标准库(Java SE)本身并不直接支持JSON的序列化和反序列化。最常用的库之一是Jackson和Gson。下…...
第三十五章 结合加密和签名
文章目录 第三十五章 结合加密和签名使用非对称密钥签名并加密使用非对称密钥加密并签名 第三十五章 结合加密和签名 可以在同一条消息中加密和签名。在大多数情况下,只需组合前面主题中给出的方法即可。本主题讨论了多种场景。 使用非对称密钥签名并加密 要签名…...
FastAPI 第八课 -- 路径操作依赖项
目录 一. 前言 二. 依赖项(Dependencies) 2.1. 依赖注入 2.2. 依赖项的使用 三. 路径操作依赖项的基本使用 3.1. 预处理(Before) 3.2. 后处理(After) 四. 多个依赖项的组合 五. 异步依赖项 一. 前…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

基于TurtleBot3在Gazebo地图实现机器人远程控制
1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...