首页/文章/ 详情

为什么一上电就炸,是我不会用示波器?

11月前浏览95

一、前言

如何正确使用仪器仪表是每一位工程师必要的要求,特别是示波器,很多人都不注意隔离等限制,以至于发生炸探头等事件,那么在使用示波器时有哪些不安全操作呢?


二、不安全操作之浮地测量

有些工程师会有这样的一个习惯:当要测量高压信号时,习惯性的把电源插头的保护地断开,使用普通无源探头直接进行高压的浮地测量。实际上这么做还是有危害的。

常见现象举例:触摸示波器外壳感觉到触电

检查:1.示波器电源地是否人为断开或接触不良;2.换个插排;3.所在的大楼地未接好。

原因:Y电容是跨接在电源的火线和地线,零线和地线的电容,如图1所示,主要起到滤波保护的作用,并抑制共模干扰,其属于安规电容,电容器失效后不会导致电击,不会危及人身安全。当电源插头的保护地断开时,220V电压经Y电容分压,中间110V电压直接加在示波器金属外壳上,当人触碰到带电区域时则会发生被针扎一样的触电现象,虽不会危及人身安全,但是也属于危险操作。

图1 电源电路原理图

三、不安全操作之拿起探头就接线测量

常见现象举例:跳闸/被测电路板被烧穿/示波器或探头被烧毁

检查:1.被测信号的地与示波器校准信号的地是否共地;2.测量市电时是否直接用单一无源探头进行测量。

分析原因之前先了解什么是市电,以及供电线路的组成。我国市电(居民用电)规格为交流220V@50Hz,供电线路即电源三插头中的电线由火线、零线和地线组成,具体如图2所示。

l火线(L):也称相线,由发电站或变电站提供,电压220V,人体接触会有危险;

l零线(N):为火线提供回路,在发电站或变电站端接地;由于是远端接地,因此在居民楼用户端电位不一定为零,可能带弱电,但相对安全;

地线(E):零电势参考点,在居民楼用户端接大地,零电压,绝对安全。

图2 三线的关系

原因:电源系统测试中经常要求测量三相供电中的火线与火线,或者火线与零(中)线的相对电压差,而普通数字示波器所有通道共地,相互间不隔离。所有施加到示波器上以及由示波器提供的信号都具有一个公共的连接点,该连接点通常是示波器机壳通过使用交流电源设备电源线中的第三根导线地线,将探头地线连到一个测试点上。如果这时使用单端探头测量,那么单端探头的地线与供电线直接相连,后果将会是短路。


四、规范操作

1.接线测量前对“地”自检

接线前我们如何判断探头上的地能否直接接被测板子的地呢?很简单,三个步骤实现自检:

准备工具:被测板子、万用表、示波器

(1)准备:万用表开启,选择交流最大档;

(2)接线:示波器和被测板子分别接好电源,暂不通电;万用表的表笔一端接示波器校准信号的地,另一端接被测板子的地。简易接线图如图3所示;

(3)测量:各自通电,测量交流值。

此时若测量数值不为0,则说明被测板子与示波器的地之间有压差,示意图如图4所示。则不能直接用单一无源探头地夹连接被测板子上的地。

图3 测量压差接线图



图4 当存在压差时不能直接将两“地”相连


1.“A-B”伪差分测市电

采用普通无源探头应用“A-B”法对市电进行测量时,应将两通道探头的负端(地)均接至电源地线,一个通道的探头探针(正端)接零线,另一个通道的探头探针(正端)接火线(如图5左所示),则两通道的测量差值即为市电波形。

但该方法 会有测量误差,在信号时低频信号,信号幅度足够大,能够超过任何担心的噪声情况下,可以采取这种方法。

图5 测量市电推荐接线图

1.最佳测量法:使用高压差分探头

使用高压差分探头进行测量是既安全又能使测量结果准确的方法。浮地测量和测市电(接线图如图5 右所示)的最佳解决办法就是使用高共模抑制比的差分探头,因为两个输入端都不存在接地的问题,两路输入信号的差分运算在探头前端放大器完成,传输到示波器通道的信号是已差分后的电压,可实现安全的测量。

