首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

详解用创新的技术侦测及找出混合信号设计中的问

详解用创新的技术侦测及找出混合信号设计中的问

据产业消息来源的估计,目前大约有百分之七十的电子工程师所从事的设计都大量混合了模拟和数字信号的成份,因此,设计人员愈来愈需要具备能够将设计内的模拟和数字器件或芯片间的信号时间相互关联的能力。此外,高速的数字信号更加需要深入测量其信号质量,因为这攸关信号完整性的容限大小(signal integrity margin)。针对特定的测量选择合适的测试设备时,有效性、效率、以及价格/性能比是最主要的考虑因素。Johnnie Hancock在一篇标题为「运用MSO混合信号示波器侦测及找出嵌入式混合信号设计的问题」的应用文章中,探讨了选择测试设备时,需要考虑的主要因素,包括:通道数、带宽、采样率、以及MSO混合信号示波器(如安捷伦科技的MSO6000系列示波器)具备的各种类型的混合信号触发能力。本文将介绍一个更先进的产品所提供的独特价值,那就是新近推出的MSO8000系列混合信号示波器。我们将为读者说明MSO8000支持的一些独特功能,这些功能可以协助使用者找出各种信号问题,这是其它测量解决方案,例如传统「数字示波器加上逻辑分析仪的组合」,所无法取代的。
找出死锁问题的根本原因
安捷伦科技的工程团队最近在设计一块新的数据采集电路板(acquisition board)时,遭遇到一个难缠的问题,这块板子一般时候都可以正常运作,但偶而却会死机。团队人员利用Windows debugger确定了造成死锁(lock-up)的原因是:有一个 “配置写入”周期有时候无法收到确认信号。他们修改固化软件,重复“配置写入”,将死锁情形的出现频率由每隔几小时提高到每隔几分钟出现一次。图1a显示了利用MSO8104A示波器的状态触发能力,在总线信号处理权交还给CPU后,第一次开始寻址那一时刻的结果。由图中可以看出与时钟信号有关的一个异常的电压跌落,这是因相邻地址线的电容耦合所造成的。在图1b中可以看出,在较长的时基范围下检视这些信号,当电路进入死锁的状态时,系统中一些周期性出现的信号会停止改变状态, ,设计团队运用示波器的“逾时”(time-out)触发能力,成功隔离出死锁的状况,并依据逻辑信道在死锁的状态,找出了时序的问题。
图1a


图1b
重要事件的出现频率
在图1a所示的例子中,出现系统死锁情形的概率/频率非常低 -大约每2到8小时才出现一次。此处需要设想的问题是:如果工程师无法利用debugger将问题复制出来怎么办?我们要如何确定该问题与“配置写入”周期之外的其它总线周期无关呢?所幸,安捷伦科技的MSO8000系列示波器提供了一个称为“分段式存储”(segmented memory)的先进功能,可透过优化调整示波器存储器的设置和重新预准备(re-arm)时间,让该特定总线周期只要一出现,示波器就把它捕获下来,可以连续捕获数千个该特定动作对应的总线周期信号,图2a显示的就是一个例子。


图2a


图2b
MSO混合信号示波器的模拟信道和数字信道的采集存储器可被分为许多段,当示波器的触发条件第一次出现的时候,波形数据会被填入第一段的存储器,当触发条件第二次出现时,则会填入第二段的存储器,依此类推。在图2b显示的例子中,利用示波器的分段式存储器采集模式,依序采集到出现了1000次的重要事件。事实上,利用MSO8000的采集存储器(示波器通道选件深达128 M,逻辑信道是标配每信道32M),最多可以采集32,000段的波形。在采集到指定的区段数之后,可以使用荧屏右下方的浏览控制键,轻易地逐一回放每个区段,以便清楚地查看信号异常是否只与示波器的逻辑信道所采集到的一个重要时序事件有关,或是DUT还有其它关键的总线动作也会造成信号异常的现象?分段式存储器采集模式同时支持示波器信道和逻辑信道,对内嵌式系统设计的除错有很大的帮助,因为这种设计大多是以状态机(state machine)为主,您可以透过逻辑信道来设定触发条件,观察每一个状态的信号行为。
浏览控制功能不仅在使用分段式存储器采集模式时可以使用,而且在串行总线译码模式下也可以使用。图3所示为I2C总线的信号,与译码窗口内的信号是时间相互关联的。虽然I2C不是一种高速的串行总线,而且就这种低速总线的时钟与数据信号而言,信号完整性的问题可能也不是主要的考虑点,但是利用这种通讯信号进行触发,并且让示波器同步进行采集,或许可以揭露出系统中其它时间相互关联之模拟和/或高速数字信号的信号完整性问题。在某些情况下,我们可能会知道待测信号或许会出现问题,但却不知道何时会发生问题,或是问题跟哪个信号有关。在串行总线译码功能的协助下,示波器可以显示出图3a中的情形:只有当一个特定的I2C读取动作发生时,才会出现一个双周期的雷达chirp输出信号。您可以浏览译码列表窗口中的每一个读取动作,以验证该特定的事件(其它相关信号)是否有发生。这个概念与FPGA的除错方式很类似,安捷伦科技的MSO8000支持Xilinx FPGA内部节点自动切换和测试,可以将FPGA内部节点(> 1000个多个待切换测试的节点)与外部信号的时间相互关联来显示和分析(这个主题不在这篇文章的讨论范围内)。一旦工程师知道这些问题何时会发生,以及问题与哪个信号和/或总线周期相关联之后,通常就可以快速地解决设计的问题。
返回列表