首页/文章/ 详情

嵌入式开发,逻辑分析仪一定要会用

3天前浏览15
单片机开发工程师和电子爱好者,每天都要和各种各样的数字电路打交道。在制作调试电路时除了使用万用表、示波器等工具,逻辑分析仪也是必不可少的。

逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,最主要的作用在于时序判定。

逻辑分析仪与示波器不同,它不能显示连续的模拟量波形,而只显示高低两种电平状态(逻辑1和0)。

在设置了参考电压后,逻辑分析仪将采集到的信号与电压比较器比较,高于参考电压的为逻辑1,低于参考电压的为逻辑0。

这样就可以将被测信号以时间顺序显示为连续的高低电平波形,便于使用者进行分析和调试。

使用逻辑分析仪,可以方便地设置信号触发条件开始采样,分析多路信号的时序,捕获信号的干扰毛刺,也可以按照规则对电平序列进行解码,完成通信协议分析。

逻辑分析仪根据其硬件设备的功能和复杂程度,主要分为独立式(单机型)逻辑分析仪和基于电脑(PC-Base)的虚拟逻辑分析仪两大类。

独立式逻辑分析仪是将所有的软件,硬件整合在一台仪器中,使用方便。虚拟逻辑分析仪则需要结合电脑使用,利用PC强大的计算和显示功能,完成数据处理和显示等工作。

专业逻辑分析仪,通常具有数量众多的采样通道,超快的采样速度和大容量的存储深度,但昂贵的价格也不是个人所能承受的。

作为工程师手头常备的开发工具,目前有许多入门级的逻辑分析仪设计,整体功能虽然不能和专业高档仪器相比,但是用较低的成本来实现特定的功能,也是非常成功的设计。


本文以下讨论的逻辑分析仪,主要是指这类入门级设计。

基于电脑并口的逻辑分析仪曾是主流,但是近年来电脑系统逐步不再配置并口,这类设计已经成为明日黄花,仅仅还具有原理学习的价值。

另一类的逻辑分析仪,是以低速单片机为基础的。很多爱好者用PIC、AVR等常见单片机设计了自己的作品。但这类单片机逻辑分析仪的共同弱点就是采样速度太慢,通常不超过1MHz。

以USB IO芯片为基础的入门级逻辑分析仪现在最为流行。

比如Saleae logic,还有类似的USBee等。这类产品主要采用一个USB IO芯片,例如CYPRESS公司的CY7C68013A-56PVXC,所有的信号触发和处理工作都是电脑上的软件完成的,硬件部分就只是一个数据记录仪。

最高采样速度为24MHz。它们可以“无限数量”地采样,因为所有的数据都是存储在电脑里的。

目前一般最多是8个通道,更多的通道数量会成比例地降低最高采样速度。这类产品构造简单,方便易用,价格便宜,是调试单片机开发工作的好工具。

它的缺点主要是采样速度只有24MHz、8个通道,对于分析高速并行总线就不能胜任了。

更进一步的设计,需要增加FPGA、SRAM等器件,才能解决速度不够和通道数量不足的问题。

下面就以Saleae逻辑分析仪为例,通过采样分析I2C总线波形和PWM波形,简单介绍它的特点和使用方法。


先介绍用逻辑分析仪采样单片机对I2C器件AT24C16的写数据过程。

硬件连接

1. 先将逻辑分析仪的GND与目标板的GND连接,让二者共地。

2. 选择需要采样的信号,这里就是AT24C16的SDA和SCL,将SDA接入逻辑分析仪的通道1(Input 1),SCL接入通道1(Input 2)。

3. 将逻辑分析仪和电脑USB口连接,windows会识别该设备,并在屏幕右下角显示USB设备标识。

软件使用

1.运行Saleae软件,此时逻辑分析仪的硬件已经与电脑相连,软件会显示[Connected]。

2.设置采样数量和速度,I2C为低速通信,所以速度设置不必太高,这里设置为20M Samples @ 4M Hz的速度,也就是能持续采样5秒钟。

3.设置协议,点右上角的“Options”按钮,找到an alyzer1,设置为I2C协议,详见图1。

4.按“Start”按钮,开始采样。

 

图1

数据分析

采样结束后,可以看到波形,见图2。由于我们设置了是I2C分析,因此不光显示出波形,还有根据I2C协议解码显示的字节内容。

单片机对AT24C16进行写入操作,在0x00地址处写入10000等数字。波形起始是“start”信号,然后依次是AT24C16的标识0xA2,写入地址0x00,数据0x10,0x27等。由于写入以字节为单位,因此0x2710 = 10000,表明采样成功。

将鼠标放在波形上,点击左键,实现zoom in功能。结果见图3,在“start”条件后,在SCL的8个连续脉冲的高电平处,SDA对应的信号为10100010,即0xA2,第9个脉冲高电平处为0,是ACK标志。

图2

图3

图4

以上简单介绍了用逻辑分析仪进行I2C分析的过程,可以看到操作起来非常简单。


下面再介绍利用逻辑分析仪采样三相交流电机驱动器的6路PWM波形。

硬件连接

1. 先将逻辑分析仪的GND与目标板的GND连接,让二者共地,见图5。

2. 选择需要采样的信号,这里就是单片机6路PWM波形的输出引脚,将其接入逻辑分析仪的通道1(Input 1)至通道6(Input 6),并且把通道的名字改为Utop、Ubottom、Vtop、Vbottom、Wtop、WBottom,分别代表三路输出的上下桥臂。

3. 将逻辑分析仪和电脑USB口连接,windows会识别该设备,并在屏幕右下角显示USB设备标识。

图5

软件使用

1. 运行Saleae软件,此时逻辑分析仪的硬件已经与电脑相连,软件会显示[Connected]。

2. 设置采样数量和速度,PWM的频率为15kHz,这里设置为2M Samples @ 4MHz的速度。

3. 设置触发条件,默认“----”就可以了。

4. 按“start”按钮,开始采样。

数据分析

采样结束后,可以看到波形,见图6。

 图6

典型的三相电机驱动PWM是互补型的,即一组信号的上下两个波形的状态是相反的,分别控制这组桥臂上下两个开关管的状态,避免同时导通造成短路,见图7。

图7  典型的三相电机驱动电路


将鼠标放在波形上,连续点击左键,实现zoom in功能。见图8。

图8

在UBottom的下降沿和UTop的上升沿放置标记线,在右下角的显示框中,可以看到T2-T1=2.25μs,这就是先关断后打开的时间差,专业上称为“死区时间”(Deadtime)。

另外,还可以看到PWM的宽度45.5μs,周期66.6μs,占空比31.6%,频率15.0376kHz等信息。这就是一个典型的三相电机变频器的SVPWM波形。

以上两个例子,简单介绍了逻辑分析仪的使用,希望能对广大开发者有所帮助和启发。

声明:


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

来源:硬件笔记本
电路电子芯片通信电机控制SCL
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-11-11
最近编辑:3天前
硬件笔记本
本科 一点一滴,厚积薄发。
获赞 156粉丝 45文章 529课程 0
点赞
收藏
作者推荐

案例+图文 | 轻松搞定DC-DC升压原理

