Новый алгоритм пересчёта в спидометрах TOYOTA DENSO.

Кодировка пробега.

ОдометрРассмотрим алгоритм пересчета пробега в спидометрах с EEPROM, 93с46, 93с56, 93с66, 93A57, и их модификаций. Данный алгоритм очень прост, и применяется на большинстве автомобилей TOYOTA, а так же других японских и корейских автомобилях. В основном это спидометры DENSO. Начиная с 2006 года, TOYOTA немного видоизменила алгоритм пересчета пробега. Изменились адреса, а так же по-другому стали пересчитываться младшие цифры пробега.

Старый тип спидометров (тип 1).

Пробег в этих спидометрах занимает 3 байта+1 пустой байт, и повторяется в дампе 3 раза.
Первый 08h,09h,0Ah,0Bh.
Второй 0Ch,0Dh,0Eh,0Fh.
Третий 10h,11h,12h,13h.
По адресам 0Bh, 0Fh, 13h. В левом полубайте находятся сотни тысяч пробега, в правом полубайте десятки тысяч пробега. По адресам 08h, 0Ch, 10h. В левом полубайте находятся единицы тысяч пробега, а в правом сотни километров. По адресам 09h, 0Dh, 11h. В левом полубайте находятся десятки километров пробега, а в правом единицы километров пробега. Каждая цифра пробега хранится в инверсном виде. Например, цифра 1 будет преобразована в E, а 5 в A. Это можно записать в виде выражения (ПРОБЕГ НА ОДОМЕТРЕ) NOT=(ПРОБЕГ В ПАМЯТИ). Здесь операция NOT, это инверсия. Ещё можно записать так, 0Fh-(ПРОБЕГ НА ОДОМЕТРЕ)= ПРОБЕГ В ПАМЯТИ.

Новый тип спидометров (тип 2).

Здесь пробег шифруется таким же образом. По адресам, первый 62h, 63h, 64h, 65h, второй 66h, 67h, 68h, 69h, третий 6Ah, 6Bh, 6Ch, 6Dh. Цифры кодируются точно так же, за исключением десятков и единиц километража пробега. Здесь байты 63h, 67h, 6Bh показывают, 0 километров или 50 километров. А в верхней части EEPROM, выделен участок в 50 байт, который изначально заполнен значением FFh. Затем каждый километр спидометр записывает маркер на ближайший к началу и свободный ( без маркера ) байт. Так продолжается пока не заполнятся все 50 байт. Далее спидометр очищает все 50 байт массива, и записывает значение 50 километров в ячейки 63h, 67h, 6Bh. Далее процесс повторяется.