文档章节

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

DB_Terrill
 DB_Terrill
发布于 2017/08/29 16:29
字数 523
阅读 80
收藏 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
博文 145
码字总数 27755
作品 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 端与...

有赞技术
2018/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

没有更多内容

加载失败,请刷新页面

加载更多

首次揭秘:阿里巴巴中间件在 Serverless 技术领域的探索

Serverless 话题涉及范围极广,几乎包含了代码管理、测试、发布、运维和扩容等与应用生命周期关联的所有环节。AWS Lambda 是 Serverless 领域的标志性产品,但如果将其应用于核心业务,可能会...

阿里云官方博客
8分钟前
0
0
Python免踩坑指南

最近我发现GitHub上中文项目越来越多,真实令人欣喜的事情啊。不知道小伙伴们有没有发布自己的GitHub精品项目,觉得自信的可以拿出来,推荐给其他小伙伴哦。 好了,话不多说今天的GitHub精推...

编程资源库
21分钟前
0
0
微信授权域名

https://www.jianshu.com/p/9ce837f20740

Js_Mei
21分钟前
0
0
115.两种格式磁盘扩容、调整内存和cpu、迁移虚拟机

28.12 磁盘扩容(raw) 28.13 磁盘扩容(qcow2) 28.14 调整cpu内存和网卡 28.15 迁移虚拟机 28.12 磁盘扩容(raw) 针对一块已经存在的盘进行增加容量 1.qemu-img resize /kvm_data/aminglinux02...

Axin-linux
23分钟前
0
0
好程序员java分享spring框架精讲

1、什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员...

好程序员IT
31分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多