* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Controller Area Network (CAN) Communication
Survey
Document related concepts
Transcript
What is a Controller Area Network? History of CAN CAN communication protocol Physical layer ISO 11898 CiA CANopen DeviceNet Applying CAN CAN = controller area network ECU = electronically controlled unit Dominant = 0 Recessive = 1 CAN implements a vehicle bus to which all CAN devices are connected Allows all devices to communicate with one another Cars, trucks, buses, off-road vehicles Maritime electronics Aircraft/aerospace electronics Medical equipment and devices Coffee machines Elevators Developed in Germany in the 1980's by engineers working at Robert Bosch More functionality while reducing the weight and complexity of the wiring between controllers. Multi-processor system which has better performance, increased reliability and is more maintainable No communication protocols at the time met the speed and reliability requirements so Bosch developed CAN specification 2.0 Physical and data link layer are implemented in the CAN controllers Standard CAN bypasses layers 3-6 (1) Physical layer = actual hardware (2) Data link layer = connects data to the protocol (7) Application layer = interacts with OS of CAN device Since CAN is so widely used CAN chips are cheap Reliability and error resistance of CAN calculated in mathematical model shown to have only 1 undetected error in 1000 years Has world wide acceptance Higher layer protocols defined for data intensive applications Data frame – sends data Remote frame – requests data Error frame – reports an error Overload frame – reports a node is overloaded SOF – 1 dominant bit Arbitration Field – message ID + RTR Control Field -Length of the data field to follow -For remote frame DLC is ignored, data field is always zero CRC Field – CRC segment + delimiter bit ACK Field – acknowledgement bit + delimiter bit SOF – 1 bit Arbitration field – 12 or 32 bits Control field – 6 bits Data field – up to 8 bytes CRC field – 16 bits ACK field – 2 bits EOF -7 bits IFS – 3 bits Off-road vehicles require more messages 11 bit message ID -> 29 bit Use IDE to determine format: › 0 = 11 bit › 1 = 29 bit Extended frame has trade-offs: › Bus latency time is longer › More bandwidth required › Error detection performance decreased Error occurs: bit stuffing, CRC incorrect, etc. Error flag set followed by recessive delimiter and interframe Errors are caught quickly and have short recovery times: Error Frame Length Baud Rate Total error recovery time (error frame + interframe) 14 bits 1 Mbit/sec 14 + 3 uSec 14 bits 500 kBit/sec 28 + 6 uSec 14 bits 250 kBit/sec 56 + 12 uSec 20 bits 1 Mbit/sec 20 + 3 uSec 20 bits 500 kBit/sec 40 + 6 uSec 20 bits 250 kBit/sec 80 + 12 uSec Overload flag – 6 dominant bits so all nodes detect overload, messaging ceased Producer/consumer All messages are acknowledged for consistency (error if inconsistent or unacknowledged) Nodes can accept or decline message filitering CAN uses message ID of the node to prevent collisions – high priority first Uses bitwise arbitration as follows: › Node sends SOF with dominant level Non-sending nodes begin listening › Node sends next bit and compares output signal with actual bus level If sent recessive, detects dominant, then begins listening, else sends next bit › Transmits the rest of the message if it transmits all arbitration bits Node A = 1000101100 (high priority) Node B = 1110110000 1st arbitration bit 2nd arbitration bit 3rd arbitration bit Node A 1 0 0 Node B 1 1 listen Bus level 1 0 0 B send a recessive, detects dominant, then listens Errors detected by: › Bit monitoring › Checksum Check › Variable bit stuffing with a stuff width of 5 › Frame check › Acknowledge Check Defective frames are aborted and retransmitted Malfunctions that would disrupt the system: › Transmitting Error from malfunctioning node › Receiving Error from malfunctioning node CAN determines permanent vs. temporary malfunctions › Transmit error counter › Receive error counter Based on the counters, a node is in one of the following states: › Error Active Transmit and receive counters <128 › Error Passive Transmit or receive counters >127 › Bus-Off Transmit error counter >255 ISO 11898-2 is the most common standard for the physical layer Nodes connected by 2 wires: CAN_H and CAN_L Bus level determined by: › Vdiff = Vcan_h – Vcan_l › 2V for recessive, 0V for dominant Bus terminated by 120 Ω resistors to suppress electrical reflections on the bus Electromagnetic interferences are minimized with the differential voltage between CAN_H and CAN_L At a maximum baud rate of 1 Mbit/sec a bus can be up to 40m long › At <10 kbit/sec can have up to 5000 m bus “Road vehicles – Controller area network (CAN)” 1993 Contains: › Data link layer and physical signaling › High speed medium access unit › Low speed fault tolerant medium dependant interface › Time triggered communication Users + manufacturers develop and support CAN Based on participation and initiative Represented at ISO and IEC committees Higher layer protocol adds: › Network management › Device monitoring › Communication between nodes Requires CANopen nodes to have: › Communication unit › State machine › Object dictionary Application layer protocol adds 4 required objects: › Identity object › Connection object › Message router object › DeviceNet object Hewlett-Packard Lockheed Martin Boeing NASA GE Medical Siemens Medical John Deere Vehicle Spy (Vspy) NETCAR-Analyzer Volcano Network Architect (VNA) Ability to: › Read bus signals › Transmit messages › Log data › Write to ECU memory ECU TCU CCU SSM15 SSM25 CMU LIN-Bus (Local Interconnect Network) Ethernet RS232 Universal serial bus CAN specification 2.0 › A = standard format › B = extended format ISO 11898 › Specific requirements on the sub layers of the data link layer and physical layer CANopen specification Book: A comprehensible guide to CAN Book: Embedded networking with CAN and CANopen [1] Wilfried Voss. (2005). A Comprehensible Guide to Controller Area Network. Greenfield: Copperhill Technologies Corporation. [2] [3] CiA. (2001). Can physical layer. Retrieved 1 24, 2012, from http://www.cancia.de/index.php?id=systemdesign-can-physicallayer [4] International Standard ISO 11898. First edition 2003-12-01. Road vehicles - Controller area network (CAN). [5] [6] National Instruments. (2012). Controller Area Network (CAN) Overview. Retrieved 2 2, 2012, from http://zone.ni.com/devzone/cda/tut/p/id/2732 [7] Vehicle Spy. (2005-2012). Vehicle Spy Professional. Retrieved 2 4, 2012 from http://intrepidcs.com/VehicleSpy/ [8] CANopen. CANopen USA. Retrieved 2 4, 2012 from http://www.canopen.us/ [9] Real Time Automation. DeviceNet Introduction. Retrieved 2 4, 2012 from http://www.rtaautomation.com/devicenet/#2 Pazul Keith. (2002). Controller Area Network (CAN) Basics. In Microchip. Robert Bosch. (1991). CAN Specification. Robert Bosch GmbH.