Расшифровка сообщений на CAN-шине автомобиля Ford Fiesta MK6

Reverse engineering Ford Fiesta CAN bus

На этой страничке я решил поделиться своими наработками в плане расшифровки сообщений на CAN-шине автомобиля Ford Fiesta MK6 с целью получения информации о текущем расходе топлива. Как выяснилось, по диагностической шике OBD-2 машина не выдает ни расход топлива, ни расход воздуха, поэтому было принято решение попытаться выловить эту информацию из самой шины.

On this page I have decided to share my todays information of decrypt messages on CAN-bus of car Ford Fiesta MK6 to obtain information on the current fuel consumption. As it turned out, the Diagnostic bus OBD-2 machine does not show fuel or air flow consumption under standart PIDs, so it was decided to try to extract this information from the CAN-bus by sniffing messages.

ID byte Description Описание
0x200  0 1 2 3 4 5 6 7 ~10 ms  
        * *       Throttle position?  
            * *   Throttle position?  
                     
0x201 0 1 2 3 4 5 6 7 ~20 ms  
  * *             RPM=XX/4 Обороты двигателя, об/мин
      * *     speed=(XX-10 000)/100; 0x2710=stopped Скорость автомобиля, км/час
              *   Accelerator Pedal; 0x00=Released Усилие нажатия на педаль газа
                     
0x210 0 1 2 3 4 5 6 7 ~10 ms  
                * Counter (?)  
                     
0x230 0 1 2 3 4 5 6 7 ~10 ms  
                     
0x360 0 1 2 3 4 5 6 7 ~10 ms  
                     
0x420 0 1 2 3 4 5 6 7 ~20 ms  
  *             Coolant temp = (X - 40), deg Температура охлаждающей жидкости, °С
                * Inlet air pressure = X , kPa Давление воздуха на входе в двигатель, кПа
                     
0x428 0 1 2 3 4 5 6 7    
                     
0x430 0 1 2 3 4 5 6 7 ~20 ms  
* Fuel level = X/2.55, % Уровень топлива, %
    *             Fluid level?  
                     
0x433 0 1 2 3 4 5 6 7 ~200 ms  
  *               Doors bits map. 1=open; 2=closed;
80h=Driver door opened; C0h=Driver and passenger dor opened
Флаги открытых/закрытых дверей
            *     Dors lock: 10h=locked; 20h=unlocked Флаг заперто/открыто
                     
0x4B0 0 1 2 3 4 5 6 7 ABS  
  * *             Left Front wheel speed (km/h) Скорость каждого колеса
      * *         Right Front wheel speed (km/h)  
          * *     Left Rear wheel speed (km/h)  
              * * Right Rear wheel speed (km/h)  
0x620 0 1 2 3 4 5 6 7 ~200 ms  
0x630 0 1 2 3 4 5 6 7 ~1000 ms  

Ниже привожу пример данных с шины:

Here is an example of the captured data from the CAN-bus:

ID 0 1 2 3 4 5 6 7
200  02 04 02 02 02 02  00  
201 13 5C 80 80 27 10 00 7D
210 FF FF 30 A0 90 00 D0  
230 00 01 66 FF FF 00 0B 80
360 0C 80 C9 4D 44 60 80 C1
420 45 00 01 7A 01 00 5E 28
428 00 8E 00 00 37 00 10  
430 91 00 59 FF C0 00 20
433 00 10 00 00 00 10 00 00
4B0 27 10 27 10 27 10 27 10
620 09 91 52 48 44 60 80 00
630 88 01 A9 00 00 64 4E 4E

Для исследования была собрана схема на базе МК PIC18F25K80 со встроенным CAN-модулем.

 

Ссылки, которые мне помогли в этой нелегкой работе (Links):

Если у Вас есть информация по теме или вопросы - пишите!
If You have information or questions - feel free!

03.06.2014