CAN 是 Controller Area Net 的缩写,即控制器局部网,是一种有效支持分布控制或实时控制的串行通信网络。CAN 是德国 Bosch 公司为汽车的监测、控制系统而设计的,如控制发动机点火、注油及复杂的加速、刹车、抗锁定刹车系统等,已用于各种汽车上。由于 CAN 具有卓越的特性及的可靠性,因而非常适合工业过程监控设备互连。在自动化电子领域的汽车发动机控制部件、传感器、抗滑系统等应用中,CAN 的速率可达到 1Mbps 。CAN 的信号传输介质为双绞线,具有现场总线的特点;目前,在国内的电力、石化、航天、冶金、空调等不同行业均有应用。用 CAN 做工程最大的特点就是启动成本低。

CAN 总线的特点如下:

1. CAN 总线接口芯片支持8位、16位等 CPU,许多嵌入式微处理器都集成了 CAN 通信控制器;
2. CAN 总线具有国际标准,即 ISO-11898;
3. CAN 可以多主方式工作,网络上任意一个节均可以在任意时刻、主动地向网络上其它节点发送信息而不分主从,通信方式灵活。利用这一特点,也可方便地构成(容错)多机备份系统;
4. CAN 网络上的节点可分成不同的优先级,满足不同的实时要求;
5. CAN 采用非破坏性总线仲裁技术。当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突;
6. CAN 可以点对点、一点对多点及全局广播的方式传送和接收数据;
7. CAN 直接通信距离最远可达 10km/5kbps,通信速率最高可达 1Mbps/40m。CAN-BUS 上节点数理论为2000个,实际可达110个;
8. CAN 采用短帧结构,每一帧的有效字节为8个。这样短的传输时间,受干扰的概率低,重新发送时间短;
9. CAN 节点在错误严重的情况下,具有自动关闭总线的功能,即切断它与总线的联系,以使总线上的其它操作不爱影响;
10. CAN 每帧信息都有 CRC 校验及其它检错措施,保证了数据的出错率极低。
11. 通信介质采用廉价的双绞线,无特殊要求。

以上信息源自 --- 《CAN 总线技术》

CAN总线学习记录之一:CAN简介的更多相关文章

  1. CAN总线学习记录之三:总线中主动错误和被动错误的通俗解释

    首先建议把广泛使用的"主动错误"和"被动错误"概念换成"主动报错"和"被动报错". 1. 主动报错站点 只要检查到错误, ...

  2. CAN总线学习记录之四:位定时与同步

    一.位定时 1.1 比特率和波特率 1)位速率:又叫做比特率(bit rata).信息传输率,表示的是单位时间内,总线上传输的信息量,即每秒能够传输的二进制位的数量,单位是bit per second ...

  3. CAN总线学习记录之二:系统结构与帧结构

    CAN总线系统结构 CAN 控制器  接收控制单元中微处理器发出的数据,处理数据并传给 CAN 收发器 CAN 收发器 将数据传到总线 or 从总线接收数据给 CAN 控制器 CAN 数据传递终端 避 ...

  4. Spring学习记录6——ThreadLocal简介

    Spring通过各种模板类降低了开发者使用各种数据持久化技术的难度.这些模板类是线程安全的,所以 多个DAO可以复用同一个模板实例而不会发生冲突.在使用模板类访问底层数据时,模板类需要绑定数据连接或者 ...

  5. hibernate学习一(hibernate简介与准备)

    一.hibernate简介 Hibernate是一个开放源代码的对象-关系映射(Object/Relational Mapping 即 ORM)框架,它对JDBC进行了非常轻量级的对象封装,它将POJ ...

  6. UWP学习记录4-设计和UI之控件和模式1

    UWP学习记录4-设计和UI之控件和模式1 1.控件和事件简介 在 UWP 应用开发中,控件是一种显示内容或支持交互的 UI 元素. 控件是用户界面的构建基块. 我们提供了超过 45 种控件供你使用, ...

  7. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  8. 前端学习记录之Javascript-DOM

    简介 为了快捷方便,在工作和项目中,一直都是使用的框架,比如jqeruy,vuejs,react等.然后在长时间使用框架后,往往有一个后遗症,就是对于原生的Javascript基本上已经不知道怎么写了 ...

  9. java开源项目之IQQ学习记录之项目环境搭建与启动

    本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/18779727 作者:sushengmiyan 现在就码字说说今天晚上搞定的一个项目 ...

随机推荐

  1. svn idea 修改文件,文件不变色

    删除后,重新添加. 我这里是什么也没有选择,选上Subversion后,保存,再修改文件,文件颜色就变了 Settings-->Version Control

  2. js运算符浅析

    什么是运算符? 连接两个或多个操作数(某个值,表达式)之间的符号. 运算符的分类: 1. 赋值运算符(=) 将右边的值赋给左边. var x = 10; var y = x; console.log( ...

  3. H5_ 多媒体video,autio使用示例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. npm install命令详解

    -S,–save 安装包信息将加到dependencies(生产阶段的依赖) npm install --save 或 npm install -S -D, –save-dev 安装包信息将加到dev ...

  5. [LeetCode] Reordered Power of 2 重新排序为2的倍数

    Starting with a positive integer N, we reorder the digits in any order (including the original order ...

  6. 【记录】Windows 操作系统常用快捷命令

    https://www.lifewire.com/command-line-commands-for-control-panel-applets-2626060 打印机      control pr ...

  7. RSA算法加解密

    package org.thcic.ejw.util.encrypt; import java.io.ByteArrayOutputStream; import java.security.Key; ...

  8. JVM之垃圾回收

    1.哪些内存需要回收?判断对象已死的方法(存活判定算法) 1.引用计数算法:难以解决对象之间相互循环引用的问题,不使用. 2.可达性分析算法:通过一系列“GC Root”对象作为起始点向下搜索,所走过 ...

  9. [.net 面向对象程序设计深入](26)实战设计模式——策略模式 Strategy (行为型)

    [.net 面向对象程序设计深入](26)实战设计模式——策略模式 Strategy (行为型) 1,策略模式定义 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模 ...

  10. Java开发快速上手

    Java开发快速上手 前言 1.我的大学 2.对初学者的建议 3.大牛的三大特点 4.与他人的差距 第一章 了解Java开发语言 前言 基础常识 1.1 什么是Java 1.1.1 跨平台性 1.2 ...