Decoding K-CAN BUS messages

Hotter

Specialist
Jan 23, 2021
93
7
0

0x0A8

I am starting at looking to 0x0A8 message. It is from DME. I found DME documentation in another post:
https://mega.nz/file/H55SwSST#ihZrrF6eQLv1-vUP3USn5kiGMfMDpIBpwXhy1B3CLO0
It describes this message:

1611485352571.png


Fields from this message:
CHKSM_TORQ_1_DME - check sum (check control torque_1 DME) (8 bits)
ALIV_TORQ_1_DME - alive counter torque_1 DME (4bits)
TORQ_AVL - torque actual-value (12bits)
ST_TORQ_AVL - status torque actual-value (4bits)
RQ_AVL_DMEE - Actual torque ECU/ETCU (12bits)
ST_SW_CLT - Status_switch_clutch (2bits)
ST_RTIR - ? (2bits)
ST_DMEA_SWO - status DME/ACC switch-off (2bits)
RCPT_ACC_SWO_SYS_DME - receipt_ACC_switch-off_system_DME (2bits)
ST_RCPT_ENG_ACC - status_receipt_engine_ACC (2bits)
ST_RCPT_ENG_ARS - status_receipt_engine_ARS (2bits)
ST_RCPT_ENG_DSC - status_receipt_engine_DSC (2bits)
ST_RCPT_ENG_EGS - status_receipt_engine_EGS/SSG/TCT (2bits)
ST_OBD_CTFN_GRB - status_OBD_control-function_gearbox ST_OBD_CTFN_GRB (5bits)
ST_CT_BRPD_DME - status_contact_brake-pedal_DME (3bits)



Interestingly TORQ_AVL contains only 12bits, not 16bits as most of the sources say. 4bits is ALIV_TORQ_1_DME counter which increases every 10ms.

1611485783633.png


TORQ_AVL = TQ_AV (converted for BN2000)

Sadly I did not find what "converted for BN2000" means in the document.
Any ideas how TQ_AV is converted to TORQ_AVL? And how to convert it back?
Because TORQ_AVL is 12bits value and TQ_AV is 16bit value. So need to apply some kind of formula to get correct actual engine torque value:

1611486190563.png


TORQ_AVL (12bits) = (TQ_AV (16bits) <- converted for BN2000)
Any ideas how to get Actual Torque value correctly? TQ_AV (16bits) from TORQ_AVL (12bits)?
 
Last edited:
  • Like
Reactions: aus335iguy