
Anew generation microcontroller family has been designed for use in vehicle safety applications, specifically targeting airbag systems and electronic power-steering applications. It enables scalability, hardware and software reuse and compatibility across automotive electronics safety systems. A microcontroller family such as the XC2300 family features a high-performance central processing unit (CPU) and a comprehensive peripheral set.
This article discusses how the MultiCAN module's features can be supportively used in safety applications, complemented by further hardware support to fulfill specific safety requirements of CAN software.
Introduction to MultiCANMultiCAN is a proven scalable module, which offers up to four independent CAN nodes in one fully ISO 11898 compliant module. The number of message objects could be up to 128 message objects shared over all CAN nodes. A linked list assigns a message object to a specific node. This gives a high degree of flexibility to the system layout. Interlinked message objects are used to build an autonomous gateway function. Message objects not assigned to a specific node can be used for a FIFO structure. All nodes support an analyzer feature, which allows connecting the bus system as a passive member of the bus.
All message objects shared over the CAN nodes can be assigned individually and independently to a certain list while each list is fixed to a specific node. For example, list 1 is connected to node 0 while list 2 is connected to node1 and so on. List 0 is an additional list of all unallocated message objects. The lists are implemented as a double-chained list structure. This gives high flexibility in using the message objects on different CAN-nodes.
Furthermore, unused message objects can be used for a FIFO structure. Such FIFOs can be assigned to a specific CAN node, but can also be assigned to a list of an unused node. This speeds up the message object arbitration because incoming messages to a node are only compared to match the message object assigned to the specific list. Of course the FIFO base message object needs to be linked to the specific node list.
Very often there are several CAN networks in an embedded application, running possibly on different speeds suitable for the application. Some of the messages need to be forwarded from one bus system to another. Using the gateway functionality is quite interesting for that application and a combination of gateway and FIFO functionality is possible, such as forwarding a high frequency message from a high speed CAN bus to a low speed CAN bus. The combination of gateway and FIFO functionality gives the possibility of forwarding those messages without any additional CPU load.
Usually all connected nodes in a CAN-network take part in the CAN protocol, which means responding to and acknowledging messages. In analyzer mode, a CAN node can listen to the bus, without participating and actively taking part in the protocol. This feature is valuable for several applications. For example the baud rate should be detected without disturbing the bus and the feature can be used for hot attach to a running CAN network. Other benefits include synchronization analysis and driver delay measurement, which is used to measure the real frame timing and allows the adaption of the bit timing values to the real physical CAN bus implementation. The mode also provides detailed information about detected errors which gives a good visibility of possible error causes. For example the Last Error Code (LEC) bit field, readability of all error counters and the flexible reduction of error warning levels.
Special requirement for safety applications include a redundancy of components in a critical path. In a CAN network, the CAN node and CAN receiver are in a critical path. The message transfer via the node can be broken or even worse the communication of the other nodes on the bus can be disturbed.
(Continue to the next page)