Source Adress / Target Adress

A free API for the communication with control devices according to UDS (ISO 14229-1)
Rijo Jose
Posts: 2
Joined: Fri 8. Oct 2021, 13:37

Re: Source Adress / Target Adress

Post by Rijo Jose » Fri 8. Oct 2021, 13:43

What are the uses OR advantages of Normal, Extended and Mixed CAN addressed mechanism?
Where or why it is using?
Last edited by Rijo Jose on Fri 8. Oct 2021, 13:52, edited 1 time in total.

K.Wagner
Software Development
Software Development
Posts: 1080
Joined: Wed 22. Sep 2010, 13:36

Re: Source Adress / Target Adress

Post by K.Wagner » Fri 8. Oct 2021, 13:49

Hello,

please note that only API usage is covered in the support given by PEAK. It does not cover help on understanding the specifications. Please refer to the ISO-norm documentation for this, for instance ISO/DIS 14229-2.

Thanks for your understanding
Best regards,
Keneth

Rijo Jose
Posts: 2
Joined: Fri 8. Oct 2021, 13:37

Re: Source Adress / Target Adress

Post by Rijo Jose » Mon 11. Oct 2021, 05:11

Hi All,

Thanks for your support.

I am working in a driverless car project.

When i checked Functional message method examples, those contain Functinal Req ID as 0x7DF and Functional response id as 0x7E8.

But OEM want to change Functinal Req ID as 0x5FF , my question is what will be Functional response id ?.

Can we use Functional response id as corresponding ECU CAN response id?

For example we have CAN response id as
0X588
0X589
0X58A
0X58B

K.Wagner
Software Development
Software Development
Posts: 1080
Joined: Wed 22. Sep 2010, 13:36

Re: Source Adress / Target Adress

Post by K.Wagner » Mon 11. Oct 2021, 08:52

Hello,

the API is so configured, that the standard values described by the ISO-norm are used, for instance, the CAN Ids for functional requests and physical requests/responses. In custom scenarios, like your, you will need to configure so called mapping addresses to match your requirements.

Please check the chapter 4.3 "UDS and ISO-TP Network Addressing Information" within the API documentation. There you will see a list of all CAN IDs used i.e. the list of mappings the API already configure at initialization time. The chapter 4.3.1 gives you information about using the API in non-standardized contexts.
Best regards,
Keneth

jauris
Posts: 2
Joined: Wed 19. Oct 2022, 12:31

Re: Source Adress / Target Adress

Post by jauris » Wed 19. Oct 2022, 12:47

Hi F.Vergnaud !

I'm fairly new to CAN buses and UDS protocol. You mentioned that the standard address for TesterClient is 0xF1. Which standard is proposing this value? I was looking at UDS standard 14229-1 but I didn't find any mention about reserved or proposed source addresses for CAN network nodes. I'm guessing they might be declared at some lower level standard but could you kindly point to right direction?

Thank you in advance,
Miikka
F.Vergnaud wrote:
Tue 5. Apr 2016, 17:45
Hello Daniel,

When you communicate with an ECU using the UDS protocol, your application is usually what is called the "TesterClient", the standard address value associated to it is 0xF1.
On the other hand, the ECU's address is defined during its design.. For instance with OBD-II (a protocol above UDS), the standard states that there can be only 8 ECUs and there address is a range from 0x01 to 0x08.
You should check the specifications of your ECU to see how it is communicating via ISO-TP (address and addressing format).

The address is important because if a message is sent on the CAN bus, the ECU will/should check that the target address of the message matches its defined address (if not the message is ignored).
Yet based on how is designed the ECU, this can be completely ignored: may be the specifications of your ECU may only state that it listens to a specific CAN ID and responds with another CAN ID. In that case you have to configure your mappings with some dummy values:
First you have to check what ISO-TP addressing format the ECU is using. If it is:
  • * NORMAL FIXED or MIXED addressing then it is problematic because (with 29bit CAN IDs) the CAN ID is dynamically generated from the source address (TesterClient) and the target address (ECU),
    * Extended addressing is also a problem because the Target address is set in the first byte of the CAN data frame so it should be required too,
    * NORMAL addressing should be the only addressing available in your case..
With NORMAL addressing, you can define 2 mappings (one from Client to physically address ECU and another from ECU to physically address Client):
- can ID type is 29 bits
- canID is the CAN ID the ECU listens to (ex. 0xABC001)
- canIDResponse is the CAN ID the ECU responds with (ex. 0xABC002)
- format is NORMAL
- message type is diagnostic message
- source address is 0xF1 (client)
- target address is 0x01 (ECU)
- target type is physical addressing
- remote address is not used and is 0x00

the second mapping is almost the same you anly have to swap source and target address and canId/canIdresponse:
- canID is the CAN ID the ECU responds with (ex. 0xABC002)
- canIDResponse is CAN ID the ECU listens to (ex. 0xABC001)
- format is NORMAL
- message type is diagnostic message
- source address is 0x01 (ECU)
- target address is 0xF1 (CLIENT)

Let me know if this helps you.

F.Vergnaud
Software Development
Software Development
Posts: 305
Joined: Mon 9. Sep 2013, 12:21

Re: Source Adress / Target Adress

Post by F.Vergnaud » Wed 19. Oct 2022, 14:27

Hello Jauris,

This is mentioned in ISO-15765-4 also known as ISOTP Diagnostic On CAN (DoCan).
Best regards,
Fabrice

jauris
Posts: 2
Joined: Wed 19. Oct 2022, 12:31

Re: Source Adress / Target Adress

Post by jauris » Wed 19. Oct 2022, 16:28

Thank you very much for the quick reply !! :D

Post Reply