In-Vehicle Networking In-Vehicle Networking for Heavy Duty Systems for Heavy Duty Systems Review of CAN / SAE J1939/ ISO 11783 Review of CAN / SAE J1939/ ISO 11783 Network Network Management Management ISO 11783 Part 5 ISO 11783 Part 5 J1939-81 J1939-81
20
Embed
In-Vehicle Networking for Heavy Duty Systems Review of CAN / SAE J1939/ ISO 11783 Network Management ISO 11783 Part 5 J1939-81 Network Management ISO 11783.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
In-Vehicle NetworkingIn-Vehicle Networking for Heavy Duty Systems for Heavy Duty Systems
Review of CAN / SAE J1939/ ISO 11783Review of CAN / SAE J1939/ ISO 11783
In-Vehicle NetworkingIn-Vehicle Networking for Heavy Duty Systems for Heavy Duty Systems
Review of CAN / SAE J1939/ ISO 11783Review of CAN / SAE J1939/ ISO 11783
Network Network ManagementManagement ISO 11783 Part 5ISO 11783 Part 5
J1939-81J1939-81
Network Network ManagementManagement ISO 11783 Part 5ISO 11783 Part 5
J1939-81J1939-81
How do we create new messages?How do we create new messages?How do we create new messages?How do we create new messages?
– Is there a block of Is there a block of identifiers/addresses/messages set asideidentifiers/addresses/messages set asidefor experimental use? If so, how do we get information for experimental use? If so, how do we get information about them?about them?
• Use proprietary if you must be compliantUse proprietary if you must be compliant• OEM reserved address availableOEM reserved address available
– If we make a controller which will remain on the vehicle, If we make a controller which will remain on the vehicle, how do we get it added to the standard? How long does it how do we get it added to the standard? How long does it take to get something added?take to get something added?
• Controller needs a NAME defined, can use self-configuring Controller needs a NAME defined, can use self-configuring addressingaddressing
• Should take ~3 mo to add a new name or messageShould take ~3 mo to add a new name or message
– Is there a block of Is there a block of identifiers/addresses/messages set asideidentifiers/addresses/messages set asidefor experimental use? If so, how do we get information for experimental use? If so, how do we get information about them?about them?
• Use proprietary if you must be compliantUse proprietary if you must be compliant• OEM reserved address availableOEM reserved address available
– If we make a controller which will remain on the vehicle, If we make a controller which will remain on the vehicle, how do we get it added to the standard? How long does it how do we get it added to the standard? How long does it take to get something added?take to get something added?
• Controller needs a NAME defined, can use self-configuring Controller needs a NAME defined, can use self-configuring addressingaddressing
• Should take ~3 mo to add a new name or messageShould take ~3 mo to add a new name or message
– Is there some kind of provision or protocol for Is there some kind of provision or protocol for when a controller, etc. can't talk to the micro, when a controller, etc. can't talk to the micro, etc.? i.e., is there a 911/411 for figuring out etc.? i.e., is there a 911/411 for figuring out what's wrong?what's wrong?
• Need a good PC based tool and a test networkNeed a good PC based tool and a test network
– What kind of diagnostic/programming software What kind of diagnostic/programming software tools are available?tools are available?
– Is there some kind of provision or protocol for Is there some kind of provision or protocol for when a controller, etc. can't talk to the micro, when a controller, etc. can't talk to the micro, etc.? i.e., is there a 911/411 for figuring out etc.? i.e., is there a 911/411 for figuring out what's wrong?what's wrong?
• Need a good PC based tool and a test networkNeed a good PC based tool and a test network
– How are ECUs identified?How are ECUs identified?– Are there rules for initialization?Are there rules for initialization?– Are there requirements if power supply drops out Are there requirements if power supply drops out
briefly?briefly?
– How are ECUs identified?How are ECUs identified?– Are there rules for initialization?Are there rules for initialization?– Are there requirements if power supply drops out Are there requirements if power supply drops out
briefly?briefly?
Purpose of Network ManagementPurpose of Network ManagementPurpose of Network ManagementPurpose of Network Management
DescribesDescribes
– thethe management of source addressesmanagement of source addresses and the association of and the association of
those addresses with the actual functional identification of a those addresses with the actual functional identification of a
devicedevice
– thethe detection and reporting of network related errorsdetection and reporting of network related errors..
Messages defined for Network ManagementMessages defined for Network ManagementMessages defined for Network ManagementMessages defined for Network Management
• Request for Address ClaimRequest for Address Claim– Normal Request Message of the Address Claim PGNNormal Request Message of the Address Claim PGN
• ECUs have a NAME and address (numeric ID)ECUs have a NAME and address (numeric ID)
– AddressAddress• Provides unique identity within a sessionProvides unique identity within a session• Included in every message to provide message Included in every message to provide message
uniquenessuniqueness
– NAMENAME• Provides high probability of a unique identifier Provides high probability of a unique identifier
within a connected systemwithin a connected system• Provides some functional identification of ECUsProvides some functional identification of ECUs• Used to arbitrate in the case of an address Used to arbitrate in the case of an address
selection conflictselection conflict
• ECUs have a NAME and address (numeric ID)ECUs have a NAME and address (numeric ID)
– AddressAddress• Provides unique identity within a sessionProvides unique identity within a session• Included in every message to provide message Included in every message to provide message
uniquenessuniqueness
– NAMENAME• Provides high probability of a unique identifier Provides high probability of a unique identifier
within a connected systemwithin a connected system• Provides some functional identification of ECUsProvides some functional identification of ECUs• Used to arbitrate in the case of an address Used to arbitrate in the case of an address
selection conflictselection conflict
NAMEing - ECU Identity within the networkNAMEing - ECU Identity within the networkNAMEing - ECU Identity within the networkNAMEing - ECU Identity within the network
64 Bits / 8 Bytes32 Bits 32 Bits
1 3 4 7 8 5 3 11 2111
NAME StructureNAME StructureNAME StructureNAME Structure
1 3 7 7
7
11 210Independent fields
Dependent fields
1
NAME HierarchyNAME HierarchyNAME HierarchyNAME Hierarchy
NAME ExampleNAME ExampleNAME ExampleNAME Example
– Second ECU of a Rate Control unit on third PlanterSecond ECU of a Rate Control unit on third Planter
• Self-Configuring - True = 1Self-Configuring - True = 1• Industry Group - Agriculture and Forestry = 2Industry Group - Agriculture and Forestry = 2• Device Class - Planter/Seeders = 4Device Class - Planter/Seeders = 4• Device Class Instance - Third Planter = 2Device Class Instance - Third Planter = 2• Function - Rate Control (undefined) = 255Function - Rate Control (undefined) = 255• Function Instance - First undefined = 0Function Instance - First undefined = 0• ECU Instance - Second ECU = 1ECU Instance - Second ECU = 1
– Second ECU of a Rate Control unit on third PlanterSecond ECU of a Rate Control unit on third Planter
• Self-Configuring - True = 1Self-Configuring - True = 1• Industry Group - Agriculture and Forestry = 2Industry Group - Agriculture and Forestry = 2• Device Class - Planter/Seeders = 4Device Class - Planter/Seeders = 4• Device Class Instance - Third Planter = 2Device Class Instance - Third Planter = 2• Function - Rate Control (undefined) = 255Function - Rate Control (undefined) = 255• Function Instance - First undefined = 0Function Instance - First undefined = 0• ECU Instance - Second ECU = 1ECU Instance - Second ECU = 1
Initialization ProcessInitialization ProcessInitialization ProcessInitialization Process
• Given in the text of the documentGiven in the text of the document– Following figuresFollowing figures
• Provides distributed methods for ECUs to Provides distributed methods for ECUs to secure the use of an addresssecure the use of an address
• Provides processes for both self and non-self Provides processes for both self and non-self configuring ECUsconfiguring ECUs
• Given in the text of the documentGiven in the text of the document– Following figuresFollowing figures
• Provides distributed methods for ECUs to Provides distributed methods for ECUs to secure the use of an addresssecure the use of an address
• Provides processes for both self and non-self Provides processes for both self and non-self configuring ECUsconfiguring ECUs
Waiting250 ms
for Address Claim
Contention
SendAddress Claim
PrioritizingAddress
Contention
Successful in Claiming address
SendingAnd Receiving
normal message traffic
Received acontending
Address Claim
SelectingAddress different
from contender
Contender'sNAME
greater than mineRe-ClaimCurrentAddress
Contender'sNAME
less than mine
STARTExecutingPower ON Self Test
POSTComplete
Received a contendingAddress Claim
SendAddress Claim
No AvailableAddress
Cannot Claim
Address
SentCannot Claim
Address
Delayingbefore
Address Re-Claim
"Bus-Off" ErrorOccurred
SendAddress Claim
250 ms ExpiredWithout a contending
Address Claim
DelayComplete
BeginPseudo-Random
Delay
Contender'sNAME
greater than mine
Re-ClaimCurrentAddress
PrioritizingAddress
Contention
Contender'sNAME
less than mine
State Transitions forState Transitions forself-configuringself-configuringECUs ECUs
– Addresses of ECUs may changeAddresses of ECUs may change• May occur on initialization (initial address conflict)May occur on initialization (initial address conflict)
– New ECUs are added since last power-upNew ECUs are added since last power-up• Could occur during operationCould occur during operation
– New ECUs are powered during operationNew ECUs are powered during operation• Self-Configuring ECUs lose conflicts with non-Self-Self-Configuring ECUs lose conflicts with non-Self-
Configuring ECUsConfiguring ECUs– Self-Configuring bit in NAME gives non-self-configuring ECUs Self-Configuring bit in NAME gives non-self-configuring ECUs
prioritypriority
– Change of Addresses of ECUs rareChange of Addresses of ECUs rare• ECUs retain successfully claimed address for next power-ECUs retain successfully claimed address for next power-
upup• Changes occur on re-configurationChanges occur on re-configuration
– Addresses of ECUs may changeAddresses of ECUs may change• May occur on initialization (initial address conflict)May occur on initialization (initial address conflict)
– New ECUs are added since last power-upNew ECUs are added since last power-up• Could occur during operationCould occur during operation
– New ECUs are powered during operationNew ECUs are powered during operation• Self-Configuring ECUs lose conflicts with non-Self-Self-Configuring ECUs lose conflicts with non-Self-
Configuring ECUsConfiguring ECUs– Self-Configuring bit in NAME gives non-self-configuring ECUs Self-Configuring bit in NAME gives non-self-configuring ECUs
prioritypriority
– Change of Addresses of ECUs rareChange of Addresses of ECUs rare• ECUs retain successfully claimed address for next power-ECUs retain successfully claimed address for next power-
upup• Changes occur on re-configurationChanges occur on re-configuration
• Must maintain current “NAME to Address” relationshipMust maintain current “NAME to Address” relationship– For ECUs to which destination specific messages are sentFor ECUs to which destination specific messages are sent
• Commands, RequestsCommands, Requests• May need current “NAME to Address” relationshipMay need current “NAME to Address” relationship
– For ECUs that are Listened toFor ECUs that are Listened to• If the information is sender dependentIf the information is sender dependent
– ProcedureProcedure• Listen to address claimsListen to address claims• Update table for those of interestUpdate table for those of interest• Maintain across power disruptionsMaintain across power disruptions
• Must maintain current “NAME to Address” relationshipMust maintain current “NAME to Address” relationship– For ECUs to which destination specific messages are sentFor ECUs to which destination specific messages are sent
• Commands, RequestsCommands, Requests• May need current “NAME to Address” relationshipMay need current “NAME to Address” relationship
– For ECUs that are Listened toFor ECUs that are Listened to• If the information is sender dependentIf the information is sender dependent
– ProcedureProcedure• Listen to address claimsListen to address claims• Update table for those of interestUpdate table for those of interest• Maintain across power disruptionsMaintain across power disruptions
– < 10 ms< 10 ms, interruptions spaced by at least 100 ms:, interruptions spaced by at least 100 ms:• NO Loss of normal network communications nor loss of NO Loss of normal network communications nor loss of
in-process messages.in-process messages.• NO Processor reset.NO Processor reset.• NO Loss of data in volatile memory, including network NO Loss of data in volatile memory, including network
configuration information and/or messages in progress configuration information and/or messages in progress over the network.over the network.
– > 1s> 1s• Power is not restored within 1 second then the ECU must Power is not restored within 1 second then the ECU must
reset and complete a Power On Self Test (POST). reset and complete a Power On Self Test (POST).
– Between 10ms and 1sBetween 10ms and 1s• Internal requirements determine if a reset is required.Internal requirements determine if a reset is required.
– < 10 ms< 10 ms, interruptions spaced by at least 100 ms:, interruptions spaced by at least 100 ms:• NO Loss of normal network communications nor loss of NO Loss of normal network communications nor loss of
in-process messages.in-process messages.• NO Processor reset.NO Processor reset.• NO Loss of data in volatile memory, including network NO Loss of data in volatile memory, including network
configuration information and/or messages in progress configuration information and/or messages in progress over the network.over the network.
– > 1s> 1s• Power is not restored within 1 second then the ECU must Power is not restored within 1 second then the ECU must
reset and complete a Power On Self Test (POST). reset and complete a Power On Self Test (POST).
– Between 10ms and 1sBetween 10ms and 1s• Internal requirements determine if a reset is required.Internal requirements determine if a reset is required.
Reaction to Power Supply Voltage Reaction to Power Supply Voltage Disturbances and InterruptionsDisturbances and Interruptions
Reaction to Power Supply Voltage Reaction to Power Supply Voltage Disturbances and InterruptionsDisturbances and Interruptions