pdf

使用泰克混合信号示波器调试混合信号嵌入式设计应用指南

  • 1星
  • 日期: 2017-03-15
  • 大小: 2.49MB
  • 所需积分:0分
  • 下载次数:74
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 泰克示波器信号嵌入式

当前的嵌入式设计工程师面临着系统复杂程度日益提高的挑战。典型的嵌入式设计可能会包括各种模拟信号、高速和低速串行数字通信、微处理器总线等等。I 2 C 和 SPI 等串行协议通常用于芯片间通信,但不能在所有应用中代替并行总线。

文档内容节选

使用泰克混合信号示波器调试混合 信号嵌入式设计 应用指南 应用指南 SPI AD 传感器 传感器 微型控制器 I2C FPGA Flash Memory I2C LCD 控制器 显示器 状态LED指示灯 Counter 图 1 混合信号嵌入式系统 引言 当前的嵌入式设计工程师面临着系统复杂程度日益提 高的挑战典型的嵌入式设计可能会包括各种模拟信 号高速和低速串行数字通信微处理器总线等等 I2C 和 SPI 等串行协议通常用于芯片间通信,但不能 在所有应用中代替并行总线 微处理器FPGA模数转换器 ADC 和数模转换器 DAC 等集成电路给当前嵌入式设计带来了独特的测 量挑战工程师可能需要解码两个 IC 之间的 SPI 总线, 同时在同一块系统电路板上观察 ADC 的输入和输出 图 1 是混合信号系统实例 对配备 4 通道示波器的工程师来说,调试图 1 所示 的硬件是一件困难而又让人畏缩的任务许多工程 师用惯了示波器,同时为了节约时间,可能会选择 购买三四台示波器,以便一次探测多个信号逻辑 分析仪可以探测多个数字信号,但调试任务非常复 杂,使用逻辑分析仪所带来的设置和学习过程有些不 值......

