文档章节

CAN协议,系统结构和帧结构

DB_Terrill
 DB_Terrill
发布于 2017/08/29 16:29
字数 523
阅读 28
收藏 0
点赞 0
评论 0

CAN:Controller Area Network,控制器局域网

是一种能有效支持分布式控制和实时控制的串行通讯网络。

CAN-bus: Controller Area Network-bus,控制器局域网总线技术

 

CAN总线系统结构

  1. CAN 控制器

接收控制单元中微处理器发出的数据,处理数据并传给CAN收发器

  1. CAN收发器

将数据传到总线 or 从总线接收数据给控制器

  1. CAN数据传递终端

避免数据传输终了反射回来

  1. CAN数据总线

    传输数据的数据线,两根 CAN-high and CAN-low,差分信号

CAN总线系统的数据传输

 

CAN总线节点上的节点发送数据是以报文的形式广播给网络中所有节点。收发器接收到数据就把数据传送给控制器,再由控制器检查判断是不是所需数据。不是则忽略。

  • 网络上任何一个节点在任何时候都可以发送数据
  • 多个节点发送数据,优先级低主动退出发送
  • 短帧结构,每帧数据信息为0~8字节(具体用户定义),对数据编码而不是地址编码
  • CAN每帧都有CRC校验和其他检验措施,严重错误的情况下具有自动关闭输出的功能

 

CAN总线系统数据格式

CAN-bus通信帧共分为数据帧、远程帧、错误帧、过载帧和帧间隔

五种类型。

  • 数据帧

    结构上由7个段组成,其中根据仲裁段ID码长度的不同,分为标准帧(CAN2.0A)和扩展帧(CAN2.0B)。

帧起始、帧结束

仲裁段

显性隐性

总线仲裁

 

  • 从该分析过程得出结论是:帧ID值越小,优先级越高
  • 对于同为扩展格式数据帧、标准格式远程帧和扩展格式远程帧的情况同理。

    控制段

    数据段

    CRC段

    ACK段

     

    远程帧

    数据帧与远程帧的区别

     

    CAN-bus 错误类型

     

    过载帧

     

    帧间隔

     

本文转载自:http://www.cnblogs.com/pejoicen/p/3986587.html

共有 人打赏支持
DB_Terrill
粉丝 24
博文 120
码字总数 18622
作品 0
大连
高级程序员
网络设备驱动和数据链路层的分析

分类: linux源码分析 2006-07-24 16:151446人阅读评论(0)收藏举报 当物理网络设备接收到数据时,系统是如何知道并读取数据的呢?当前可通过两种途径解决这个问题。一种方法是轮询方式,系统...

brucema ⋅ 2012/03/29 ⋅ 0

ISO/OSI参考模型及TCP/IP参考模型

ISO/OSI参考模型是网络体系下的一个重要的结构,在网络发展的早期各大研究机构、计算机厂商都在大力发展自己的计算机网络系统,所有在这种自行发展的网络系统下各个都互兼容,所以就出现个各...

往事_Jim_遗 ⋅ 2017/10/31 ⋅ 0

UART0串口编程系列之前奏篇

串口编程之前奏篇 ------------------------------------------------------------------------ Author :tiger-john WebSite :blog.csdn.net/tigerjb Email :jibo.tiger@gmail.com Update-T......

YACHE ⋅ 2011/07/04 ⋅ 0

Lwip IP包分片重组

1. 开发环境 操作系统:SylixOS 编程环境:RealEvo-IDE3.1 硬件平台:AT9x25开发板 2. 技术实现 SylixOS系统使用的网络协议栈是Lwip协议栈。Lwip是Light Weight (轻型)IP协议,有无操作系统的...

SeanPcWoo ⋅ 2017/06/19 ⋅ 0

《流媒体技术入门与提高》读书笔记

公司是搞视频类的互联网公司,本人虽为开发人员,但因为业务相关,因此也要懂得视频和流媒体方面的知识,于是把公司图书阁里的《流媒体技术入门与提高》借回来看。我手上的是第二版。 流式技...

sp42 ⋅ 2013/01/23 ⋅ 0

软考之计算机网络

