一  官方简介如下:

控制器局域网CAN(Controller Area Network),是由德国Bosch公司为汽车应用而开发的多主机局部网络,应用于汽车的监测和控制。德国Bosch公司开发CAN总线的最初目的是为了解决汽车上数量众多的电子设备之间的通讯问题,减少电子设备之间繁多的信号线。于是设计了一个单一的网络总线,所有的外围器件可以被挂接在该总线上。
帮助您理解的CAN总线定义:
CAN总线就像您日常接触的电脑网线一样,是用来传输数据的”线”。只不过其构造简单,只有两根线:CAN_H、CAN_L。
既然是通信用的网络,那么CAN总线上就可以接不通的设备,每一个设备都有自己的地址——这和您的连接互联网的计算机一样,您的计算机有自己的IP地址。
构建CAN总线的目的是实现总线上的数据通讯,和您利用计算机上网一样,其就是利用互联网传输数据信息。其便利性不言而喻,不再赘述。
CAN-bus具有以下主要特性:
成本低廉
数据传输距离远(最远长达10Km)
数据传输速率高(最高达1Mbps)
无破坏性的基于优先权的逐位仲裁
借助验收滤波器的多地址帧传递
远程数据请求
可靠的错误检测和出错处理功能
发送的信息遭到破坏后,可自动重发
暂时错误和永久性故障节点的判别以及故障节点的自动脱离
脱离总线的节点不影响总线的正常工作
基于CAN总线的优越特性,许多著名的芯片生产商,诸如Intel、Philips、Siemens、Motorola都推出了独立的CAN控制器芯片,或者带有CAN控制器的MCU芯片。
以上特性决定了其应用范围:低成本、数据量不太大的工业互联网领域。

二 、CAN总线通讯过程

图1-1        CAN总线节点传输过程示意图

CAN总线数据的发送过程可以用信件邮递来做一个比喻,对于CAN总线上的发送节点可以比喻为邮寄一封信件:
邮寄:北京市海淀区XX街道XX号(目的CAN节点地址)。
                   (信中内容为具体的数据信息)

自:无(相当于匿名信件)。

对于CAN总线上的接收节点可以比喻为家门口的收件邮箱:

这是“北京市海淀区XX街道XX号”邮箱(自己的CAN节点地址),其他非邮寄到此信箱的信件,一概不接收(CAN地址设置屏蔽掉其他地址)。

如果是邮寄到此信箱的信件,则接收信件。
(信中内容为具体的数据信息)
CAN总线数据的通讯过程中,数据信息通过不同的报文格式来传送,例如:数据帧、远程帧等。这就类似于邮件中可以有不同的内容:文件、衣物、书籍等。
CAN总线数据的通讯花费的时间跟总线传输距离、通讯波特率有关系,通讯距离远,波特率就低,传输数据花费的时间就长。类似于从北京邮寄信件到石家庄,距离近,邮递时间就短;如果从北京邮寄信件到广州,邮递时间相对就长。另外,CAN总线数据的通讯花费的时间还跟通讯介质的选取(光纤、双绞线)、振荡器容差、通讯线缆的固有特性(导线截面积、电阻等)等有关系,这就类似于邮递信件时是选择EMS快递、挂号信,还是普通的平信。
当然,CAN总线传输也有其传输错误处理机制,以保证总线正常运行。类似于邮寄信件,也有出错处理机制,例如:发送快递时,如果地址写错了,快递员就会联系发件者,是否更改地址,重新投递。还有,如果投递邮件的数量过多,就会产生邮件的堆积,CAN总线如果传输的信息量过多,也会产生数据堆积,发生过载现象。

推荐CAN总线学习书籍及学习板:
1、《CAN总线嵌入式开发——从入门到实战》, 牛跃听 周立功等编著, 
北京航空航天大学出版社,2012-1-1,ISBN9787512406919
该书的当当网网址:
//product.dangdang.com/22609565.html?_ddclickunion=P-233673|ad_type=0|sys_id=1#dd_refer=http%3A%2F%2Fwww.youlu.net%2F2896170
2、《CAN总线应用层协议实例解析》, 牛跃听 周立功等编著,北京航空航天大学出版社,2014,ISBN9787512415652
该书的当当网网址:
//product.dangdang.com/1159744623.html