使用泰克混合信号示波器调试混合 信号嵌入式设计 应用指南 应用指南 SPI A/D 传感器 传感器 微型控制器 I2C FPGA Flash Memory I2C LCD 控制器 显示器 状态LED指示灯 Counter 图 1. 混合信号嵌入式系统。 引言 当前的嵌入式设计工程师面临着系统复杂程度日益提 高的挑战。典型的嵌入式设计可能会包括各种模拟信 号、高速和低速串行数字通信、微处理器总线等等。 I2C 和 SPI 等串行协议通常用于芯片间通信,但不能 在所有应用中代替并行总线。 微处理器、FPGA、模数转换器 (ADC) 和数模转换器 (DAC) 等集成电路给当前嵌入式设计带来了独特的测 量挑战。工程师可能需要解码两个 IC 之间的 SPI 总线, 同时在同一块系统电路板上观察 ADC 的输入和输出。 图 1 是混合信号系统实例。 对配备 4 通道示波器的工程师来说,调试图 1 所示 的硬件是一件困难而又让人畏缩的任务。许多工程 师用惯了示波器,同时为了节约时间,可能会选择 购买三四台示波器,以便一次探测多个信号。逻辑 分析仪可以探测多个数字信号,但调试任务非常复 杂,使用逻辑分析仪所带来的设置和学习过程有些不 值得。幸运的是,对面临这一任务的工程师,泰克 MSO5000、MSO4000、MSO3000 和 MSO2000 系 2 http://cn.tek.com/oscilloscope 列混合信号示波器 (MSO) 及 MDO4000C 系列混合域 示波器 (MDO) 可以满足他们的需求。泰克 MSO 系 列把 16 通道逻辑分析仪的基本功能与泰克 4 通道示 波器倍受信任的性能结合在一起。泰克 MDO 系列在 MSO 系列平台中增加了一个专用 RF 输入,提供了 内置频谱分析仪。本应用指南介绍了混合信号嵌入式 设计的调试,演示了泰克 MSO5000、MDO4000C、 MSO4000、MSO3000 和 MSO2000 系列提供的业内 领先的性能。 使用 MSO/MDO 系列同时调试多个串行协议 嵌 入 式 设 计 工 程 师 通 常 使 用 串 行 协 议, 如 I2C 和 SPI,以简化电路板上系统模块之间的通信。这些串 行协议可以降低布线的复杂性,但传统示波器一直很 难调试其实现方案。设计人员一般会被迫手动解码采 集的串行数据,或从示波器导出数据,以进行后期处 理和解码。使用示波器解码串行数据可以为嵌入式设 计工程师节约无数个小时的调试时间,允许工程师实 时查看硬件和软件的影响。 使用泰克混合信号示波器调试混合信号嵌入式设计 微型控制器 2 I2C LCD 控制器 SPI 1 I2C 4 A/D FPGA 图 2. 带有探测点的采集子系统。 3 计数器 尽管 DPO 系列示波器可以使用最多四条通道探测串 行数据,但许多常用串行协议要求三条或三条以上的 线。工程师通常需要同时解码和显示多条串行总线, 观测其时间相关性。泰克 MSO/MDO 系列把 DPO 系 列的串行触发和解码功能与 16 条新增数字通道结合 在一起。除 I2C、SPI、CAN、LIN、RS-232 和其它 串行总线标准外,MSO/MDO 系列还支持触发和解码 RS-232 和并行总线。通过 MSO/MDO 系列示波器, 工程师可以同时探测和解码多条串行总线及自定义并 行总线。下面的实例使用 MSO/MDO 系列,调试图 1 所示的嵌入式设计中复杂的多芯片通信错误。 在系统最初调试过程中 ( 如图 1 所示 ),系统偶尔遇到 电路板上状态 LED 指示灯表明发生故障的情况。状态 LED 指示灯报告的错误不明确,导致系统工程师不能 确定问题是由硬件导致的还是由软件导致的。以前, 类似错误一直源于模拟复用器输入上的信号质量差, 但工程师已经成功更换了导致信号保真度问题的硬件。 由于系统工程师怀疑错误可能源于复用器输入之外的 其它来源,他决定探测到复用器的模拟输入及多条数 字总线,以全面查看系统状况。MSO/MDO 系列为调 试提供了 4 条模拟通道和 16 条数字通道,它连接到图 2 中标为 1-4 的信号上。 http://cn.tek.com/oscilloscope 3 应用指南 图 3. MSO4000C 显示了 I2C、SPI 和并行总线及 CH1 模拟 信号。 图 4. Wave Inspector 用来放大和显示分组细节。 图 3 显示了 MSO 系列同时探测 SPI 总线 (1)、I2C 总 线 (2)、3 位 并 行 总 线 (3) 和 模 拟 输 入 (4) 的 屏 幕 快 照。由于错误可以被隔离到某个子例程,因此示波器 配置成单次采集,触发特定的 I2C 活动。把记录长度 设置成 1M 点保证了可以准确地捕获 I2C 总线上事件 周围的所有有用信息。工程师运行子例程,迅速查看 MSO/MDO 系列,了解系统中发生的情况。CH1 上显 示的 MUX 输入上清楚的模拟波形确认了工程师的疑 问,表明硬件问题已经得到解决,错误发生在其它地 方。示波器触发和解码从微控制器中写入的 I2C 数据。 工程师注意到 SPI 上的活动及在传输 I2C 数据后很快 显示了标有 D1 和 D2 的信号。工程师怀疑这些总线 上的活动,因为他认为执行的功能主要涉及 LCD 控 制器。由于示波器已经解码 I2C 数据值,因此工程师 可以看到微控制器已经把 I2C 数据写入地址 0x77。地 址 0x77 是 FPGA 的地址,但工程师认为子例程把数 据写入地址 0x76,这是 LCD 控制器的地址。 图 4 显示了同一采集,其中使用 Wave Inspector® 导 航和搜索功能放大 SPI 和并行总线的细节。SPI 数据 在屏幕上解码成从主设备 (FPGA) 到从设备 (MUX) 的 写入,数据值为 0x15。这一 SPI 命令指示 LWTYMUX 改变信号路径使用的输入。输入信号中这种意想不到 的变化导致 FPGA 向并行总线上的状态 LED 指示灯 发送一个错误代码。在图 4 中也可以观察到这些并行 总线的错误代码和解码。嵌入式设计工程师可以迅速 确定是软件漏洞导致了系统问题,因为 MSO/MDO 系 列示波器能够同时查看和解码所有相关信号。软件编 程人员错误地从微控制器到 FPGA 写入 I2C 数据,而 分组的预计目标是 LCD 控制器。 4 http://cn.tek.com/oscilloscope 使用泰克混合信号示波器调试混合信号嵌入式设计 图 5. MUX_OUT 上的白色边沿表明提供了更详细的信息。 下一代数字波形显示帮您揭示问题 在改动系统软件,校正上一节中介绍的地址漏洞后, 嵌入式设计工程师继续测试更多的系统功能。在进行 测试时,他注意到状态 LED 指示灯偶尔指明错误。与 上一节中描述的错误不同,工程师不确定怎样重建看 到的错误。错误似乎具有随机特点,不能隔离到系统 的某个功能或子例程。 嵌入式设计工程师对错误的随机特点感到很迷惑,不 确定从哪儿入手查找来源。查找错误来源的一个选项 是使用示波器随机探测系统,以期捕获随机事件。尽 管工程师过去一直使用这种方法,但他知道,连接到 所有相关信号、正确配置的 MSO/MDO 系列示波器可 以用少得多的时间找到错误。上一节中大多数探测点 仍连接到示波器上。CH1 探头移动到活动的 MUX 输 入上,这是来自传感器 3 的数字信号。除这 4 个探测 点外,工程师使用一条数字通道探测 MUX 输出。 FPGA 通过 3 位并行总线传送值 0x7,表明已经发生 错误。为隔离问题,MSO/MDO 系列配置成捕获单次 采集,它把触发事件设置成并行总线值 0x7。图 5 显 示了采集结果。在这种情况下,并行总线解码和触发 节约了时间,减少了混淆,因为可以简便地隔离错误 条件。这一采集过程中使用的 1M 记录长度允许工程 师观察触发事件前和触发事件后信号的关键细节。 乍一看,图 5 所示的信号似乎行为正常,但系统工程 师很快确定 MUX_OUT 信号上出现了独特的两个边沿 转换。图 5 所示的 MUX_OUT 信号上的白色转换向用 户表明这些信号部分存在着更多的信息。MSO/MDO 系列的多边沿检测功能突出显示了波形区域,通过 缩放可以揭示频率较高的数字脉冲。在使用 Wave Inspector® 放大波形细节时,图 6 揭示了第一个白色 转换背后的细节。图 5 中画出的白色转换的信号部分 实际上是 MUX_OUT 信号上的一个毛刺。 http://cn.tek.com/oscilloscope 5
更多简介内容

