ISO9141 & ISO14230 Communication

User topics relating to software that logs data from ECUs

Moderator: Freon

ISO9141 & ISO14230 Communication

Postby romstef » Thu Sep 04, 2008 8:34 pm

Hi Guys,
I am trying to use a microcontroller to communicate with vehicle ECU via the ISO9141 & ISO14230 protocol but I need help. I am not in a position to purchase the relevant ISO document. And I understand, it is not an easy read.

1/ I would like to know how to calculate the CHECKSUM for these protocol. E.g. I saw the foll. example for ISO9141, but can't figure it out;
REQUEST: 68h 6Ah F1h 01h 05h & 63h as checksum.
RESPONSE: 48h 6Bh 10h 41h 05h 44h & BBh as checksum. Help here please. Also, how would I do the calculation for ISO14230?

2/ Also, in order to communicate via the ISO9141 protocol, would I send only 68h 6Ah F1h 01h 05h & the CHECKSUM, or would I need to send more bytes?

3/ Last question; How would I determine the LENGTH BYTE in the ISO9141 protocol? I would be very grateful for an example.

Thanks very much guys. :?:
romstef
 
Posts: 4
Joined: Fri Aug 22, 2008 9:31 pm

Postby Sasha_A80 » Sat Sep 13, 2008 9:49 pm

Look here for free

www.alfa145.co.uk/obd/14230-1s.pdf
www.alfa145.co.uk/obd/14230-2s.pdf
www.alfa145.co.uk/obd/14230-3s.pdf

Swedish implementation for ISO14230 (ISO9141 physical layer included)
Sasha_A80
 
Posts: 102
Joined: Sun Aug 31, 2008 3:04 am
Location: Saratov, Russia

Postby romstef » Mon Sep 15, 2008 5:26 pm

Sasha_A80,
Thank you very much for your reply. However, I had already seen and downloaded that info via this forum. My problem with the document "Keyword Protocol 2000 - Part 2 - Data Link Layer Swedish Implementation Standard Based on ISO 14230-2 Data Link Layer" , is that I do not have a clue as to what the the section is saying;
" 4.3 Checksum Byte
The Checksum byte (CS) inserted at the end of the message block is defined as the simple 8-bit sum series of all bytes in the message, excluding the Checksum.
If the message is
<1> <2> <3> ... <N> , <CS>
where <i> (1 i N) is the numeric value of the ith byte of the message, then:
<CS> = <CS>N
where <CS>i (i = 2 to N) is defined as
<CS>i = { <CS> i-1 + <i> } Modulo 256 and <CS>1 = <1>
Additional security may be included in the data field as defined by the manufacturer".
I would be very grateful if someone could explain this in detail. :?:

THANK VERY MUCH AGAIN.
romstef
 
Posts: 4
Joined: Fri Aug 22, 2008 9:31 pm

Postby Sasha_A80 » Mon Sep 15, 2008 7:53 pm

You just need to calculate the 8bit arithmetic sum of all bytes in the message (checksum itself is not included) and do not pay attention to carry flag, the 8bit result will be the checksum you need.

Append this sum to transmitted packet.

In order to validate the packet recieved just compare the checksum calculated and the checksum got.

Subaru Select Monitor protocol description file ssm.pdf provided within the ecuExplorer distribution will give you the same advice.
Sasha_A80
 
Posts: 102
Joined: Sun Aug 31, 2008 3:04 am
Location: Saratov, Russia


Return to Data Logging Software

Who is online

Users browsing this forum: No registered users and 4 guests