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

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

3天内不再提示

什么是CAN总线协议?CAN总线协议具体分析!

Q4MP_gh_c472c21 来源:未知 作者:胡薇 2018-10-16 08:48 次阅读

很难找到一篇能够适合初学者CAN总线原理的文章,因此小编本着通俗易懂的原则编写此文!

本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN协议。

CAN协议和CANOpen协议是两套不同的协议。从软硬件层次来划分,CAN协议属于硬件协议,而CANOpen属于软件协议。

什么是CAN总线?

CAN总线应用于汽车,实现电子控制器传感器之间的通信

l高可靠性、低成本的通信协议。

l最初由Robert Bosch于1986年开发。

l主要应用于汽车、卡车、拖拉机、工业机器人

想象一下,一辆汽车就像一个人:

ØCAN总线是神经系统,使身体各部分之间的通信得以实现。

ØECU通过CAN总线连接,该总线相当于一个中央网络系统。

什么是ECU?

l在汽车CAN总线系统中,ECUs可以是发动机控制单元、安全气囊或音频系统。

l一辆现代汽车最多可以有70辆ECUs。

CAN总线5大特性

l低成本:ECUs通过单个CAN接口进行通信,布线成本低。

l高集成:CAN总线系统允许在所有ECUs上进行集中错误诊断和配置。

l可靠性:该系统对子系统的故障和电磁干扰具有很强的鲁棒性,是汽车控制系统的理想选择。

l高效率:可以通过id对消息进行优先级排序,以便最高优先级的id不被中断。

l灵活性:每个ECU包含一个用于CAN总线收发芯片,随意添加CAN总线节点。

CAN总线发展史

l未出现前:汽车ECUs依靠越来越复杂的点对点布线。

l1986年:Bosch公司开发了CAN总线协议作为汽车电子解决方案,并在SAE大会上发布。

l1991年:Bosch公司发布了CAN2.0,包涵CAN 2.0A (11 位) 和CAN 2.0B (29 位)。

l1993年:CAN总线列入标准(ISO 11898)。

l2012年:Bosch公司发布了CAN FD 1.0

l今天:几乎每一辆汽车都有CAN总线系统,它广泛应用于卡车、公共汽车、工业车辆、船舶、飞机和工业自动化

CAN总线网络

CAN总线网络主要挂在CAN_H和CAN_L,各个节点通过这两条线实现信号的串行差分传输,为了避免信号的反射和干扰,还需要在CAN_H和CAN_L之间接上120欧姆的终端电阻,但是为什么是120欧姆呢?那是因为电缆的特性阻抗为120欧。

CAN收发器

CAN收发器的作用是负责逻辑电平和信号电平之间的转换。

即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN总线上的节点都可以决定自己是否需要总线上的数据。具体的管教定义如下:

CAN信号表示

CAN总线采用不归零码位填充技术,也就是说CAN总线上的信号有两种不同的信号状态,分别是显性的(Dominant)逻辑0和隐形的(recessive)逻辑1,信号每一次传输完后不需要返回到逻辑0(显性)的电平。

CAN收发器有TXD,RXD是与CAN控制器连接的。发送器接到网络的是CL和CH。CL与CH是差分电路。CAN网络上是用CL于CH的电压差来表示逻辑“0”和逻辑“1”。所以CAN网络中只能单向传输。

CAN总线通信协议

协议格式

如何解析

下面是使用CANLoggerX000的汽车的一个示例日志文件:

# Logger type: CANLogger2000

# HW rev: 6.xx

# FW rev: 5.51

# Logger ID: ID0001

# Session No.: 9

# Split No.: 3

# Time: 20170508T064128

# Value separator: ";"

# Time format: 4

# Time separator: ""

# Time separator ms: ""

# Date separator: ""

# Time and date separator: "T"

# Bit-rate: 500000

# Silent mode: false

# Cyclic mode: false

Timestamp;Type;ID;Data

08T064254150;0;34d;1003fafa000d00ff

如果我们查看上面的原始CAN总线数据样本,可能会注意到:

原始的CAN总线数据没有意义!

这是因为我们需要将数据转换成按比例计算的工程值——也就是人类可读的形式。

