CAN总线
1.CAN(controller area network)
LAN(local area network)局域网
2.CAN等通信协议的开发,使多种LAN通过网关进行数据交换得以实现。如应用在汽车电子
3.CAN控制器通过判断两根线的电位差来判断总线电平,总线电平分为显性电平和隐性电平。发送方通过使总线电平变化,将消息发送给接受方。
4、CAN特点:
a、总线空闲时所有单元都有权发送消息,最先访问总线的单元可获得发送权(CSMA/CA方式:Carrier Sense Multiple Access / Collision Avoidance ),多单元同时访问,发送高优先级ID消息的单元可获得发送权。
b、所有消息都以固定格式发送。
c、系统柔软性:与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
d、同一网络的所有单元必须设定为相同的速度
e、所有单元都有检查错误功能,当某一单元检查有错时,会通告所有单元并停止当前发送,然后反复发送直到成功为止。当总线上连续错误出现,可将引起此错误的单元隔离出去。
5.错误状态种类:
主动错误状态
被动错误状态
总线关闭态
6.标准OSI模型(open system interconnection)开放式系统间互联

7. OSI基本参照模型和CAN协议

数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的核心部分。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能通常在CAN控制器的硬件中执行。
LLC : Logical Link Control (逻辑链路控制)
MAC : Medium Access Control (媒介访问控制)
8、CAN协议经ISO标准化后分为两种
ISO11898:CAN的高速通信标准(125kbps~1Mbps)
):CAN低速通信标准(<125kbps)
对于数据链路层,两种标准定义的相同,对于物理层则不同。
9.帧类型

CAN总线的更多相关文章
- Linux设备管理(三)_总线设备的挂接
		
扒完了字符设备,我们来看看平台总线设备,平台总线是Linux中的一种虚拟总线,我们知道,总线+设备+驱动是Linux驱动模型的三大组件,设计这样的模型就是将驱动代码和设备信息相分离,对于稍微复杂一点的 ...
 - C# Azure 消息队列ServiceBus (服务总线队列)
		
1. 前言 在阅读本文之前,可以查看微软官方的说明. https://www.azure.cn/documentation/articles/service-bus-create-queues/ 2. ...
 - EventBus总线讲解
		
在我们公司经常用到总线,具体的总线是什么让我理解我也不清楚,但是在这几个月下来,我已经知道总线如何使用,现在加上示例讲解总线如何使用. 1. 首先我们的新建一个类,这个类其实是用于总线传递的模型 us ...
 - Android事件总线
		
Android中Activity.Service.Fragment之间的相互通信比较麻烦,主要有以下一些方法: (1)使用广播,发送者发出广播,接收者接收广播后进行处理: (2)使用Handler和M ...
 - 设备模型(device-model)之平台总线(bus),驱动(driver),设备(device)
		
关于关于驱动设备模型相关概念请参考<Linux Device Drivers>等相关书籍,和内核源码目录...\Documentation\driver-model 简单来说总线(bus) ...
 - 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
		
一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...
 - 分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载
		
一.分布式消息总线 在很多MIS项目之中都有这样的需求,需要一个及时.高效的的通知机制,即比如当使用者A完成了任务X,就需要立即告知使用者B任务X已经完成,在通常的情况下,开发人中都是在使用者B所使用 ...
 - Windows Azure 服务总线和物联网
		
机器到机器 (M2M) 计算正迅速成为一种技术,所有开发人员和架构师需要拥抱. 许多研究表明一个未来世界的数百亿美元的设备 (在地球上的每一个人的出现).MSDN杂志有2篇文章讨论Azure服务总线和 ...
 - ABP理论学习之事件总线和领域事件
		
返回总目录 本篇目录 事件总线 定义事件 触发事件 处理事件 句柄注册 取消注册 在C#中,我们可以在一个类中定义自己的事件,而其他的类可以注册该事件,当某些事情发生时,可以通知到该类.这对于桌面应用 ...
 - Lind.DDD.Events事件总线~自动化注册
		
回到目录 让大叔兴奋的自动化注册 对于领域事件之前说过,在程序启动时订阅(注册)一些事件处理程序,然后在程序的具体位置去发布(触发)它,这是传统的pub/sub模式的体现,当然也没有什么问题,为了让它 ...
 
随机推荐
- HDU  1269 裸奔的强联通分量
			
看了别人博客 http://blog.csdn.net/jokes000/article/details/7538994 #include <cstdio> #include <c ...
 - VC中窗口ID,句柄,指针三者相互转换函数【转】
			
ID--HANDLE--HWND三者之间的互相转换id->句柄 hWnd = ::GetDlgItem(hParentWnd,id);id->指针 CWnd:: ...
 - Stata和Matlab联合处理金融数据
			
Stata是统计学专业软件,可以很方便的对数据处理,但几乎只能按照整行整列进行,而且每次只能加载一个矩阵(dta文件),如果要用到多个矩阵数据进行操作或进行复杂的循环控制,就力不从心了. 而Matla ...
 - python计算机视觉1:基本操作与直方图
			
本文主要内容来源于书籍<python计算机视觉编程> 我是一名初学者,如果你发现文中有错误,请留言告诉我,谢谢 PIL模块 PIL模块全程为Python Imaging Library,是 ...
 - 分治算法求乘方a^b 取余p(divide and conquer)
			
传统的计算方法为循环n个a相乘.时间复杂度为O(n). 如用分治算法,效率可提升至O(lgn). 结合recursive有 double pow(int a, int n){ ) ; ) return ...
 - php----浅谈一下empty isset is_null的用处
			
} } { } { } } } { } { } is_null():判断变量是否为null if ($a){} 那这个未声明变量会报noti ...
 - MathJax测试
			
\begin{array}{cc} a & b \\ c & d \end{array} \begin{equation} \int_0^\infty \frac{x^3}{e^x-1 ...
 - Oracle查看表空间及修改数据文件大小
			
Oracle查看表空间及修改数据文件大小 第一步:查看所有表空间及表空间大小: select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from ...
 - 浅谈 qmake 之 shadow build(将源码路径和构建路径分开,一套源码要分别用msvc2008、msvc2008、mingw分别编译又不互相干扰)
			
shadow build shadow build 是什么东西?就是将源码路径和构建路径分开(也就是生成的makefile文件和其他产物都不放到源码路径),以此来保证源码路径的清洁. 这不是qmake ...
 - 单线多拨,傻瓜式openwrt单线多拨叠加速率教程
			
http://bbs.pceva.com.cn/thread-98362-1-1.html