干货分享 | PCB测试点的用途
PCB测试点长什么样子?请看下图:

如果你曾经用过NOKIA手机,每次你打开后盖换电池的时候,每次看到的那两排圆形的点——就是PCB测试点,or you can call it Test Point in English.
NOKIA手机的测试点有什么作用?为什么要留这两排测试点?
大概可以猜测出来:
SIM卡测试点:生产或维修阶段功能测试时使用外置夹具上的SIM卡,方便快速的检测;
供电:包括至少一个Vbat,和一个GND;
开机键:Power_Key,以及与之搭配的上拉电源或下拉GND;
用于维修时其它一些不对外,但可获取一些故障信息的测试点。
下载:要么是串口的RX和TX,要么是USB的VBUS、D-、D+、GND,可能还需要一个使系统进入下载模式的BOOT信号;
用于射频校准的一些信号测试点;
所以,为什么要留这些测试点?
原因如下:
1、这些测试点的信号,有些用户是用不到的,没必要用一个专门的连接器引出来;
2、当你组装好又需要出厂检测或售后维修的时候,最好的操作是能不拆开外壳就不拆开,所以在不影响美观的前提下能在外壳上开孔留出测试点,是最好最通用的做法。
3、测试点这种形式,跟测试夹具是绝配,在大批量操作的时候没有夹具参与是不可能的,比如软件升级、射频参数校准、功能测试等;
夹具长什么样子?请看下图:

那......那这些跟模块有什么关系?
就算是跟模块有关系,跟我这个使用模块的用户又有什么关系?
这么说吧,跟你关系虽然不太多,但还是有一点的。
如果你是使用AT指令开发方式的用户:
虽然理论上你不会用到模组软件的升级,但是万一呢?万一你遇到了一个从未遇到的问题呢?万一你的产品需要一点点的定制功能呢?万一这些都是在你贴片完成之后才发现呢?
如果你是使用LuatOS开发方式的用户:
那么你更需要引出测试点了,因为“所有软件相关的问题都需要你全盘考虑”。
为了不至于要把模组焊接下来再升级,接下来将以Air700ECQ为例,建议你必须把相关测试点引出来。

Air700ECQ模组管脚示意图
相关管脚详细说明,参见Air700ECQ硬件设计手册。