图6 高压差分探头

五、最后

高压差分探头虽然相比普通无源探头价格更昂贵,但在测量高压信号时,能确保测量结果更准确且更安全,市电和浮地测量推荐使用。

声明:


 
声明:本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。  


来源:硬件笔记本
电源电路电子
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-11-11
最近编辑:11月前
硬件笔记本
本科 一点一滴,厚积薄发。
获赞 160粉丝 54文章 1128课程 0
点赞
收藏
作者推荐

STM32的完整启动流程

关于STM32的启动流程,网上有的资料在讨论几种boot模式,有的在回答启动文件的内容,在查阅了很多资料后,本文给出一个比较全面的总结和回答。1. 根据boot引脚决定三种启动模式复位后,在 SYSCLK 的第四个上升沿锁存 BOOT 引脚的值。BOOT0 为专用引脚,而 BOOT1 则与 GPIO 引脚共用。一旦完成对 BOOT1 的采样,相应 GPIO 引脚即进入空闲状态,可用于其它用途。BOOT0与BOOT1引脚的不同值指向了三种启动方式:从主Flash启动。主Flash指的是STM32的内置Flash。选择该启动模式后,内置Flash的起始地址将被重映射到0x00000000地址,代码将在该处开始执行。一般我们使用JTAG或者SWD模式下载调试程序时,就是下载到这里面,重启后也直接从这启动。从系统存储器启动。系统储存器指的是STM32的内置ROM,选择该启动模式后,内置ROM的起始地址将被重映射到0x00000000地址,代码在此处开始运行。ROM中有一段出厂预置的代码,这段代码起到一个桥的作用,允许外部通过UART/CAN或USB等将代码写入STM32的内置Flash中。这段代码也被称为ISP(In System Programing)代码,这种烧录代码的方式也被称为ISP烧录。关于ISP、ICP和IAP之间的区别将在后续章节中介绍。从嵌入式SRAM中启动。显然,该方法是在STM32的内置SRAM中启动,选择该启动模式后,内置SRAM的起始地址将被重映射到0x00000000地址,代码在此处开始运行。这种模式由于烧录程序过程中不需要擦写Flash,因此速度较快,适合调试,但是掉电丢失。总结:上面的每一种启动方式我都描述了“xxx的起始地址被重映射到了0x00000000地址,从而代码从xxx开始启动”,如下图是STM32F4xx中文参考手册中的图,可以看到类似的表述。同时,在下图中也展示了STM32F4xx中统一编址下,各内存的地址分配,注意一点,即使相应的内存被映射到了0x00000000起始的地址,通过其原来地址依然是可以访问的。2. 启动后bootloader做了什么?根据BOOT引脚确定了启动方式后,处理器进行的第二大步就是开始从0x00000000地址处开始执行代码,而该处存放的代码正是bootloader。bootloader,也可以叫启动文件,无论性能高下,结构简繁,价格贵贱,每一种微控制器(处理器)都必须有启动文件,启动文件的作用便是负责执行微控制器从“复位”到“开始执行main函数”中间这段时间(称为启动过程)所必须进行的工作。最为常见的51,AVR或MSP430等微控制器当然也有对应启动文件,但开发环境往往自动完整地提供了这个启动文件,不需要开发人员再行干预启动过程,只需要从main函数开始进行应用程序的设计即可。同样,STM32微控制器,无论是keiluvision4还是IAR EWARM开发环境,ST公司都提供了现成的直接可用的启动文件。网上有很多资料分析了STM32的启动文件的内容,在此我只进行简单的表述。启动文件中首先会定义堆栈,定义中断/异常向量表,而其中只实现了复位的异常处理函数Reset_Handler,该函数内容如下(STM32F4XX,IAR编译器),可以看到其主要执行了SystemInit和__iar_program_start两个函数,其主要功能除了初始化时钟,FPU等,还会执行一个重要功能,那就是内存的搬移、初始化操作。 这是我想重点介绍的内容,同时也会回答一个疑问,就是如果从Flash启动的话,代码究竟是运行在哪儿的?在我之前接触ARM9、CortexA系列的时候,一般都是把代码搬到内部的SRAM或者外部DDR中执行的,STM32是如何呢?答案下一小节揭晓。 3. bootloader中对内存的搬移和初始化本节针对程序在内置Flash中启动的情况进行分析。我们知道烧录的镜像文件中包含只读代码段.text,已初始化数据段.data和未初始化的或者初始化为0的数据段.bss。代码段由于是只读的,所以是可以一直放在Flash中,CPU通过总线去读取代码执行就OK,但是.data段和.bss段由于会涉及读写为了,为了更高的读写效率是要一定搬到RAM中执行的,因此bootloader会执行很重要的一步,就是会在RAM中初始化.data和.bss段,搬移或清空相应内存区域。因此我们知道,当启动方式选择的是从内置Flash启动的时候,代码依旧是在Flash中执行,而数据则会被拷贝到内部SRAM中,该过程是由bootloader完成的。bootloader在完成这些流程之后,就会将代码交给main函数开始执行用户代码。现在让我们思考一个问题,PC机在运行程序的时候将程序从外存(硬盘)中,调入到RAM中运行,CPU从RAM中读取程序和数据;而单片机的程序则是固化在Flash中,CPU运行时直接从Flash中读取程序,从RAM中读取数据,那么PC机能从Flash之类的存储介质中直接读代码执行吗?答案是不行。因为x86构架的CPU是基于冯.诺依曼体系的,即数据和程序存储在一起,而且PC机的RAM资源相当丰富,从几十M到几百M甚至是几个G,客观上能够承受大量的程序数据。但是单片机的构架大多是哈弗体系的,即程序和数据分开存储,而且单片的片内RAM资源是相当有限的,内部的RAM过大会带来成本的大幅度提高。4. ISP、IAP、ICP三种烧录方式虽然这个小节稍稍偏题,但是由于上面在3中启动方式中介绍过了ISP烧录,因此一并在此介绍剩下的两种烧录方式。本小节摘自 https://blog.csdn.net/zhuimeng_ruili/article/details/119709888。ICP(In Circuit Programing)。在电路编程,可通过CPU的Debug Access Port 烧录代码,比如ARM Cortex的Debug Interface主要是SWD(Serial Wire Debug)或JTAG(Joint Test Action Group);ISP(In System Programing)。在系统编程,可借助MCU厂商预置的Bootloader 实现通过板载UART或USB接口烧录代码。IAP(In Applicating Programing)。在应用编程,由开发者实现Bootloader功能,比如STM32存储映射Code分区中的Flash本是存储用户应用程序的区间(上电从此处执行用户代码),开发者可以将自己实现的Bootloader存放到Flash区间,MCU上电启动先执行用户的Bootloader代码,该代码可为用户应用程序的下载、校验、增量/补丁更新、升级、恢复等提供支持,如果用户代码提供了网络访问功能,IAP 还能通过无线网络下载更新代码,实现OTA空中升级功能。IAP和ISP 的区别。a、ISP程序一般是芯片厂家提供的。IAP一般是用户自己编写的b、ISP一般支持的烧录方式有限,只有串口等。IAP就比较灵活,可以灵活的使用各种通信协议烧录c、isp一般需要芯片进行一些硬件上的操作才行,IAP全部工作由程序完成,不需要去现场d、isp一般只需要按格式将升级文件通过串口发送就可以。IAP的话控制相对麻烦,如果是OTA的话还需要编写后台的。e、注意,这里介绍的bootloader功能显然跟之前介绍的启动文件bootloader有所区别,其目的是为了能接受外部镜像进行烧录,而不是为了运行普通用户程序。声明: 声明:文章来源网络。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。 来源:硬件笔记本

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