0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解CAN收发器及如何验证多节点CAN系统的性能

星星科技指导员 来源:ADC 作者:Madhura Tapse 2023-06-10 16:50 次阅读

本文介绍了评估"控制器局域网"(CAN)收发器的正确系统级测试方法。通过展示在多CAN节点系统中执行不同CAN节点之间的数据传输时如何避免实际数据传输问题,解释了此种测试方法的优越之处。阅读本文后,读者将对CAN系统有更好的了解,并能够为特定的多节点CAN系统选择合适的CAN收发器。

引言

CAN是一种稳健的通信标准,用于支持不同的传感器、机器或控制器进行相互通信。相比于一般接口,CAN接口更稳定可靠,能够有效处理总线争用,因此被广泛应用于工业自动化、家庭自动化和汽车应用中。

旧版CAN2.0提供8字节有效载荷,最多支持2 Mbps的数据速率。有些情况下,2 Mbps的数据速率不足以应对危急通信事件,因此CAN.org提出了新的通信协议CAN-FD,支持数据速率高达10 Mbps的通信。

CAN-FD灵活的数据速率

旧版CAN和CAN-FD之间的主要区别在于灵活的数据速率(FD)。在CAN-FD中,数据速率(即每秒传输的位数)比经典CAN(10 Mbps仅用于数据有效载荷;为了兼容,仲裁位速率仍限制在1 Mbps)快5倍。CAN-FD中的消息有效载荷大小从旧版CAN的8字节增加到64字节。

使用CAN-FD时,传感器可以改变数据速率,并增加或减少有效载荷。与如今工厂中的旧版CAN相比,更快的数据速度和更大的有效载荷容量带来了许多系统级操作优势。

CAN通信—基础知识

CAN通信包括两个主要组件:(a) CAN控制器和(b) CAN收发器,如图1所示。

wKgaomSEPT2ASPELAAAfZdyKVkE611.png

图1. 单一CAN节点。

CAN控制器处理CAN通信的数据链路层,而CAN收发器则处理物理层。我们来简要介绍一下CAN收发器的物理层。

在CAN协议中,逻辑0被称为显性位,逻辑1被称为隐性位。由于CAN是一种差分协议,CANH和CANL之间的电压差决定了发射和接收信号的逻辑电平。如果CANH-CANL电压大于1.5 V,则CAN接收器将该位识别为逻辑0。而如果CANH-CANL电压小于200 mV,则CAN接收器将该位识别为逻辑1。图2所示为CAN收发器TXD引脚上数字逻辑1和逻辑0位的连续传输,以及CANH和CANL引脚上的等效CAN总线电平。根据CANH和CANL电压之间的差异,接收器在RXD引脚上回送信号。

wKgaomSEOVWAe9KTAABz9VCsp3I135.jpg

图2. CAN协议物理层。

现在我们来看看CAN数据链路层,它制定了数据帧以便进行比特流的受控传输,而且有助于解决错误检测和总线争用问题。图3所示为标准的CAN帧格式。

wKgaomSEPXWATxFXAAAyq8ipzig240.png

图3. CAN协议数据链路层。

每个节点以帧起始符(SOF)开始数据帧,SOF是第一个显性位。11位标识符是每个节点的唯一地址。IDE表示帧格式。该位域中的逻辑0表示标准的CAN格式,而逻辑1表示扩展的CAN格式。r0是一个保留位。DLC字段表示要传输的数据字节数。在标准CAN2.0帧中,最多可以传输8个字节。接收节点通过在总线上发送显性位来确认该数据帧。最后,帧结束符(EOF)是一个隐性位,标志着一个数据帧的结束。

大多数情况下,在选择CAN收发器时,客户通过函数生成器在CAN收发器的TXD引脚上发送比特流,以此来评估CAN收发器。尽管这种方法非常适合用于评估单节点CAN,但在开发多节点、远距离CAN系统时似乎存在缺陷。因此,要为系统选择合适的CAN收发器,必须采用新的CAN控制器和收发器测试方法。使用这种方法背后的原因是什么?

仲裁方法

使用这种系统级测试方法的主要原因是CAN协议的仲裁特性。如果两个节点试图同时占用总线,则使用非破坏性逐位仲裁来进行访问。将第一个标识符位作为0(显性)发送的节点将保留对CAN总线的控制, 并继续完成其消息传送, 而其他节点发送的是1(隐性)。图4所示为两个节点之间的仲裁方案。

wKgZomSEPWyAFGc9AAHOsJhuGiM423.png

