Ingo Kissel
FAE/Marketing In-Vehicle Networking
CAN FD and Partial Networking
• Automotive Networking Overview
• CAN FD Basics
• Partial Networking Basics
• Impact on Physical Layer
Two Challenges for Car Networks: Speed and Security
Powertrain Chassis
Safety
Infotainment
Full network exposed to attacks
(LOW protection level)
Gateway limits impact Unprotected sub-networks
(MEDIUM protection level)
Isolated systems
Domain GWs w/ controlled access
(HIGH protection level)
GATEWAY CAN FD FlexRay HS-CAN GW GW GW GW GW Today 2020 2025 IVN TODAY
All classic CAN
IVN TOMORROW
CAN FD, Ethernet
<< HURDLES >>
Towards Autonomous Drive: a Car Network Today Door control front left Door control front right Door control rear left Door control rear right Park heating Park assistance Ambient lighting Front power module left front power module right energy manager HVAC rear TPMS Antenna Car Access module Wiper Control dashboard Seat control Steering sensors angle/torque Gateway /
Body (Domain)Control Module
Engine control Stability control Transmission control Damping control (Adaptive) Cruise control Headlight control Anti-lock brake Battery management rain light sensor immo lighting switch start/stop CAN (FD) LIN FlexRay Ethernet Diagnosis Surround View Cam 1 Cam 4 Cam 2 Cam 3 Radar Unit Sens1 Sens 4 Sens 2 Sens 3 ADAS Unit Remote Tuner Amplifier Display Front Display Rear Display Rear Telematics Box Window Mirror Powertrain/Chassis Unit Gateway /
Body (Domain)Control Module
Backbone Head Unit 2B NODES IN 2014 4B NODES IN 2020 OVERGROWING AUTOMOTIVE MARKET
KEY ENABLER FOR ALL CAR INNOVATION
Why Automotive OEMs Look to CAN FD
Accelerate bandwidth in general operation
− New and increasingly complex functions being introduced
+ Consolidation of computing power and increasingly distributed functions
Accelerate ECU Flashing in production
− ECUs need to be flashed as quick as possible, without EMC constraints
Security introduction will require larger payloads
− Signatures and encryption will not be feasible / insufficient with 8-bytes (64-bit) frames.
DSI – PSI5 100M 20K 10M 1M 125K Comm uni c ati on Band w idth [ bi t/s ] Backbones, Diagnosis Multimedia
Increasing Bandwidth at Limited Cost
8M CAN FD CAN-HS 500kbps CDMA Arbitration Differential, Immune FlexRay time triggered TDMA Fault Tolerant ETH 100/1000BT1 MOST, USB, 1394-Firewire LIN/J2602 time triggered Fault Tolerant, By Wire Applications Safety, Sensors Global Standard Flexible Data • Increase bandwidth (x4, x8, x16)
• Low impact on Network Architecture & Cost
Net Bit Rate - CAN vs. CAN FD • 500 kBps in arbitration
−500 kBps in fast phase
− 2MBps in fast phase
• 500 kBps in arbitration
– 8 byte in fast phase
– 64 byte in fast phase
N et b it rate [ M B p s ] N et b it rate [M B p s ]
Number of data bytes per frame Fast phase bit rate [kBps]
CAN FD – Boosting Traditional CAN
Classic CAN Arbitration
phase Data phase (8byte) CRC EOF
CAN FD Arbitration phase Data phase (8byte) CRC EOF
CAN FD decouples bit rates in arbitration and data phase
Slower arbitration allows for more cable length, faster data phase keeps net bit rate unchanged!
Data phase (64byte) Arbitration phase
C R C
EOF
CAN FD allows up to 64 data bytes
CAN FD
CAN FD Arbitration
phase Data phase (64byte)
C R C
EOF CAN FD Arbitration
phase Data phase (64byte)
You have the freedom to choose independently:
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1)
SOF
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1)
SOF Identifier
Identifier: 11-bit or 29-bit
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1)
SOF Identifier RTR
RTR: remote transmit request
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1)
SOF Identifier RTR IDE
IDE: Identifier Extension
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1)
• The CAN FD frame format
SOF Identifier RTR IDE r0
r0: Reserved Bit
(r0 is dominant)
SOF Identifier RTR IDE FDF
FDF: FD frame format Bit
(FDF is recessive)
(earlier this bit was called EDL) CAN and CAN FD frames start identically
ESI BRS
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1) – DLC: data length code
• The CAN FD frame format – DLC: data length code
SOF Identifier RTR IDE r0 0: 0 bytes data
1: 1 bytes data 2: 2 bytes data 3: 3 bytes data 4: 4 bytes data 5: 5 bytes data 6: 6 bytes data 7: 7 bytes data 8: 8 bytes data 9…15: 8 byte data
SOF Identifier RTR IDE FDF
DLC
r0 0…8: like CAN, see above
9: 12 byte data 10: 16 byte data 11:20 byte data 12: 24byte data 13: 32byte data DLC R0, BRS and ESI will be explained later
ESI BRS
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1) – CRC
• The CAN FD frame format – CRC
SOF Identifier RTR IDE r0
SOF Identifier RTR IDE FDF
DLC
r0
15 bits CRC are added to achieve a Hamming distance of HD=6; stuff bits are not taken into account in CRC calculation. The results in a reduced HD of stuffed CAN frames.
DLC
CRC (15Bit)
CRC (17Bit) (DLC: 0…10) CRC (21 bit) (DLC: 11…15)
17 or 21 bits CRC are added depending on DLC. Stuff bits are
taken into account, resulting in a Hamming distance of HD=6 of the
stuffed CAN frame
ESI BRS
CAN FD – up to 64 Bytes of Data per Frame • The CAN frame format (ISO11898-1)
• The CAN FD frame format – Error State Indicator: ESI / Reserved Bit: r0
SOF Identifier RTR IDE r0
SOF Identifier RTR IDE FDF
DLC
r0 DLC
CAN FD Bit Timing • The CAN frame format (ISO11898-1)
• The CAN FD frame format – Bit Rate Switch: BRS
SOF Identifier RTR IDE r0
SOF Identifier RTR IDE
DLC
ESI BRS
FDF r0 DLC
BRS: can be used to switch to a higher bit rate by means of a new bit timing
Bit time BRS bit =
CAN FD Bit Timing
• At the sampling point of the BRS bit the CAN FD controller changes
the bit timing to “fast”, if BRS is recessive
FDF r0 BRS
e.g. 500kBit/s e.g. 2MBit/s
Bit time CRC Delimiter bit =
500ns x 60% + 2000ns x (1 - 80%) = 700ns
(Assumption: Sample point in arbitration phase = 80% Sample point in fast phase = 60%)
CAN FD Bit Timing
• At the sampling point of the CRC delimiter CAN FD controller changes
the bit timing back to “slow”
CRC Delimiter
Acknow-ledge End of frame
e.g. 500kBit/s e.g. 2MBit/s
CAN FD – FD Active
• Traditional HS CAN controllers cannot send CAN FD frames.
• Enabling a node to send CAN FD frames means: changing the µC.
• Traditional HS CAN controllers cannot receive CAN FD frames.
• A HS CAN controller would invalidate any CAN FD frame by sending an error frame. Thus preventing CAN FD communication.
CAN FD – FD Passive
• A mix of CAN and CAN FD controllers is only operable if the CAN
nodes are made passive for the periods in that CAN FD frames are on the bus.
− Use case:
CAN communication during normal operation.
CAN FD communication only during SW download for that part of the network that can handle CAN FD frames.
− Solution:
Use TJA1145FD partial networking transceivers in the CAN nodes. These can be set into partial
CAN Networking
Technical Principle
• Wake up behavior according ISO 11898-5
• All ECUs are woken-up by any activity on the bus (global wake-up)
ECU 2 ECU 3 ECU 4 ECU 5
ECU X ECU active
Typical applications:
Partial Networking
Generic Idea of “Partial Networking”
Without Partial Networking: With Partial Networking:
PN-enabled networks are capable of operating only those parts of a network that are functionally required at a given time
Partial Networking
Technical Principle
Wake up behavior according ISO 11898-6
Partial Networking is the ability to operate certain parts of a network while others remain inactive
Normal Bus traffic does not wake up a partial network enabled ECU
ECU 2 ECU 3 ECU 4 ECU 5
PN enabled ECU wakes up only when a defined wake-up message is received
ECU X ECU X
ECU active
ECU in sleep mode
Typical applications:
Partial Networking – Wake Up
Identifier
• Wake Up Message defined by Identifier and DLC • Identifier:
−Use of 11 bit or 29 bit Identifier
−Single identifier (all 11/29 bits are defined)
−Group of identifiers (min one bit don´t care)
relevant
Irrelevant
Mask: Certain ID bits are irrelevant Example: 11 bit Identifier
Mask: All ID bits are relevant
Example configuration
11bit ID
ID Range: 0x1A0 – 0x1A7 Binary: 001 1010 0xxx
Partial Networking – Wake Up
Data Length Code
• Data Length Code (DLC)
−0 … 8: Defines the length of the wake message in Byte‘s
−Expected Data length and received data length have to be equivalent to identify a valid Wake message
Example configuration
Data length: 1 Byte = 8 Bit
Partial Networking – Wake Up
Addressing Groups (Data Field)
• Addressing (Data Field) −Is irrelevant if DLC=0
−Every single bit is used to address a dedicated group of CAN nodes (can adress only 1 or up to 64 groups in one message)
−Individual Nodes can be members of 1 or more groups
Example configuration
Group 1: Node 1, Node 2 Group 2: Node 5
Partial Networking – Wake Up Wake-Up process/workflow DLC 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 IdentifierDLC Datafield 0 0 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 Identifier Datafield
Configuration node 1: ID range: 0x1A0 – 0x1A7, DLC=1, Groups 1, 3
DLC 0 Identifier 0 1 1 0 1 0 0 X X X 0 0 0 1 1 0 1 0 0 0 0 0 1 2 3 4 5 6 7 8 Groups DLC 0 0 1 1 0 1 0 0 X X X 0 0 0 1 1 0 0 1 0 0 0 0 Identifier Groups 1 2 3 4 5 6 7 8
Configuration node 2: ID range: 0x1A0 – 0x1A7, DLC=1, Groups 1, 4
Partial Networking – Wake Up Wake-Up process/workflow
DLC
0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 0
Identifier Datafield
Configuration node 1: ID range: 0x1A0 – 0x1A7, DLC=1, Groups 1, 3
1 2 3 4 5 6 7 8 DLC 0 Identifier 0 1 1 0 1 0 0 X X X 0 0 0 1 1 0 1 0 0 0 0 0 Groups DLC 0 0 1 1 0 1 0 0 X X X 0 0 0 1 1 0 0 1 0 0 0 0 Identifier Groups 1 2 3 4 5 6 7 8
Configuration node 2: ID range: 0x1A0 – 0x1A7, DLC=1, Groups 1, 4
Received message:
matchmatchmatchmatchmatchmatchmatchmatchdon’t caredon’t caredon’t carematchmatchmatchmatch End of ID and control field:
Complete match Valid wake-up message !
Partial Networking – Wake Up Wake-Up process/workflow
DLC
0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 0 0
Identifier Datafield
Configuration node 1: ID range: 0x1A0 – 0x1A7, DLC=1, Groups 1, 3
1 2 3 4 5 6 7 8 DLC 0 Identifier 0 1 1 0 1 0 0 X X X 0 0 0 1 1 0 1 0 0 0 0 0 Groups DLC 0 0 1 1 0 1 0 0 X X X 0 0 0 1 1 0 0 1 0 0 0 0 Identifier Groups 1 2 3 4 5 6 7 8
Configuration node 2: ID range: 0x1A0 – 0x1A7, DLC=1, Groups 1, 4
Received message:
No Wake-up!
No Wake-up!
Wake-up
Wake-up
Actually the wake-up happens only in case the CRC has been received correctly.
Challenges of Introducing CAN FD for General Operation
Core Problem: CAN FD and “Classic” CAN nodes cannot be simply mixed, while not all nodes need bandwidth acceleration Gateway
EPS Cl TCU
ECU
Chassis ADAS Power Train
Gateway
EPS Cl ECU
Chassis ADAS Power Train TCU CAN FD Fast Branch
Classic CAN Network
- Critical nodes at bandwidth limit (either flashing or general use) - Network organised by function
Option 1: CAN FD Fast Branch - Networks organised by technology, not function. - Increased routing via gateway
- Complicated firewall policies
- Lacks scalability
- Sub-optimal wiring solutions
Gateway
EPS Cl TCU
ECU
Chassis ADAS Power Train
Option 2: Update complete branch - Network organised by function
- Legacy nodes updated - Higher development costs
CAN Flexible Data Impact on ISO11898-6 Physical Layer
Flexible Data passive
• CAN Flexible Data frame should not “disturb” Partial Networking transceiver: • The circuitry must be designed to avoid “Error Detection” and to prevent the
Frame Error Counter from increasing and falsely waking up the transceiver
• Proper detection of “End of frame / Idle detection”
Regular CAN Frame
Idle phase detection (11 recessive bits)
No idle phase detection during the Fast data
CAN FD Frame
CAN FD Passive: Enhancing Partial Networking TJA1145 offers partial networking
functionality according to ISO11898-6
– CAN FD frames will be seen as coding errors and thus TJA1145 will wake-up with error
counter overflow when in partial networking sleep mode
TJA1145FD offers additionally the option to remain in
partial networking sleep mode, when CAN FD frames occur on the bus
– CAN FD frames are recognized by their recessive FDF bit and judged as ‘valid CAN frames’ regardless of what comes after the FDF bit
Partial Partial FD-active
FD-active FD-active Enh partial Enh partial FD-active
Wake-up due to CAN FD traffic CAN Error Frames No Wake-up due to CAN FD traffic
CAN FD – bit Rates Above 1 MBps
Classic CAN operation (all nodes)
e.g. during standard operation mode
TJA 1145 FD TJA 1145 FD TJA 1145 FD TJA 1145 FD Classic CAN Classic CAN CAN FD Classic CAN Classic CAN Classic CAN C lassic C AN – 50 0kB it /s CAN FD TJA 1145 FD
CAN FD operation(limited number of nodes)
e.g. during Software download
or ‘high performance communication modes’
ISO Standards Applicable to CAN Physical Layer • CAN Flexible Data and Partial Networking
− Flexible data was incorporated into the new ISO11898-1 specification
− ISO11898 -2, -5, and -6 were merged into the ISO11898-2 specification
− Additional testing will be required for Partial Networking
− Requires better intrinsic Physical Layer performance and functionality
Standards XCVR mode Operation
ISO11898-2 Transmit-Receive (Normal mode) Bi-directional interface to the physical bus
ISO11898-5 Low power mode and wake up Wake up on any CAN frame
High Speed CAN Physical Layer
Simplified Architecture – ISO11898-2 and -5
125ns/bit (8Mb/s) TxD CAN 500ns/bit (2Mb/s) X4 2Mb/s TxD RxD CAN Bus Signals at 500 kb/s, 2, 4 and 8 Mb/s
(ISO11898-2 Test Conditions: 60 ohms / 100 pF)
TXD
Vdiff
RXD
CAN FD – Bit Rates Above 1 MBps
Bit rate: 2MBps Slope defined mainly by transceiver Slope defined mainly by network
Same behavior as for 500kBps
500ns
580ns
Dominant bits are prolonged Recessive bits are shortened
500ns
420ns
CAN FD – Bit Rates Above 1 MBps
Bit rate: 2MBps
RXD
The stable portion of the recessive bits is getting very short!
New Timing Requirements
Ensure a minimum duration of the recessive level, based on “existing” Physical Layer performances, and -2 -5 testing conditions