探究串行总线内部的秘密

发布者:yanfeng00最新更新时间:2015-07-30 来源: eefocus关键字:串行总线  高频总线 手机看文章 扫描二维码
随时随地手机看文章
        尽管串行端口具有多年的应用历史,但是在现代设备中仍将继续依赖于各种形式的串行通讯技术,如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说。[page]

高频总线使学习曲线更陡

        工程师转向高频总线时(如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总线通讯关联起来。因此,可能需要到考虑总线以外的问题,确保总线分析仪可以捕获和关联总线以外的事件和信号。

参考链接

[1]“PCI Express 2.0 Digital Validation and Debug Using Serial Logic Analysis Tools, Tektronix. September 2007. WebID: 11792. 
www2.tek.com/cmswpt/tidetails.lotr?ct=TI&cs=Application+Note&ci=11792&lc=EN   

[2]“Protocol Analyzers vs. Logic Analyzers: Using the Right Tool for the Job,” Finisar. March 2007. 

关键字:串行总线  高频总线 引用地址:探究串行总线内部的秘密

上一篇:基于SOPC的车辆总线控制器设计方案
下一篇:基于CAN总线的分布式运动控制

推荐阅读最新更新时间:2024-05-02 23:50

为便携应用选择合适的低成本USB开关
  随着通用串行总线(USB)在便携或手持应用中日趋流行,具有超低功耗的高质量开关在实现这种连接解决方案方面充当着重要角色。受消费者的需求驱动,设计人员需要不断创新、加速设计进程并帮助缩短制造周期,在这种情况下,可靠的低成本的USB开关已经成为其中的关键组件。   USB已经成为PC与外备进行通信的最通用标准。键盘、打印机、网络摄像机、数据存储设备、移动电话、MP3播放器、数码相机和游戏机等设备都可以通过USB接口与PC连接起来。USB应用厂商论坛(USB-IF)为USB设立了标准,设备必须通过严格的测试后才能获得USB认证。这样才能确保所有通过USB论证的软件程序、连接器、线缆、信号驱动器和接收器能够相互兼容。   USB采用
[嵌入式]
VxWorks体系下PowerPC860处理器串行总线设计
摘 要: Konqueror/embedded是针对嵌入式Linux的开放源码浏览器,也是符合GNU条款的自由软件。本文首先对该浏览器技术核心做了简要分析,然后详细介绍了Konqueror/embedded在ARM-Linux操作系统上的移植和汉化过程。 关键词: Konqueror;嵌入式浏览器;ARM-Linux;移植;汉化 引言 目前,嵌入式浏览器已经逐渐成为高端手机和PDA的标准配置。Konqueror/embedded作为嵌入式Linux操作系统的首选浏览器得到了广泛使用。但是由于该浏览器是自由软件,因此向具体嵌入式平台移植时存在一定的难度。本文主要介绍了Konqueror/embedded 向ARM-Lin
[应用]
什么叫USB(通用串行总线
  USB的英文缩写是UniversalSerialBus,翻译成中文就是“通用串行总线”,也称通用串联接口。也许对于这个称呼你并不熟悉,直接称呼“USB”你就应该听说过吧。那么USB又什么功能?它为什么现在能为人们所青睐呢?   计算机硬件飞速发展,外围设备日益增多,键盘、鼠标、调制解调器、打印机、扫描仪早为人所共知,数码相机、MP3随身听接踵而至,要真有了这么多的设备,该接到计算机的哪儿?USB就是基于此产生的。USB是一个使计算机周边设备连接标准化、单一化的接口。USB的规格是由Intel、NEC、Compaq、DEC、IBM、Microsoft、Northerntelecom联系制定的。   USB标准接口传输速率为1
[嵌入式]
工业串行总线的提高RS的485通信效率
RS-485通常应用于一对多点的主从应答式通信系统中,相对于RS-232等全双工总线效率低了许多,因此选用合适的通信协议及控制方式非常重要。 1.总线稳态控制(握手信号)大多数使用者选择在数据发送前1ms将收发控制端TC置成高电平,使总线进入稳定的发送状态后才发送数据;数据发送完毕再延迟1ms后置TC端成低电平,使可靠发送完毕后才转入接收状态。据笔者使用TC端的延时有4个机器周期已满足要求; 2.为保证数据传输质量,对每个字节进行校验的同时,应尽量减少特征字和校验字。惯用的数据包格式由引导码、长度码、地址码、命令码、数据、校验码、尾码组成,每个数据包长度达20~30字节。在RS-485系统中这样的协议不太简练,因此向大家介绍适合R
[嵌入式]
一个简单串行总线方案的veilog语言实现
1.       线路状态:在平时不发送数据的时候,DI 为高电平。SCK为低电平。 2.       起始位:SCK 为高的时候,DI 的下降沿决定了一次数据传送的开始。也就是说,在发送数据的时候,SCK为高电平的期间,DI 不允许变化。 3.       起始位有效后,SCK的上升沿输出数据。 4.       时序图     5.       所有数据低位在前              数据为单向发送,目的是产生宽度可频率可以调节的信号。同时产生一路Pwm信号,本设计只是发送数据部分   代码:  module SetData(Rst,SCK,DI,Width,Cycle,PWM);  
[嵌入式]
用单片机实现基于I2C串行总线的音频处理系统
  目前,消费类电子产品(如彩电、音响等)的功能多样化使得控制电路变得更为复杂。而Philips公司推出的集成电路芯片间总线I2CBUS(Inter ICBUS)是目前众多总线中最简洁有效、使用也为广泛的一种总线格式。I2C总线通常是以硬件来实现的,这就要求所选器件必须具有I2C总线接口,但目前广泛使用的MCS-51系列单片机并不具备I2C总线的专用硬件部分。本文结合笔者采用单片机8031实现对具有I2C总线接口的立体声音频处理芯片TDA7313的控制,介绍了I2C总线以及基于I2C串行总线的单片机应用系统的设计方法和程序。    1 I2C总线简介   1.1 I2C总线的组成   I2C串行总线是用双向数据线(SDA
[单片机]
传感器可以直接插入通用串行总线接口(USB)
  电容传感技术可将信号处理和通信整合到单一包装内。根据制造商Loadstar Sensors公司(美国加州,Mountain View;www.loadstarsensors.com)表示,iLoad Digital USB传感器是世界上首个带USB输出的电容负载传感器。该传感器可以直接插入个人电脑的USB端口,使用户不需要任何附加的信号调理、数据采集或特殊软件就可以测量负载、压力或重力。   Loadstar公司的传感器极大的简化了设计,并降低将传感器集成到微机测量和控制应用中的复杂性,为此,该传感器获得了Frost & Sullivan公司2007年颁发的“北美产品年度创新奖。”   不同规格的传感器能够测量10、50、
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved