can总线第一讲
一 官方简介如下:
控制器局域网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总线第一讲的更多相关文章
- 32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用
32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用 一丶32位(x86也称为80386)与8086(16位)汇编的区别 1.寄存器的改变 AX 变为 EAX 可以这样想,16位通 ...
- CS193P - 2016年秋 第一讲 课程简介
Stanford 的 CS193P 课程可能是最好的 ios 入门开发视频了.iOS 更新很快,这个课程的最新内容也通常是一年以内发布的. 最新的课程发布于2016年春季.目前可以通过 iTunes ...
- POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格
第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工 ...
- 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...
- 异常处理第一讲(SEH),筛选器异常,以及__asm的扩展,寄存器注入简介
异常处理第一讲(SSH),筛选器异常,以及__asm的扩展 博客园IBinary原创 博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 一丶__Asm的 ...
- 常见注入手法第一讲EIP寄存器注入
常见注入手法第一讲EIP寄存器注入 博客园IBinary原创 博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 鉴于注入手法太多,所以这里自己整理一下, ...
- 逆向实用干货分享,Hook技术第一讲,之Hook Windows API
逆向实用干货分享,Hook技术第一讲,之Hook Windows API 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) ...
- PE文件格式详解,第一讲,DOS头文件格式
PE文件格式详解,第一讲,DOS头文件格式 今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 ...
- 逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构
逆向知识第一讲,IDA的熟悉使用,以及TEB,PEB结构 一丶熟悉IDA,以及手工制作sig文件. IDA,静态分析工具,网上随便找一个即可下载. 首先,我们写一个可执行EXE,最简单的 使用IDA打 ...
随机推荐
- 计算机系统4-> 计组与体系结构1 | 基础概念介绍
在大二上学期学习数字逻辑的过程中,我对计算机如何运作产生了兴趣,因此开了这个系列来记录自己在这方面的学习过程,此前三篇分别是: 计算机系统->Hello World的一生 | 程序如何运行,从大 ...
- How to use Remote-SSH in Windows
对于不太会使用 Vim 的我来说,在服务器上用 Vim 去修改 nginx.conf 实在有点麻烦,比如没有高亮和格式化.正好想起前不久微软发布了远程开发工具包,其中一个就是今天要介绍的 Remote ...
- HarmonyOS UI组件在线预览,程序员直呼“不要太方便~”
一.介绍 以往大家如果想查看组件的使用效果,需要打开DevEco Studio构建工程.现在为了便于大家高效开发,文档上线了JS UI组件在线预览功能,无需本地构建工程,在线即可修改组件样式等参数.一 ...
- Seastar 教程(三)
原文:https://github.com/scylladb/seastar/blob/master/doc/tutorial.md Fiber Seastar 延续通常很短,但经常相互链接,因此一个 ...
- 金蝶 K3 WISE 服务器必须登陆到桌面以后用户才能正常使用解决!
我们单位K3的系统,由当地的服务商安装完以后就出现各种蛋疼的问题.做技术支持的小伙他总是会给一个小工具来解决,问他是什么原因要么说我的网络有问题,要么说我们的服务器有问题. K3所有客户端无法登陆一键 ...
- SpringMVC工作流程 --通透较详细
SpringMVC工作流程 SpringMVC工作流程 流程说明(重要): (1)客户端发送一个http请求给前端控制器(DispatcherServlet): (2)前端控制器(DispacherS ...
- SqlServer Split 的实现
数据库如何处理传参用指定字符隔开参数的情况 如"name1,name3,name5" 共2种方式, 1.数据库内置函数STRING_SPLIT(sql2016之前的版本不支持该函数 ...
- 题解0007:小木棍(P1120)
(错误记录) 题目链接:https://www.luogu.com.cn/problem/P1120 题目描述:几根同样长的木棍,小冥把它们随意砍成了n段: 然后他又吃饱了撑的想把木棍拼上: 但是这个 ...
- 22.1.23Manacher算法、双端队列、单调栈
22.1.23Manacher算法.双端队列.单调栈 1.Manacher算法 1)用途: Manacher算法用于解决类似求某个字符串中最长的回文子串.(回文就是正着读和倒着读一样的结构). 2)算 ...
- Java的重载以及与重写的区别
一.什么是方法重载 方法的重载就是在同一个类中,有着若干个名字相同的方法.在具体调用这些方法的时候,通过传递参数的不同来调用这些重载方法. 二.为什么需要方法重载 方法名的定义需要做到见名知意,功能类 ...