文档章节

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

DB_Terrill
 DB_Terrill
发布于 2017/08/29 16:29
字数 523
阅读 66
收藏 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
粉丝 23
博文 139
码字总数 24776
作品 0
大连
其他
私信 提问
网络设备驱动和数据链路层的分析

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

brucema
2012/03/29
0
0
ISO/OSI参考模型及TCP/IP参考模型

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

往事_Jim_遗
2017/10/31
0
0
有赞跨平台长连接组件设计及可插拔改造

背景 我们在提出开发跨平台组件之前, iOS 和 Android 客户端分别使用一套长连接组件,需要双倍的人力开发和维护;在产品需求调整上,为了在实现细节上保持一致性也具有一定的难度;Web 端与...

有赞技术
04/27
0
0
UART0串口编程系列之前奏篇

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

YACHE
2011/07/04
0
0
软考之计算机网络

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

hushhw
2017/11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
17
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部