CAN 协议具有以下特点。2 t. [3 K/ p! y. g3 y: Y
(1) 多主控制
( V/ B0 n6 o" O在总线空闲时,所有的单元都可开始发送消息(多主控制)。
1 l9 p8 q$ g3 D, `4 G* y- _最先访问总线的单元可获得发送权(CSMA/CA 方式*1)。6 n" C& ?3 Q& @) S6 l
多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。
: l8 V: E( Q0 s3 u8 d8 f(2) 消息的发送
: k2 }' g. J% h0 P r$ x* i在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新$ _$ ?7 o" |9 H7 [+ J& \
消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不
) V( J, L) m9 n是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消
j) k: _1 V8 k息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的1 t5 _( o- ~+ f1 i, A1 d+ T9 s% v
单元则立刻停止发送而进行接收工作。
! k2 e1 o+ Z! D/ h4 n(3) 系统的柔软性
* H1 M" b1 M, F# Y( e9 Y与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬7 r4 a# a# z. A; G# D
件及应用层都不需要改变。. H+ z# i0 x* E: R
(4) 通信速度% A% X& y9 B" o% ~
根据整个网络的规模,可设定适合的通信速度。
) v: {$ U& ~2 U7 f7 ]在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元
7 a. j3 W. c0 X$ E: v也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。, Q! i9 D# }$ W" G4 P
(5) 远程数据请求6 w4 v; \6 o# d- D
可通过发送“遥控帧” 请求其他单元发送数据。 F" y6 e7 ~6 L; r
(6) 错误检测功能•错误通知功能•错误恢复功能
( r: I. n; d9 F$ b# F# m4 S所有的单元都可以检测错误(错误检测功能)。/ j' s) Q- {! d# [5 F% h
检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。- w: @$ t5 f( V7 i9 }; w
正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送
% A& j* t, F' m% ~, I此消息直到成功发送为止(错误恢复功能)。
2 E2 {2 m R/ W9 u1 h6 ~(7) 故障封闭
2 I6 m5 A+ B' y& a. Y; ZCAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部
3 _; K) P* |) X/ r b8 C故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上
' Q: Y8 i3 g& c+ q e隔离出去。+ z: _: a$ H0 q5 I- o E" c
(8) 连接
4 G, i+ e& Z8 ZCAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元
5 U- c$ C3 P) D0 t; U数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。& d( S8 E" T3 u7 N! }+ N
|