建议引出Air700ECQ相关测试点
调试串口相关:
如果你的产品架构里需要通过USB跟主控通信,也就是当需要抓模组Trace时USB需处于工作状态。那么你也需要把调试串口引出测试点:
DBG_TXD,DBG_RXD;供电相关:
VBAT、GND;下载相关:
VBUS、DP、DM、GND;开机相关:
Power_Key、BOOT、VDD_EXT;操作体验相关:
而且,最好的情况是要像NOKIA那样,不但在PCB上引出足够的测试点,还要方便整机直接操作,而不是拆开外壳再操作,对于大批量的返工来说,那真是一个不太好的体验。
你可能要开始“怼”我了,没有测试点怕什么,合宙不是有FOTA服务吗?
对,你说的没错,但是FOTA一般是用在批量发货之后的操作,因为FOTA也有几个弱点:
1、需要耗费SIM卡流量;
2、FOTA升级软件还好,FOTA上传Trace比较有难度。
3、大批量操作时需要排队;
所以,还是老老实实留好测试点。
PCB测试点留得好不好,本质上反映的是作为一名工程师,你在“治未病”方面的能力和思考。
有可能你预留的测试点永远都不会用到,但一旦不得已要使用的时候——它真的可以避免产生批量事故。
干货分享 | PCB测试点的用途的更多相关文章
- 纯干货分享!2020阿里java岗笔试面试题总结(附答案)
前言 2020金九银十马上结束,现为大家整理了这次金九银十面试阿里的面试题总结,都是我从朋友那拿到的面试真题,话不多说,满满的干货分享给大家! int a=10是原子操作吗? 是的. 注意点: i+ ...
- 干货分享:SQLSERVER使用裸设备
干货分享:SQLSERVER使用裸设备 这篇文章也适合ORACLE DBA和MYSQL DBA 阅读 裸设备适用于Linux和Windows 在ORACLE和MYSQL里也是支持裸设备的!! 介绍 大 ...
- iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ②)
距上一篇博客"APP引导页的高度集成 - DHGuidePageHUD - ①"的发布有一段时间了, 后来又在SDK中补充了一些新的内容进去但是一直没来得及跟大家分享, 今天来跟大 ...
- iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ①)
好长时间没更新博客, 是时候来一波干货分享了;APP引导页话不多说每一个APP都会用到,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了吧,当然这里讲的不是 ...
- 【干货分享】Google 的设计准则,素材和资源
在谷歌,他们说, “专注于用户,所有其它的就会水到渠成 ”.他们遵循设计原则,寻求建立让用户惊喜的用户体验.谷歌一直挑战自己,为他们的用户创造一种视觉语言,综合优秀设计的经典原则和创新.谷歌设计规范是 ...
- 【干货分享】Node.js 中文资料导航
这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...
- 干货分享:MySQL之化险为夷的【钻石】抢购风暴【转载】
转自: 干货分享:MySQL之化险为夷的[钻石]抢购风暴 - Vanos_韩尛哲 - 博客园http://www.cnblogs.com/Vanos-lcp/p/5642097.html 抢购钻石不稀 ...
- 32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)
32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议 ...
- 逆向实用干货分享,Hook技术第一讲,之Hook Windows API
逆向实用干货分享,Hook技术第一讲,之Hook Windows API 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) ...
- 逆向实用干货分享,Hook技术第二讲,之虚表HOOK
逆向实用干货分享,Hook技术第二讲,之虚表HOOK 正好昨天讲到认识C++中虚表指针,以及虚表位置在反汇编中的表达方式,这里就说一下我们的新技术,虚表HOOK 昨天的博客链接: http://www ...
随机推荐
- MFC 静态拆分视图窗口
今天学习了MFC中拆分窗口,现将方法记录下. 想要在窗口视图中拆分成左右两个视图窗口,首先要注意的是拆分后要加载到左右的视图要符合动态创建的类, 也就是要在自己创建的视图类中添加动态创建机制宏. 类内 ...
- Mac m1 安装 scrcpy
前提:已经安装 brew 1. 设定 HOMEBREW_BOTTLE_DOMAIN(不设定的时候 ,会遇到报错 Bottle missing, falling back to the default ...
- C++17: 用折叠表达式实现一个IsAllTrue函数
前言 让我们实现一个 IsAllTrue 函数,支持变长参数,可传入多个表达式,必须全部计算为true,该函数才返回true. 本文记录了逐步实现与优化该函数的思维链,用到了以下现代C++新特性知识, ...
- pgsql 查询及更新json字段的某个属性
pgsql 查询及更新json字段的某个属性 一.查询json字段中的某个属性 查询 t_user 表中json 字段 info 中的 name 属性 select info ->> 'n ...
- DECL: 针对噪声时间序列的去噪感知对比学习《Denoising-Aware Contrastive Learning for Noisy Time Series》(时间序列、对比学习、去噪)
今天是2024年9月12日,组会摸鱼,很久没看论文了,在摸鱼看代码,最近IJCAI 2024出来了,找了几篇论文看,首先这是第一篇. 论文:Denoising-Aware Contrastive Le ...
- 【赵渝强老师】使用MongoDB的Web控制台
MongoDB可以通过web界面监控数据库,默认情况下该选项是关闭的,需要在启动的时候开启.启用web 控制台,需要在启动mongodb的时候,加上:--httpinterface 启动MongoDB ...
- for循环遍历的盗版笔记
遍历一个List有如下几种方法 5 6 是 java8 增强for循环底层由Iterator实现 增强for的出现时替代迭代器的,所以在遍历集合或者遍历数组就可以使用增强for去完成 增强for循 ...
- 2022年2月国产数据库排行榜:冠军宝座面临挑战,OceanBase 重返 TOP3
大家好!文章开始本是用"新春快乐!虎年吉祥!"和大家打个招呼,无奈时间过得太快而文章整理得很慢,眼看崭新的三月还有几天就到来,那就在这里祝屏幕前的你在三月比二月更优秀! 月初,20 ...
- Linux查看CPU核数
**方法一:通过proc文件系统 获取cpu总数量 命令如下 ** cat /proc/cpuinfo |grep processor 方法二:nproc命令 nproc 方法三:lscpu 显示CP ...
- C# .netcore NPOI库 实现报表的列自适应删减
实际需求:业务上的一个需求,数据库表A中的B字段存放的是该条数据的一些标签,标签存在两级[即一级标签和二级标签], 现在要是实现将这些标签统计到报表中,一级标签作为表头,二级标签作为填充值. 由于之前 ...