can总线第一讲的更多相关文章

  1. 32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用

    32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用 一丶32位(x86也称为80386)与8086(16位)汇编的区别 1.寄存器的改变 AX 变为 EAX  可以这样想,16位通 ...

  2. CS193P - 2016年秋 第一讲 课程简介

    Stanford 的 CS193P 课程可能是最好的 ios 入门开发视频了.iOS 更新很快,这个课程的最新内容也通常是一年以内发布的. 最新的课程发布于2016年春季.目前可以通过 iTunes ...

  3. POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

    第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工 ...

  4. 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立

    原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...

  5. 异常处理第一讲(SEH),筛选器异常,以及__asm的扩展,寄存器注入简介

    异常处理第一讲(SSH),筛选器异常,以及__asm的扩展 博客园IBinary原创  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 一丶__Asm的 ...

  6. 常见注入手法第一讲EIP寄存器注入

    常见注入手法第一讲EIP寄存器注入 博客园IBinary原创  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 鉴于注入手法太多,所以这里自己整理一下, ...

  7. 逆向实用干货分享,Hook技术第一讲,之Hook Windows API

    逆向实用干货分享,Hook技术第一讲,之Hook Windows API 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) ...

  8. PE文件格式详解,第一讲,DOS头文件格式

    PE文件格式详解,第一讲,DOS头文件格式 今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 ...

  9. 逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构

    逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打 ...

随机推荐

  1. Guided Anchoring:在线稀疏anchor生成方案,嵌入即提2AP | CVPR 2019

    Guided Anchoring通过在线生成anchor的方式解决常规手工预设anchor存在的问题,以及能够根据生成的anchor自适应特征,在嵌入方面提供了两种实施方法,是一个很完整的解决方案   ...

  2. Arava: 写一个控制台风格的Mp3播放器

    Mp3播放器 来写一个控制台版的mp3播放器.以前很喜欢 cmd.fm 这种控制台风格的播放器. 播放mp3使用 mp3spi 库:下载mp3spi库文件,解压,拿出根目录下的 mp3spi1.9.5 ...

  3. selenium+python自动化102-登录页面滑动解锁(ActionChains)

    前言 登录页面会遇到滑动解锁,滑动解锁的目的就是为了防止别人用代码登录(也就是为了防止你自动化登录),有些滑动解锁是需要去拼图这种会难一点. 有些直接拖到最最右侧就可以了,本篇讲下使用 seleniu ...

  4. 利用POST请求模拟登录豆瓣

    需要用requests库 豆瓣上次更新后,就不能通过直接的requests.post()方式直接传递参数登录了.必须新建session,先GET请求,然后POST才能成功.原因未知 data参数中的四 ...

  5. 用WebDev.WebServer40.EXE调试VS代码

    1.找到WebDev.WebServer40的录井,一般位于C:/Program Files (x86)/Common Files/Microsoft Shared/DevServer/10.0/We ...

  6. 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1

    基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1 Jenkins的Master-Slave分布式构建 什么是Master-Slave分布式构建 Jenkins的Master-S ...

  7. netty系列之:NIO和netty详解

    目录 简介 NIO常用用法 NIO和EventLoopGroup NioEventLoopGroup SelectorProvider SelectStrategyFactory RejectedEx ...

  8. linux作业--第四周

    1.自建yum仓库,分别为网络源和本地源 所有Yum仓库的配置文件均需以 .repo 结尾并存放在/etc/yum.repos.d/目录中的 [base] : yum仓库唯一标识符,避免与其它仓库冲突 ...

  9. Linux检查服务器是否被入侵

    Linux检查服务器是否被入侵 检查root用户是否被纂改 awk -F: '$3==0{print $1}' /etc/passwd awk -F: '$3==0 {print}' /etc/pas ...

  10. Windows 7/8 64位系统 不能注册32位dll 文件的解决方案

    这几天碰到一个问题,运行一个易语言开发的软件出现以下错误.我的系统是 Windows7 64 位 专业版.在系统盘 windows/system32  下查找 dm.dll.但是没有这个文件.于是我到 ...