技术中心
 
 

探究串行总线内部的秘密

   日期:2015-07-30    
核心提示:尽管串行端口具有多年的应用历史,但是在现代设备中仍将继续依赖于各种形式的串行通讯技术,如RS-485、I2C、SPI、SATA和10千兆位以太网连接。但是,对于这些串行总线的测试和查错是件很困难的事。“工程师从信号眼图(Eye diagram)中发现问题时,希望能展开信号并检查眼图异常点处的波形。”Agilent Technologies公司数字测试部高级项目经理Rick Eads说,“但是标准的示波器或信号完整性分析仪难以展开信号并解释波形所承载的字、字节和位数据。”

尽管串行端口具有多年的应用历史,但是在现代设备中仍将继续依赖于各种形式的串行通讯技术,如RS-485、I2C、SPI、SATA和10千兆位以太网连接。但是,对于这些串行总线的测试和查错是件很困难的事。“工程师从信号眼图(Eye diagram)中发现问题时,希望能展开信号并检查眼图异常点处的波形。”Agilent Technologies公司数字测试部高级项目经理Rick Eads说,“但是标准的示波器或信号完整性分析仪难以展开信号并解释波形所承载的字、字节和位数据。”

 

Finisar公司Bus Doctor产品技术负责人Eric Lanning也表示,“在得到可用芯片之初,工程师就需要检查和解释比特流中的数据,工程师在确定其电路符合信号完整性规格要求后,就必须保证信号携带的信息是正确的。因此,协议和数据分析工作跨越了从IC测试到开发、制造和现场维修的整个过程。”

串行链路简化传输过程

串行链路(如RS-485、CAN、I2C和SPI)在简单网络中传输数据。在此级别下,工程师希望能确保发送器和接收器工作正常,总线上出现的地址和数据信息正确,且设备对指令的响应符合预期。这些网络中可能会有一些基本协议。总线分析仪可以采集串行通讯数据并以二进制、十六进制和十进制形式表示信息,同时显示通讯传输的类型。例如,在分析CAN总线通讯时,可以使用一台仪器,以易于分析的格式显示字节值和其它信息,如确认信息、从机地址和读 /写状态。(因为即使看起来简单的总线也会变得复杂。CAN总线就支持DeviceNet和CANopen等高层协议。)

 

另一方面,千兆位以太网通讯则需要特别注意信号完整性规格和复杂协议使用是否正确,该复杂协议可能有多个“层”,这些层形成了一个“栈”,起自下面的物理层,或称电气连接层,延伸到上层的应用层。应用层中通常包括以太网链路电子邮件、网页浏览器等其它应用程序。

在高端总线上(如光纤通道、以太网等),工程师并不想查看和解读低层次的数据位和字节,而是想查看总线传输情况。因为在以太网上进行TCP/IP通讯时,与分析低层数据位相比,显示标志、源和目的地址、校验以及服务类型可以提供更多信息。

不幸的是,当工程师将协议栈从数据位转向高层消息和动作时,经常会采用不同的仪器,这样会破坏测试信息的连续性。Tektronix公司串行应用工程师 Randy White认为,“工程师通常使用一种仪器进行物理层测试,使用另一种仪器分析数据链路层和传输层,而如果拥有一种集成仪器,将会大大节省测试时间。”

面向通讯问题的各类仪器

串行通信覆盖了广泛的应用领域,小至芯片间通讯,大至洲际之间通讯,都在应用串行通信技术,促使一些新的仪器应运而生,这类仪器包括混合信号示波仪器、协议分析仪和总线分析仪。这些仪器可以使工程师查看并快速分析简单和复杂的数据位流。(本文中使用“总线分析仪”统称具有上述功能的各类仪器。)

 

最近,Randy White在访问一家有通讯问题的公司后表示,“他们的设备在物理层工作良好,但连接到其它厂商的设备时,两个设备却无法通讯。”通过使用整合示波仪和数据分析功能的仪器(如Tektronix TLA7000系列逻辑分析仪),工程师就可以给事件加上时标,然后检查并关联独立的传送情况,以找到问题的根源。“他们花了两个月的时间试图解决此问题,在使用了合适的仪器后,几天就查明的问题所在。”Randy White说。

高频总线使学习曲线更陡

工程师转向高频总线时(如PCI Express、SATA或SAS),学习曲线会更陡。LeCroy公司产品管理总监Michael Lauterbach博士指出,“他们需要一种可以采集数据包并将其解码为有用信息的仪器,以便能了解此信息与总线通讯和外部事件的对应关系。这样,他们就可以识别并分析通讯事件和各种错误或不兼容的情况。”所以,工程师必须先对总线操作和传输过程有相当的了解才可以开始工作。

 

