CAN总线学习记录之一:CAN简介
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简介的更多相关文章
- CAN总线学习记录之三:总线中主动错误和被动错误的通俗解释
首先建议把广泛使用的"主动错误"和"被动错误"概念换成"主动报错"和"被动报错". 1. 主动报错站点 只要检查到错误, ...
- CAN总线学习记录之四:位定时与同步
一.位定时 1.1 比特率和波特率 1)位速率:又叫做比特率(bit rata).信息传输率,表示的是单位时间内,总线上传输的信息量,即每秒能够传输的二进制位的数量,单位是bit per second ...
- CAN总线学习记录之二:系统结构与帧结构
CAN总线系统结构 CAN 控制器 接收控制单元中微处理器发出的数据,处理数据并传给 CAN 收发器 CAN 收发器 将数据传到总线 or 从总线接收数据给 CAN 控制器 CAN 数据传递终端 避 ...
- Spring学习记录6——ThreadLocal简介
Spring通过各种模板类降低了开发者使用各种数据持久化技术的难度.这些模板类是线程安全的,所以 多个DAO可以复用同一个模板实例而不会发生冲突.在使用模板类访问底层数据时,模板类需要绑定数据连接或者 ...
- hibernate学习一(hibernate简介与准备)
一.hibernate简介 Hibernate是一个开放源代码的对象-关系映射(Object/Relational Mapping 即 ORM)框架,它对JDBC进行了非常轻量级的对象封装,它将POJ ...
- UWP学习记录4-设计和UI之控件和模式1
UWP学习记录4-设计和UI之控件和模式1 1.控件和事件简介 在 UWP 应用开发中,控件是一种显示内容或支持交互的 UI 元素. 控件是用户界面的构建基块. 我们提供了超过 45 种控件供你使用, ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- 前端学习记录之Javascript-DOM
简介 为了快捷方便,在工作和项目中,一直都是使用的框架,比如jqeruy,vuejs,react等.然后在长时间使用框架后,往往有一个后遗症,就是对于原生的Javascript基本上已经不知道怎么写了 ...
- java开源项目之IQQ学习记录之项目环境搭建与启动
本文链接地址:http://blog.csdn.net/sushengmiyan/article/details/18779727 作者:sushengmiyan 现在就码字说说今天晚上搞定的一个项目 ...
随机推荐
- HTTP Status 500 - Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
今天整合ssm框架 时 遇到的问题 困扰我好长时间 原因就是 mapper文件 没有被加载进来 但是 为什么没有被加载进来呢 因为中间的配置文件出了一些问题 网上大多数说法是 在pom ...
- Linux系统下如何运行.sh文件
在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...
- Linux指令 压缩与解压
打包: 格式:tar -cvf 压缩后的名称.tar 压缩的文件1 压缩的文件2 ```压缩的文件n(压缩多个文件为一份时各个文件以空格隔开) 例子:tar -cvf tomcats.tar ...
- LAMP构架搭建论坛
安装MYSQL数据库服务程序 LAMP动态网站部署架构是一套由Linux+Nginx+MYSQL+PHP组成的动态网站系统解决方案,具有免费.高效.扩展性强且资源消耗低等优良特性.使用手工 ...
- 如何在JSP中获得Cookie对象
Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=n ...
- 深入理解Spring Redis的使用 (七)、Spring Redis 使用 jackson序列化 以及 BaseDao代码
之前在介绍Spring Redis进行存储的时候,都是通过RedisTemplate中的defaultSerializer,即JdkSerializationRedisSerializer.通过Jdk ...
- PHP7CMS 无条件前台GETSHELL
PHP7CMS 无条件前台GETSHELL Version:2018-10-09 //最新版中以修复此漏洞 这个漏洞很简单,如果作者在写代码的时候考虑到一点点安全方面,其实都可以避免的. 01 0 ...
- 仿微信的IM聊天时间显示格式(含iOS/Android/Web实现)[图文+源码]
本文为原创分享,转载请注明出处. 1.引言 即时通讯IM应用中的聊天消息时间显示是个再常见不过的需求,现在都讲究用户体验,所以时间显示再也不能像传统软件一样简单粗地暴显示成“年/月/日 时:分:秒”这 ...
- FFmpeg开发实战(四):FFmpeg 抽取音视频的音频数据
如何使用FFmpeg抽取音视频的音频数据,代码如下: void adts_header(char *szAdtsHeader, int dataLen); // 使用FFmpeg从视频中抽取音频 vo ...
- Linux指令装图像化界面
1.对yum进行配置安装.//这是重点 [root@localhost ~]# yum groupinstall "GNOME Desktop" "Graphical A ...