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) 总线关闭状态:
总线关闭态是不能参加总线上通信的状态。
信息的接收和发送均被禁止。
这些状态依靠发送错误计数和接收错误计数来管理,根据计数值决定进入何种状态。
--------错误状态和计数值关系:
三格电子(http://www.tj-sange.com/)品主要有多业务光端机、光猫、光纤收发器、光口交换机、噪声与振动信号采集卡、通用信号采集卡、WIFI无线采集卡等。