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 Марка. Так что тема очень актуальна ))

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

fyodor_e 16.04.2015 04:11

Я подозреваю, что команды BEAN на разных машинах будут одинаковы. Я очень сомневаюсь, что япы заморачивались бы изменением команд. Это потребовало бы замены прошивки во всех блоках, подключенных к BEAN (а это ECU двигателя, приборка, блок упр-я кондиционером, SRS, multiplex, маршрутизатор (если в машине есть телевизор), возможно блок ABS).
Возможно, что разные ECU поддерживают не все команды...

"Разгаданные" коды в первом сообщении.
Дело идет не быстро, т.к. надо сидеть с ноутом в машине, и перебирать экспериментальным путем...

moshina 16.04.2015 12:10

На практике получается, что команды разные, если подключать ЭБУ от 1UZ (Цельсиор, Маджеста) к BEAN шине Альтезы (двигатель 1G-FE), то большинство сигнальных ламп и приборов не работает. Сто процентов не работает температура двигателя, лампа давления масла, лампа низкого уровня топлива. Также не работает климат, так как блок управления кондиционером не видит температуру, и скорее всего отправляет неправильную команду на включение компрессора. В зависимости от подключаемого ECU двигателя иногда работает индикация выбранной передачи, лампа зарядки АКБ, ну и еще кое что... То есть часть команд совпадает, часть нет, получается что нужно разгадать команды обоих ЭБУ двигателей, а потом перехватывать одни и заменять другими.

kravt74 17.04.2015 15:27

Так точно, некоторые команды разные. Имеем блоки EFI от Алтеза и Аристо, комплектация рестаил 2JZ-GE 5AT. Подключаем в CROWN JZS171. Получаем что с блока Алтеза и Аристо на приборку проходят все сигналы кроме режимов snow/sport и круиз контроля. Муфта кондюка не сработает, потому что не проходит сигнал с датчика давления фриона (от EFI к боди салона). Но, с EFI Алтеза проходит сигнал температуры за бортом, чего нет с EFI Аристо.
В некоторых EFI применяется BEAN интерфейсная микруха 0990 (не помню буквы). Насколько я понял у нее есть отдельно вход, отдельно выход и собственно вывод на шину. На входе и выходе появляются пакеты одинаковой длинны и с одинаковым периодом. Так же есть вывод строба, появлении которого совпадает с выводом данных на выход. Короче как я понял просто кидаешь на микруху посылку, а она сама размещает ее в шине. Если я не прав поправьте и собственно вопрос, может у кого есть даташит на нее?

se55y 28.05.2015 19:04

Цитата:

Сообщение от fyodor_e (Сообщение 320692)

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

А нет-ли в выделенных строках ошибок? А то они выбиваются из остальных с точки зрения crc

Те, что из приведённого Вами лога - правильнее:
7 0x4 0xfe 0xab 0x62 0x80 0xa1 0x7e
7 0x4 0xfe 0xab 0x40 0x80 0x6b 0x7e

fyodor_e 29.05.2015 16:22

Очень даже вероятно, что сообщения не правильные в принципе. Судя по тому, что они были приняты всего 1 раз (первый байт), они скорее всего ошибочные и их надо игнорировать
Видимо повредилось вот это сообщение 10 aa 04 fe ab 62 00 aa 7e 40. Оно очень похоже и было передано 10 раз.

se55y 30.05.2015 07:05

Цитата:

Сообщение от fyodor_e (Сообщение 329351)
...Видимо повредилось вот это сообщение 10 aa 04 fe ab 62 00 aa 7e 40. Оно очень похоже и было передано 10 раз.

"There are only 10 types of people in the world: those who understand binary, and those who don't." :-)

reveng.exe -w 8 -p 13 -c 04feab6200 -> aa

(vS) 06.06.2015 14:38

very funny joke ))

se55y 17.06.2015 12:50

Главное - чтобы fyodor_e шутку на свой счёт не принимал.. Уж он-то в этом силён.

George_R 30.09.2015 18:36

не густо наковыряли, а так много времени прошло!

(vS) 30.09.2015 23:18

вы можете радикально исправить положение

George_R 01.10.2015 18:08

Цитата:

Сообщение от (vS) (Сообщение 339387)
вы можете радикально исправить положение

У пользователя fyodor_e все карты на руках, подсказками снабдил, декодирование у него пошло успешно. Дальше только терпение и труд.

se55y 02.10.2015 19:33

Делиться, наверное, нарытым никто не торопится...

George_R 06.10.2015 14:04

Да и что толку если на каждой машине все по сути с нуля надо начинать
Поделюсь вот каким открытием
Пробовал запустить Power/Snow на крауне с 1uz-fe vvti
Добыл блок интеграции родной с этого кузова
Активировал power/snow, вижу, данные изменяются
Нашёл на моторнике MPX, убедился что рабочий
Цепляю блок интеграции - в диагнозе тишина.

При этом в цельсиоре и 20 и 30 кузов все прошло без осложнений
И приборки вполне живо отзываются только начни что-либо им передавать

Пока предположений два
-или моторник ждёт АСК на какие-то пакеты предназначенные другим блокам (и без подтверждения выставляет ошибку по связи МПХ)
-или моторник ждёт специфических пакетов от разных блоков чтобы выставить у себя флаг об их наличии

С тем же цельсиором было по второму варианту - при старте салонного блока МПХ , этот блок выдает некие пакеты которые больше никогда не повторяются. Если моторник их не увидит, то будет игнорировать все последующие данные, поступающие от бодика

se55y 06.10.2015 17:49

Цитата:

