Просмотр полной версии : Blaupunkt RD4 + CANhacker
День добрый.
Пытаюсь "на столе" завести магнитолу Blaupunkt RD4 (Peugeot/Citroen).
Не заводится: только CD-дека активна (забирает/отдает диск).
Т.к. магнитола в машине берет на себя в т.ч. ф-ии управления БК, то это наверное не удивительно.
Пытаюсь связаться с ней через CAN (иных связей с машиной у неё нет, а значит тут должно быть что-то, что влияет на её запуск/незапуск).
В качестве CAN адаптера использую http://amprog.ru/magazin2/canhacker-canusb с оригинальной программой-клиентом http://www.canhack.de/viewtopic.php?t=132
На шине тишина, а при попытке что-либо отправить загорается диод "error". Не пойму, что я делаю не так.
К сожалению я не знаю скорости CAN шины, которую следует выставить в настройках, но даже перепробовав все стандартные значения не получил ничего.
Может кто-нить что-нибудь подсказать, подтолкнуть в какую сторону копать?
Для начала надо было выяснить про наличии самого CAN у бошки. Возможно там что-то свое.
Для начала надо было выяснить про наличии самого CAN у бошки. Возможно там что-то свое.
Судя по распиновке
Part A
...
Pin 10: data CAN high
Pin 13: data CAN low
Pin 16: ground - "масса" магнитолы
...
и по многочисленным (http://www.check-engine.ru/cars.php?list=models&brand=Peugeot) упоминаниям (http://www.youtube.com/watch?v=4gVKXUtPnBA) в сети (http://2din.su/e-store/list.php?SECTION_ID=8491), там именно CAN
для начала надо определить скорость CAN шины, без этого дальше не сдвинешься
Скорость, судя по всему, 125kbps.
Магнитола рабочая - попробовал в машине - играет (только громко пищит каждые 2 сек, наверное какая-то защита).
Удалось получить первые признаки жизни: на скорости 125kbps, короткими проводами со снятым сопротивлением на canhacker (124 Ом между CAN-L и CAN-H) - получил "сигнал" [00 00] от ID=420 при включении питания магнитолы. Не при каждом включении - иногда загорается can error
Дальше ни с места: вернуть сопротивление - сигнал теряется, взять провод подлиннее (витую пару 2м) - сигнал теряется. Сопротивление со стороны магнитолы - сигнал теряется
попробуй в машине почитать, если скорость правильная то будет много данных.
попробуй в машине почитать, если скорость правильная то будет много данных.
Пожалуй стоит попробовать. Чтобы не трогать провода - повеситься на CAN вместо магнитолы. Хотя я почти уверен в 125kbps
А пока ...
Предположил, что USB питание чем-то не устраивает и попробовал запитать CAN-адаптер от +12V через предусмотренные для этого контакты. Ничего не изменилось.
Полез напрямую в COM-порт через putty (терминал), из которого выудил, что код ошибки - 77.
Если я правильно понимаю, и это код от микросхемы SJA1000, то, согласно документации (http://www.nxp.com/documents/data_sheet/SJA1000.pdf), ошибка расшифровывается как "form error/error delimiter". Чем мне это знание помогло? Увы, ничем )
Полярность кана не перепутал
Полярность кана не перепутал
Вот прям после вашего сообщения позвонил
между 13ым пином Part A (https://docs.google.com/document/d/1IAcHeXjPeKjOenuIdTnW4M7g0ISFCYODGsfomtJbuTY/edit) и 2ым пином (https://docs.google.com/file/d/0B9Rg9f6Q6NEFb094a1NBMnVmYk0/edit),
между 10ым пином Part A (https://docs.google.com/document/d/1IAcHeXjPeKjOenuIdTnW4M7g0ISFCYODGsfomtJbuTY/edit) и 7ым пином (https://docs.google.com/file/d/0B9Rg9f6Q6NEFb094a1NBMnVmYk0/edit)
Всё правильно. И земля на месте (на обоих пинах)
Попробуй подключись к автомобильной шине...добейся стабильной работы железки.
Попробуй подключись к автомобильной шине...добейся стабильной работы железки.
Попробовал.
Скорость 125kbps. Снял дампы шины после включения зажигания и в простое. Все почти нормально ... в простое загорелся error, но продолжал писать лог - спишу это на колхозное соединение.
Сначала забыл снять терминатор (125Ом) - с ним ничего не принимало.
awtoap
А не стоит ли у тебя в магнитоле в качестве CAN трансивера tja1054t?
Судя по схеме на магнитолу так оно и есть. Но схема похоже не совсем от твоей, хотя и Blaupunkt RD4, нужно проверить. А в канхакере стоит PCA82C250. И они не совсем совместимы на физическом уровне, хотя и работают совместно, но коряво.
Скорей всего CAN шина в машине (комфорт) Fault-tolerant (Low Speed tja1054t ) А каннахер работает на High-Speed (PCA82C250).
Для корректной работы надо или заменить PCA82C250 в канхакере на что –то подходящее, или сделать адаптер High-Speed to Fault-tolerant . А можно ничего не делать)) У меня точно так же работает канхакер (коряво). Хотя магнитола не Blaupunkt и машина совсем не Citroen.) Хотел сначала всё переделать, но потом плюнул. Работает и слава богу.)
Я все таки думаю что скорость немного не совпадает, возможно там 125 с какими нибудь десятыми. Например у опеля одна шина 33.333 kbps а вторая 95.238 kbps
А CAN-транcиверы все совместимы между собой, если соответствуют стандарту.
Есть конечно вариант однопроводной CAN-шины, там другие трансиверы, но это не тот вариант.
Да, TJA1054T и стоит.
На всякий случай прозвонил, что это именно он (ибо есть ещё CAN ченджера).
Fault-tolerant адаптеры (ISO 11898-3) - какие-то уж слишком дорогие, редкие, с гальванической развязкой и корпусом от на ДИН-рейку. Страшна
Есть какой-то прибор, который можете порекомендовать попробовать?
...
А CAN-транcиверы все совместимы между собой, если соответствуют стандарту...
Я не был бы столь категоричен.)
http://savepic.su/3752044.jpg
Да, TJA1054T и стоит.
На всякий случай прозвонил, что это именно он (ибо есть ещё CAN ченджера).
Fault-tolerant адаптеры (ISO 11898-3) - какие-то уж слишком дорогие, редкие, с гальванической развязкой и корпусом от на ДИН-рейку. Страшна
Есть какой-то прибор, который можете порекомендовать попробовать?
Таких готовых конверторов по вменяемой цене я тоже не встречал.
Только если самому спаять. Рублей в 300 наверно выйдет.)
https://www.peak-system.com/produktcd/Pdf/English/PCAN-TJA1054_UserMan_eng.pdf
Вот что мне нужно )
85 евров. Ух, жлобы
Во бляха...я тоже считал, что физический уровень кан везде одинаковый.
Возможно этот переходник тебе поможет ). На края купить эту TJA и ноги RX TX присобачить к канхакеру, предварительно отсоединив эти линии от PCA.
https://www.peak-system.com/produktcd/Pdf/English/PCAN-TJA1054_UserMan_eng.pdf
Вот что мне нужно )
85 евров. Ух, жлобы
Вообще то 85 евров за пару микросхем стоимостью 100р. действительно жлобство.
Наверняка просто скрестили PCA82C251 и TJA1055, что по типу этого
http://savepic.su/3798117.jpg
(Но что то мне в ней не нравится))
А чего ты так переживаешь? Работает и работает, всё равно совершенства не достичь.
Так не работает жешь толком. Дома вообще никак, а в машине с error'ами
Пригляделся, на canhacker'е стоит не PCA82C250 (http://www.nxp.com/documents/data_sheet/PCA82C250.pdf), а MCP2551 (http://users.ece.utexas.edu/~valvano/Datasheets/MCP2551.pdf), что впрочем ничего не меняет, не смотря на наличие фразы "The MCP2551 is a high-speed CAN, fault-tolerant device" в даташите
А ты в машине на какую шину подключал? На диагностическую или которая на приёмник?
А ты в машине на какую шину подключал? На диагностическую или которая на приёмник?
Вместо приемника повесился
Это только предположение, на диагностической должна быть High-Speed.
У меня по крайней мере так. Частота на ней 500 kBd, а на комфорте 83.3 kBd
Можно попробовать. И сравнить.
И ещё. Всё таки уточни точную частоту шин. В сервис мануале должна быть.
fmy1 Как раз привел схему того переходника (без индикации разве что)
Вот для пыжиков случайно наткнулся.
http://savepic.su/3772248.jpg
http://savepic.su/3767128.jpg
Т.е выходит что 500kb/s (для диагностической)
И 125 (для комфорта)
fmy1 Как раз привел схему того переходника (без индикации разве что)
Там не совсем всё ласково. )
Вот для пыжиков случайно наткнулся.
Т.е выходит что 500kb/s
Там не совсем всё ласково. )
500 на Engine CAN, а на Comfort 125 - экспериментально уже подтвердилось.
>> Там не совсем всё ласково. )
А что там не ласково? Сейчас за неимением иного смотрю в сторону сборки переходника
Дык ты попробовал на 500? И как?
Дык ты попробовал на 500? И как?
Дома: ни на какой другой сторости, кроме 125 вообще ничего не получил. НА 125 не стабильно получаю пару сообщений.
В машине: на 125 получил массу сообщений, но все равно не стабильно - контроллер сваливается в ошибку. На других скоростях тишина.
Пробовал ли я на 500 - вот прям точно сказать не могу - точно помню, что пробовал все меньшие (чем 125) скорости и точно пробовал 250.
На CAN Engine вообще ничего не пробовал
На CAN Engine вообще ничего не пробовал
Вот, а с этого и надо было начать.) В машине.
Прежде чем огород городить, убедится полностью в работоспособности.)
Вот, а с этого и надо было начать.) В машине.
Прежде чем огород городить, убедится полностью в работоспособности.)
Убедился. В машине на 500kbps через OBD.
Право, лучше бы не работал - я бы хоть вывод, что дело в девайсе сделал. А так - остаюсь при своём непонимании.
Она ожила!
По порядку
1. Взял записанный в машине лог команд на комфорт шине при включении зажигания и запустил его циклически: магнитола зашелестела приводом и заиграла музыкой. Правда как-то очень тихо.
При этом canhacker постоянно с самой первой команды горит ошибкой.
Если взять запись шины, которую я сделал в момент простоя автомобиля с включенным зажиганием - магнитола не включится. Только с записи включения зажигания. Если остановить воспроизведение записи CAN, то магнитола выключается за 0.5-1сек после остановки.
2. Магнитола пищит раз в 1-2 секунды, заглушая музыку, о чём я снял видео (простите за вертикальный кадр - от счастья забыл все нормы приличия). Это защита. Надо прошить VIN.
Скорее всего среди команд, отправляемых при включении зажигания он присутствует и сверяется магнитофоном с сохраненным значением и можно было бы исправить прям в записи с шины, но гораздо проще подключить к машине и поменять, чем искать иголку в стоге сена.
[интересно, а подключить дома lexia к магнитоле в отсутствии BSI реально? =) ]
kDh184-9N-k
На видео видно как магнитола вырубается при попытке увеличить громкость - думаю, что всему виной маломощный БП. В машине такого не было.
Теперь надо найти ту самую команду, что вселяет в магнитофон жизненную силу
..............
Право, лучше бы не работал - я бы хоть вывод, что дело в девайсе сделал. .......
Так наоборот хорошо.) Девайс значит рабочий.
....
Это защита. Надо прошить VIN. .........
Теперь надо найти ту самую команду, что вселяет в магнитофон жизненную силу
Аналогично.
Надо циклически подавать команду (500мс), а иначе выключится. “Ключевые” команды (замок зажигания) с ID- 000
А вот с кодом на магнитолу не так. Он просто PIN код, не привязанный к VIN,у, но зашит в мозгах авто, и конечно по шине проползает, но в неявном виде, в общем не удалось его локализовать. И его не перешить.
Попробовал завести дисплей (бк) по той же схеме
Вроде завелся, но мигает. Сначала мне показалось, что мигание строго периодическое и имеет общую природу с пищанием магнитолы, но потом всякая логика рассеялась и мигать стало невпопад
bsfPsDgVMQI
Что это может быть? Таки VIN-защита или дефект дисплея/подключения?
P.S. Шлю лучи негатива в карму продавану этого дисплея, не сообщившего о битых полосках пикселей
Так наоборот хорошо.) Девайс значит рабочий.
Аналогично.
Надо циклически подавать команду (500мс), а иначе выключится. “Ключевые” команды (замок зажигания) с ID- 000
Изучил запись. Устройства/сообщения с ID=000 нет.
Чтобы "всё работало" надо раз в 100мс посылать команду
036 8 0E 00 00 0F 01 00 00 A0
(можно увеличить интервал до 200мс, но не более. На записи ровно 100мс)
Больше ничего не требуется.
На всей записи от ID=036 приходят только такие команды, кроме одного случая - в самом начале записи
036 8 0E 00 00 0F 03 00 00 A0
что вероятно соответствует промежуточному положению ключа, через которое он проходит до включения зажигания.
Магнитола и дисплей активно спамят на шину. Тут меня встретило неожиданное: по каким-то причинам я рассчитывал увидеть несколько (два) ID, соответствующих отправителю сообщения: дисплею и магнитоле, но это оказалось не так.
ID (binary) ID DLC Data Period Count
000 1101 1111 0DF 3 10 00 50 0 1306
001 0011 0001 131 5 81 00 00 00 00 0 6434
001 0101 1011 15B 8 04 00 00 00 00 00 00 00 0 1357
001 0110 0101 165 4 CC C0 20 00 0 6522
001 0110 0111 167 8 09 06 FF FF 7F FF 00 00 0 6417
001 1010 0101 1A5 1 ED 0 1264
001 1110 0000 1E0 5 91 00 A2 00 80 0 1321
001 1110 0101 1E5 7 3F 3F 42 3F 3F 47 0F 0 1353
001 1110 1101 1ED 1 10 0 1324
010 0010 0101 225 5 20 00 40 04 82 0 1303
010 0110 0101 265 4 80 00 00 00 0 1304
010 1010 0101 2A5 8 00 00 00 00 00 00 00 00 0 1258
011 0010 0101 325 3 00 03 00 0 1319
011 0110 0101 365 5 0A 36 13 00 00 0 1266
011 1010 0101 3A5 6 01 01 2F 01 2B 00 0 1329
011 1110 0101 3E5 6 00 00 00 00 00 00 0 1229
011 1111 0110 3F6 7 00 7D D0 00 00 C0 01 0 702
100 0010 0000 420 2 00 00 0 141
100 1010 0101 4A5 8 50 F8 EB 80 03 04 05 06 0 4
101 0010 0000 520 8 00 00 00 00 26 00 00 00 0 599
101 0010 0101 525 8 05 00 00 00 00 00 00 00 0 660
101 1110 0000 5E0 8 20 1E 03 04 05 0E 20 0D 0 63
101 1110 0101 5E5 8 25 1A 07 04 0C 00 20 11 0 67
По всей видимости ID используется не для идентификации отправителя, а для идентификации типа сообщения (например: сообщение об изменении громкости).
З.Ы. Дисплей перестал моргать. Почему - не понял
Изучил запись. Устройства/сообщения с ID=000 нет.
Я и не утверждал. Это у меня так.) Это одно из условий, хотя и не единственное, но позволяющее включить магнитолу.
Изучил запись. Устройства/сообщения с ID=000 нет.
Чтобы "всё работало" надо раз в 100мс посылать команду
(можно увеличить интервал до 200мс, но не более. На записи ровно 100мс)
Ну выходит что мне повезло в пять раз больше.)))
а для идентификации типа сообщения
Ага, можно сказать и так.
З.Ы. Дисплей перестал моргать. Почему - не понял
Это он понял тщетность своих попыток и смерился со своей судьбой.)
А ты на “столе” запускаешь всю эту хрень без резистора?
И какая цель изысканий?
А ты на “столе” запускаешь всю эту хрень без резистора?
Да, потому как с ним читать с шины не получается (писать - вроде нормально)
>> И какая цель изысканий?
Андроид в машину.
Главное - процесс. Впрочем, чтобы процесс имел цель, я её придумал
- микровзаимодействие через кан с магнитолой
- графический интерфейс срабатывания парктроника на экране андроида
>> Это одно из условий, хотя и не единственное, но позволяющее включить магнитолу.
Как минимум магнитолу ещё можно включать непосредственным нажатием на power, но дома она так не включается. Почему - пока не понимаю. Без зажигания на кан-комфорте никаких сигналов нет, значит контект одинаковый дома и в авто
Отучил магнитолу от старого VIN и приучил к новому.
Впрочем всего этого можно было не делать, знай я старый VIN.
По порядку.
Магнитола по-видимому не совсем такая как у меня, потому что DiagBox её не признал, однако это не помешало посмотреть в ней старый VIN и поменять на новый. VIN хранится полностью.
К сожалению включить AUX и отключить "наличие усилителя" не удалось из-за лаконичного "failed to programming", что наверное связано с unknown ECU. Можно было бы попробовать прикинуться Citroen C5 II и попробовать снова, но терпеть тормозной DiagBox не было больше сил.
На полном дампе включения зажигания завелась без проблем, защитный писк пропал.
Стал было методом "половинного деления" искать команду отправки PIN/VIN/checksum ... но остановился и решил проверить самое простое - наличие своего вина в ASCII .
В общем вот он, через 300мс после включения зажигания
2B6 8 32 31 34 39 36 34 36 34
21496464
Не смотря на то, что хранится полный VIN, на шину выдается только serial number и соответственно только он и сравнивается.
Достаточно один раз отправить после подачи питания на магнитолу. Повторять команду нет смысла.
Да, потому как с ним читать с шины не получается (писать - вроде нормально)
А ты попробуй. Данные не читаются, да и хрен с ними. И понаблюдай. )
Как минимум магнитолу ещё можно включать непосредственным нажатием на power....
А у меня по определению включить лишь кнопкой невозможно! Так оно задумано, что в принципе удобно, если привыкнуть.
Отучил магнитолу от старого VIN и приучил к новому.
Поздравлям!
Бес вселился.
Решил-таки попробовать собрать "конвертер" CAN сигнала по приведенной схеме.
Заказал в поднебесной микросхемы и начал прикидывать что да как.
Плат я никогда не делал, поэтому конечно совершу какие-то ляпы и грубые ошибки, однако интерес в этом есть.
Сформулировал некоторые требования:
- не трогать canhacker
- коннектор переходника должен быть 1в1 как у canhacker
- переходник должен оставить возможность питаться от +12V
- переходник должен уметь питаться от canhacker (через USB)
Два последних пункта возможны только через небольшой колхоз: на выходном разъеме canhacker питания нет, однако есть дополнительный разъем для программирования платы,
на котором есть +5V. Им-то и решено было воспользоваться для подачи питания.
Вариант с размещением собственного стабилизатора на +5V не устраивает тем, что требует обязательного питания "от машины"
В качестве инструмента для создания схемы выбрал Eagle CAD. Управление в программе ужасное, нетипичное для программ в принципе. Да что там говорить: это первая в моей жизни программа, для которой я нашел ролик "How to copy and paste (http://www.youtube.com/watch?v=_Cp2g2sduPI)"
Нужных мне элементов в стандартной библиотеке не нашлось, поэтому обе микросхемы пришлось рисовать с нуля. Благо корпус у них достаточно простой (SOIC) и не вызывает вопросов.
Пассивные компоненты брал совершенно без какого-либо понимания, ориентируясь только лишь на маленький корпус. Думаю, что это не принципиально и что-нибудь так или иначе найду.
Итак, принципиальная схема:
http://pccar.ru/attachment.php?attachmentid=33659&stc=1&d=1385154692
Почти полностью повторяет то, что было приведено в этом посте выше, с небольшими доработками (разъемы, WAKEUP для TJA).
Но до конца дело довести не удалось:
- Осталось совершенно непонятным назначение VREF на MCP.
- Полное непонимание зачем и как использовать VCC и BAT на TJA. Правильно ли я понимаю, что без +12 на BAT драйвер будет выключен?
Если вразумите - буду благодарен.
Однако это не помешало мне ради экспириенса натыкать элементы на виртуальную плату и зароутить по имеющейся схеме:
http://pccar.ru/attachment.php?attachmentid=33658&stc=1&d=1385154692
Роутилось автоматически. Получилось весьма компактненько.
Однако мне совершенно не понятно, на сколько такая плата готова, например, к отправке в фирму, печатающую платы?
Не понятно, как наносить контуры элементов, надписи, чтобы они были напечатаны.
В аттаче даташиты и исходники
З.Ы. как сделать, чтобы картинки в миниатюрах не дублировались?
Если ты решил изготавливать плату, то почему бы не повторить тот же самый Can-Hacker, только заменить в нем CAN-драйвер на нужный. Это будет более предсказуемый результат чем с переходником.
Бес вселился.
уважаю! )
....WAKEUP для TJA).
Зря брат, верни на место, или ещё лучше через 100к. на +
- Осталось совершенно непонятным назначение VREF на MCP.
Не бери в голову. Оставь в покое и не парься.) Это просто референсное напряжение, никакого значения в данном случае не имеющее.Если ты решил изготавливать плату, то почему бы не повторить тот же самый Can-Hacker, только заменить в нем CAN-драйвер на нужный. Это будет более предсказуемый результат чем с переходником.
Вот это точно
Если ты решил изготавливать плату, то почему бы не повторить тот же самый Can-Hacker, только заменить в нем CAN-драйвер на нужный. Это будет более предсказуемый результат чем с переходником.
Мысль здравая, но я побаиваюсь большей сложности схемы: большее поле для ошибок.
Зря брат, верни на место, или ещё лучше через 100к. на +
Почему? Он же инверсный (low - проснись)
Вернуть на место (оставить в воздухе) мне не позволила программа - говорит, что это bad idea оставлять висящие input'ы
_________________________
Тем временем продолжил discovering RD4.
Решил, что надо начать с того, чтобы сделать мало-мальски удобный инструмент для анализа данных, а раз уж сам анализ для меня в новинку, то требуется какая-то микрозадача для решения.
Показалось, что не слишком сложным и одновременно ёмким будет эмуляция меню выбора CD-треков. Думаю, что не ошибся с выбором.
Для тех, кто не знаком с магнитолой: splash screen с линейным списком названий треков (cd-text), навигация вверх/вниз и, собственно всё.
Fast-forward: Java-приложение (во имя crossplatform), rxtx library, написание canhacker commands layer, поверх него canframe layer
Первым делом нужно было определить круг сообщений, отвечающих за это меню. Под это дело была сделана табличка с фильтром по id сообщений.
С её помощью не сложно было установить, что за это меню отвечают сообщения с arbitrationID = 0x125
7-и и 2-х байтовые фреймы, не сложный формат данных, show/hide и up/down заработали быстро.
И тут я вставил диск с CD-text'ом...
Оказалось, что по 0x125 идёт мультифрейм (ISO 15765-2 (http://en.wikipedia.org/wiki/ISO_15765-2)).
Пришлось проложить ещё один layer CanMessage, собирающий мультифреймы в одно сообщение.
Названия треков в latin-1 (привет, кириллица). 20 байт на исполнителя и 20 на название трека и формат 0x125ых команд полностью собран.
125 6 01110000 TTTTTTTT AAAAAAAA 0SXEBBBB MMMMMMMM 00000000 [[JJJJJJJJ x20] [HHHHHHHH x20] x0-4]
Показать меню списка треков.
TTTTTTTT - количество треков,
AAAAAAAA - offset экрана списка треков,
S - флаг "покажи список треков"
E - флаг "список треков сдвинулся" на 1 позицию выше или ниже за пределы 4х видимых в данный момент. Направление сдвига определяется по BBBB
BBBB - offset выбранного трека внутри экрана списка треков
MMMMMMMM - дескриптор текстовых данных, идущих далее.
каждая пара бит соответствует наличию исполнителя и названия трека, идущих далее пакетами по 20 байт в соответствующем порядке.
Позиции соответствуют позициям на экране, кроме ситуации наличия флага E
[JJJJJJJJ x20] - 20 байт имени исполнителя
[HHHHHHHH x20] - 20 байт названия трека
125 1 00000000 Спрятать меню списка треков. (Нажатие на OK после выбора трека в LIST, нажатие на ESC, по таймаут)
Пруфпикча
S4wn_jOJ2KY
(не знаю как лучше снять видео, в котором участвует яркий монитор. Но смею заверить, что слева - магнитола :smile2: )
А также собран небольшой набор инструментов, потребность в которых возникла в процессе:
- canhacker commands monitor
- can frame filter & monitor
- can message filter & monitor
Вопросы:
1. Как принято определять, какие пакеты являются мультифреймовыми?
В данный момент я хардово вписал, что сообщения 0x125 - мультифрейм, но, наверное, есть правильный способ?
Было предположил, что вообще все сообщения ходят по ISO 15765-2, но, например, сообщение с VIN кодом противоречит этому.
2. Изучать формат сообщений было конечно интересно, но все-таки очень хотелось бы разыскать какой-нибудь reference manual, где бы они были хотя бы перечислены. Но гугл почему-то не помог мне в этом. Не подскажете?
Вот тут (https://docs.google.com/spreadsheet/ccc?key=0AtRg9f6Q6NEFdGtPdTJNUUNpTkQ3OC1TTjdfRUtBV nc) начал складировать инфу по CAN сообщениям
А вот тут (https://github.com/autowp/CanClient) сорцы java (не пинайте - первый java экспириенс)
Почему? Он же инверсный (low - проснись)
Вернуть на место (оставить в воздухе) мне не позволила программа - говорит, что это bad idea оставлять висящие input'ы
Когда STB и EN на +,он не играет значения. Судя по даташиту : To prevent a false local wake-up during an open wire at pin WAKE, this pin has a weak pull-up current source towards VBAT. However, in order to prevent EMC issues, it is recommended to connect a not used pin WAKE to pin BAT. Но это правда для Low power modes. Ну и по схемам магнитол, там на +, одна схема кстати от твоей.) НО!!! На моей магнитоле оказалось на 0.))) Специально влез и глянул(схемы то нет). Во как!. Так что поменял мнение, видимо можно и так и так.)
Слушай, а платки ты будешь делать? Если не затруднит одну для меня? Соответственно с меня..) Буду признателен
Сначала на соплях соберу, посмотрим, заработает ли в принципе. Ну а коли да, так и платку непременно надо будет сделать. Минимальный тираж так или иначе сделает "пару" лишних копий.
Но это все не скоро - когда из поднебесной все придет - одному богу известно
Ну мне не к спеху, год лежит, ещё подождёт.)
Может видел? К сожалению только схема расположения, но грамотно, что терминальные можно менять.
http://savepic.ru/4854478.jpg
Подумалось попробовать самый обычный ELM327 с bluetooth (какой был под рукой) запустить в роли can-adapter'a.
Вроде соединил всё: low, high, +12 и 2xGND, а он даже лампочкой не моргнул.
Может ему ещё что-то особенное надо? На распиновке OBDII ничего не вижу. Не подскажете?
Никак не пойму, а в чём проблема? Не присоединить, или присоединить но не работает?
Присоединил, но оно не включается. В автомобиле оно сразу лампочками мигать начинает и bluetooth-девайс светится
Тогда не понял следующее, а к чему его сейчас подключаешь?
К описанному выше комплекту магнитола + дисплей
Аааа.., ясно. Тогда не знаю. Вернее так, не подключал к магнитоле, но скрещивал для проверки каннахер и ELM. В общем после некоторых танцев с бубнами получил что-то и всё, большего и не надо было. Но у меня USB, и светик питание по крайней мере загорался сразу.
autowp, в твоей машине есть штатные парктроники?
Хочу подключить нештатный парктроник, чтобы работал как штатный (звук с динамиков, изображение на дисплее), в дальнейшем рассматриваю вариант замены дисплея на планшет с андройдом. Для этого спаял для arduino can-bus шилд на mcp2515+mcp2551. Проверил на столе: две ардуины по can благополучно обмениваются сообщениями. Когда же подключил к can в машине - приборная панель стала показывать --- , на центральном дисплее пропали все значения, короче can-info вырубилась полностью. После отключения моего девайса, слава богу, все заработало. Что я делаю не так? Машина citroen c4 2012 года.
Почитайте тему с самого начала...возможно это тот же случай
Не-не, он завалил сетку. Выглядит абсолютно также, как я однажды нечаянно кинул землю за CAN-L или CAN-H в peugeot - сеть умерла, стрелки приборной панели "легли на ноль" и т.п.
Такая же хрень - если во время передачи по сети подключить к ней доп. устройство. Если подключать при вытащенном из замка зажигания ключе, то пакеты проходят нормально. Правда я подключаюсь уже после приемо-передатчика.
Подключал по 3-м проводам: CAN-H, CAN-L, GND. Сейчас замерил сопротивление на шилде: Между CAN-H и CAN-L 50 кОм, с землей CAN-H и CAN-L около 15 мОм.
linoobs1
17.12.2013, 16:59
скорость на твоем кан нужно выставить такую, как и в сети автомобиля и будет счастье
В мануалах на этой шине указана скорость 125Кбит/с, такую же указал в скетче.
linoobs1
19.12.2013, 19:43
В мануалах на этой шине указана скорость 125Кбит/с, такую же указал в скетче.
тебе нужно выставить скорость твоего устройства такую, какаю использует твой автомобиль это первое, для BMW 100 kb/s. Второе, сопротивление между линиями не нужно и третье, читай форумы на свою авто или распиновку штатного радио, дабы правильно подключить линии Hi и Low. На столе это одно, а в машине это другое и еще, я не знаю какой код для твоего контроллера, но если настроены Extendet_ID то пакеты ты не увидишь, надо на Standart_ID переключать.
Я извиняюсь, наверное непонятно написал. Скорость в шине моего автомобиля (125Кбит/с) я узнал из официальной документации для сервисных центров. Сопротивления, конечно же, не ставил. Точки подключения к шине определил по электрическим схемам из той же документации.
linoobs1
20.12.2013, 19:57
Я извиняюсь, наверное непонятно написал. Скорость в шине моего автомобиля (125Кбит/с) я узнал из официальной документации для сервисных центров. Сопротивления, конечно же, не ставил. Точки подключения к шине определил по электрическим схемам из той же документации.
если все правильно, но при подключении машина вешается, значит что-то не правильно, могу предположить либо скорость не та, либо ваш кан не выставляет нужную скорость, у меня на бмв машина вешалась, когда выставил скорость 125, а на 100 все работает. Проверяйте все с начала, а если уже проверяли, значит начните все заново :big: либо отложите так на пол годика, потом с новыми силами опять начнете, где-то ведь сидит зараза
Спасибо за советы, еще хотел уточнить: обязательно ли подключать "землю"? или достаточно CAN-H и CAN-L?
Спасибо за советы, еще хотел уточнить: обязательно ли подключать "землю"? или достаточно CAN-H и CAN-L?
Не обязательно. Но некоторые ресурсы говорят, что это не помешает. Лично я сейчас подключаюсь к шине без общей земли.
autowp, не мог бы ты отловить пакеты относящиеся к парктронику? Скорее всего в наших авто системы одинаковы.
В целом - это одна из целей, но в данный момент у меня машины нет под рукой, будет только после нового года.
Так что, отловлю-то обязательно, но когда - не знаю
Отлично! буду следить за темой. На какой скорости подключаешься к can-шине? а то я после постов linoobs1 начал сомневаться.
125 на магнитоле, 500 на OBD разъеме
Подумалось попробовать самый обычный ELM327 с bluetooth (какой был под рукой) запустить в роли can-adapter'a.
Вроде соединил всё: low, high, +12 и 2xGND, а он даже лампочкой не моргнул.
Может ему ещё что-то особенное надо? На распиновке OBDII ничего не вижу. Не подскажете?
Это распиновка с внутренней части разъема (где провода припаяны).
Тоже пробовал его подключить, только нифига он у меня не сниферит. На выходе mcp2551 данные есть, но как их вывести в терминал не понял. Правда у меня can шина в которой гуляют 4 однобайтовых посылки с левыми id. Скорость - 125
В терминале
> at cs
T:00 R:00
Это распиновка с внутренней части разъема (где провода припаяны).
Тоже пробовал его подключить, только нифига он у меня не сниферит. На выходе mcp2551 данные есть, но как их вывести в терминал не понял. Правда у меня can шина в которой гуляют 4 однобайтовых посылки с левыми id. Скорость - 125
В терминале
> at cs
T:00 R:00
up:
Если поставить скорость в сети 500 кбит и настроить адаптер на ISO 15765-4 CAN (11 BIT ID, 500 Kbaud) - команда "AT SP 6" и че-нибудь послать, то адаптер отсылает в сеть 8 байтовое сообщение с id - 0x7DF.
Если я правильно понял то со скоростью 125 он работать не будет.
Там есть CAN USER1 (125)
AT SP B
Только с параметрами надо поиграться согласно табличке: как минимум 11bit выставить, переменную длину пакета, отключить множитель 8/7, ... ( PP 2C SV XX, PP 2C ON )
http://elmelectronics.com/DSheets/ELM327DS.pdf 58 страница
Возможно ещё error checking отключить ( PP 2A SV XX, PP 2A ON )
Там есть CAN USER1 (125)
AT SP B
да, тоже работает)))
up:
поставил - pp 2c sv c0 - отсылается кол-во байт как посылаешь в терминале.
Как поменять идентификатор?
Как поменять идентификатор?
сам отвечу:
заголовок сообщения (идентификатор) - AT SH XXX
текущий протокол - AT DP
вывод всех сообщений в терминал - AT MA
показывать идентификатор - AT H1
фильтр по идентификатору - АT CRA XXX
iGeophysix
13.01.2014, 12:37
ууууууууу.... давно я на форуме не был!
Делаю аналогичную фигню только для Ниссан - Инфинити.
У меня проблема - показания климат-контроля показываются только на ЖК экране.
такой же кан читалкой я смог найти команды, но не могу никак перехватить абсолютные значения (только приращения).
Как ты нашел эти мультиплексоры и что это? :-)
я методом проб и ошибок работаю :-( мало че понимаю. Но уже кое-че добился.
>> но не могу никак перехватить абсолютные значения (только приращения)
Ну их может и нет. Зачем бы дублировать в виде абсолютных и приращений.
Очевидно, при включении (зажигания/дисплея) отправляется исходное значение, а дальше только приращения. Найти будет не просто.
Да ещё всякие шуточки встречаются: не знаю как у инфинити, но у французов, например, шкалы баланса/басы/высокие/фронт на дисплее пронумерованы от -9 до 9, что соответствует сигналам на CAN: 36-3F,40-48
-9 36
-8 37
-7 38
-6 39
-5 3A
-4 3B
-3 3C
-2 3D
-1 3E
0 3F
+1 40
+2 41
+3 42
+4 43
+5 44
+6 45
+7 46
+8 47
+9 48
Хотя казалось бы чего проще эти цифры так и посылать F7...09
>> Как ты нашел эти мультиплексоры и что это? :-)
Мультиплексоры?
iGeophysix
13.01.2014, 14:29
Хотя казалось бы чего проще эти цифры так и посылать F7...09
Ну иногда они заморачиваются - будь здоров.
Допустим с градусами все просто. Есть проблема с направлением потока - в лицо, на окно, в ноги. Цифры - можно открутить в одну сторону до упора - климат регулируется от 18 до 32 (или 34) градусов. Так можно провести калибровку. А вот направление обдува циклическое :-( Хотя надо попробовать что бывает, если нажать режим Auto, а потом тыкнуть в переключение режима.
Это нужно на случай, если комп принял значение, а климат контроль глюканул и моно было перекалибровать все.
Управляющую фигульку можно на Kivy/Python написать :-)
>> Как ты нашел эти мультиплексоры и что это? :-)
Мультиплексоры?
ааааай.... это в голове утром каша. Мультифреймы... ну уже понял, что это:-)
ууууууууу.... давно я на форуме не был!
Делаю аналогичную фигню только для Ниссан - Инфинити.
Тоже ковыряюсь с CAN в Ниссане... Хочется выудить оттуда температуру на улице и в салоне. Подскажи, попадались ли тебе эти данные?
Может есть где-нибудь на просторах и-нета хоть какое-то описание CAN фреймов по Ниссанам?
iGeophysix
14.01.2014, 10:23
Тоже ковыряюсь с CAN в Ниссане... Хочется выудить оттуда температуру на улице и в салоне. Подскажи, попадались ли тебе эти данные?
Может есть где-нибудь на просторах и-нета хоть какое-то описание CAN фреймов по Ниссанам?
Температура внутри есть аналоговая. ищи Ambient Sensor в мануалах (http://www.nicoclub.com/archives/use-nicoclub-coms-factory-service-manual-database.html)
А не проще свои термометры на это повесить? :-)
Температура внутри есть аналоговая. ищи Ambient Sensor в мануалах (http://www.nicoclub.com/archives/use-nicoclub-coms-factory-service-manual-database.html)
А не проще свои термометры на это повесить? :-)
Спасибо за ссылку - читаю с интересом, но я там все-равно не нашел информации по адресам CAN фреймов.
Ну, мне не настолько сильно это надо, чтобы свои термометры вешать... Просто если уж подключился к шине (я оттуда беру угол поворота руля), то почему бы не вытащить еще что-нибудь полезное.
Занимаюсь аналогичной фигней на 407 пыже.
Сейчас на стадии сборки целеза.
Цель такаяже, засунуть БК, климат, парктроник и остальные свистелки в паланшет, с него же управлять всем этим делом.
Я после длительного гугления остановился на связке arduino+canduino (https://code.google.com/p/canduino/). Canduino собран, осталось проверить заработает ли он и увижу ли я заветные фреймы в андроиде в каком нибудь виде.
Полчасика посидел в машине с canhacker, нашел фреймы для регулирования громкости, переключения страниц бортового, смена источника звука (радио диск ченжер и т.д.).
Был бы совсем не против объединить усилия по расшифровке can на авто группы PSA .
Ну давай вместе составлять google docs файл в начатом мной формате
https://docs.google.com/spreadsheet/ccc?key=0AtRg9f6Q6NEFdGtPdTJNUUNpTkQ3OC1TTjdfRUtBV nc&usp=drive_web#gid=0
или во вновь созданном.
Так или иначе, кинь инвайт на G+ профайл (см. личку), чтобы я разделил права на файл. Ну и вообще для коммуникации
Здесь уже обсуждали про несовсем корректную работу контроллеров на mcp2551 с нашей шиной: Fault-tolerant (Low Speed tja1054t ). В моём случае CAN-сеть совсем сдохла после подключения. Foblas, мой девайс собран примерно по той же схеме что у тебя. Ты еще не подключал шилд в машине?
Здесь уже обсуждали про несовсем корректную работу контроллеров на mcp2551 с нашей шиной: Fault-tolerant (Low Speed tja1054t ).
А с "нашей" - это с какой?
Я использую mcp2551+mcp2515 в nissan'е - проблем нет. Причем "нет" от слова совсем - т.е. заработало сразу, при первом же включении.
А с "нашей" - это с какой?
Я использую mcp2551+mcp2515 в nissan'е - проблем нет. Причем "нет" от слова совсем - т.е. заработало сразу, при первом же включении.
"С нашей" я имел в виду кан-шину в pegeout/citroen. В ниссане может быть по другому.
fray2000
05.02.2014, 00:38
что то все заглохло
После длительного перерыва решил снова попытаться подключиться к can-шине. Заказал TJA-1054 и пока посылка в пути стал прикидывать как скрестить TJA-1054T и mcp-2515. Появились вопросы: 1) Можно ли обойтись без подключения 14 ноги (BAT)? Я так понимаю что на неё должно подаваться 12В. 2) Как правильно выбрать номинал резисторов RTH, RTL?
Почитал даташит на 1054...
IMHO, что я понял оттуда:
1. можно не подключать, но тогда некоторые варианты сбоев шины нельзя будет распознать (оно и не надо, кмк)
2. так же, не подключать - т.к. оно будет этими резисторами терминировать шину, в случае сбоев, а оно тебе надо?
Glouck , Спасибо за ответ! Для начала хочу два устройства на столе научить между собой передавать пакеты, потом уже в машину. В этом случае RTH/RTL = 500 - 16000 Ом, судя по даташиту, но непонятно от чего зависит номинал?
Вот накатал примерную схему, прошу высказывайте замечания.
http://pccar.ru/attachment.php?attachmentid=37789&stc=1&d=1418117110
Собрал два устройства по схеме ниже, одно отправляет данные по CAN, другое принимает и передаёт их в uart. В общем, не работает. Может реализация CAN от микрочипа несовместима с tja1054? и я пытаюсь скрестить ужа и ежа?
http://pccar.ru/attachment.php?attachmentid=38222&stc=1&d=1421647000
А ты шину чем-нибудь терминировал на концах (кроме RTH/RTL резисторов)?
http://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/CAN-Bus_Elektrische_Zweidrahtleitung.svg/220px-CAN-Bus_Elektrische_Zweidrahtleitung.svg.png
А ты шину чем-нибудь терминировал на концах (кроме RTH/RTL резисторов)?
http://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/CAN-Bus_Elektrische_Zweidrahtleitung.svg/220px-CAN-Bus_Elektrische_Zweidrahtleitung.svg.png
Нет, приведённая картинка для HS-CAN, а тут FT-CAN, я так понимаю что терминирующие резисторы здесь висят на каждом котроллере, отдельно для каждой линии. Если я не прав - поправьте меня.
Это не важно - терминировать все-равно надо - 120 ом на краях.
Цитата из дш на 1054 про RTL/RTH резисторы:
Size of termination resistors depends on system size. The overall system termination should be about 100 Ohms per CAN line.
Вот, кстати, почитай, там есть про то, сколько надо для RTH/RTL:
http://www.nxp.com/documents/application_note/AH_FTCAN3.pdf
Почитал внимательнее, в общем, выходит, что и без терминаторов по твоей схеме (5.6к RTL/RTH) должно работать на столе с коротким проводом...
Заработало! :dance1: Ошибка была в прошивке.
INRatnikov
02.02.2015, 18:03
Вопрос? По данной схеме можно научиться через PC управлять системой авто? У меня тот же RD4
Управлять можно устройствами находящимися в сети CAN-Info, в моём случае (citroen c4 2012г.) это приборная панель, магнитола, центральный дисплей, парктроник ... Но у меня RD5 и я пока в машине не подключал. Удалось завести два устройства на столе, обмениваются данными по протоколу CAN. Есть у меня в наличии и дисплей, такой же как в машине, но заставить работать его пока не удалось. Как уже писали в этой теме для успешного пуска помимо питания нужно отправить определённый пакет по can-шине, а вот какой именно - это загадка. Пользователю с ником autowp удалось разгадать эту загадку путём прослушивания и записи пакетов с can-шины в своём авто , а затем отправки этих данных уже в магнитолу. Чем я тоже собираюсь заняться в ближайшее время. INRatnikov , в вашем случае - некоторые пакеты уже известны и вы сможете управлять устройствами в своём авто.
Странное дело: подключил девайс в машине - результат тот же , всё потухло. Я в полном недоумении, что происходит? Как подключиться к шине? Спецы скажите что я делаю не так?
Терминатор уберите, если есть. При подключении к шине авто он не нужен.
Странное дело: подключил девайс в машине - результат тот же , всё потухло.
Потухло - в смысле перестала работать шина в авто? А RTH/RTL резисторы какие? А замерить сопротиление на шине между L и H, при выключенном (снять клемму с АКБ) и включенном питании - сколько?
Терминатор уберите, если есть. При подключении к шине автор он не нужен.
Здесь немного иначе устроено, терминируется по отдельности каждая линия, на микросхеме для этого предусмотрены специальные ножки RTH и RTL, без них драйвер находится в статусе Error.
Потухло - в смысле перестала работать шина в авто? А RTH/RTL резисторы какие? А замерить сопротиление на шине между L и H, при выключенном (снять клемму с АКБ) и включенном питании - сколько?
Потухло - на спидометре ---, магнитола отключалась, на центральном дисплее ---. Такая же картина была при подключении к шине с помощью can-шилда на mcp2551 с ардуиной. Резисторы 5,6k. При подключении только одного провода CANH или CANL - так же все тухнет. Кстати, на столе два девайса по одному проводу благополучно обмениваются данными. Попробовал поменять местами CANH и CANL - к моему удивлению, ничего не погасло, но и данных я не увидел. Когда питание девайса выключено и он висит на шине, все работает нормально.
Потухло - на спидометре ---, магнитола отключалась, на центральном дисплее ---. Такая же картина была при подключении к шине с помощью can-шилда на mcp2551 с ардуиной. Резисторы 5,6k. При подключении только одного провода CANH или CANL - так же все тухнет. Кстати, на столе два девайса по одному проводу благополучно обмениваются данными. Попробовал поменять местами CANH и CANL - к моему удивлению, ничего не погасло, но и данных я не увидел. Когда питание девайса выключено и он висит на шине, все работает нормально.
У меня так же было, когда я подключил CAN Shild с Arduino к авто, но неверно в скетче указал скорость шины, нужно было 125 Кбит/с, а я установил 100 Кбит/с, как только изменил, все приборы ожили. Правда я подключался к FF3.
Такая же картина была при подключении к шине с помощью can-шилда на mcp2551 с ардуиной. Резисторы 5,6k. При подключении только одного провода CANH или CANL - так же все тухнет. Кстати, на столе два девайса по одному проводу благополучно обмениваются данными. Попробовал поменять местами CANH и CANL - к моему удивлению, ничего не погасло, но и данных я не увидел. Когда питание девайса выключено и он висит на шине, все работает нормально.
Попробуй убрать резисторы RTH/RTL - при включении питания девайса оно их подключает к шине, возможно из-за этого все ложится, ну и со скоростью тут правильно сказали - если не та - может тоже шину положить.
Скорее всего дело в скорости передачи данных, дело в том, что в прошивке я явно не указываю скорость в Kbps , там все гораздо сложнее: указываются тайменги в зависимости от системной частоты и желаемой скорости, придётся попробовать разные варианты. lti1 , какой шилд ты использовал для подключения? И какой тип шины у тебя в авто?
lti1 , какой шилд ты использовал для подключения?
Такой. (http://pccar.ru/showpost.php?p=289078&postcount=95)
lti1 , И какой тип шины у тебя в авто?
В FF3 две шины, высокоскоростная для двигателя и коробки (скорость не знаю) и салонная 125 Кбит/с, вот к последней я как раз и подключался.
О, я спаял такой же шилд, правда он у меня в машине так и не заработал из-за несовместимости can-hs и can-ft. Пришлось немного переделать, теперь вместо mcp2551 используется Tja1054. А скетч используешь от seedstudio?
О, я спаял такой же шилд, правда он у меня в машине так и не заработал из-за несовместимости can-hs и can-ft. Пришлось немного переделать, теперь вместо mcp2551 используется Tja1054.
У меня и на FF3 и Skoda Octavia Tour нормально работает, после того как скорость нужную выставил в скетче.
А скетч используешь от seedstudio?
Не совсем понял про какой говорите, дайте ссылку.
Получилось считать данные шилдом! Но пока не получается отправить, буду дальше разбираться. Ссылку отправил в ЛС. PS: давай на "ты".
Ацкий_Кот
24.03.2015, 17:11
Кстати могло не работать из за того, что авто определяет скорость обмена по термирующим резисторам, чем больше ом тем больше скорость
Dmitry8 А что ты сделал что заработало? И какие в итоге резисторы?
И ещё вопрос в догонку.
Если я не буду отключать ноги RX/TX от микрухи на шилде, а припаяю к ним провода и подцеплю 1054, и буду подавать питание на микруху на шилде или на 1054 через переключатель это заведётся?
Или нужно поднимать в воздух ноги RX/TX от микрухе что на шилде обязательно, а вместо них цеплять rx/tx 1054?
Просто хочу обойтись одним сдвоенным переключателем для переключения с HI на FT CAN по средствам подачи питания на разные микрухи, а второй группой ногу ардуины коммутировать чтоб при старте выставлялась скорость 500/125 в зависимости от того что подключено.
Народ- поделитесь кто нить 100% рабочей схемой на TJA1054T.
А то у некоторых ноги wake, bat, STB, EN на плюсе висят жёстко, у кого-то через резисторы, у кого-то половину не подключены.
Просто хочется сделать плату, а не паутину плести.
Всем привет! T_r_D, я себе сделал так : tja1054 ноги 5,6,7,10,14 жестко +5в. 13-GND. 1,4,8,9 - в воздухе. 2,3 на mcp2515. 11,12 - CAN bus. Подключено временно витой парой длиной около 1 метра. 100Кбит/с, все работает без каких либо резисторов.
Тоже хотел запараллелить к TxRx ножкам tja1050 на модуле, но подумал, что это мне ни к чему, только лишняя нагрузка, выпаял 1050 вообще.
xmetal
8,9 это ноги резисторов сопротивления шины.
они через микруху подключаются к + и -.
Соответственно вывод 14(BAT) должен быть на + бортовой сети авто.
По распиновке я так же почти сделал кроме BAT и WAKE.
WAKE через резистор на + питания микрухи повесил.
Выпаивать не хочу, хочу иметь возможность подключения всех типов шины.
И это только прототип. Далее плату разведу единую с контроллером.
Насколько я понимаю вход BAT задействуется только в том случае, если начать погружать микросхему в сон, с помощью STB и EN. А так как эти входы в активном состоянии, то вместо BAT используется питание VCC.
На счет резисторов - работало без них и по одному CAN проводу, естественно с подключенной землей. Не убеждаю их не ставить, просто говорю, что без них тоже все работает.
STB и EN соединил с контроллером, чтобы загонять TJA1054 в сон. BAT все так же на VCC. В сон уходит и выходит. Не увидел разницы между Standby и Sleep, кроме разного состояния INH.
Возникла проблема. Вроде все работает, но как-то полез в авто сбросить ошибки шнурком и увидел, что кан шина, куда подключено мое устройство, работает в аварийном режиме - по одному проводу. Принес домой, подключил к ГУ, сообщения принимаю, но кан шина все также работает в аварийном режиме. Отвязал питание ГУ и моего устройства, все стало работать нормально. Но если соединить массы проводом, сразу уходит в аварийный режим. Терминирующие резисторы ставил, убирал, результат одинаковый. В чем проблема пока не понял. Может кто что подскажет?
Заменил TJA1054 на новую, все пришло в норму.
Работает на vBulletin® версия 3.8.4. Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot