摘要:针对越来越多车载网络的使用和研发,本文以CAN/LIN为例,如何使用DPO7000系列示波器配合相应的TDSVNM方案,全面满足了在调试和测试车载网络时没有得到满足的需求。本文将主要讨论如下功能:
测量频率振荡器容限和传播延迟
测量总线利用率和数据速率,提高网络使用效率
分析CAN眼图,帮助定位CAN消息中的噪声问题
根据CAN帧的内容捕获CAN和LIN消息,以协议解码格式查看这些消息
高级触发功能,用于物理层调试和协议解码,实现复合触发和数据过滤
CAN的基础知识
CAN是一种连接多个控制模块使用的串行异步多主站通信协议。其中,小于125 Kbps的数据速率通常称为低速CAN。125 Kbps~1
Mbps的数据速率称为高速CAN。CAN在信令处理中使用单线、双线或容错技术。在单线CAN中,数据速率是33.3 Kbps和83.33
Kbps,信令采用单端信令。双线CAN数据速率是高速CAN,信令采用差分信令。容错CAN用于低速CAN数据速率。
网络中的每个CAN节点通过发送包形式的信息进行通信。每个包将包含开销和净荷。根据通信类型,包称为数据帧、远程帧、过载帧或错帧。对车载网络,CAN节点请求数据,然后发送一个远程帧。如果节点忙着处理数据、执行优先工作,那么节点将把过载帧放在总线上,表明它目前正忙。如果CAN节点发现有校验和错误或数据毁坏,它将发送一个错帧。CAN有两种协议格式:CAN2.0A和CAN2.0B。这两种版本之间的差别是地址中使用的位数不同。CAN2.0A支持11位地址,可以兼容CAN2.0B。CAN2.0B支持29位地址,也称为扩展地址。
CAN2.0B的典型数据帧内容如图1所示。
图:频率振荡器的容限(略)
LIN基础知识
LIN是一种基于公共UART接口的单线串行通信协议。LIN采用单主站多从站组网结构。它是为汽车传感器和驱动器组网应用开发的,用于车门控制、车灯和车窗操作。LIN主节点将LIN网络与高级网络相连,如使用控制器区域网(CAN)。由于电磁干扰和时钟同步要求,LIN支持最大20
Kbps的数据速率。在收到和过滤标识符时,从站任务激活,开始传输消息响应。响应由2个、4个或8个数据字节和1个校验和字节组成。包头和响应部分构成了一个消息格式。LIN消息格式如图2所示。
图2(略)
测量频率振荡器容限和传输延迟,帮助解决位定时问题
CAN协议的功能、位速率、位采样点和一个位周期中的样点数量都可以由用户编程。在这一过程中,用户必须知道位定时参数、参考频率振荡器容限和系统中各种信号传输延迟。根据CAN规范,位时间分成四段,即同步段、传播时间段、相位缓冲段1和相位缓冲段2。每个段由可以编程的特定数量的时间单位组成。时间单位(tq)是位时间的基本时间单位,其长度由编程人员使用位速率预标量定义。图3说明了怎样才能选择位时间中的时间单位,然后为4个段分配时间单位。同步段(sync_seg)是预计发生CAN总线电平边沿的位时间部分。在sync_seg外面发生的边沿与相位段边沿间的距离称为该边沿的相位误差。传输时间段(prop_seg)主要用来补偿CAN网络内部的物理延时。相位缓冲段(phase
_seg1和phase_seg2)包围在样点周围。再同步跳转宽度(SJW)规定了再同步可以在相位缓冲段规定的范围内把样点移动多远的距离,以补偿沿到沿误差。
图3 (略)
为使CAN网络正常运行,必须考虑物理延时和频率振荡器的容限范围, CAN网络中的每个节点从自己的频率振荡器中得到位定时,这个位时间会随着频率振荡器的容限而变化。在实际系统中,由于初始容限偏置和老化及周围温度变化,频率振荡器参考频率fclk会偏离额定值。这些偏离之和得到总的频率振荡器容限。在对定时寄存器编程时,编程人员必须考虑这一变化。
在DPO7000系列上运行的CAN和LIN定时和协议解码软件(称为TDSVNM)自动测量频率振荡器容限。用户可以指定CAN节点的号码。TDSVNM中的结果将包括有ACK位及没有ACK位的整体频率振荡器容限。TDSVNM还将提供没有ACK位的数据,表明接收CAN节点对传输节点的影响。通过结合使用频率振荡器的发送节点和接收节点容限,可以对CAN控制器定时寄存器编程,实现无差错的网络性能。
除频率振荡器容限信息外,为精确地设置样点,还要求传输延时信息。传输延迟在CAN系统中具有重要意义,这是因为CAN支持在竞争访问网络的节点之间进行非破坏性判优及同帧确认。
假设有两个CAN节点A和B。两个节点A和B之间的单向传播延迟规定为tprop (A, B)。由于两个节点之间的信号传播时间,同步到CAN总线上码流的任何CAN节点将与发射机码流不同相。
在图4中的实例中,两个节点A和B都是对CAN总线执行判优的发射机。节点A发送帧开始位的时间比节点B早不到一个位时间,因此节点B把自己同步到收到的从隐性到显性的边沿。由于节点B是在发送后同步的这一边沿延迟(A_to_B),因此B的位定时段相对于A发生位移。节点B发送优先权更高的标识符,因此在发送显性位时,在特定标识符上它会赢得判优,而节点A则传输隐性位。节点B发送的显性位将在延迟(B_to_A)后到达节点A。
图4(略)
由于频率振荡器容限,节点A的样点的实际位置可能会位于节点A同相的段额定范围内的任何地方,因此节点B传输的位必须在phase_seg1开始前到达节点A。这一条件定义了prop_seg的长度。
如果节点B传输的从隐性到显性的边沿在phase_seg2开始后到达节点A,那么可能会发生节点A对隐性位、而不是显性位取样的情况。这会导致误码,并使用错误标记破坏当前帧。
这个问题要求工程师在对CAN控制器的定时寄存器编程时考虑精确的数据。现在,TDSVNM软件提供了自动测量传输延迟的功能。TDSVNM可以自动测量频率振荡器容限和传输延迟,用户可以使用来自车载网络的实际环境数据对寄存器编程。
CAN和LIN消息的协议解码
一旦物理层在车载网络中全面运行,固化软件将与ECU(发动机控制单元)集成在一起。在这一活动过程中,用户可以以数据链路层格式查看OSI的物理层活动。图5是典型的车载网络。
图5 典型车载模型(略)
在图5中,多条总线使用网关互连起来。舒适总线和资讯娱乐总线通常以低于125 Kbps的速率运行,传动链总线和安全总线以500 Kbps
~1 Mbps的数据速率运行。LIN总线接入到舒适总线上。在不同总线之间使用网关交换数据。在这个异构网络中,需要进行的分析如下:
触发特定CAN帧内容,捕获总线业务,以数据链路层格式查看信息
CAN消息之间的时戳
检定不同网段之间的通信
能够同时查看两个网段中的协议活动。两个网段可以是CAN-CAN或CAN-LIN
检定网关的性能,确定网段之间信息交换的时延及信息交换的准确性
通过使用与DPO7000系列集成式CAN触发功能接口的TDSVNM软件,用户可以捕获特定CAN帧内容上的CAN业务。TDSVNM解决方案可以监测CAN2.0A或CAN2.0B帧。用户可以灵活地选择帧类型,如数据帧、过载帧、远程帧或错帧。根据帧中的内容,用户可以指明要监测的内容,并发起捕获。
但是,采用YT格式捕获的数据很难解释NRZ数据,很难知道CAN消息中的内容。TDSVNM解码YT波形,以十六进制或二进制格式显示数据,节约了时间,不会产生人为错误。
TDSVNM软件提供了各种分析工具,允许用户以许多不同的形式分析数据。例如,它使用参考触发条件的时戳,并可以灵活地选择希望的帧,作为使用标尺的参考标准。通过在任何两条希望的CAN消息之间放置两个标尺,用户可以知道两条消息之间的时间。可以同时找到在两条不同总线之间交换数据的准确性及通信时延。市场上还没有其他示波器软件能够做到这一点。
通过更多的触发功能,完成更多的协议调试
通过使用DPO7000系列的内置触发功能,用户还可以同步帧头或帧尾、特定标识符、数据、甚至帧内未确认或错误。
但是,如果用户需要更多的调试功能,如复合触发和数据过滤,那么Crescent Heart软件公司提供的ATM1自动触发模块为满足这些需求提供了业内领先的解决方案。通过使用ATM1,用户可以触发帧内的DLC、无源错帧或有源错帧,还可以执行级联触发或if-then-else触发。
同时,汽车行业推荐,车载网络应以总线负荷的30%运行,以高效利用网络,否则出现过载帧或优先级错误。TDSVNM可以测量总线利用率,并支持在饼状图下帧分析。
车载网络在具有电气噪声的环境中运行,导致CAN信号很容易受到电气噪声影响,进而导致幅度畸变,在信号中增加抖动、尖峰和毛刺。TDSVNM软件允许用户指定ID为触发条件,以眼图的方式来测量分析,信号中的幅度偏差和抖动。
LSA选项把集成式CAN特定触发功能与TDSVNM CAN和LIN定时和协议解码软件结合在一起,把通用的泰克DPO7000系列示波器转换成完善的车载网络管理工具。它提供了业内领先的功能。
测量频率振荡器容限和传播延迟,节约时间
测量总线利用率和数据速率,提高网络使用效率
分析CAN眼图,帮助定位CAN消息中的噪声问题
根据CAN帧的内容捕获CAN和LIN消息,以协议解码格式查看这些消息
同时捕获CAN和LIN数据,以协议解码格式查看数据,定位网关中的时延
高级触发功能,用于物理层调试和协议解码
采用额外的ATM1触发模块,实现复合触发和数据过滤
通过DPO7000系列,您可以更好地查看车载网络,更快地完成工作,保证无缝可靠地运行网络。
|