今天给大家分享的是DC-DC 升压电路。 这里主要是关于:DC-DC 升压电路、DC-DC 升压模块原理、如何构建DC-DC 升压电路。 一、什么是 DC-DC 转换器?DC-DC 转换器是一种电力电子电路,可有效地将直流电从一个电压转换为另一个电压。 DC-DC 转换器在现代电子产品中扮演着不可或缺的角色。这是因为与线性稳压器相比,它们具有多项优势。尤其是线性稳压器会散发大量热量,与 DC-DC 转换器中的开关稳压器相比,它们的效率非常低。 DC-DC 升压电路在介绍 DC-DC 转换器 的工作原理之前,看一个示例,为什么 DC-DC 转换器这么有用?假设构建一个具有以下要求的电路: DC-DC 升压电路2Ω 负载电阻12V 直流电源5V 负载电压我们需要降低 12V 电池的电压,为负载提供 5V 电压。我们可以将一个2.8Ω的电阻与负载串联,以提供所需要的电压。 先计算电路的效率如下: DC-DC 升压电路从这些计算中,我们可以看到负载仅仅消耗了 12.5W 的输入功率,剩余部分 (30 – 12.5 = 17.5 W) 转化为热量。 照这么来看,其实是有点浪费的,如果触摸串联电阻,会有点热,这里需要结合机制来冷却电路,为了获得更优的解决方案,可以看下面的电路: DC-DC 升压电路开关断开时,输入电压为 0V,控制在 ON 位置时,输入电压为 12V。下图分别显示了开关位置 ON 和 OFF 的等效电路。 DC-DC 升压电路等效电路如果我们如下图(a)所示控制开关,我们得到如下图(b)所示的电压图。T为切换周期,单位为毫秒或微秒。 DC-DC 升压电路在这种情况下,这种开关行为的平均输出电压为 5V,因为: DC-DC 升压电路该电路的平均输出电压为5V,但我们可以通过使用RC滤波电路去除谐波来改善输出波形。 如果我们假设开关是理想的(理想开关是不消耗或耗散电源的开关),我们可以计算出该电路的效率为 100%。当开关处于 ON 位置时,流过电路的电流为 6A。 由于我们有一个理想的开关,耗散功率为 P_diss = RI 2 = 0 * 9 2 = 0W。当开关处于关闭位置时,没有电流流过开关,因此在这种情况下,耗散功率也为 0。 然而在实际应用中,找到一个理想的开关是比较困难的,这就意味着实际上会有一些功耗,虽然有功耗,但转换的效率仍旧很高。 二、 DC-DC 升压电路DC-DC 升压电路主要是增加电源的电压,例如:升压转换器可以采用 5V 电源并将其升压至 25V。通常,你会在电池充电器或太阳能电池板中找到 DC-DC 升压转换器。它们还可用于从同一电池为具有不同工作电压的组件供电。 这种配置将直流电压升高到由电路中组件选择决定的水平。这是升压转换器的一般示意图。 1、升压开关打开状态 升压开关 ON 状态2、升压开关关闭状态升压开关关闭状态基本配置包括直流电源(Vin)、电感(L)、二极管(D)、开关器件(SW)、平滑电容(C)和负载电阻(Load),Vout 是输出电压。 开关通常是功率电子器件,例如由 PWM 信号控制的 MOSFET或BJT 晶体管。该 PWM 信号通过非常快速地切换晶体管来工作,通常每秒数千次。 三、DC-DC 升压电路工作原理假设当前的电压是 5V,需要将 5V 转换为更高的电压值,用 DC-DC 升压电路就可以实现,这里假设我们是管道工。 1、涡轮加速 首先我们需要加速涡轮。为此,节气门打开,水快速排放,将部分能量传递给涡轮机,结果涡轮机开始旋转。 DC-DC 升压电路工作原理2、填充压力储罐 油门关闭,由旋转的涡轮飞轮半部推动的一部分水打开阀门并填充储水箱,另一部分水在储水箱提供的高压下流向消费者,同时阀门防止水倒流。 DC-DC 升压电路工作原理3、从压力储罐发电并加速涡轮机 涡轮的速度开始下降。水不能再推动阀门,储水箱仍有足够的能量积累。然后油门再次打开,水开始快速旋转涡轮。由于消费者从储罐接收能量,因此流向消费者的能量不会停止,然后循环重复。 现在工作原理已经很清楚了,我们将从管道设备切换到电子设备。DC-DC 升压电路工作原理我们用感应节流阀代替了涡轮机。晶体管用于代替控制水流的节流阀。二极管起阀门作用,用电代替储压罐。 下面就可以很好的理解,DC-DC 升压电路的工作原理。 1、电感累积电荷 开关已关闭,电感通过从源接收电流来积累能量。 DC-DC 升压电路工作原理2、将能量转移到电容 开关打开,线圈保持磁场中积累的能量。电流试图保持在同一水平,但来自电感的额外能量会提高电压,从而打开通过二极管的路径。一部分能量流向消费者,而剩余能量在电容器中积累。 DC-DC 升压电路工作原理3、在电感中积累能量并将电荷转移给消耗的电路 然后开关被锁定,线圈再次开始积累能量,同时,消耗的从电容接收能量。 DC-DC 升压电路工作原理四、如何构建 DC-DC 升压电路在下面中,构建一个 1.5V 至 5V DC-DC 升压转换器, 1、构建 DC-DC 升压 电路所需要的组件: 1.5V 直流电源180uH 电感一个1个1N3491 二极管1个33uF 电容一个 150 Ω 电阻一个 MOSFET或JFET 开关晶体管PWM 源,如Arduino Uno或555 定时器,可生成 50KHz、5V、75% 占空比2、DC-DC 升压电路工作原理图 DC-DC 升压电路声明: 声明:文章来源头条李工谈元器件。本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。 来源:硬件笔记本

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