推荐帖子

CC2630烧录无法识别芯片的问题
软件使用的是Smart Flash Programer2。 仿真烧录工具是XDS100V3。 板子烧录口是VCC-GND-TMS-TCK-RESET五个引脚,RESET不接也可以用。板子跟烧录器上用杜邦线对应连接即可。 刚开始总识别不到芯片,显示Unknown。解决办法是: 烧录器上的5.PD接口需要连接,如果板子没有给电源,仅由烧录器供电,则PD短接到VCC;否则就直接连
fish001 【无线连接】
ST MEMS创意大赛第3贴 -- 六轴传感器LSM6DSOX学习和应用
本帖最后由 传媒学子 于 2020-5-6 22:57 编辑 ST MEMS创意大赛第3贴 -- 六轴传感器LSM6DSOX学习和应用 这边趁着五一先学习一下六轴传感器的datasheet, 因为是第一次接触 陀螺仪传感器,各项内容都比较陌生,就从datasheet开始。 ST这款六轴传感器,应该也是业界比较先进的传感器,测量范围和精度也比较高,低功耗高灵敏度,由于加入了状态机和
传媒学子 ST MEMS传感器创意设计大赛专区
高校老师之多台仪器控制软件使用心得
本帖最后由 namisoft2017 于 2020-5-21 15:58 编辑 我是通讯学院一名光电材料专业的老师,最近在做一个实验,用一台示波器、一台信号源,一个探针台,一个数字源表,主要测试半导体器件,在测试过程中感觉测试曲线和测试数据导出记录十分麻烦。后来我在官网上查了一下示波器,信号源、数字源表、探针台的通讯指令,然后把SCPI指令集整理出来,打算用CVI或者LABVIEW编写软件。
namisoft2017 【测试/测量】
MSP430F149为核心的温度检测仪的设计
      兰州大型的综合工程重离子加速器——冷却存储环(HIFRL-CSR)是国家科学重点工程之一,在其内部控制系统里存在着大量的测量温度的场合,这些场合依靠约束离子的行为发挥CSR主环中的磁场作用,在磁场中,这些带电粒子束有时处于聚焦状态,有时则处于传输状态,且磁场性能的好坏对束流品质有直接影响。 由于磁铁的温度与磁场性能及安全密切相关。磁铁的线圈中通过电流时,会产生很高的温度,因此,对其温
Jacktang 【微控制器 MCU】
请问当MSP430FR2311供电电压上升到3.5V时,IIC出现异常是什么原因?如何解决?
最近测试MSP430FR3211发现在 用3.3V以下电源供电的时候单片机系统正常运行,当电压升到3.5V以后单片机确定在运行,但是IIC两根线输出全是低,我们查了硬件和程序没发现异常,请TI技术论坛的高手分析一下,谢谢!   数据手册上建议的电压是1.8-3.6V,但是针对不同的模块,我们也给出了相应的范围,如Table 5-19. eUSCI (I2C Mode) Switchin
Aguilera 【微控制器 MCU】
大彩串口屏在多功能智能消毒柜中的应用
传染性疾病由于其传播能力强,一旦无法控制源头,将带来大面积的扩散和传染,对治疗和控制的难度大大增加,如2003年的SARS,2009年的H1N1,2014年的埃博拉,以及当前的2019新型冠状病毒(2019-nCoV)等传染病都有过较长的爆发期,世界卫生组织对于全球性的传染性疾病的防控工作都非常重视。控制交叉感染的重要环节之一就是对媒介物品上的病原体进行消杀。媒介物品包括如:餐具、衣物、工具、现金
dcolour2019 单片机

评论

登录/注册

意见反馈

求资源

回顶部

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })