一  官方简介如下:

控制器局域网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. DatePicker去掉头布局的两种方法

    5.0+ private void hideDatePickerHeader() { ViewGroup rootView = (ViewGroup) datePicker.getChildAt(0) ...

  2. Leaflet:LayerGroup、FeatureGroup

    LayerGroup(Layer) Layer 用法:把一些Layer集中到一个组Group中,以便作为一个整体进行操作.如果把该Group加入到了Map中,任何从这个Group增加或者移除Layer ...

  3. Python 并发编程(下)

    Python 并发编程(下) 课程目标:掌握多进程开发的相关知识点并初步认识协程. 今日概要: 多进程开发 进程之间数据共享 进程锁 进程池 协程 1. 多进程开发 进程是计算机中资源分配的最小单元: ...

  4. Vue中组件的递归

    先来说下需求,就是一个表单,会有树形结构一样,会有子表单,表单显示什么内容是后台通过接口数据来确定的:这个时候就和树形结构一样,肯定会有子组件的递归:这次是自己第一次写递归,遇到了三个问题记录下: 1 ...

  5. CSAPP-Lab04 Architecture Lab 深入解析

    穷且益坚,不坠青云之志. 实验概览 Arch Lab 实验分为三部分.在 A 部分中,需要我们写一些简单的Y86-64程序,从而熟悉Y86-64工具的使用:在 B 部分中,我们要用一个新的指令来扩展S ...

  6. source tree的使用

    参看博客: https://blog.csdn.net/syq8023/article/details/89844030 http://jingyan.baidu.com/album/59703552 ...

  7. 安装wkhtmltopdf

    思路 在网上查了下前后端都可以将html生成pdf,考虑到实现效果以及效率,最后决定将转化工作在服务端使用PHP完成.本着最好不要额外安装软件的原则,搜索过后分别尝试了 TCPDF MPDF FPDF ...

  8. 基于jsp的百度Ueditor插件的使用

    初次使用百度的富文本编辑器Ueditor,写下使用经验以备不时之需 只是简单的应用,如有错误,请指正 首先去下载编辑器插件http://ueditor.baidu.com/website/downlo ...

  9. CentOS 5.11源修改

    CentOS 5.11源 将源中所有网址替换为 http://archive.kernel.org/centos-vault/你的版本/ 一条sed命令即可解决 sed -i 's@http://xx ...

  10. Apple macOS Mojave Intel Graphics Driver组件任意代码执行漏洞

    受影响系统:Apple macOS Mojave 10.14.5描述:CVE(CAN) ID: CVE-2019-8629 Apple macOS Mojave是苹果公司Mac电脑系列产品的操作系统. ...