View Single Post
Old 03-27-2007, 10:31 AM   #4
joeyoravec
Constant Bitrate
 
joeyoravec's Avatar
 
Join Date: Oct 2005
Location: Livonia, MI
Posts: 157
The 29-bit variant has a target address concept, but with 11-bit there's really no logic except priority when you're fighting for control of the network. Otherwise, the address assignment is completely up to the designer. A quote from part B page 38 of the Bosch CAN specification:

Quote:
Message Routing: The content of a message is named by an IDENTIFIER. The IDENTIFIER does not indicate the destination of the message, but describes the meaning of the data, so that all nodes in the network are able to decide by MESSAGE FILTERING whether the data is to be acted upon by them or not.

Sure. You could enumerate all parameters and design a network where RPM is broadcast on $XXX, speed on $YYY, engine coolant temperature on $ZZZ, etc. It probably sounded clever in 1991 because each message is short and sweet, but this architecture fails because you never have an infinite supply of hardware filters. Sometimes you see this on an isolated network segment but it's just not realistic for "some guy" to manage this allocation perfectly for an entire car.

So for 11-bit OBD networks they go back to the old way of thinking. You have a functional identifier (x7DF), a physical identifier for tester-to-ECU communication (x7E0-7E7), and a physical identifier for ECU-to-tester communication (x7E8-7EF). At least you can use filters to determine that the message is for you, but you'll need to parse the contents in software to understand what it means.
joeyoravec is offline   Reply With Quote