1.网络基础 1.计算机网络的发展 >具有通信功能的单机系统 >具有通信功能的多机系统 >以共享资源为目的的计算机网络 >以局域网及因特网为支撑环境的分布式计算机系统 2.计算机网络的功能 数据...

hushhw ⋅ 2017/11/09 ⋅ 0

tcp和udp使用总结

TCP与Udp的区别 tcp: TCP 是面向连接的,并且是一种可靠的协议,在基于 TCP 进行通信时,通信双方需要先建立一个 TCP 连接,建立连接需要经过三次握手,握手成功才可以进行通信 1、基于连接...

最爱妈妈本尊 ⋅ 2017/12/14 ⋅ 0

Linux驱动程序编写

工作需要写了我们公司一块网卡的Linux驱动程序。经历一个从无到有的过程,深感技术交流的重要。Linux作为挑战微 软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

Xilinx RocketIO模块的介绍

摘要: 在高速电路系统设计中,差分串行通信方式正在取代并行总线方式,以满足系统对高带宽数据通信的需求。RocketIO是Virtex2 Pro以上系列FPGA中集成的专用高速串行数据收发模块,可用于实现...

mshgocn ⋅ 04/18 ⋅ 0

H264码流学习总结

【h264编码出的NALU规律】 第一帧 SPS【0 0 0 1 0x67】 PPS【0 0 0 1 0x68】 SEI【0 0 0 1 0x6】 IDR【0 0 0 1 0x65】 p帧 P【0 0 0 1 0x61】 I帧 SPS【0 0 0 1 0x67】 PPS【0 0 0 1 0x68】 ......

曾永刚 ⋅ 2017/08/02 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

20.zip压缩 tar打包 打包并压缩

6月25日任务 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具: zip支持压缩目录 zip压缩完之后原来的文件不删除 不同的文件内容其实压缩的效果不一样 文件内有很多重复的用xz压...

王鑫linux ⋅ 2分钟前 ⋅ 0

double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的...

young_chen ⋅ 9分钟前 ⋅ 0

Python 优化 回溯下降算法

使用sympy构造表达式,实现回溯下降算法 画出函数图像,先使用暴力搜索,找到最小值约为2.5左右 然后选定初始点,开始进行回溯搜索,下降方向为负梯度方向 完整代码 from matplotlib import...

阿豪boy ⋅ 13分钟前 ⋅ 0

Django配置163邮箱出现 authentication failed(535)错误解决方法

最近用Django写某网站,当配置163邮箱设置完成后,出现535错误即:smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') Django初始配置邮箱设置 EMAIL_HOST = "smtp.1...

陈墨轩_CJX ⋅ 15分钟前 ⋅ 0

用接口模拟可伸缩枚举(34)

1、枚举的可伸缩性最后证明都不是什么好点子 扩展类型的元素是基本类型实例,基本类型的实例却不是扩展类型的元素,很混乱 目前还没有很好的方法来枚举基本类型的所有元素,及其扩展 可伸缩性...

职业搬砖20年 ⋅ 18分钟前 ⋅ 0

Ubuntu18.04 IDEA快捷键无法使用

IDEA默认的回退到上一视图的快捷键是Ctrl + Alt + Left,在ubuntu中这个快捷键被占用了,在16.04中可以在界面中取消这个快捷键,但是18.04就看不到了,可以使用以下命令解决 gsettings set ...

Iceberg_XTY ⋅ 23分钟前 ⋅ 0

如何解决s权限位引发postfix及crontab异常

一、问题现象 业务反馈某台应用服务器,普通用户使用mutt程序发送邮件时,提示“postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied”,而且普通用法...

问题终结者 ⋅ 35分钟前 ⋅ 0

Unable to load database on disk

由于磁盘空间满了以后,导致zookeeper异常退出,清理磁盘空间后,zk启动报错,信息如下: 2018-06-25 17:18:46,904 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading co...

刀锋 ⋅ 54分钟前 ⋅ 0

css3 box-sizing:border-box 实现div一行多列

<!DOCTYPE html><html><head><style> div.container{ background:green; padding:10px 10px;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Fir......

qimh ⋅ 今天 ⋅ 0

Homebrew简介和基本使用

一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径...

说回答 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部