23.11.2013, 02:01 | #41 |
Пользователь
Регистрация: 13.12.2012
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Peugeot 407 Coupe
Сообщений: 82
|
Бес вселился.
Решил-таки попробовать собрать "конвертер" CAN сигнала по приведенной схеме. Заказал в поднебесной микросхемы и начал прикидывать что да как. Плат я никогда не делал, поэтому конечно совершу какие-то ляпы и грубые ошибки, однако интерес в этом есть. Сформулировал некоторые требования: - не трогать canhacker - коннектор переходника должен быть 1в1 как у canhacker - переходник должен оставить возможность питаться от +12V - переходник должен уметь питаться от canhacker (через USB) Два последних пункта возможны только через небольшой колхоз: на выходном разъеме canhacker питания нет, однако есть дополнительный разъем для программирования платы, на котором есть +5V. Им-то и решено было воспользоваться для подачи питания. Вариант с размещением собственного стабилизатора на +5V не устраивает тем, что требует обязательного питания "от машины" В качестве инструмента для создания схемы выбрал Eagle CAD. Управление в программе ужасное, нетипичное для программ в принципе. Да что там говорить: это первая в моей жизни программа, для которой я нашел ролик "How to copy and paste" Нужных мне элементов в стандартной библиотеке не нашлось, поэтому обе микросхемы пришлось рисовать с нуля. Благо корпус у них достаточно простой (SOIC) и не вызывает вопросов. Пассивные компоненты брал совершенно без какого-либо понимания, ориентируясь только лишь на маленький корпус. Думаю, что это не принципиально и что-нибудь так или иначе найду. Итак, принципиальная схема: Почти полностью повторяет то, что было приведено в этом посте выше, с небольшими доработками (разъемы, WAKEUP для TJA). Но до конца дело довести не удалось: - Осталось совершенно непонятным назначение VREF на MCP. - Полное непонимание зачем и как использовать VCC и BAT на TJA. Правильно ли я понимаю, что без +12 на BAT драйвер будет выключен? Если вразумите - буду благодарен. Однако это не помешало мне ради экспириенса натыкать элементы на виртуальную плату и зароутить по имеющейся схеме: Роутилось автоматически. Получилось весьма компактненько. Однако мне совершенно не понятно, на сколько такая плата готова, например, к отправке в фирму, печатающую платы? Не понятно, как наносить контуры элементов, надписи, чтобы они были напечатаны. В аттаче даташиты и исходники З.Ы. как сделать, чтобы картинки в миниатюрах не дублировались? |
25.11.2013, 17:27 | #42 |
Старший Пользователь
Регистрация: 11.03.2007
Возраст: 46
Регион: 78, 98
Сообщений: 107
|
Если ты решил изготавливать плату, то почему бы не повторить тот же самый Can-Hacker, только заменить в нем CAN-драйвер на нужный. Это будет более предсказуемый результат чем с переходником.
__________________
Astra H Service CAN Adapter |
25.11.2013, 20:59 | #43 |
Старший Пользователь
Регистрация: 01.06.2006
Возраст: 63
Город: СПб
Машина: 1/2
Сообщений: 242
|
уважаю! )
Зря брат, верни на место, или ещё лучше через 100к. на + Не бери в голову. Оставь в покое и не парься.) Это просто референсное напряжение, никакого значения в данном случае не имеющее.Вот это точно |
01.12.2013, 19:06 | #44 | ||
Пользователь
Регистрация: 13.12.2012
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Peugeot 407 Coupe
Сообщений: 82
|
Цитата:
Цитата:
Вернуть на место (оставить в воздухе) мне не позволила программа - говорит, что это 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). Пришлось проложить ещё один 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, по таймаут) (не знаю как лучше снять видео, в котором участвует яркий монитор. Но смею заверить, что слева - магнитола ) А также собран небольшой набор инструментов, потребность в которых возникла в процессе: - canhacker commands monitor - can frame filter & monitor - can message filter & monitor Вопросы: 1. Как принято определять, какие пакеты являются мультифреймовыми? В данный момент я хардово вписал, что сообщения 0x125 - мультифрейм, но, наверное, есть правильный способ? Было предположил, что вообще все сообщения ходят по ISO 15765-2, но, например, сообщение с VIN кодом противоречит этому. 2. Изучать формат сообщений было конечно интересно, но все-таки очень хотелось бы разыскать какой-нибудь reference manual, где бы они были хотя бы перечислены. Но гугл почему-то не помог мне в этом. Не подскажете? Вот тут начал складировать инфу по CAN сообщениям А вот тут сорцы java (не пинайте - первый java экспириенс) |
||
01.12.2013, 22:02 | #45 | |
Старший Пользователь
Регистрация: 01.06.2006
Возраст: 63
Город: СПб
Машина: 1/2
Сообщений: 242
|
Цитата:
Слушай, а платки ты будешь делать? Если не затруднит одну для меня? Соответственно с меня..) Буду признателен |
|
01.12.2013, 22:11 | #46 |
Пользователь
Регистрация: 13.12.2012
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Peugeot 407 Coupe
Сообщений: 82
|
Сначала на соплях соберу, посмотрим, заработает ли в принципе. Ну а коли да, так и платку непременно надо будет сделать. Минимальный тираж так или иначе сделает "пару" лишних копий.
Но это все не скоро - когда из поднебесной все придет - одному богу известно |
01.12.2013, 22:31 | #47 |
Старший Пользователь
Регистрация: 01.06.2006
Возраст: 63
Город: СПб
Машина: 1/2
Сообщений: 242
|
Ну мне не к спеху, год лежит, ещё подождёт.)
Может видел? К сожалению только схема расположения, но грамотно, что терминальные можно менять. |
04.12.2013, 01:24 | #48 |
Пользователь
Регистрация: 13.12.2012
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Peugeot 407 Coupe
Сообщений: 82
|
Подумалось попробовать самый обычный ELM327 с bluetooth (какой был под рукой) запустить в роли can-adapter'a.
Вроде соединил всё: low, high, +12 и 2xGND, а он даже лампочкой не моргнул. Может ему ещё что-то особенное надо? На распиновке OBDII ничего не вижу. Не подскажете? |
06.12.2013, 23:58 | #49 |
Старший Пользователь
Регистрация: 01.06.2006
Возраст: 63
Город: СПб
Машина: 1/2
Сообщений: 242
|
Никак не пойму, а в чём проблема? Не присоединить, или присоединить но не работает?
|
07.12.2013, 00:00 | #50 |
Пользователь
Регистрация: 13.12.2012
Возраст: 41
Город: Москва
Регион: 77, 97, 99, 177
Машина: Peugeot 407 Coupe
Сообщений: 82
|
Присоединил, но оно не включается. В автомобиле оно сразу лампочками мигать начинает и bluetooth-девайс светится
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|