Тема: Шлюз для замены пакетов скорости в спидометре Mercedes
Здравствуйте!
Из-за нестандартной трансмиссии на Mercedes W463 2017г. врет спидометр, существенно завышая скорость.
Штатными методами проблему решить не удалось, поэтому решил подменять пакеты скорости для приборки на лету.
На приборке имеются две шины CAN, одна 500 Kbps и 125 Kbps. При анализе обоих шин выяснялось, что показания скорости в шине 500 Kbps (желтые провода). Кстати, чат GPT-4 неправильно указал ID пакетов скорости, хоть и знал скорость шины.
ID 0x203 при скорости 0 км\ч имеет вид С1 00 С1 00 С1 00 С1 00. Далее, при наборе скорости меняются второй, четвертый, шестой и восьмой байты, затем первый, третий и тд. на примерно одинаковую величину, т.е то есть скорость в этом сообщении содержится как-бы для всех четырех колес - по два байта на колесо. Послав на приборку сообщение длинной 8 байт, где вторая, третья и четвертая пара были копией первой пары, никаких проблем это не вызвало - приборка корректно работала. Я собрал шлюз, не забыв про резистор в контроллере со стороны CAN0, нарисовал несколько диаграмм, используя мануал "шлюз CAN".
Далее, чтобы уменьшить отображаемую скорость, я решил воспользоваться этим forum.canny.ru/viewtopic.php?id=292 и этим forum.canny.ru/viewtopic.php?id=1180 постами, но приемлемого результата не получил. Не могу разобраться с правильными методом деления и тем, чтобы у меня получался удобный коэффициент, позволяющий мне точно подстроить скорость. Прошу подоткнуть в нужном направлении. Возможно нужно использовать циклический сдвиг вправо, затем делить полученную величину и опять сдвигать вправо?
Спасибо.