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

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

3天内不再提示

CAN总线通讯出错?检查您的采样点是否设置正确

虹科智能自动化 2022-06-09 09:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.CAN网络简介

CAN的中文是控制局域网(Controller Area Network),与1986年由德国Bosch公司为汽车开发的网络技术,主要用于汽车的检测和控制,目的是为了适应汽车“减少线束数量”和“通过多个网络进行大量数据的高速传输”的需求。


2.CAN网络特点

CAN网络的特点主要有以下几点:

节点之间采用多主通信的方式

采用短帧结构,数据帧为8个字节,实时性高

报文ID值越小,优先级越高

具有非破坏性的总线仲裁处理机制

有可靠的CRC校验方式,传输过程中出错率极低

具有自动重发机制

节点严重错误时,具有自动脱离总线的功能

最远通信距离可达10km(速率在5kbps一下)

通信速率最高可达1MB/s(此时通讯距离最远40m)

实际节点数可大110个

成本低


3.CAN物理层结构CAN网络的物理层组成如图1所示。CAN总线有两条传输线路,为CAN_H和CAN_L,在总线两端通常需要连接终端电阻,阻值为100-130 Ω。CAN网络采用差分电平传输数据,在ISO11898(高速CAN)中,CAN_H显性状态电压约为3.5V,隐性状态电压约为2.5V,CAN_L在显性和隐性状态下的电压则分别为1.5V和2.5V。在CAN总线上可以有许多个节点(ISO建议最大32个节点,实际最大节点数可根据收发器的负载能力进行调节),每个节点包括Host主机,CAN控制器和CAN收发器。CAN收发器主要实现二进制码流与差分信号之间的转换,CAN控制器的作用主要是用于处理来自Host主机的数据并传给CAN收发器。51ca28fe-e291-11ec-b80f-dac502259ad0.png图1 CAN网络物理层结构图

