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测试点的用途的更多相关文章

  1. 纯干货分享!2020阿里java岗笔试面试题总结(附答案)

    前言 2020金九银十马上结束,现为大家整理了这次金九银十面试阿里的面试题总结,都是我从朋友那拿到的面试真题,话不多说,满满的干货分享给大家! int a=10是原子操作吗? 是的.  注意点: i+ ...

  2. 干货分享:SQLSERVER使用裸设备

    干货分享:SQLSERVER使用裸设备 这篇文章也适合ORACLE DBA和MYSQL DBA 阅读 裸设备适用于Linux和Windows 在ORACLE和MYSQL里也是支持裸设备的!! 介绍 大 ...

  3. iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ②)

    距上一篇博客"APP引导页的高度集成 - DHGuidePageHUD - ①"的发布有一段时间了, 后来又在SDK中补充了一些新的内容进去但是一直没来得及跟大家分享, 今天来跟大 ...

  4. iOS - GitHub干货分享(APP引导页的高度集成 - DHGuidePageHUD - ①)

    好长时间没更新博客, 是时候来一波干货分享了;APP引导页话不多说每一个APP都会用到,分量不重但是不可缺少,不论是APP的首次安装还是版本的更新,首先展现给用户眼前的也就只有它了吧,当然这里讲的不是 ...

  5. 【干货分享】Google 的设计准则,素材和资源

    在谷歌,他们说, “专注于用户,所有其它的就会水到渠成 ”.他们遵循设计原则,寻求建立让用户惊喜的用户体验.谷歌一直挑战自己,为他们的用户创造一种视觉语言,综合优秀设计的经典原则和创新.谷歌设计规范是 ...

  6. 【干货分享】Node.js 中文资料导航

    这篇文章与大家分享一批高质量的的 Node.js 中文资料.Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用 Node ...

  7. 干货分享:MySQL之化险为夷的【钻石】抢购风暴【转载】

    转自: 干货分享:MySQL之化险为夷的[钻石]抢购风暴 - Vanos_韩尛哲 - 博客园http://www.cnblogs.com/Vanos-lcp/p/5642097.html 抢购钻石不稀 ...

  8. 32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)

    32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议 ...

  9. 逆向实用干货分享,Hook技术第一讲,之Hook Windows API

    逆向实用干货分享,Hook技术第一讲,之Hook Windows API 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) ...

  10. 逆向实用干货分享,Hook技术第二讲,之虚表HOOK

    逆向实用干货分享,Hook技术第二讲,之虚表HOOK 正好昨天讲到认识C++中虚表指针,以及虚表位置在反汇编中的表达方式,这里就说一下我们的新技术,虚表HOOK 昨天的博客链接: http://www ...

随机推荐

  1. 再探se

    对象 没有分配内存空间的对象是一个特殊的对象 null null是引用类型的,但是没有指向任何位置,所以是不能被访问的,强制访问会空指针异常 针对具体对象的属性称之为对象属性,成员属性,实例属性 针对 ...

  2. 【爬虫实战】——利用bs4和sqlalchemy操作mysql数据库,实现网站多行数据表格爬取数据

    前言 此篇接上一篇的内容,在其基础上爬取网站的多行表格数据,以及把数据写入到mysql数据库中 目录 一.定位表格查找元素 二.提取数据 三.写入mysql数据库 四.附录 一.定位表格查找元素 首先 ...

  3. 使用 nuxi generate 进行预渲染和部署

    title: 使用 nuxi generate 进行预渲染和部署 date: 2024/9/4 updated: 2024/9/4 author: cmdragon excerpt: 通过 nuxi ...

  4. TimesURL: 用于通用时间序列表征学习的自监督对比学习《TimesURL: Self-supervised Contrastive Learning for Universal Time Series Representation Learning》模型代码运行解析

    现在是2024年3月25日16:17,打算好好的跑一个模型的代码,之前都没有系统性的过一遍,打算拿这个模型的代码开刀,Go,环境和乱七八糟的已经配好了. 关于这篇论文,之前写了博客,里面也有Githu ...

  5. MyBatis——案例——查询-查询详情

      查询-查询详情 (根据id获取商品全部信息(即商品对象))          1.编写Mapper接口方法:Brand selectById(int id);            2.编写SQL ...

  6. 图解MQTT概念、mosquitto编译和部署 ,写代码,分别使用外网和本地服务器进行测试

    前沿提要: MQTT是什么不知道? 看这一篇:https://www.cnblogs.com/happybirthdaytoyou/p/10362336.html 阿里云官网玩不转? 看这一篇: ht ...

  7. [TK] 矩阵取数游戏<简单版> hzoi-tg-906-2

    本题是一个坐标DP问题 状态转移 首先我们注意到,一个状态只能由两种前置状态得到:取左边的数和取右边的数,因此我们以状态为阶段定义如下: \(f[a][b][c]\) 为状态转移数组,其中 \(a\) ...

  8. Nacos 开启鉴权设置

    Nacos 开启鉴权设置 # 开启鉴权 nacos.core.auth.enabled=true nacos.core.auth.system.type=nacos # 开启鉴权之后,你可以自定义用于 ...

  9. 【赵渝强老师】MongoDB的inMemory存储引擎

    一.MongoDB的存储引擎概述 存储引擎(Storage Engine)是MongoDB的核心组件,负责管理数据如何存储在硬盘(Disk)和内存(Memory)上.从MongoDB 3.2 版本开始 ...

  10. laravel框架中上传图片,并在本地显示

    1 //处理文件上传 2 if ($request->hasFile('image')&&$request->file('image')->isValid()){ 3 ...