300 likes | 465 Views
Lecture Controller Area Networks Dr. Tony Grift grift@uiuc.edu. What will you learn today?. Recap binary numbers What purpose serve vehicle networks? Understand Controller Area Network physical layer (hardware) Identify and interpret components of CAN Frames
E N D
Lecture Controller Area Networks Dr. Tony Grift grift@uiuc.edu
What will you learn today? • Recap binary numbers • What purpose serve vehicle networks? • Understand Controller Area Network physical layer (hardware) • Identify and interpret components of CAN Frames • Understand the meaning and importance of standardized communication protocols
Bits & Bytes • Data communication is digital. You only have 1’s and 0’s • Bit = binary digit • How do you translate these into decimal numbers? • Decimal number • 4532 • 2*10^0+3*10^1+5*10^2+4*10^3=4532dec • Binary numbers • 1011bin • 1*2^0+1*2^1+0*2^2+1*2^3 = 11dec • 1 byte = 8 bits • Base (either 10 or 2) is called the radix
Controller Area Network • A broadcast, differential serial bus standard, originally developed in the 1980s by Robert Bosch GmbH, for connecting electronic control units (ECUs) in vehicles. • Very robust • Two wire bus • Messages are short (8 data bytes max) • Priority based arbitration used for Collision Avoidance • Bit stuffing for synchronization: if 5 equal bits, the following one is opposite polarity • Error detection mechanism through Cyclic Redundancy Check (CRC) • Bit rates up to 1 Mbit/s • The CAN data link layer protocol is standardized in ISO 11898-1 (2003). All the other protocol layers are left to the network designer's choice. • ISO 11783 (ISOBUS) is the agricultural network protocol
Controller Area Network cont. • 4 ms per bit = 250 bit/s (Required for ISOBUS standard) • Data Length Code (DLC) contains nr of data bytes • If RTR bit is high, • no data bytes, DLC = # bytes requested • 11-bit (CAN 2.0a) and 29 bit (CAN 2.0b) ID messages on same bus • IDE (Identifier Extension bit) distinguishes between 11 and 29 bit frames 1 0
Transmitter CAN bus Analog Inputs Receiver
CAN 2.0b Request Transmission Frame Mark the bits in your handout (3 min)
Answer 01010101 01011110 10101010 00001001 11000100 00010101 00001000 10111111 1
Step 1 Get rid of the stuffing bits • Stuffing bits are put in to ensure synchronization • If you see 5 consecutive zeros or ones, the next one is a stuffing bit • Throw it out!
De-stuffing the CAN Frame 0101010101011110101010100000 1 00111000100000 1 0101000010001011111111 0101010101011110101010100000001110001000000101000010001011111111
Chop the Frame up into pieces 0101010101011110101010100000001110001000000101000010001011111111 0 Start of Frame XXXXXXXXXXX 11- bit Standard Identifier X Substitute Remote Request Bit X Identifier Extension Bit (1 = Extended Frame) XXXXXXXXXXXXXXXXXX 18 Bit Extended Identifier X RTR Bit (1 = Request Transmission) XX Reserved XXXX Data Length Code (Nr of bytes that follows) XXXXXXXX Data Byte 1 XXXXXXXX Data Byte 2 XXXXXXXX Data Byte 3 XXXXXXXXData Byte 4 XXXXXXXXXXXXXXX Cyclic Redundancy Check (CRC) (15 bits) 1 CRC delimiter X Acknowledge slot bit 1 Acknowledge delimiter 1111111 End of frame (7 ones)
Interpret the CAN Frame 0 Start of Frame 10101010 101 11- bit Standard Identifier 1 Substitute Remote Request Bit 1 Identifier Extension Bit (1 = Extended Frame) 10 10101010 00000011 18 Bit Extended Identifier 1 RTR Bit (1 = Remote Transmission Request) 00 Reserved 0100 Data Length Code (Nr of bytes requested) XXXXXXXX Data Byte 1 XXXXXXXX Data Byte 2 XXXXXXXX Data Byte 3 XXXXXXXXData Byte 4 000010100001000 Cyclic Redundancy Check (CRC) (15 bits) 1 CRC delimiter 0 Acknowledge slot bit 1 Acknowledge delimiter 1111111 End of frame (7 ones)
A word on error detection • Cyclic Redundancy Check • Transmitter computes Transmitter checksum based on data • Receiver receives both data and Transmitter check sum • Receiver computes Receiver checksum based on data • If Transmitter checksum == Receiver checksum • Data is valid with very high probability • P(Error unnoticed) = 4.7 *10-11
Message arbitration is used to resolve conflicts due to collisions: most important message must go through • If more than one message is being transmitted simultaneously a collision occurs • Bit-by-bit arbitration process: If a node has a lower (dominant) bit it wins arbitration, the others lose and shut down • At (2) Node 2 loses arbitration and shuts down. At (3) Node 1 loses arbitration and shuts down. Node 3 (lowest number, highest priority) goes through
What is a protocol ? • Give some examples of protocols among humans • Communication pilot-tower • Meetings (Roberts Rules of Order) • Rules of games • Etiquette rules • Unwritten rules (job interview) • Some Network protocols • TCP (Transmission Control Protocol) • IP (Internet Protocol) • DHCP (Dynamic Host Configuration Protocol) • HTTP (Hypertext Transfer Protocol) • FTP (File Transfer Protocol) • POP3 (Post Office Protocol 3) • SMTP (Simple Mail Transfer Protocol) • IMAP (Internet Message Access Protocol) • ISO 11783 (ISOBUS)
You are sending a mining truck overseas • Sender • Split up the truck in smaller parts • Add routing information • Add additional packing information • Add reassemble information • Send “packages sent” message to receiver • Deliver packages to UPS • Receiver • Receive messages from UPS • Wait until all packages have come in • Check if you have everything • Reassemble the truck • Send acknowledge message to sender • This transmission process requires a protocol • UPS = ISO 11898 CAN physical layer • We don’t care how it does it • We want it reliable • We want it fast • ISO 11783 (ISOBUS) is the protocol
Summary • Why do we need a Vehicle network? Improved control of engine performance and emissions Improved comfort Automated diagnostics (OnStar) Improved safety • Controller Area Network • Communication network for vehicles and other noisy environments • Error handling • Bit stuffing • CRC • Frames • 11bit (2.0a) and 29 bit • Prioritization using arbitration mechanism • Protocols, rules of communication • ISO 11898 (CAN Physical layer) • ISO 11783 (ISOBUS communication) • Link: http://www.can-cia.org/