4.CAN通信原理CAN网络采用异步通信的方式,因此需要根据波特率进行采样,采样原理如图2所示。红色箭头则表示采样点的位置,图示采样得到数据则为“1010 1010”。51fcdf74-e291-11ec-b80f-dac502259ad0.png图2 CAN通信采样原理图
说到采样点,就需要引入位时间的概念。位时间是指每传输一位数据需要的时间,即位时间=1/波特率。一个位时间可以分为同步段、传播段、相位缓冲段1和相位缓冲段2,某个位时间每个段的时间份额如图3所示。5234030a-e291-11ec-b80f-dac502259ad0.png图3 某个位时间的时间份额组成
CAN通信中常见的采样点以及相关的参数如表1所示。不同的波特率时间对应的采样点以及位时间的份额可能不同。以波特率为500k为例,一个位时间被分成了16个时间份额,采用点在第14个时间份额。表1 CAN通信中常见采样参数527b129a-e291-11ec-b80f-dac502259ad0.png这里有一个问题,为什么CAN通信中,要波特率和采样点要设置成一样的呢?画个图就能一目了然。如图4所示,假设采样点提前20%,那么采样的数据就会为“0101 1010”,和之前(图2)的数据第五位就不相同了。因此,如果采样点不同,就会造成数据传输错误,传输的数据越多,累积的错误数据位就越多。所以,在进行CAN通信时,一定要将各节点的波特率和采样点设置成相同的。52ceb9ea-e291-11ec-b80f-dac502259ad0.png图4 采样点提前20%的采样示意图5.软件中采样点的设置5.1在PCAN-View软件中1、打开PCAN-View软件便会有如下界面53007520-e291-11ec-b80f-dac502259ad0.png我们可以看到在connect对话框中有连接选项和以下设置界面,在设置界面我们可以设置时钟频率、波特率、总线时序等,以及在“Filter setting”栏中我们可以设置过滤器条件,用于过滤报文(标准帧/拓展帧,过滤条件为报文ID范围)。2、点击“Bus Timing Register”选项框后面的三角形箭头,选择“Manage Bit rates”,进入Manage Bit rates对话框53754dbe-e291-11ec-b80f-dac502259ad0.png53b0af1c-e291-11ec-b80f-dac502259ad0.png3、选择“Add”,便可在右端对话框中输入自己想要的参数,包括标题、预分频、时间段等参数,根据我们输入的参数在下方的对话框中会实时显示对应的波特率、采样点、时间量等信息,以便于我们完成对采样点等信息的设置。5408314c-e291-11ec-b80f-dac502259ad0.png最后点击“OK”完成对采样点的设置。(在之后我们若是想要改变采样点,我们可以点击工具栏中的连接按钮,重新进入连接界面(“connect”界面))。
5.2 在PEAK-Explorer 5中设置采样点1、打开PEAK-Explorer 5,点击菜单栏中的“Tool”,在下拉菜单栏中选择“Nets Configuration”,进入PCAN Nets Configuration对话框54534f9c-e291-11ec-b80f-dac502259ad0.png2、在PCAN Nets Configuration对话框中USB菜单栏下的Internet选项上单击鼠标右键,选择“New Net”,进入“Net Properties”对话框,在这你可以设置网络名称、时钟频率、波特率等信息。54a97f66-e291-11ec-b80f-dac502259ad0.png3、点击波特率栏后的三个点,进入Manage Bit rates对话框,后续采样点的设置操作同PCAN-View中相同,这里便不再赘述。54e65878-e291-11ec-b80f-dac502259ad0.png以上便是通过PCAN-View和PEAK Explorer 5两个软件完成对采样点的设置,这两个软件对采样点的设置可以与波特率计算工具配合使用,可以实现更简洁的工作方式,提高工作效率。6.波特率计算工具的使用6.1选择你的波特率类型552c92b6-e291-11ec-b80f-dac502259ad0.png如上图,可选择三种波特率类型,其分别为CAN、CAN FD、SJA-1000三种类型。CAN Bit Rate类型是用于实现对用CAN作控制器的FPGA实现的设备的波特率仲裁类型,比如PCAN-miniPCIe。55713b00-e291-11ec-b80f-dac502259ad0.png
CAN FD Bit Rate同CAN Bit Rate类似,唯一区别在于CAN FD Bit Rate是针对用CAN FD作控制器,比如PCAN-PCI Express FD。55d393f4-e291-11ec-b80f-dac502259ad0.png
SJA-1000 Bit Rate类型是被用于产自飞利浦、有着8MHz的时钟频率、基于SJA-1000 CAN控制器的设备,比如PCAN-USB6.2 输入波特率和偏移量5630a292-e291-11ec-b80f-dac502259ad0.png如图有两个键入框,在第一个键入框中输入要查询的波特率和它的单位;在第二个键入框中输入允许的偏移量(可选可不选),如若选择“Allow bit rate deviation”,那么就要考虑输入一个偏移度(容忍量),并且这近似的值将被列在结果中。如果没进行勾选,仅有波特率的匹配值被给出,而没有偏移量。
6.3 选择输入频率、采样点和位时间56a06910-e291-11ec-b80f-dac502259ad0.png如图,第一栏是让你选择一个频率去限制时钟频率,这将被用于计算波特率(至少选择一个频率)。第二栏是输入采样点范围(可选可不选),输入采样点范围是用于过滤采样结果,如果不进行勾选,将得到所有采样点结果。第三栏是选择位时间范围(可选可不选),与第二栏功能类似,区别在于第三栏是基于位时间范围来过滤所得结果。如果不进行勾选,将得到所有位时间结果。6.4 点击开始计算,得出所要结果56cc537c-e291-11ec-b80f-dac502259ad0.png在结果中我们可看到,上面的框中显示我们已选择的设置,下面的框中显示计算结果。另外就是在整个流程中我们并没用到的按键,其对应的功能分别如下570f4e0c-e291-11ec-b80f-dac502259ad0.png不同设备之间要实现准确无误的通信,波特率匹配是很重要的条件。波特率计算工具将简化这一计算过程,避免了繁琐而又复杂的公式计算,熟练掌握这一工具的使用,将大大提高我们的工作效率,降低人工计算的错误率。

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

    关注

    58

    文章

    3013

    浏览量

    471511
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CAN 总线自定义协议使用说明

    关于can总线设置
    发表于 11-05 17:00 1次下载

    CAN总线远程调试工具介绍

    一种工程机械领域调试上的创新产品,可用于Codesys 源程序的无线下载联机、远程调试、故障诊断、CAN 总线数据在线监控、透传收发、数据采集、数据分析、远程控制等各种 CAN 总线
    发表于 10-17 16:14 0次下载

    CANFD节点的采样如何测量?

    本文导读为提升CAN/CANFD网络的通信可靠性,各节点需尽可能配置合适且一致的采样。然而在设备CAN通信采样
    的头像 发表于 07-31 11:34 946次阅读
    CANFD节点的<b class='flag-5'>采样</b><b class='flag-5'>点</b>如何测量?

    CAN总线电容过大?三种解决方案来了

    时,经常会遇到由于下降沿过缓导致的未采样错误。下降沿过缓通常是由于总线电容过大引起的。由于CAN收发器采用单向驱动结构,上升沿有驱动,而下降沿则是通过总线与终端
    的头像 发表于 07-22 11:36 476次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>电容过大?三种解决方案来了

    CAN总线采样不一致的危害

    ,用于验证消息是否正确接收。采样不一致可能导致节点无法正确采样确认位,触发重传,降低网络效率
    发表于 06-07 08:55

    如何评估CAN总线信号质量

    网络中,数据通过双绞线上的差分信号传输。信号质量直接影响节点正确解读数据的能力。信号质量差可能表现为: 位错误 :由于噪声或信号失真导致的位误判。 帧错误 :CAN帧结构错误,导致接收节点拒绝。 总线
    发表于 06-07 08:46

    采样不一致:总线通信的隐形杀手

    CAN、CANFD信号波形不稳定或非理想环境下,采样不一致成为总线通信中的关键隐患,本文分析了采样
    的头像 发表于 05-19 11:44 830次阅读
    <b class='flag-5'>采样</b><b class='flag-5'>点</b>不一致:<b class='flag-5'>总线</b>通信的隐形杀手

    CANape中记录总线报文及生成BLF文件的培训视频#CANape #汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2025年03月06日 11:40:27

    CAN丢帧很常见,你知道有哪些主要原因吗?(下)

    错误时,可能会导致节点在接收消息时无法正确同步和解析,从而造成丢帧问题。图1总线速率设置错误CAN总线速率是指在
    的头像 发表于 02-25 11:33 1254次阅读
    <b class='flag-5'>CAN</b>丢帧很常见,你知道有哪些主要原因吗?(下)

    CAN总线十万个为什么 | CAN自定义波特率有什么用?

    导读CAN总线通信中,波特率一致并不总能保证通信顺畅。本文将揭秘自定义波特率的原理和应用,探讨如何通过优化采样和提高容忍度解决通信问题,助力工程师提升通信稳定性。通常情况下,
    的头像 发表于 02-07 11:36 1105次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>十万个为什么 | <b class='flag-5'>CAN</b>自定义波特率有什么用?

    AD7841需要设置为以100KHZ或者1KHZ采样率对连续128采样时,应该怎么设置采样率?

    您好,我现在在用ADS7841,芯片资料上说它最高可以达到200KHZ的转换率,我想问下 当我需要设置为以100KHZ或者1KHZ采样率对连续128(或更过
    发表于 02-07 06:39

    沈阳广成科技CAN盒的优势

    CAN盒,是指集成有CAN接口,可以进行CAN通讯的盒状设备,包括CAN总线分析仪、
    的头像 发表于 01-09 09:23 1111次阅读

    CAN/CANFD 总线干扰仪TESTBASE-BDI

    总线干扰仪是CAN/CANFD总线一致性测试中必不可少的重要设备,用于实现采样以及故障注入等测试项配合桌面式车载网络自动化测试系统TEST
    的头像 发表于 12-26 11:24 1413次阅读
    <b class='flag-5'>CAN</b>/CANFD <b class='flag-5'>总线</b>干扰仪TESTBASE-BDI

    CAN总线模拟器的使用指南 CAN总线网络的安全性分析

    模拟器使用指南: 安装模拟器 下载并安装ICSim或其他CAN总线模拟器软件。 安装过程中,可能需要依赖一些库文件,如libsdl2-dev、libsdl2-image-dev等,根据安装提示进行安装。 配置模拟器 启动模拟器后,进行必要的配置,如选择
    的头像 发表于 12-23 09:16 3668次阅读