Итак, известно, что в Volvo XC90 две шины CAN - LOWspeed и HIGHspeed. По первой общаются устройства климата, звука, комфорта и т.д., а по второй блоки и датчики управления двигателем и трансмиссией. Скорость шины LOW в не зависимости от модельного года 125 kbit/s, а вот скорость HIGH начиная с 2005-го модельного года 500 kbit/s, до этого года 250 kbit/s. Для передачи сигналов используются два скрученных между собой провода ,которые эффективно противостоят внешним помехам (что необходимо, например, при их нахождении в моторном отсеке). Один и тот же сигнал передается трансивером блока управления через оба провода шины, но на различных уровнях напряжения; только в дифференциальном усилителе принимающего блока управления формируется единый разностный и очищенный от помех сигнал, поступающий затем на вход шины CAN принимающего блока управления. В XC90 зелёный провод это сигнал нижнего уровня (CANL) , а белый высокого (CANH).
На OBD разъёме который у ног водителя на контактах 6 и 14 находится HIGHspeed can bus, на контактах 3 и 11 LOWspeed can bus.
Но, как выяснилось, по умолчанию протокол закрыт для общения с внешним миром, и чтобы его открыть необходимо посылать определённое "Keep-Alive" сообщение каждые 5 секунд, на К-линию (контакт 7 на OBD-разъем). Содержимое "84 40 13 03 F0 b2 7С", серийный настройки: 10800 бод, 8N1 и диапазон напряжения 0-12V (0 В = 0b, 12V = 1b).
В оригинале на инглише это звучит так
Однако для чтения шины рекомендуют использовать разъём RTI или AEM. (а где искать их я хз, и есть ли разъём Rti на машине без него)Ta activate and keep CAN buss alive
Send these 7 bytes in HEX
84 40 13 b2 f0 03 7c
every 5 seconds, otherwise it closes.
He used a USB -> RS232 converter
RS232 (+/- 10V) to K-line (0V & +12V)
Used terminal program that supported HEX instead of ASCII
Used 10800 baud with 8N1
Это пока теория, мною лично не тестировано. буду признателен за исправления и дополнения,а также обсуждение девайсов для работы с шиной.