IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> CAN--- Controller Area Network -> 正文阅读

[网络协议]CAN--- Controller Area Network

CAN理论概述

1..CAN的分层结构(依照OSI标准):

--CAN与以太网类似---包含最底的两层(物理层和数据链路层)。

--另外还包含传输层---用于发送控制(单次触发或发送失败时永久重发)。

--应用层即为发送接收相关的发送/接收函数、中断及数据的处理。

--因此虽然标准CAN不包含OSI中的七层,但也可以构成简易的网络,

--?CANopen是一种架构在控制局域网路(Control Area Network, CAN)上的高层通讯协定,包括通讯子协定及设备子协定常在嵌入式系统中使用,也是工业控制常用到的一种现场总线

CANopen 实作了OSI模型中的网络层以上(包括网络层)的协定。CANopen 标准包括寻址方案、数个小的通讯子协定及由设备子协定所定义的应用层。 CANopen 支援网络管理、设备监控及节点间的通讯,其中包括一个简易的传输层,可处理资料的分段传送及其组合。一般而言资料链结层及实体层会用CAN来实作。除了 CANopen 外,也有其他的通讯协定(如EtherCAT)实作 CANopen 的设备子协定。

--CAN与CANOPEN是两种协议,没有CANOPEN也可以组成CAN网络及应用。

--CAN+CANOPEN组成较完整的OSI;这类似于TCP/IP+以太网组成互联网。

--从OSI网络模型的角度来看同,现场总线网络一般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应用层)。因为现场总线通常只包括一个网段,因此不需要第3层(传输层)和第4层(网络层),也不需要第5层(会话层)第6层(描述层)的作用。

2..CAN技术特点

(1)工作方式CAN多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,通信方式灵活,且无需站地址等节点信息。

(2)消息的发送CAN网络上的节点信息分成不同的优先级,可满足不同的实时要求,高优先级的数据最多可在134us内得到传输。

(3)仲裁CAN采用非破坏性总线仲裁技术,大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则可能)。

(4)系统的柔软性:与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。

(5)连接CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。

(6)故障封闭?CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上

隔离出去。

(7)通信速度:根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。

(8)远程数据请求:可通过发送“遥控帧/远程帧请求其他单元发送数据。

(9)错误检测/通知/恢复功能:?

所有的单元都可以检测错误(错误检测功能)。?

检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。?

正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送,此消息直到成功发送为止(错误恢复功能)。

(10)CRC校验CAN的每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低。

3..标准协议:

ISO 标准化的 CAN协议

CAN 协议经 ISO 标准化后有 ISO11898?标准和 ISO11519-2 标准两种。ISO11898和 ISO11519-2 标准对于数据链路层的定义相同,但物理层不同。?

(1) ?关于 ISO11898

ISO11898 是通信速度为 125kbps-1Mbps??的 CAN 高速通信标准。

目前,ISO11898 追加新规约后,成为 ISO11898-1 新标准。

(2) ?关于 ISO11519

ISO11519 是通信速度为 125kbps以下的 CAN 低速通信标准。

ISO11519-2 是 ISO11519-1 追加新规约后的版本。

总结

>>两种标准物理层不同,数据链路层相同。

>>数据链路层对应控制器;物理层对应收发器。

>>CAN2.0A/B的区别是ID位数不同---数据链路层(控制器)不同。

>>ISO11898与ISO11519-2的区别是物理层(收发器)的不同。

>>课题所用到的PCA82C250、VP230以及TJA1050都支持ISO11898标准。

PCA82C252与TJA1053支持ISO11519-2标准。

4.. 错误

--------错误状态的种类?

单元始终处于?3 种状态之一。

(1) ?主动错误状态:?

主动错误状态是可以正常参加总线通信的状态。?

处于主动错误状态的单元检测出错误时,输出主动错误标志。?

(2) ?被动错误状态:

被动错误状态是易引起错误的状态。?

处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。

处于被动错误状态的单元即使检测出错误,而其它处于主动错误状态的单元如果没发现错误,整个总线也被认为是没有错误的。?

处于被动错误状态的单元检测出错误时,输出被动错误标志。?

另外,处于被动错误状态的单元在发送结束后不能马上再次开始发送。在开始下次发送前,在间隔帧期间内必须插入“延迟传送”(8 个位的隐性位)。

(3) ?总线关闭状态:?

总线关闭态是不能参加总线上通信的状态。?

信息的接收和发送均被禁止。?

这些状态依靠发送错误计数和接收错误计数来管理,根据计数值决定进入何种状态。

--------错误状态和计数值关系

?

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:57:15  更:2021-11-12 19:57:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:32:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码