要做到这一点,我们需要知道一些事情:

例如,在34d中的64位数据中,可能会有3个不同参数的数据,每个参数都有一个特定的起始点和位长。

针对这3个不同参数的数据,我们需要要知道如何解码:

每个参数都需要偏移量和刻度值

[数据值]=[偏移]+[刻度]x[原始数据值]

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

    关注

    57

    文章

    2714

    浏览量

    463328
  • 总线
    +关注

    关注

    10

    文章

    2864

    浏览量

    87972

原文标题:一文全面了解嵌入式工程师常用的CAN总线协议

文章出处:【微信号:gh_c472c2199c88,微信公众号:嵌入式微处理器】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    CAN总线协议简介

    CAN 总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN 为底层协议
    发表于 08-02 12:29 1987次阅读

    CAN总线协议知识科普

    本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN
    发表于 09-15 12:47 3262次阅读

    浅谈CAN FD总线协议帧格式

    假期更新了一文搞懂CAN总线协议帧格式,CAN FD总线协议怎能错过?本篇博文将讲解
    发表于 10-14 12:49 3373次阅读
    浅谈<b class='flag-5'>CAN</b> FD<b class='flag-5'>总线</b><b class='flag-5'>协议</b>帧格式

    CAN总线知识】全面了解CAN总线协议

    提及总线,总是让人联想到那些交错在一起的计算机电线。那么这些电线如何发挥功效呢?这还得配合总线协议的管理来使用。那么今天我们介绍的就是CAN总线
    的头像 发表于 10-15 08:05 1202次阅读
    【<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>知识】全面了解<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>

    CAN总线协议分析

    `CAN总线接口协议分析通过OSC482L进行CAN总线接口的
    发表于 08-19 09:27

    CAN总线的浅析CANopen协议

    本文分析CAN 总线的一些特点以及在国内的的应用状况,提出了引入国际上通用的CAN 总线高层应用协议
    发表于 03-27 15:37 104次下载
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的浅析CANopen<b class='flag-5'>协议</b>

    CAN总线通信协议分析和实现 CAN总线通信协议以及其实现方法

    CAN总线通信协议分析和实现 CAN总线通信协议
    发表于 09-04 08:45 40次下载
    <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>以及其实现方法

    CAN总线定义与CAN协议的基本概念

    CAN总线是什么?CAN总线定义是什么? CAN(Controller Area Network)是ISO国际标准化的串行通信
    发表于 12-27 13:40 3.2w次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>定义与<b class='flag-5'>CAN</b><b class='flag-5'>协议</b>的基本概念

    CAN总线通信协议分析实现

    CAN总线通信协议,才能完成数据准确可靠的传输。目前,也存在一些CAN总线产品开发公司定制的协议
    发表于 01-08 15:01 9次下载
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信<b class='flag-5'>协议</b><b class='flag-5'>分析</b>实现

    CAN总线协议是什么?CAN总线协议有哪些?CAN总线协议知识分析

    本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN
    的头像 发表于 10-03 19:53 7.4w次阅读
    <b class='flag-5'>CAN</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>有哪些?<b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>协议</b>知识<b class='flag-5'>分析</b>

    CAN总线协议教程|CAN报文分析

    CAN协议教程 介绍:CAN总线 CAN总线是广播类型的总线
    发表于 04-03 15:32 1.4w次阅读

    CAN总线通信协议

    CAN总线通信协议详细如下。
    发表于 04-19 16:54 78次下载

    CAN总线协议CAN在工业控制中的应用

    CAN总线协议CAN在工业控制中的应用说明。
    发表于 04-20 11:14 27次下载

    认识CAN总线错误 CAN总线错误分析与解决

    认识CAN 总线错误的第一步就是了解认识CAN 总线协议和它的具体功能,这样才能更容易地理解
    发表于 08-14 15:18 5863次阅读
    认识<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>错误 <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>错误<b class='flag-5'>分析</b>与解决

    什么是CAN总线协议?它有哪些特性和应用?

    CAN总线协议(Controller Area Network,简称CAN),是一种在汽车和工业自动化领域广泛应用的串行通信协议。自1986
    的头像 发表于 05-27 16:32 1139次阅读