图4. 双节点系统中的CAN仲裁。

在此图中,节点1和节点2通过CAN总线相互连接。因此,CANH和CANL信号对于两个节点是共用的。TXD1和RXD1是用于节点1的信号,而TXD2和RXD2是用于节点2的信号。可以看到,节点1和节点2的前三位是相同的:分别为1、0、1。节点2的第四位是1,而节点1是0。由于节点1有一个显性位,因此赢得了仲裁并继续发送完整的消息。此消息由节点2确认。一旦节点1完成传输,节点2就开始发送消息。节点1确认此消息。

每个节点都有唯一的标识符ID。因此,这个11位的标识符ID被用于仲裁过程。这些比特将由控制器读回,以识别消息传输的优先级。在CAN-FD中,仲裁位速率可以与数据位速率相同或不同。在CAN2.0中,仲裁位速率和数据位速率相同。

在旧版CAN2.0系统中,有时位速率会较标准CAN2.0推荐的1 Mbps有所增加,以加快数据传输。在CAN-FD系统中,仲裁位速率被限制为1 Mbps的数据速率,而数据位速率可高达10 Mbps。在包括11位标识符和SOF位的仲裁阶段,每个传输的位都被读回以进行同步。

CAN节点在CAN总线边缘上同步,但总线上的信号传输时间会在节点之间引入相位差。CAN的非破坏性仲裁机制要求任意两个节点之间的相位差小于半个比特时间。该标准比特时间的下限定义了标称位速率以及总线长度的上限。因此,RXD的上升时间和下降时间、CAN收发器的环路延迟以及电缆都需要考虑在内。在更高的位速率下(例如10 Mbps),传输延迟和上升时间/下降时间需要小于50 ns。

因此,CAN-FD中的仲裁位速率被限制为1 Mbps,允许更高的余量用于同步多个可能的节点。然而,CAN-FD是一个新协议,尚未应用于所有CAN系统。在某些情况下,CAN-FD控制器不可用或者被认为是代价高昂的附加组件,因此客户继续使用标准CAN控制器。在这些系统中,由于涉及关键传感器信息且节点之间的线缆长度可能更短,CAN节点需要以更高的位速率(>2 Mbps)进行通信。在这种情况下,收发器的上升时间/下降时间对称性和传输延迟可能会对允许的数据通信上限造成限制。

CAN收发器需要系统级测试

以CAN收发器MAX33012E为例,该收发器已经过20米线缆测试,速率最高可达13.3 Mbps。可以看到,在图5中,TXD2位宽为75 ns(对应于13.3 Mbps),RXD2位宽为72 ns。当控制器以80%的TXD位宽进行采样时,包括所需RXD的上升时间/下降时间和环路延迟在内的最小RXD位宽为60 ns。在图5中,可以看到接收到的位宽为72 ns。因此,MAX33012E满足条件,并且足够稳健,能够在更高的位速率下工作。在这种情况下,CAN控制器不会检测到任何错误,并且会继续执行数据通信。

wKgaomSEOVmAVJoKAABUjjEQzNk068.jpg

图5. MAX33012E CAN数据传输。

图6所示为同样在13.3 Mbps速度下进行测试的竞品的范围。对于该部分,传输位宽为75 ns(对应于13.3 Mbps),并且接收位宽小于传输位宽(48 ns)的80%。因此,仲裁阶段位传输失败,导致通信错误,最终系统停止工作。

wKgZomSEOVqAHd_tAABSwWoGiB4441.jpg

图6. 竞品的CAN数据传输。

这些类型的数据传输错误只能通过执行完整的系统级测试来发现,其中包括多个CAN控制器、CAN收发器和一根长线缆。

结论

对CAN收发器进行系统级测试有助于揭示系统中未来可能出现的数据传输问题。可使用满足所需时序和电压规格的CAN控制器和线缆来评估CAN收发器,从而避免这些问题。CAN系统的稳健性取决于CAN系统中每个组件性能的累积结果。仅评估一个组件或CAN收发器并不能准确测量系统功能。对系统进行预先验证比等到发生故障后才更换系统更加经济高效。因此,我们强烈建议在选择CAN控制器之前进行系统级测试。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 收发器
    +关注

    关注

    10

    文章

    2968

    浏览量

    104776
  • 控制器
    +关注

    关注

    112

    文章

    15223

    浏览量

    171189
  • CAN控制器
    +关注

    关注

    3

    文章

    73

    浏览量

    14910