Сообщение от George_R (Сообщение 339751)
Добыл блок интеграции родной с этого кузова

А точно блок интеграции соответствующий именно твоему моторнику? А то на Прогрессе замечен "фокус" когда MPX-блок подрулевых переключателей должен соответствовать по году выпуска блоку интеграции.. Иначе работает только часть функций, а часть вообще перепутана:
http://forums.drom.ru/toyota-progres...post1124604979

У UZS17# тоже в 2001 был рестайл, может как раз ваш случай:
89030A COMPUTER ASSY, INSTRUMENT PANEL INTEGRATION
89030-30080 (09/1999 - 07/2001)
89030-30081 (08/2001 - 05/2004)

89030-30090 (09/1999 - 07/2001)
89030-30091 (08/2001 - 05/2004)

89030-30100 (09/1999 - 07/2001)
89030-30101 (08/2001 - 05/2004)

89661 COMPUTER, ENGINE CONTROL
89661-3A590 (09/1999 - 07/2001)
89661-3F170 (08/2001 - 05/2004)

Цитата:

Сообщение от George_R (Сообщение 339751)
Цепляю блок интеграции - в диагнозе тишина

сканер не видит BodyECU?

George_R 06.10.2015 17:55

Нет
Диагноза по моторнику не видит манипуляции с бодиком
Т.е. признаки pwr/snow/els не меняются

se55y 06.10.2015 18:45

У меня, возможно, в этом-же причина некоторого "затыка" (не хочет показывать THW и TAM)
89030A COMPUTER ASSY, INSTRUMENT PANEL INTEGRATION
89030-51010 (05/1998 - 11/1999)
89030-51020 (12/1999 - 04/2000)
89030-51030 (05/2000 - 03/2001)
89661 COMPUTER, ENGINE CONTROL
89661-51021 (05/1998 - 12/1998)
89661-51022 (01/1999 - 04/2000)
89661-51050 (05/2000 - 10/2000)
89661-51051 (11/2000 - 01/2001)
89661-51130 (02/2001 - 03/2001)
(выделенное на столе)
http://i59.tinypic.com/2ni7kph.jpg

George_R 07.10.2015 10:26

Если тебе надо только добиться показаний от приборки то она работает гораздо проще, дал команду (периодически) - показала

se55y 07.10.2015 10:55

Цитата:

Сообщение от George_R (Сообщение 339848)
Если тебе надо только добиться показаний от приборки то она работает гораздо проще, дал команду (периодически) - показала

это для MPX-приборки справедливо, а тут своя шина между INSTRUMENT PANEL INTEGRATION и COMBINATION METER. Неожиданно, правда?
http://i61.tinypic.com/x6bmw.jpg

George_R 07.10.2015 10:59

Т.е. сама по себе приборка отправляет какую-то информацию в блок интеграции и оттуда еще куда-то дальше?

se55y 07.10.2015 11:20

Цитата:

Сообщение от George_R (Сообщение 339852)
Т.е. сама по себе приборка отправляет какую-то информацию в блок интеграции и оттуда еще куда-то дальше?

по странной прихоти, на приборке сидит кнопка, которая устанавливает одно из трёх возможных расстояний для радарного круиз-контроля.. Как я понимаю, оно через блок интеграции уходит в моторник и связанный с ним (опять какой-то своей шиной) процессор радарного круиза. Больше в эту сторону ходить, кажется, нечему.

George_R 07.10.2015 11:23

Скорее лазерный круиз, но идею понял. Ну и заморочились они.

se55y 07.10.2015 11:42

Цитата:

Сообщение от George_R (Сообщение 339855)
Скорее лазерный круиз, но идею понял. Ну и заморочились они.

ИК-лидар там, если уж совсем точным быть

George_R 07.10.2015 11:44

Так ты его собрался отдельно запустить?

se55y 07.10.2015 12:25

Цитата:

Сообщение от George_R (Сообщение 339857)
Так ты его собрался отдельно запустить?

нет, это в Волгу с UZ он давно просится :-) В сельсиоровских мозгах, кажется, всё для его внедрения уже есть.

George_R 07.10.2015 12:28

То есть сам блок круиза и лазер ты уже нашел?

(vS) 07.10.2015 12:34

а с контролькой разобрались?

se55y 07.10.2015 12:41

Цитата:

Сообщение от George_R (Сообщение 339866)
То есть сам блок круиза и лазер ты уже нашел?

У меня они с завода стоят, но я еще нашёл, чтобы (если что) на столе подключиться

George_R 07.10.2015 12:41

конечно, я еще на toymods все обрисовал, берется 8-битная crc на все данные после стартового бита. Какбе вариантов всего 255, я взял и подобрал матлабом

se55y в волге с цельсовским мотором надо "в сезон" фары протирать 1 раз дома, и 1 раз через 15км на работе, за это расстояние они покрываются плотной коркой. Думаю японский ИК лазер не полюбит нашу природу. Круиз обычный у меня и так есть, а для лазерного не хватает абс

se55y 07.10.2015 12:45

Цитата:

Сообщение от (vS) (Сообщение 339868)
а с контролькой разобрались?

ты не заметил за шуткой ответа на этот вопрос

se55y 17.10.2015 20:42

BCF STATUS,C
BTFSC INP
BSF STATUS,C
RLF msg+.15,1
RLF TMP,1 ;save STATUS,C
RRF TMP,0
RLF CRC8,1
MOVLW POLY
BTFSC STATUS,C
XORWF CRC8,1

RRF TMP,1 ;restore STATUS,C
RLF msg+.14,1
RLF msg+.13,1
...


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

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