Controller Area Network (CAN) is a network protocol developed by Bosch for vehicle systems, but which is coming into use for linking distributed controllers, sensors etc in other fields. Bosch have published a specification. Any reference herein to “the spec” means this specification, not the ISO 11898 one, which I have not seen (it costs!).
CAN is a CSMA/CD protocol (some sources have CSMA/CR for similar protocols) that uses non-return to zero coding with bit stuffing. It supports speeds of up to 1Mb/s so is an SAE class C protocol, suitable for real time control applications.
Messages are not addressed to intended recipients, but the sender’s identifier is included, and this tells the receivers what data it contains so the receiver ignores it if it is not interested. Messages are given a priority according to the sender’s address, so the priority of messages is decided at the design stage.
In the specifications, there are two standards for CAN 2.0, imaginatively called A and B. These differ in message format (see section 4), B has an extended message format, with a 29 bit identifier, as opposed to A’s 11 bit one.
In basic can (not to be confused with standard CAN) each controller on the network is interrupted by every message on the bus. In full CAN, the CAN devices add filtration of the messages, so a controller is only interrupted by those messages the filter passes, that is those of interest to that controller.
The notes on CANbus in Automobile Electrical and Electronic Systems draw attention to the difference between having a local intelligent control module (for example, for all functions located in the driver’s door) and having the intelligence actually in the actuators, so control is distributed, and each actuator (and each sensor) is on the bus itself.
0 Comments:
Post a Comment