使用Agilent 6000 系列MSO,对汽车 CAN 总线进行调试
引言
为了改善系统通信质量,降低成本,今天所有的汽车设计都采用了大量串行总线通信协议,I2C 和SPI 协议在电子控制单元(ECUs)中的片对片通信中经常使用。对于各种汽车子系统之间的持久串行通信,例如防盗锁,气囊展开,发动机控制和GPS 导航等,CAN,LAN 以及MOST 协议是最常见的串行总线应用,如图1所示。但不幸的是,持久通信经常受到信号完整性问题的影响,这是由汽车内部自身的非理想环境造成的,包括点火系统和随机系统噪声之间的信号接口,这可能在关键的通信环节中造成错误。
准确的说,汽车电子系统是嵌入式的混合信号系统,因为它通过数字信号控制多路模拟传感器和模拟发动机控制器。多年来,传统的示波器是汽车电子系统工程师测试模拟和数字信号质量的首选工具。但是传统的模拟和数字示波器具有很多局限性。包括缺乏复杂的串行触发,以及有限的输入通道。然而,一种新的测量工具,混合信号示波器(MSOs)能够提供很多的优势,用来调试和验证当今汽车设计中的工作性能。
为了说明Agilent 6000 系列MSOs的独特优势,本应用指南给出了一个揭示基于CAN的汽车系统中信号完整性问题的典型的调试方法。除了同步和捕获将模拟传感器信号数字化转化为ECU后的CAN差分信号之外,MSO还能够反复捕获和测
量一个远地模拟输入传感器的输入幅度。但是在我们介绍这个特殊的汽车CAN 设计,并介绍如何使用MSO对信号完整性问题进行调试和验证之前,我们首先来定义以下什么是我们所说的MSO。
什么是MSO?
MSO是一个混合测试仪器,它结合了数字存储示波器(DSO)的全部功能和逻辑分析仪的部分功能,以及一些串行协议分析的功能。利用MSO,您可以在同一个屏幕上观察多路时间队列模拟信号,并行数字信号,以及串行解码微波信号,如图2 所示。尽管今天很多传统的示波器具有有限的触发能力,一些MSO包含成熟的串行触发和协议解码分析,是汽车电子系统调试的最佳选择。
相比与成熟的逻辑分析仪,MSO 一般缺乏足够的数字获取通道,而相对于串行协议分析仪,MSO 则缺乏较高的分析提取程度。但是相比之下,MSO的简单使您能够方便的使用,而避免逻辑分析仪和协议分析仪的复杂操作。事实上,MSO最主要得优点就是它的使用模式。使用MSO和使用示波器十分相似。由于MSO集中了大量的功能,它比使用组合的测试方案,例如示波器与逻辑分析仪,或者示波器与串行总线协议分析仪要方便的多。一个好的MOS,例如AgilentMSO6000,是对用户友好的。它提供快速的波形刷新,包含串行触发和分析,操作起来与示波器十分相似,而不像操作逻辑分析仪或者协议分析仪那样复杂。
验证汽车风挡雨刷系统的功能进行验证
在汽车上集成一个嵌入式设计之前,首先应该在实验室环境下,利用Agilent MSO验证原型机械风挡雨刷系统的电路和协议功能。图3给出了来自原形系统的时间相关的多个模拟和数字信号,通过MSO6104A捕获并显示。通道1的波形(顶端,黄色轨迹)是差分CAN总线信号,它与包括风挡雨刷系统在内的各种外部子系统通信。通道2 波形(中间,绿色轨迹)给出了远地雨量传感器的输出信号电平,用来探测风挡玻璃上雨雪量的大小。同时显示的,还有各种在ECU中时间相关的SPI 控制信号(蓝色轨迹,在示波器屏幕的底部),包括CLOCK,DATA,CS,和INTERRIPT 信号。这些波形都是通过MSO 的16 个逻辑定时通道获得的。示波器屏幕底部的各种颜色的总线轨迹是CAN数据包的时间相关解码信息,通过用户选取的CAN通道获取(这里是通道1)
在这个设计中,远地模拟传感器的瞬态输出幅度通过模数转换器(ADC)被转化为数字信号,然后以一定的数据格式(07FHEX)单比特串行地传输到ECU。为了显示这个传感器可重复的传输,验证原型机的功能,MSO最初被设置为在CAN数据桢07FHEX上触发,如图3 所示。模拟传感器的输出值通常被转化为这种格式。在这种示波器配置情况下,汽车设计工程师可以很容易地测试传感器的模拟输出幅度(3.41V),以及精确转换为CAN数据包的监控信号(BHEX)。在实验室中测试原型机械雨刷系统时,没有发现问题,CAN差分信号看上去没有噪声。
但不幸的是,当这个系统被集成到汽车中时,这个机械雨刷系统表现得很不稳定,经证明,ECU 获得的数据值有时与模拟湿度传感器真实的物理情况不符。如果电路的问题是可预知的和可重复的,就可以很容易地从根本上解决电路的问题。但是在这个设计中,一旦设计被嵌入了汽车,传感器错误的数据传输是随机的和偶发的,因此很难分离问题的根源。
硬件加速CAN 解码发现偶发错误
图4 是最初在实验室中测得的同样的信号,但是这一次信号来自已经嵌入汽车中的雨刷系统。我们现在看到了噪声的影响,以及由汽车中粗糙的环境导致的差分CAN信号的干涉。汽车设计工程师在反复触发数据格式ID:07FHEX 时,监视示波器的显示。工程师在CAN解码序列(底部轨迹)中,发现了一个偶发的红色“闪烁”,如图4 所示。这个MSO 的CAN 解码图像将错误的CRC显示为红色,其他的格式错误显示为红色总线轨迹。这个示波器具有极高的波形刷新率(每秒高达100,000个实时波形)。硬加速串行解码以每秒更新60次的速度显示解码序列,比人眼的读取速度快,但是还是能够看到偶发的带有颜色的误码。
大多数具有深度存储和串行解码能力的示波器刷新速度通常很低,这主要是因为深度存储记录是通过软件预处理技术解码的。波形和解码刷新通常需要几秒钟。这就意味着,如果出现偶发错误,大多数的错误将在示波器的停机时间里随机的出现,而不是在示波器的获取时间。这样就几乎不可能利用传统的示波器随机地获取转换错误,即便是具有CAN 触发和解码功能。但是Agilent 6000 系列MSO 中的硬件加速CAN解码,能够在统计学上增强获得随机和偶发错误的概率,因为波形和CAN解码的刷新率都比数据桢07HEX 的重复速率要高。
为了使示波器的显示锁定在一个错误的数据转换上,设计工程师在看到一个红色解码序列时,首先快速按下示波器前面版上的STOP键。但不幸的是,示波器的波形和解码刷新率太快了,在按下STOP键的时候很多并发的信号已经出现了,显示通常停留在无错的数据传输上。
在错误的桢上触发MSO,显示了信号完整性问题
下一步是设置示波器的触发,使其只与错误桢同步,如图5 所示。在这种触发设置条件下(与错误桢同步),示波器只捕获和显示错误的CAN传输,忽略正确的传输。现在,工程师可以在任意时刻按STOP键,分析最新的错误CAN传输桢的信号质量,或者利用示波器的单发获取模式将示波器的显示锁定到下一个错误数据上。通过这个显示(图5),工程师的第一个猜测是,随机的数据传输问题可能是由耦合到差分CAN 信号(顶端黄色)的额外随机噪声造成的。通过这一示波器的MegaZoon III 技术显示系统提供的256级显示亮度,我们可以清晰地看到CAN 信号上的噪声呈现高斯分布,图像质量与传统的示波器类似。但是在用MSO的“标准分辨”测量功能测量随机噪声之后,工程师认为信号噪声级在指标公差范围之内,不含有错误。
在错误的桢上触发MSO,显示了信号完整性问题(续)
在进一步视察通道1的差分CAN信号之后,工程师发现在这一桢数据中,出现了一个很窄的干扰,宽度只有差分CAN信号上升延的1/5。以200 us/div 为主时基,在示波器的屏幕上进行扫描,利用深度存储获取(高达8 M个点)的常规“压缩”模式观察这个存储的CAN桢,这个窄干扰几乎不可见,很容易被忽视,如图5所示。但是当工程师将存储轨迹的时基扩展到5us/div(图6)时,利用这个示波器的高采样分辨率( 高达4GSa/s)就可以很容易地观察到这个干扰。
在利用MSO 的指针发现这个干扰,并测量他的幅度之后,工程师再次按下前面板的RUN按键,开始只在错误桢触发的重复获取。当观察示波器波形的重复刷新时工程师可以看到窄干扰不仅偶然出现,而且在数据桢内随机的位置固定出现,与差分的CAN信号没有特别的相位关系。看上去,这些干扰是由相位不相关的源耦合造成的。如果这些干扰的源可以跟踪,那么就可以更容易的从根本上确定和固定这些干扰。
将MSO 在随机干扰上触发,显示错误的来源
为了将示波器与相位不相关的干扰而不是错误桢同步,汽车设计工程师接下来设置示波器,使其只在干扰上触发。这是通过示波器的脉宽触发功能实现的,这种功能可以根据用户定义的时间范围(脉冲宽度)在正脉冲或负脉冲上触发。在这种情况下,工程师设置示波器,使其只在通道1输入的正脉冲(差分CAN信号)宽度<500 ns时触发获取。在这种设置情况下,示波器将它的显示与随机出现的干扰同步,并总是在示波器默认的屏幕中心触发位置捕获和显示干扰信号。现在,CAN数据桢与干扰触发源呈现相位不相关。
为了跟踪这一干扰的源,工程师将另一个探针与4+16- 通道MSO中未使用的通道(通道4)相连,探测可疑信号,看看哪个信号可能与干扰同步或相位相关。几分钟之后,工程师发现了干扰的源,如图7 所示。通道4波形(底部粉色轨迹)是控制在汽车电压调整器中触发高电压震荡的继电器的数字脉冲。如果电压调整器在数据桢ID: 07FHEX传输期间循环,风挡雨刷系统的错误将明显地显示出来。当工程师跟踪错误源的时候,可以很容易地从高电压震荡信号中分离出风挡雨刷CAN数据并加以保护,这也能够很大程度上改进CAN 系统的噪声免疫性。
总结
本文讨论了Agilent 6000系列混合信号示波器(MSO)如何更有效快速地驱动和调试嵌入式混合信号设计,该设计利用了串行总线CAN数据传输。MSO的鉴别功能使得汽车设计工程师能够快速的发现偶发错误的原因,包括多通道模拟和逻辑时间相关获取,快速波形刷新,硬件加速CAN总线解码,以及各触发发功能,包括桢ID,错误桢,以及干扰和脉冲宽度触发。尽管本应用指南重点介绍了一种风挡雨刷应用,文章中的调试技术也可以直接应用在其他的汽车产品中。下一次您需要驱动或者调试您的嵌入式汽车混合信号设计的时候,您可以使用Agilent 6000系列MSO,来代替您现有的DSO,协议分析仪,和/或逻辑分析仪测试方案。
文章版权归西部工控xbgk所有,未经许可不得转载。