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
    +关注

    关注

    57

    文章

    2719

    浏览量

    463384
收藏 人收藏

    评论

    相关推荐

    CAN总线常见错误码及其解决方法

    错误码,这些错误码可以帮助我们诊断和解决问题。 1. 错误帧(Error Frame) 错误码 :当CAN控制器检测到一个帧的错误时,会发送一个错误帧。 解决方法 : 检查物理连接,确保所有连接都牢固且无损坏。 检查终端电阻
    的头像 发表于 11-12 10:05 528次阅读

    CAN总线基础知识汇总#CAN #CANoe #汽车总线

    CAN总线
    北汇信息POLELINK
    发布于 :2024年11月04日 13:35:54

    什么是CAN时钟?#CAN #汽车CAN总线  #CANoe

    CAN总线
    北汇信息POLELINK
    发布于 :2024年10月29日 12:23:36

    怎么检查CAN以太网模块的物理连接

    检查CAN以太网模块的物理连接是确保数据能够正确传输的重要步骤。
    的头像 发表于 09-18 11:30 299次阅读

    CAN总线数据偶尔出错原因

    CAN总线(Controller Area Network)是一种用于汽车和工业自动化领域的通信协议。它具有高可靠性、实时性和灵活性,被广泛应用于汽车、工业、医疗等领域。然而,在实际应用中,CAN
    的头像 发表于 06-16 10:54 1127次阅读

    如何检测can通讯电路的好坏

    影响。本文将详细介绍如何检测CAN通讯电路的好坏,包括检测方法、检测工具、检测流程以及常见问题处理等方面的内容。 一、检测方法 视觉检查 在进行CAN
    的头像 发表于 06-16 09:42 2530次阅读

    CAN分析仪的驱动程序如何正确安装

    。 解决方法: 检查驱动文件是否对应不同的接口系列和操作系统。 根据企业提供的正确驱动文件进行安装。 2.USB接口连接问题 问题描述:USB接口连接不稳定,导致数据传输中断或不稳定。 解决方法: 重新拔出并插入USB端口。
    的头像 发表于 06-03 18:07 1190次阅读

    如何检查CAN总线是否处于关闭状态?

    我正在检查 CAN 总线关闭情况。 但它不起作用。 请帮我检查 CAN 总线
    发表于 05-20 06:21

    TMS320F280049C: can波特率设置时bit-time设置值不同对自己发送到总线上数据有什么影响?

    20和23的采样位置都是60%,21、22、24、25采样位置分别为58.5%、63%、64%、68%,可以排除硬件上的延迟时间问题,请问这个Bit-time配置不同为什么会导致
    发表于 04-10 21:22

    CAN总线的传输距离与采样、传输时延之间的关系,你弄明白了吗?

    CAN总线的最大传输距离与波特率、采样、传输时延之间存在什么样的关系呢?如何理论计算出最大传输距离呢?本文将详细解答这两个问题。延时原理分析影响C
    的头像 发表于 03-06 08:23 879次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的传输距离与<b class='flag-5'>采样</b><b class='flag-5'>点</b>、传输时延之间的关系,你弄明白了吗?

    Mini CAN Unit小型CAN总线通讯单元

    技术,CAN总线能够实现稳定通信,适应长距离传输和嘈杂环境的要求。MiniCANUnitMiniCANUnit是一款小型CAN总线通讯单元,
    的头像 发表于 02-19 12:47 458次阅读
    Mini <b class='flag-5'>CAN</b> Unit小型<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>通讯</b>单元

    高速CAN总线和低速CAN总线的特性

    高速CAN总线和低速CAN总线的特性 高速CAN总线和低速C
    的头像 发表于 01-31 14:09 2566次阅读

    CAN总线共模电感选型

    CAN总线共模电感的定义和作用 CAN总线共模电感是一种用于CAN总线通信系统中的电感元件,
    的头像 发表于 01-05 13:42 3871次阅读

    CAN总线的发展历程 CAN XL总线的典型应用

    CAN总线通讯协议由德国博世于上世纪80年代发明,第一个使用CAN总线通讯协议的量产车型是199
    的头像 发表于 12-21 14:03 2960次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的发展历程 <b class='flag-5'>CAN</b> XL<b class='flag-5'>总线</b>的典型应用