Upload
marilynn-lindsey
View
297
Download
12
Tags:
Embed Size (px)
Citation preview
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
FAQFAQFAQFAQ
Tools / Emergencies?Tools / Emergencies?Tools / Emergencies?Tools / Emergencies?
– What kind of diagnostic/programming software What kind of diagnostic/programming software tools are available?tools are available?
• http://www.noregon.com/caninterface.htmlhttp://www.noregon.com/caninterface.html• http://www.vector-cantech.com/http://www.vector-cantech.com/
– 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?
• http://www.noregon.com/caninterface.htmlhttp://www.noregon.com/caninterface.html• http://www.vector-cantech.com/http://www.vector-cantech.com/
– 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
FAQFAQFAQFAQ
FAQFAQFAQFAQ
Network initialization / module naming?Network initialization / module naming?Network initialization / module naming?Network initialization / module naming?
– 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..
– initialisation processesinitialisation processes
– requirements forrequirements for reaction to brief power outagesreaction to brief power outages
– minimum requirements for network connected electronic minimum requirements for network connected electronic
control units.control units.
Provides methods for Provides methods for distributed management of addressesdistributed management of addresses
and identity (no master).and identity (no master).
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..
– initialisation processesinitialisation processes
– requirements forrequirements for reaction to brief power outagesreaction to brief power outages
– minimum requirements for network connected electronic minimum requirements for network connected electronic
control units.control units.
Provides methods for Provides methods for distributed management of addressesdistributed management of addresses
and identity (no master).and identity (no master).
• DefinesDefines NAMEs for ECUsNAMEs for ECUs– Provides hierarchical naming structureProvides hierarchical naming structure
• Three Hierarchical LevelsThree Hierarchical Levels– Device Class -> function-> ECUDevice Class -> function-> ECU
– Provides instance count for each levelProvides instance count for each level
– Provides identification of manufacturer of ECUProvides identification of manufacturer of ECU
– Provides type IDs for Class and FunctionProvides type IDs for Class and Function
• DefinesDefines address configuration typesaddress configuration types– ECU Address configurationECU Address configuration
– Configurable AddressConfigurable Address– Service Configurable AddressService Configurable Address– Command Configurable AddressCommand Configurable Address– Self-Configurable Address ECUSelf-Configurable Address ECU– (J1939) Arbitrary address capable(J1939) Arbitrary address capable
Network Management FunctionsNetwork Management FunctionsNetwork Management FunctionsNetwork Management Functions
• DefinesDefines ECU typesECU types– StandardStandard
– Diagnostic/Development ToolDiagnostic/Development Tool
– Network InterconnectionNetwork Interconnection
• DefinesDefines address initialisation processaddress initialisation process
• DefinesDefines addressaddress commanding processcommanding process
• DefinesDefines power continuity requirementspower continuity requirements– ISO and J1939 are differentISO and J1939 are different
Network Management FunctionsNetwork Management FunctionsNetwork Management FunctionsNetwork Management Functions
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
• Address ClaimAddress Claim• Commanded AddressCommanded Address• Cannot ClaimCannot Claim
– Address Claim of the Null Address (254)Address Claim of the Null Address (254)
• Request for Address ClaimRequest for Address Claim– Normal Request Message of the Address Claim PGNNormal Request Message of the Address Claim PGN
• Address ClaimAddress Claim• Commanded AddressCommanded Address• Cannot ClaimCannot Claim
– Address Claim of the Null Address (254)Address Claim of the Null Address (254)
Always sent to Global!
Request for Address Claim
Request for Address ClaimAddress ClaimMessages
SOURCE
DESTINATION
111
Data
NAME 8 bytes
AddressClaimed
- Address Claim PGN --
P P P
Source Address
Address Claim PGN
Data
PGN lsb PGN PGN msb
-----Request PGN ------
Source Address
Global orSingularDestination Address
Global
Commanded Address
CommandedAddressMessage
SOURCE
DESTINATION
$0009 $02 Cmd. Addr PGN
7 bytes of NAME (LSB First)
1 byte of NAME (MSB), 1 byte cmd. addr, $FF,$FF, ...
TP.CM_BAMBroadcastRequest to Send 1 0 0 Source Address -Destination Address10
SENDERRECEIVER TP Conn. Mgt.
--------- 236 -----------
TP Control No. of Segments
321 byte
Data
1 byte 2 bytesNo. of Bytes Message PGN
3 bytesReserved
1 byte
TP.DTPacket Data
Packetized Data 7 bytesSequence No.1 byte
1 0 010
SENDER RECEIVER TP Data Xfer.
Source Address -Destination Address--------- 235 -----------
Data
TP.DTPacket Data
Packetized Data 7 bytesSequence No.1 byte
1 0 010
SENDER RECEIVER TP Data Xfer.
Source Address -Destination Address--------- 235 -----------
Data
$FF
• 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
Waiting250 ms
for Address Claim
Contention
SendAddress Claim
PrioritizingAddress
ContentionDuring
Initialization
SendingAnd Receiving
normal message traffic
(Successful in Claiming address)
Receiveda contending
Address Claim /
Contender'sNAME
greater than mine /
Re-ClaimCurrentAddress
Contender'sNAME
less than mine /
STARTExecutingPower ON Self Test
Cannot Claim
Address
SendCannot Claim
Address
Delayingbefore
Address Re-Claim
"Bus-Off" Error Occurredor Message collision detected
during Address Claim /
SendAddress Claim
250 ms ExpiredWithout a contending
Address Claim /
DelayComplete /
State 1
TransitionCondition= "True" /
TransitionAction
State 2
Key
PrioritizingAddress
ContentionAfter
SuccessfulClaim
Contender'sNAME
greater than mine /
Re-ClaimCurrentAddress
Contender'sNAME
less than mine /
SendCannot Claim
Address
ReceivedRequest
forAddress Claim /
SendCannot Claim
Address Re-ClaimCurrentAddress
Received Requestfor Address Claim /
Delayingbefore
SendingCannot Claim
DelayComplete /
Received a contending
Address Claim /
POSTComplete /
State Transitions forState Transitions forNonNonSelf-configuringSelf-configuringECUs ECUs
NAME-Address Table MaintenanceNAME-Address Table MaintenanceNAME-Address Table MaintenanceNAME-Address Table Maintenance
– 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
NAME-Address Table MaintenanceNAME-Address Table MaintenanceNAME-Address Table MaintenanceNAME-Address Table Maintenance
• 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