收藏 人收藏

    评论

    相关推荐

    未知多节点CAN总线网络,如何准确识别?

    CAN网络中,所有节点的数据收发共享一条总线。当面对未知的多节点CAN总线网络时,如何准确分析各节点
    的头像 发表于 02-27 09:29 1.5w次阅读
    未知<b class='flag-5'>多节点</b><b class='flag-5'>CAN</b>总线网络,如何准确识别?

    CAN收发器电路原理#新能源

    CAN
    未来加油dz
    发布于 :2023年05月09日 22:56:07

    CAN总线节点控制收发器是需要自己设计?

    CAN总线系统中控制收发器是需要自己设计吗?还是节点的模块内部自带了?
    发表于 09-06 11:12

    【绝密】为什么现在的CAN收发器通信距离越来越短?

    延迟加大,减少了实际通讯距离。若想增大CAN总线通信距离,必须了解CAN通信的原理及信号线传输的原理,通过提高收发器、隔离器件的性能和线缆的
    发表于 08-30 20:19

    关于FPGA如何连接CAN收发器

    我之前在CSDN上查到的资料都显示FPGA需要连接一个独立CAN控制,如SJA1000再去连CAN收发器。请问我能直接把FPGA的引脚直接连在CA
    发表于 10-10 09:25

    CAN总线多节点通信异常问题解决

    能力不足造成的。为了进一步验证上述问题,利用两块ARM开发板上4个CAN通道(NXP公司的TJA1040收发器)进行测试,测试结果发现3个CAN通道可正常通信,但是4
    发表于 07-01 19:20

    CAN收发器有什么特点?

    CAN通信中,收发器起到了十分相当特别的作用。目前市面的收发器型号也是不计其数,本文则是根据收发器的发展,简单介绍几款收发器的特点。很多年
    发表于 09-03 06:04

    怎样去设计一种基于STM32F4的CAN总线多节点通信系统

    CAN总线有哪些优点?CAN总线的工作原理是什么?怎样去设计一种基于STM32F4的CAN总线多节点通信系统
    发表于 06-30 07:41

    CAN节点设计基于32位Luminary ARM

    关键词 LM3S2016、CTM系列隔离CAN收发器摘 要 基于32位Luminary ARM的CAN节点设计
    发表于 11-07 14:16 13次下载

    RS-485收发器CAN收发器有什么区别

    协议。两人利用静电放电(ESD)和电压故障干扰MAX13054A CAN收发器背板,演示IC可靠的操作性能
    的头像 发表于 10-11 10:26 8108次阅读

    深入探析CAN收发器各项参数

    CAN收发器是连接CAN控制系统CAN总线网络的桥梁,当选型CAN
    的头像 发表于 12-15 09:34 1.4w次阅读
    深入探析<b class='flag-5'>CAN</b><b class='flag-5'>收发器</b>各项参数

    CAN 收发器的时序考虑

    CAN 收发器的时序考虑
    发表于 11-15 19:45 6次下载
    双 <b class='flag-5'>CAN</b> <b class='flag-5'>收发器</b>的时序考虑

    【技术分享】CAN隔离收发器测试,助您快速掌握产品基本性能

    CAN隔离收发器的基本性能是衡量一款收发器是否优秀的标准。本文将重点介绍CAN隔离收发器
    的头像 发表于 01-06 10:09 711次阅读
    【技术分享】<b class='flag-5'>CAN</b>隔离<b class='flag-5'>收发器</b>测试,助您快速掌握产品基本<b class='flag-5'>性能</b>

    了解CAN收发器及如何验证多节点CAN系统性能

    本文介绍了评估“控制器局域网”(CAN)收发器的正确系统级测试方法。通过展示在多CAN节点系统
    的头像 发表于 07-10 09:56 690次阅读
    <b class='flag-5'>了解</b><b class='flag-5'>CAN</b><b class='flag-5'>收发器</b>及如何<b class='flag-5'>验证</b><b class='flag-5'>多节点</b><b class='flag-5'>CAN</b><b class='flag-5'>系统</b>的<b class='flag-5'>性能</b>

    NXP CAN收发器的特点及应用

    面对各种不同种类的CAN通信收发器,你是否知道该如何选型?NXP推出了多种类型的CAN收发器,它们除了能满足基本的CAN通信需求外,每种系列
    的头像 发表于 09-05 14:05 1375次阅读
    NXP <b class='flag-5'>CAN</b><b class='flag-5'>收发器</b>的特点及应用