对此,Agilent公司的Rick Eads也强调,工程师需要一段时间才能对PCI Express(PCIe)总线有所熟悉。基于PCIe的计算机启动时,通过总线协商确定通路数和总线带宽。总线开始时带宽为2.5Gbps,但协商期间计算机可能会提高此带宽。Rick Eads认为,“如果不能捕捉串行PCIe通讯数据并分析数据包及其内容,工程师马上就会碰到麻烦。另外,由于PCIe和许多其他总线采用了8b/10b 编码,工程师需要查看字节值,而不是10位波形。”

适当的触发条件

但是,除非工程师问题的具体位置,否则检查大量分为字节或高层数据包的串行传送数据,对于找到问题并没有帮助。与利用触发来控制存储示波器操作的道理一样,工程师也可以设置触发条件,决定总线分析仪何时开始或停止采集信息。通常可以在出现特定的错误状态、数据包出现不正常数据或在某个错误地址出现时,创建一个触发条件以侦测信息。

在采集内存或缓存长度固定的情况下,对于特定的采集速率,可以将触发点指向缓存采集期内的任何位置。因此,当仪器检测到满足触发条件时,会开始采集数据,也可以利用触发停止采集信息。有时,可能需要将仪器设置为检测到触发条件之前和之后采集数据,以便能看到导致触发的事件和随后发生的事件。

 

LeCroy公司Michael Lauterbach博士指出,“触发可以依据多个条件,在我们的MS-500混合信号产品中,可以在多达36路数字通道上设置电压阈值、位模式、信号边沿变化和其他单个条件或多个条件的组合。并可以设置触发顺序,如仅在发生事件Y后发生事件X时触发。还可以选择性地采集数据,例如采集与某个特定地址有关的数据或是满足其他条件的数据。”

同样,Finisar Bus Doctor协议分析仪也提供了12个触发级别,每个都可以单独设置触发条件。触发设置可以视为一个小型状态机。Finisar公司Eric Lanning解释说,“可按需要设置触发条件,该仪器可在发生一个事件时触发,然后准备好等待同一触发事件再次发生。由于我们可以捕捉1024个缓存数据,所以工程师可以建立一个测试,让它在周末期间运行并累积1024组触发跟踪数据。”

缩短板卡到示波器之间的引线

“在计划购买一台分析仪或混合信号示波器时,还需要明确仪器探头会对信号产生多大影响,”Michael Lauterbach博士提醒说,“人们并不想买一台能破坏信号的仪器而引入新的麻烦,但是工程师有可能会忽视探头和待测试信号之间的交互作用。一般来说,从用户的板卡到混合信号示波器之间的引线应尽可能短。”

 

“我们建议工程师在分析PCI Express信号时采用中间总线(Mid-bus)探头,”Tektronix公司Randy White说,“有源探头连接到专为PCI Express总线连接而设置的PCB焊盘上,当然,工程师事先必须在他们的PCB板上设计占位,但他们通常会忽视后续测试中读写PCIe信号的需要。”Tektronix和其它公司为中间总线探头提供符合工业标准的机械和电气规格。它有一个可拆卸固定模块,可将中间总线探头固定在PCB焊盘上。

在最终投产PCB时,可从最终定型板卡的PCB布线中去掉中间总线探头的接触测试焊盘。但是,Randy White指出,许多工程师也会将测试焊盘保留在板上,以便进行后续的测试验证。所以,如果不需要利用该部分空间,可在设计中保留测试焊盘。

如果不想或者无法增加专用的接触焊盘,可在PCIe总线上使用一个内插器。内插器插入一个空的PCIe插槽中,并将总线信号转接入总线分析仪。如果系统所有插槽都插入了板卡,可以拆下一块卡,插入内插器,然后将该卡插入内插器上的总线槽。但是,必须备好一个标准PCIe连接器,不能连接到PCI 信号路径的随意位置。总线分析仪供应商还可提供多种兼容探头和多种总线的内插器卡。

分析串行总线有助于保证产品兼容性,跟踪高层协议错误。有时,需要将串行总线操作与外部事件联系起来。有时还会需要一台具有混合信号分析能力的仪器,用来捕获、显示和分析串行和并行信号,以及数字和模拟信号。例如,如果将一个智能压力传感器连接到CAN总线,具用有总线分析功能的混合信号示波器就可以查看模拟的压力信号,并将其与CAN总线通讯关联起来。因此,可能需要到考虑总线以外的问题,确保总线分析仪可以捕获和关联总线以外的事件和信号。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