Получены кадры с автомобилей с несколькими чипами ЭБУ
Я не особо разбираюсь в автомобилях, поэтому, надеюсь, смогу объяснить ситуацию достаточно хорошо, чтобы получить здесь помощь:
При отправке сообщений на устройство OBD-II я получаю один ответ в большинстве протестированных мной автомобилей. Однако в автомобилях, в которых, по-видимому, установлено несколько микросхем ЭБУ, я получаю ответ от каждой из них. Например, если я отправлю 01 0C
команду PID на автомобиль с тремя микросхемами ЭБУ, я получу три ответа, которые в целом очень похожи, но всё же отличаются.
Команда 01 00
должна возвращать 4 байта с информацией о поддерживаемых PID-кодах транспортного средства, но она также возвращает по 4 байта для каждого ЭБУ. Один из них представляет собой полностью заполненные 4 байта с несколькими включёнными и выключенными флагами, в то время как в других, похоже, включено лишь несколько флагов (пока что эти флаги всегда включены в «основной» ответ, но я не уверен, что так будет всегда).
Пример:
SENT: 01 00
RECEIVED:
00 BF BF AC D3 - This response has the most binary flags turned on
00 98 18 80 11 - 8 flags on here
00 98 18 80 13 - 9 flags on here
Последние две строки состоят из флагов, которые также отмечены в первой строке, но в третьей строке есть один дополнительный флаг, которого нет во второй строке.
Мне кажется, что, возможно, существует один ЭБУ, который можно назвать «основным» чипом, к которому я должен обращаться при отправке команд, и (я думаю) я понимаю, что могу использовать маску/фильтр идентификатора CAN, чтобы обращать внимание только на те команды, которые мне нужны.
Вопрос в том, действительно ли существует «основной ЭБУ», на который мне следует обратить внимание, или все эти ответы одинаково важны? Если мне нужно ориентироваться на основной ЭБУ, есть ли команда, с помощью которой я могу определить, какой из них «наиболее значимый»?
Транспортные средства, испытанные на:
2011 Chevy Cruze [2 ECUs]
2015 BMW M5 [3 ECUs]
2015 Range Rover Autobiography [3 ECUs]
Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/22982/received-frames-from-vehicles-with-multiple-ecu-chips
Если ваш автомобиль выпущен в 2008 году или позже и использует CAN-протокол, вы можете использовать команду
AT CR, чтобы выбрать, с каким ЭБУ вы хотите взаимодействовать.
Вот как это работает:
Отправить
Это позволит включить заголовки для просмотра адресов ЭБУ.
Отправить
Это команда OBD, которая показывает, какие PID-коды от 1 до 20 поддерживаются.
Ваш ответ должен быть таким:
Это означает, что у вас есть 2 блока управления: 7E8 (двигатель) и 7E9 (трансмиссия).
Я видел 5 возвращённых блоков управления: 7E8, 7E9, 7EA, 7EB, 7EC.
Чтобы получить данные только с одного ЭБУ, введите AT CRA xxx, где xxx — адрес ЭБУ.
отправьте следующее
тогда
вернется:
Отправить
чтобы отключить заголовки, отправьте:
и ты вернёшься только
Если ваш автомобиль оснащен 29-битным CAN-модулем, то ответ 0100 будет выглядеть примерно так:
На изображении показаны 2 блока управления: 18DAF118 (трансмиссия) и 18DAF110 (двигатель).
Отправить
слышно только по звуку двигателя.