![]() |
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. Тональность "пика" от этого не меняется. |
Подробно разбираться лень, но исходя из фигуры 3 на 172 странице чем вас не устраивает выходной каскад обычного K-Line адаптера, например того же K + CAN v1.4
|
fyodor_e
Приветствую. Тоже пытаюсь разобраться с этой шиной. Не поделишься снифером? |
Вложений: 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) |
fyodor_e
Цифровым осцилом поймал посылку, проверил по описанию, вроде так как надо (start бит, длинна, кому, что, data, crc и EOM 7E, Staffing биты само собой.). В конце посылки получатель должен поставить подтверждение (положительный бит) иначе отправитель повторяет посылки. Для отправки, как я понимаю, нужно считать CRC. Не в курсе как она считается? |
Я пытался понять какой алгоритм расчета CRC, но не сильно долго :-)
Вот здесь http://www.toymods.org.au/forums/tec...lex-etc-2.html я спрашивал как считать CRC (George пишет, что разобрался). Пока у меня идея такая. Я насобирал посылок с BEAN, теперь буду пытаться их отправить на шину сам и смотреть на реакцию :-) Например, у меня на приборной панели все, кроме тахометра и спидометра получает инфу по BEAN. А значит если послать команду включения какой-то лампы, она включиться. Так можно попробовать понять, состав некоторых команд. |
по бину идет инфа по
темперу двигателя зарядка давление масла круиз контроль индикация режимы коробки PRND2L в обратном направлении включение муфты кондея реле обогрева заднего стекла подсветка поворота ........ может еще что то, но не все кроме тахо и спида. Я буду собирать визуальную индикацию битов в посылке (регистры и светодиоды). Брать одну посылку и смотреть какой бит меняется при смене какого-то параметра. У меня CROWN 171. Соединяю блоки на столе (моторник, блок управления панелью приборов и саму панель), в тепличных условиях удобней ). |
Дополню следующим.
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 - Только цепи приема |
Вчера дошли руки дописать прошивку для отправки команд по шине BEAN, а сегодня вечером провел эксперимент.
Вот это сообщение 25 fe 7f 00 10 80 0b 7e зажигает лампу открытой двери на панели приборов (естественно при закрытых дверях) 23 fe d4 30 a6 7e - зажигает сразу лампы аккумулятора и низкого давления масла. Сообщения надо посылать постоянно, т.к. как только они перестают передаваться, лампочки на панели приборов потухают. |
Товарищи здравствуйте! Очень обрадовался, когда нашел данную тему! Есть задумка подружить ЭБУ двигателя с приборной панелью от другого авто, скорее всего это будет мозг от 171 Маджесты и приборка от Альтеззы, которая скорее всего очень близка по сигналам к приборке от 110 Марка. Так что тема очень актуальна ))
Поделитесь пожалуйста, как продвигаются дела? Получилось более подробно разобраться в структуре передаваемых данных, составить подробную карту сигналов? |
Я подозреваю, что команды BEAN на разных машинах будут одинаковы. Я очень сомневаюсь, что япы заморачивались бы изменением команд. Это потребовало бы замены прошивки во всех блоках, подключенных к BEAN (а это ECU двигателя, приборка, блок упр-я кондиционером, SRS, multiplex, маршрутизатор (если в машине есть телевизор), возможно блок ABS).
Возможно, что разные ECU поддерживают не все команды... "Разгаданные" коды в первом сообщении. Дело идет не быстро, т.к. надо сидеть с ноутом в машине, и перебирать экспериментальным путем... |
На практике получается, что команды разные, если подключать ЭБУ от 1UZ (Цельсиор, Маджеста) к BEAN шине Альтезы (двигатель 1G-FE), то большинство сигнальных ламп и приборов не работает. Сто процентов не работает температура двигателя, лампа давления масла, лампа низкого уровня топлива. Также не работает климат, так как блок управления кондиционером не видит температуру, и скорее всего отправляет неправильную команду на включение компрессора. В зависимости от подключаемого ECU двигателя иногда работает индикация выбранной передачи, лампа зарядки АКБ, ну и еще кое что... То есть часть команд совпадает, часть нет, получается что нужно разгадать команды обоих ЭБУ двигателей, а потом перехватывать одни и заменять другими.
|
Так точно, некоторые команды разные. Имеем блоки EFI от Алтеза и Аристо, комплектация рестаил 2JZ-GE 5AT. Подключаем в CROWN JZS171. Получаем что с блока Алтеза и Аристо на приборку проходят все сигналы кроме режимов snow/sport и круиз контроля. Муфта кондюка не сработает, потому что не проходит сигнал с датчика давления фриона (от EFI к боди салона). Но, с EFI Алтеза проходит сигнал температуры за бортом, чего нет с EFI Аристо.
В некоторых EFI применяется BEAN интерфейсная микруха 0990 (не помню буквы). Насколько я понял у нее есть отдельно вход, отдельно выход и собственно вывод на шину. На входе и выходе появляются пакеты одинаковой длинны и с одинаковым периодом. Так же есть вывод строба, появлении которого совпадает с выводом данных на выход. Короче как я понял просто кидаешь на микруху посылку, а она сама размещает ее в шине. Если я не прав поправьте и собственно вопрос, может у кого есть даташит на нее? |
Цитата:
Те, что из приведённого Вами лога - правильнее: 7 0x4 0xfe 0xab 0x62 0x80 0xa1 0x7e 7 0x4 0xfe 0xab 0x40 0x80 0x6b 0x7e |
Очень даже вероятно, что сообщения не правильные в принципе. Судя по тому, что они были приняты всего 1 раз (первый байт), они скорее всего ошибочные и их надо игнорировать
Видимо повредилось вот это сообщение 10 aa 04 fe ab 62 00 aa 7e 40. Оно очень похоже и было передано 10 раз. |
Цитата:
reveng.exe -w 8 -p 13 -c 04feab6200 -> aa |
very funny joke ))
|
Главное - чтобы fyodor_e шутку на свой счёт не принимал.. Уж он-то в этом силён.
|
не густо наковыряли, а так много времени прошло!
|
вы можете радикально исправить положение
|
Цитата:
|
Делиться, наверное, нарытым никто не торопится...
|
Да и что толку если на каждой машине все по сути с нуля надо начинать
Поделюсь вот каким открытием Пробовал запустить Power/Snow на крауне с 1uz-fe vvti Добыл блок интеграции родной с этого кузова Активировал power/snow, вижу, данные изменяются Нашёл на моторнике MPX, убедился что рабочий Цепляю блок интеграции - в диагнозе тишина. При этом в цельсиоре и 20 и 30 кузов все прошло без осложнений И приборки вполне живо отзываются только начни что-либо им передавать Пока предположений два -или моторник ждёт АСК на какие-то пакеты предназначенные другим блокам (и без подтверждения выставляет ошибку по связи МПХ) -или моторник ждёт специфических пакетов от разных блоков чтобы выставить у себя флаг об их наличии С тем же цельсиором было по второму варианту - при старте салонного блока МПХ , этот блок выдает некие пакеты которые больше никогда не повторяются. Если моторник их не увидит, то будет игнорировать все последующие данные, поступающие от бодика |
Цитата:
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) Цитата:
|
Нет
Диагноза по моторнику не видит манипуляции с бодиком Т.е. признаки pwr/snow/els не меняются |
У меня, возможно, в этом-же причина некоторого "затыка" (не хочет показывать 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 |
Если тебе надо только добиться показаний от приборки то она работает гораздо проще, дал команду (периодически) - показала
|
Цитата:
http://i61.tinypic.com/x6bmw.jpg |
Т.е. сама по себе приборка отправляет какую-то информацию в блок интеграции и оттуда еще куда-то дальше?
|
Цитата:
|
Скорее лазерный круиз, но идею понял. Ну и заморочились они.
|
Цитата:
|
Так ты его собрался отдельно запустить?
|
Цитата:
|
То есть сам блок круиза и лазер ты уже нашел?
|
а с контролькой разобрались?
|
Цитата:
|
конечно, я еще на toymods все обрисовал, берется 8-битная crc на все данные после стартового бита. Какбе вариантов всего 255, я взял и подобрал матлабом
se55y в волге с цельсовским мотором надо "в сезон" фары протирать 1 раз дома, и 1 раз через 15км на работе, за это расстояние они покрываются плотной коркой. Думаю японский ИК лазер не полюбит нашу природу. Круиз обычный у меня и так есть, а для лазерного не хватает абс |
Цитата:
|
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, время: 19:00. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot