PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Общение с машиной (http://pccar.ru/forumdisplay.php?f=14)
-   -   BEAN (http://pccar.ru/showthread.php?t=20935)

fyodor_e 09.07.2014 14:26

BEAN
 
Вложений: 5
Всем привет!

В авто Toyota есть внутренняя шина BEAN, по которой общаются различные компоненты (например, по ней получает информацию панель приборов о том, надо ли зажечь лампочку давления масла или какую температуру ОЖ показать).
Эта шина использовалась в Toyota'x довольно давно. В моем Mark II 2003 г она есть. В совсем свежих машинах вместо нее может использоваться что-то другое (возможно CAN).

Решил я разобраться как эта шина работает и что с нее можно получить.
Сразу оговорка. Вопрос ЗАЧЕМ ЭТО НАДО не задавать :-) Надо и все :-)

Итак, что удалось получить.
В двух приложенных файлах небольшое описание этой шины. Можно понять что к чему.
Японцы описали работу этой шины в стандарте SAE 970297. Добрый человек с форума toymods купил книжку и некоторые страницы выложил здесь https://drive.google.com/folderview?...VE&usp=sharing
Из книги можно понять формат пакета и схему приемо/передающего модуля.

Я сделал сниффер для BEAN и смог собрать лог общения по шине.
В логе уже убран Start Bit, и так называемый Staffing Bit (через каждые 5 одинаковых бит вставляется один противоположный по значению бит).
Пакеты правильные. Длина пакета, указанная в первом байте соответствует реальной длине (CRC байт не считается). В конце идет 7e (в двоичном виде это 01111110, т.е. EOM).

Что касается физического уровня, то была срисована схема с платы управления кондиционером. Схема очень похожа на ту, которая приводиться в стандарте SAE (также приложил). Правда попытки собрать ее в ISIS пока не увенчались успехом... Не работает.
Если кто может посоветовать что нужно сделать с этой схемой, чтобы она заработала или посоветовать что-то аналогичное по возможностям - буду признателен!

Приложил схемку с входным и выходным каскадами (BeanRelay1sch.zip). Вход подключен к ноге 10, выход - ноге 7. Все, что не подключено к этим двум ногам можно выкинуть, т.к. не имеет отношения к BEAN.
Входная нога должна поддерживать Interrupt on change

--------------------------------------------------------------------------

Тут же буду выкладывать значения сообщений BEAN, которые удалось "разгадать".
В сообщении присутствуют все поля, начиная с PRI и заканчивая последним байтом данных.
CRC8 и EOM нет.

23 fe d4 30 - включение ламп аккумулятора и масла на приборной панели. Последний байт 20 - аккумулятор, 10 - масло, 30 - оба значка сразу
25 fe 7f 00 10 80 - индикатор открытой двери
25 fe 7f 10 18 80 - то же при включенных габаритах
a4 52 fd 13 38 - температура климат-контроля. 13 = 25 градусов, 14 = 25.5 и т.д. Это информационное сообщение, т.е. оно не меняет установленную температуру.
a8 52 fc a2 44 03 00 00 00 - пикнуть :-) Такой "пик" как при нажатии кнопок управления климат-контролем. Значение 03 может быть любым от 03 до 07. Тональность "пика" от этого не меняется.

GASCHE 14.07.2014 07:43

Подробно разбираться лень, но исходя из фигуры 3 на 172 странице чем вас не устраивает выходной каскад обычного K-Line адаптера, например того же K + CAN v1.4

kravt74 12.02.2015 08:02

fyodor_e

Приветствую.
Тоже пытаюсь разобраться с этой шиной.
Не поделишься снифером?

fyodor_e 12.02.2015 08:52

Вложений: 3
Схема для прослушивания очень проста - два резистора для делителя напряжения, чтобы согласовать 12В на шине BEAN с 5В микроконтроллера. (приложил). R821 можно выкинуть.

А вот прошивка микроконтроллера - это уже сложнее... Я использую PIC18F4550, который соединен по USB с ПК. Контроллер читает шину BEAN и далее передает в ПК уже саму посылку (без staffing битов)

Прошивку и прогу для ПК прилагаю.
В прошивке есть файл BEAN.c/.h, в которых сосредоточен код чтения BEAN. Отправку по шине BEAN пока тестирую...

