MUT Protocol
Jump to navigation
Jump to search
MUT
Quoted from http://www.myrollingroad.com/showthread.php?t=60 CLaNZeR@MyRollingRoad]:
- Okay the Mut Protocol Init is alot like the ISO9141-2 Init.
- We will be using 1 of the Pins from the OBD-II Connector for communicating.
- Pin7 K line
- If you take a Pin HIGH this means you are applying 12Volts to it.
- If you take the Pin LOW you are applying 0V
- The first thing that you need to do is to initialise the ECU so it knows you want to communicate.
- This is done with the following routine:
- 'Slow Init
- Take K Line High
- Pause 300ms
- 'Send 0x01 (00000001) at rate of 5 baud (LSB) with a Start Bit and a Stop bit
- 'Send Startbit
- Set K line low (0)
- Pause 200ms
- 'Now to send out 0x01
- 'Send out bit0
- Set K line high (1)
- pause 200ms
- 'Send out bit1
- Set K line low (0)
- pause 200ms
- 'Send out bit2
- Set K line low (0)
- pause 200ms
- 'Send out bit3
- Set K line low (0)
- pause 200ms
- 'Send out bit4
- Set K line low (0)
- pause 200ms
- 'Send out bit5
- Set K line low (0)
- pause 200ms
- 'Send out bit6
- Set K line low (0)
- pause 200ms
- 'Send out bit7
- Set K line low (0)
- pause 200ms
- 'Send Stopbit
- Set K line high (1)
- Pause 200ms
- Switch to 15625 baud
- Receive C0 55 EF 85
- send FE
- Receive E4 ' First Byte of ECU ID
- Send FF
- Receive B3 ' Second byte of ECU ID
- Send FE
- Receive E4 ' First Byte of ECU ID
- Send FF
- Receive B3 ' Second Byte of ECU ID
- Send FD
- Receive 20
- Send FD
- Receive 20
- Send FD
- Receive 20
- The ECU is now initialised and you can start sending requests depending on the info you want back.
- For example if you wanted to know the RPM of the engine.
- Send 21 and it will reply with a answer, then simply do a calculation on that result to get the true answer.
- The calculation for RPM is 31.25*x
- Will sort out a list of know Request ID's and their calculations next.
Followup post:
- I have now been informed that after you do the 5 baud Init and then change Baud rate to Receive C0 55 EF 85, you can start sending request bytes straight away.
MUT over OBD-II (Hybrid)
See acamus' post about using ELM-style loggers (in his case, a bluetooth logger:
- Here is little how to
- 1. Open COM port of BT key, e.g. COM6 via HyperTerminal or write simple application
- 2. Set baudrate to 19200
- 3. Send ATSP0<CR><LF>
- 4. Wait for reply OK - (Bus Init..... OK)
- 5. Send A0<MUT ID><CR><LF> e.g. A032
- 6. Parse reply E0 <value> e.g. E0 80, so value is 0x80
- 7. Use formula to get the scaled value