Вопрос
Аппаратное обеспечение сканера OBD II с открытым исходным кодом без ELM или STN
Мы создали диагностический сканер OBD-II на базе микроконтроллера STM32, и он работает с большинством автомобилей. Но иногда наше устройство не может определить протокол OBD, в то время как сканер OBD (ELM) его определяет. Мы следуем международной стандартной документации, предоставленной ISO, поэтому наша логика теоретически верна, и эта настройка работает с большинством автомобилей.
Существуют ли реализации OBD-сканера с открытым исходным кодом, в которых вместо микросхем/прошивки используется микроконтроллер, как в ELM327? По сути, мне нужно знать, как сканер OBD II отправляет свои фреймы в шину CAN/K-Line.
Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/45345/open-source-obd-ii-scanner-hardware-without-elm-or-stn
1
Я не смог найти прошивку для сканера с открытым исходным кодом, но мы решили проблему с KWP, с которой столкнулись. Мы по-прежнему открыты для предложений по сканерам OBD II с открытым исходным кодом.
Я использую один и тот же контакт GPIO и UART TX, как и положено. Но при переключении между этими двумя режимами контакт переходит в режим высокого сопротивления, из-за чего происходит падение напряжения, которое видит/считывает ЭБУ KWP. Таким образом, в шине возникает ошибочный бит, и, очевидно, «рукопожатие» не происходит. Мы исправили это с помощью подтягивающего резистора.