Вот здесь пошарен кусок книги про BEAN https://drive.google.com/folderview?...VE&usp=sharing
(Ссылка с этого форума http://www.toymods.org.au/forums/tec...lex-etc-2.html)

kravt74 13.02.2015 10:32

fyodor_e
Цифровым осцилом поймал посылку, проверил по описанию, вроде так как надо (start бит, длинна, кому, что, data, crc и EOM 7E, Staffing биты само собой.). В конце посылки получатель должен поставить подтверждение (положительный бит) иначе отправитель повторяет посылки.
Для отправки, как я понимаю, нужно считать CRC. Не в курсе как она считается?

fyodor_e 13.02.2015 10:53

Я пытался понять какой алгоритм расчета CRC, но не сильно долго :-)
Вот здесь http://www.toymods.org.au/forums/tec...lex-etc-2.html я спрашивал как считать CRC (George пишет, что разобрался).

Пока у меня идея такая.
Я насобирал посылок с BEAN, теперь буду пытаться их отправить на шину сам и смотреть на реакцию :-) Например, у меня на приборной панели все, кроме тахометра и спидометра получает инфу по BEAN. А значит если послать команду включения какой-то лампы, она включиться.
Так можно попробовать понять, состав некоторых команд.

kravt74 13.02.2015 11:15

по бину идет инфа по
темперу двигателя
зарядка
давление масла
круиз контроль
индикация режимы коробки
PRND2L
в обратном направлении
включение муфты кондея
реле обогрева заднего стекла
подсветка поворота
........
может еще что то, но не все кроме тахо и спида.
Я буду собирать визуальную индикацию битов в посылке (регистры и светодиоды).
Брать одну посылку и смотреть какой бит меняется при смене какого-то параметра.
У меня CROWN 171. Соединяю блоки на столе (моторник, блок управления панелью приборов и саму панель), в тепличных условиях удобней ).

fyodor_e 14.02.2015 15:25

Дополню следующим.
BEAN - шина, на которой сообщения постоянно повторяются. Вот, например, несколько сообщений, которые я насобирал где-то за 5-10 секунд непрерывного мониторинга.
Первое число - кол-во повторений этого сообщения (в шестнадцатеричном формате). Второе - дубль CRC (это так у меня выводиться), затем само сообщение.

16 f9 18 fe 53 49 49 00 00 00 01 f9 7e 40
14 00 25 fe 7f 00 10 00 00 7e 40
04 0b 25 fe 7f 00 10 80 0b 7e 40
02 7d a5 fe 7f 00 10 80 7d 7e 40
18 0d 23 fe 83 00 0d 7e 40
03 60 04 fe ab 40 00 60 7e 40
14 6b 04 fe ab 40 80 6b 7e 40
10 aa 04 fe ab 62 00 aa 7e 40
04 a1 04 fe ab 62 80 a1 7e 40
01 aa 04 fe af 62 00 aa 7e 40
01 aa 04 fe bb 62 00 aa 7e 40
18 9c 25 fe e1 00 00 00 9c 7e 40

Кстати, нигде нет бита RSP. Это логично, т.к. из трех устройств, которые я смог "расковырять" и которые были подключены к BEAN (это приборная панель, компьютер климат-контроля и блок эл оборудования шасси - ABS), только у климат-контроля были цепи для отправки сообщений на BEAN. У приборной панели и ABS - Только цепи приема

fyodor_e 15.02.2015 13:55

Вчера дошли руки дописать прошивку для отправки команд по шине BEAN, а сегодня вечером провел эксперимент.
Вот это сообщение
25 fe 7f 00 10 80 0b 7e
зажигает лампу открытой двери на панели приборов (естественно при закрытых дверях)
23 fe d4 30 a6 7e - зажигает сразу лампы аккумулятора и низкого давления масла.
Сообщения надо посылать постоянно, т.к. как только они перестают передаваться, лампочки на панели приборов потухают.

moshina 15.04.2015 18:13

Товарищи здравствуйте! Очень обрадовался, когда нашел данную тему! Есть задумка подружить ЭБУ двигателя с приборной панелью от другого авто, скорее всего это будет мозг от 171 Маджесты и приборка от Альтеззы, которая скорее всего очень близка по сигналам к приборке от 110 Марка. Так что тема очень актуальна ))

Поделитесь пожалуйста, как продвигаются дела? Получилось более подробно разобраться в структуре передаваемых данных, составить подробную карту сигналов?


Часовой пояс GMT +4, время: 22:17.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot