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

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

3天内不再提示

CAN总线结构与CAN总线标准帧

DIri_ALIFPGA 来源:未知 作者:李倩 2018-03-13 14:09 次阅读

我知道,我对与电子有关的所有事情都很着迷,但不论从哪个角度看,今天的现场可编程门阵列(FPGA),都显得“鹤立鸡群”,真是非常棒的器件。如果在这个智能时代,在这个领域,想拥有一技之长的你还没有关注FPGA,那么世界将抛弃你,时代将抛弃你。作者ALIFPGA,多年FPGA开发经验,所有文章皆为多年学习和工作经验之总结。

CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。

CAN总线结构

CAN总线规范采用了ISO-OSI(Open System Interconnection Reference Model,开放式通信系统互联参考模型)的三层网络结构,有三种不同的器件与之相对应。

对应物理层的是收发器

对应数据链路层的是CAN控制器

应用层上主要是用户特殊的应用,对应的器件是微控制器。

CAN总线标准帧

标准帧11位标识符。

帧类型数据帧、远程帧、错误帧和过载帧

数据帧:数据帧携带数据从发送器至接收器。总线上传输的大多是这个帧。

远程帧:由总线单元发出,请求发送具有同一识别符的数据帧。数据帧(或远程帧)通过帧间空间与其他各帧分开。

错误帧:任何单元一但检测到总线错误就发出错误帧。

过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。

帧以起始帧(SOF)位开始, SOF 为显性状态,允许所有节点的硬同步。SOF之后是仲裁字段,由12个位组成,分别为11个标识位和一个远程发送请求(Remote TransmissionRequest, RTR)位。RTR 位用于区分报文是数据帧

(RTR 位为显性状态)还是远程帧(RTR 位为隐性状态)。

仲裁字段之后是控制字段,由6 个位组成。控制字段的第一位为标识扩展(Identifier Extension,IDE)位,该位应是显性状态来指定标准帧。标识扩展位的下一位为零保留位(RB0),CAN 协议将其定义为显性位。控制

字段的其余4 位为数据长度码(Data Length Code,DLC),用来指定报文中包含的数据字节数(0 到8 字节)。

控制字段之后为数据字段,包含要发送的任何数据字节。数据字段长度由上述DLC 定义(0 到8 字节)。

数据字段之后为循环冗余校验(CRC)字段,用来检测报文传输错误。CRC 字段包含一个15 位的CRC 序列,之后是隐性的CRC 定界位。

最后一个字段是确认字段(ACK),由2 个位组成。在确认时隙(ACK Slot)位执行期间,发送节点发出一个隐性位。任何收到无错误帧的节点会发回一个显性位(无论该节点是否配置为接受该报文与否)来确认帧收到无误。确认字段以隐性确认定界符结束,该定界符可能不允许被改写为显性位。

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

    关注

    1625

    文章

    21665

    浏览量

    601781
  • CAN总线
    +关注

    关注

    145

    文章

    1936

    浏览量

    130625

原文标题:CAN总线标准帧

文章出处:【微信号:ALIFPGA,微信公众号:FPGA极客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    浅谈CAN FD总线协议格式

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

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

    在ISO 11898-2和ISO 11898-3中分别规定了两种CAN总线结构(在BOSCH CAN2.0规范中,并没有关于总线拓扑结构的说
    发表于 04-07 09:30 2775次阅读
    高速<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>和低速<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>的特性

    CAN总线标准和扩展

    CAN总线标准和扩展主要决定ID的长度,标准
    发表于 08-20 06:43

    Can总线何时是空闲的

    录1.Can总线电平介绍2.Can总线何时是空闲的3.Can总线
    发表于 08-23 08:44

    can总线结构和原理

    控制器局域网总线CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。
    发表于 11-09 19:33 3.1w次阅读
    <b class='flag-5'>can</b><b class='flag-5'>总线结构</b>和原理

    CAN总线过载及数据详解

    CAN:Controller Area Network,控制器局域网是一种能有效支持分布式控制和实时控制的串行通讯网络。本文首先介绍了CAN总线系统结构及数据传输,其次详细的阐述了
    的头像 发表于 05-07 10:59 2.1w次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>过载<b class='flag-5'>帧</b>及数据<b class='flag-5'>帧</b>详解

    can总线结构

    CAN总线用户接口简单,编程方便。网络拓扑结构采用总线结构。这种网络结构简单、成本低,并且采用
    的头像 发表于 11-28 17:16 1.8w次阅读
    <b class='flag-5'>can</b><b class='flag-5'>总线结构</b>

    CAN总线基础的详细资料概述

    本文档的主要内容详细介绍的是CAN总线基础的详细资料概述包括了:概述,汽车总线CAN标准CAN
    发表于 11-29 15:31 121次下载
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>基础的详细资料概述

    CAN总线扩展的双滤波方式

    CAN总线在的帧数据在总线上传送时,其它的CAN控制器是通过验收滤波来决定总线上的数据的ID是
    发表于 07-10 11:30 2416次阅读

    虹科干货 | 带你全面认识“CAN总线错误”(一)——CAN总线错误与错误

    AsimpleintrotoCANerrorsCAN总线错误介绍在本系列文章中,我们将为您详细介绍CAN总线错误的相关知识,包括CAN总线
    的头像 发表于 05-27 10:39 4539次阅读
    虹科干货 | 带你全面认识“<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总线标准和扩展CAN协议中的两种类型
    的头像 发表于 01-30 09:41 5636次阅读
    <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'>帧</b>有什么区别呢?分别适用于什么工况?

    请问用CAN存储器存储的CAN总线数据格式有哪些呢?

    之间的信息传输。下面将详细介绍CAN总线数据的格式。 CAN总线数据分为两种类型:
    的头像 发表于 01-31 13:46 1206次阅读

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

    总线的特性。 首先,高速CAN总线是指数据传输速率较高的CAN总线,其中包括CAN 2.0A和
    的头像 发表于 01-31 14:09 2550次阅读

    CAN总线的数据结构

    CAN总线是一种基于时间分割的通信协议,它允许多个设备共享一个通信介质(如双绞线或光纤)。CAN总线的数据传输速率可以达到1 Mbps,适用于短距离通信。
    的头像 发表于 07-24 15:06 721次阅读

    CAN总线通信中的数据结构解析

    CAN总线由Bosch公司在1980年代开发,旨在为汽车电子系统提供一个可靠的通信网络。随着技术的发展,CAN总线已经被广泛应用于各种工业和自动化领域。 2.
    的头像 发表于 11-12 10:12 227次阅读