干货分享 | 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 ...
随机推荐
- MySQL数据库基本操作以及使用
MySQL数据库 操纵数据库 查看数据库 show databases; 创建数据库 create database <database_name>; 删除数据库 drop databas ...
- stm32f10x系列学习笔记(三)ADC
ADC_SampleTime 用途:在ADC通道配置(ADC_RegularChannelConfig)需要传输的参数. 含义:指两个采样阶段之间的延迟周期数,该参数会影响ADC在采样过程中的性能和准 ...
- Java并非锁之独占非公平锁理解
Java锁系列教程之独占式锁 在Java并发编程中,锁是一个很重要的对象.Java中锁有两种:隐式锁和显式锁.使用synchronized关键字的锁是隐式锁.因为锁的申请和释放都是由JVM来维护的,不 ...
- LogBack 没有打印日志
背景: 某日进行测试,新增了一行日志(项目使用的是logback) 报错: 无,就是不打印日志 解决: 经过仔细查看代码,发现之前的人写代码的时候 在其它类里面,将 private final Log ...
- 微软azure devops 如何搭建代理池服务器
如果你的pipeline使用微软azure的服务器进行编译失败,提示你不能进行并行任务的话,可以自己拿一台服务器来搭建编译服务器. 目标是让你的 Organization settings -> ...
- KernelWarehouse:英特尔开源轻量级涨点神器,动态卷积核突破100+ | ICML 2024
动态卷积学习n个静态卷积核的线性混合,加权使用它们输入相关的注意力,表现出比普通卷积更优越的性能.然而,它将卷积参数的数量增加了n倍,因此并不是参数高效的.这导致不能探索n>100的设置(比典型 ...
- Asp.net core 学习笔记之 Microsoft Graph API
早年如果我们要读写用户得 outlook 内容是比较麻烦的, 要用许多 smtp 之类的方式. 现在终于是有了 http 级的 API 可以 call 了. 不仅仅是 outlook, calenda ...
- Vue3——axios 安装和封装
axios 安装和封装 安装 npm install axios 最后通过 axios 测试接口!!! axios 二次封装 在开发项目的时候避免不了与后端进行交互,因此我们需要使用 axios 插件 ...
- [namespace hdk] 64位 bitset
功能 已重载运算符 [](int) (右值,修改请使用 set() 方法) ~() +(bitset) +(unsigned long long) +=(bitset) +=(unsigned lon ...
- 快速理解和使用stream流
数据量越大,硬件内核数越多,stream流相比传统for循环速度越快. 原因是stream流是可以并行处理的. 如果要使用stream流,可以直接用flatmap把外层嵌套扁平化,只留下自己需要处理的 ...