Как читать данные нескольких датчиков CAN OBD-2 одновременно с 2 печатных плат
В настоящее время я использую STN2120 на специальной ведомой печатной плате, которая будет подключена к порту OBD-2 автомобиля. STN будет интерпретировать протоколы CAN и передавать информацию датчика двигателя на главную печатную плату через UART. Затем микроконтроллер ATMEGA2560 на главной плате будет отслеживать значения датчика двигателя OBD-2, которые он получает от STN2120, а главная плата будет активировать цифровые выходные цепи на основе определенных условий, которые выполняются на основе данных датчика CAN, которые я отслеживаю. Мне нужен микроконтроллер на главной плате, чтобы иметь возможность читать данные с той же скоростью, что и шина CAN (то есть, я полагаю, до 500 кбит / с).
Человек, который разрабатывает мои платы, пришел к выводу, что использование микроконтроллера ATMEGA MCU главной печатной платы для запроса данных из STN и последующего получения этих данных, скорее всего, приведет к частоте обновления более 1 секунды на данные датчика I' Я хочу прочитать на главной доске. Хотя мне не нужны абсолютно мгновенные данные с CAN-шины, для моих целей они должны обновляться со скоростью несколько раз в секунду.
Основываясь на том, что я описываю, есть ли лучший способ сбора этих данных на главной плате, который приведет к гораздо более высокой частоте обновления при просмотре, скажем, данных 15 датчиков на CAN-шине? Могут ли быть загружены в ATMEGA некоторые библиотеки, которые позволяют ему делать именно то, что делает STN2120? Извините за незнание здесь; Я просто автомобильный парень с концепцией и очень маленькими знаниями микроконтроллеров.
1 ответ
Во-первых, почему вы хотите использовать STN2120 (который поддерживает все виды транспортных протоколов OBD2), а не просто интерфейс CAN-Bus?
В любом случае, что касается вопроса о скорости, узким местом часто является скорость реального ЭБУ, с которым вы говорите, а не скорость CAN-шины. Запрашивая напрямую ЭБУ (например, с помощью команд UDS), вы должны иметь возможность запрашивать идентификаторы менее чем за 100 мс, поэтому вы можете зондировать с частотой 10 Гц.