Нештатная информация на штатный дисплей
|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
Нештатная информация на штатный дисплей
|
![]()
Сообщение
#41
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
SEREGA FRG, спасибо! Эта информация у меня уже была, но сохранить ссылки - всегда полезно.
Теперь еще небольшие траблы (точнее, пока непонятки). На текущий момент в железе сделано так, что один МК рулит двумя CAN-интерфейсами. (пару-тройку постов выше писал и приводил фото). Оба интерфейса работают. Проверял следующим образом: сделал отправку в один интерфейс строки "Hello car", в другой: "Hello disp" Теперь если в диагностический разъем подключать один или второй интерфейс - выводятся на дисплей разные сообщения (т.е. аппаратно - все работает). Но вот фокус, который хотелось сделать - чтобы мой девайс был "в разрыв" между машиной и дисплеем - не очень пока увенчался успехом: Со стороны машины все работает, как хотелось... А вот дисплей, подключенный к интерфейсу (любому интерфейсу моей платы) - молчит, как партизан. Видимо, просто MCP2551 недостаточно, чтобы оно "взлетело" (в машине есть что-то "шинообразующее"). с кабелем и подключением дисплея (внешнего) - все точно в порядке - если его напрямую подоткнуть к диагностическому разъему - он тут же начинает принимать сообщения машины и отображать ровно то же самое, что "штатный". ![]() Может, кто-то уже сталкивался с этим? Может требуется куда-то подтянуть MS_CAN_L и MS_CAN_V? В общем, хочется сделать дома "макет" шины машины: чтобы можно было к моей плате подключить дисплей и в комфортных условиях вести разработку прошивки. |
|
|
![]()
Сообщение
#42
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
У меня тоже есть вопрос, есть ли команда для, дисплея или другого устройства, типа брейк и адрес устройства, чтобы дисплей перестал выводить информацию на определенное время, ото всех устройств кроме необходимого? Если такое есть, то городить два кан-порта и ненужно будет
Сообщение отредактировал _Michail_ - 28.10.2014, 19:40 |
|
|
![]()
Сообщение
#43
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
к сожалению, такой команды по логам не видно.
На адреса дисплея валятся только сообщения о том, что выводить... |
|
|
![]()
Сообщение
#44
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Маздаводы Сообщений: 697 Регистрация: 18.3.2012 Из: Menden Германия Пользователь №: 30275 Спасибо сказали: 285 раз(а) ![]() |
|
|
|
![]()
Сообщение
#45
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
Тот форум я уже изучил (все, что касается информационного дисплея). К сожалению, там технической информации очень мало - в общем-то, только распиновку и цвета проводов получил... Остальное (адреса, формат пакетов и т.п.) - частично из ссылок выше и кое-что - из логов того, что валится в CAN шину.
|
|
|
![]()
Сообщение
#46
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
Есть подозрение, что проблема "изолированного от машины стенда" состоит в том, что "новосозданная" шина (состоящая всего из двух "узлов": моей платы и дисплея) не обладает необходимым сопротивлением. В разных источниках указывается, что шина должна быть обязательно "терминирована" с каждой стороны резистором в 120Ом. Т.е. "нормальное" сопротивление шины - около 60Ом.
Измерил сопротивление между CAN_L и CAN_H дисплея - около 50кОм, сопротивление между CAN_L и CAN_H на моей плате - тоже около 50кОм. Попробовал тупо воткнуть между проводниками шины резистор на 60Ом - не завелось.... еще погуглил - Надо, видимо, в машину идти и измерять сопротивление на шине... тогда уже пробовать дальше. Похоже, я просто "лабораторную" CAN-шину недоделал... |
|
|
![]()
Сообщение
#47
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
Надо, конечно, ложиться спать ... но пока не забыл, вот что нашел:
You can send the 3 frames with the following IDs: 0x28F: LCD settings and probably some other settings (you just send the same data you receive in a normal 0x28f frame). 0x290: 0xC0 (first byte) followed by first 5 alfanum signs 0x291: 0x85 (first byte) followed by the next 7 alfanum signs all of them, just after you receive the 0x291 frame id sent by the HU. This will make your text being visible with almost no flicker at all. The reason for sending the 0x28F is that it is required for displaying the 0x290 and 0x291 text, otherwise the LCD seems to simply ignore the 0x290 and 0x291. Another method would be to set a timer with a 150ms interrupt and send the 3 frames described above. ... 0x28F frame content that I have used: hex: D1 00 00 00 80 00 00 01 щас быстренько пытался что-то делать по полученным данным: 1. адрес 28F, насколько понял - отвечает за надписи DISK IN, ST, AF и т.п. 2. шину надо чинить (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif) (в какой-то момент дисплей моргнул и показал строку, которую должен был выводить) |
|
|
![]()
Сообщение
#48
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Судя по картинки нужно делать именно так:
(IMG:http://s009.radikal.ru/i308/1410/64/3f514b2d8e80.jpg) То что ставилось одно сопротивление на 60ом это несколько не та схема включения (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif) Что касается сопротивления согласования: (IMG:http://s010.radikal.ru/i314/1410/35/7f4640cabb4c.jpg) То оно должно быть уже на плате устройства. Сообщение отредактировал _Michail_ - 29.10.2014, 9:49 |
|
|
![]()
Сообщение
#49
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
И все таки есть что-то типа брейка (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif)
bus arbitration арбитраж шины Процедура арбитража необходима для разрешения ситуаций, когда несколько узлов пытаются получить одновременный доступ к шине. После ее выполнения доступом к шине обладает лишь один узел. В CAN протоколе используется алгоритм арбитража CMSA/CD (множественный доступ с обнаружением несущей / детектирование коллизий) совместно с AMP (арбитраж по приоритету сообщения). Этот протокол позволяет проводить арбитраж без разрушения сообщений. Вот отсюда: |
|
|
![]()
Сообщение
#50
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Воооо что надумал (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif) Можно ли сделать так:
1 ничего в разрыв не включать. 2 Слушать необходимые коды, интересные нам. 3 Вытаскивать из данных кодов данные, менять на код, который может принять дисплей и посылать данные. По идее дисплей должен показать принятые данные от вашего устройства, а после вернуть данные которые шлет балалайка (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif) |
|
|
![]()
Сообщение
#51
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Нашел интересный документик, может еще кто займется (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif)
|
|
|
![]()
Сообщение
#52
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
_Michail_, начну по порядку:
1. про "схему шины" - согласен, попробую, должно заработать (тем более, что вчера я уже разок увидел нужное сообщение на дисплее) 2. про арбитраж - это реализуется на аппаратном уровне, насколько я понял - нельзя сказать конкретному устройству "заткнись". Здесь просто на шине устраняется "балаган", когда все одновременно орут и толком никто ничего не слышит - просто наводится порядок в сообщениях и сообщения начинают доходить до адресатов - не более того 3. про "слушать коды" и отправлять в дисплй - с этого я и начал.. но вот представь себе стиуацию (штатная балалайка есть): - балалайка флудит вывод на дисплей примерно раз в 150мс - платка что-то там приняла (пусть для определенности это будет средний расход) - платка отправила дисплею команду - "нарисуй расход" - дисплей это принял и исполнил - балалайка в очередной раз отправила команду - напиши название станциии и... наше сообщение перетерто.. именно с этой проблемой "перетирания" я и борюсь. 4. документик хороший - он рассказывает об основах (аппаратный уровень, разрешение коллизий, коррекция ошибок и т.п.).. но в нашем случае это не так интересно, поскольку мы саму шину не реализуем - она у нас уже есть как данность (в машине), а за "низкоуровневую" реализацию отвечает MCP2515 и MCP2551 (а вот разработчики этих микросхем собаку съели на подобных документах). В своем устройстве я могу оперировать только адресами устройств, длинной пакета и его содержимым.. могу читать (фильтровать, преобразовывать и т.п.), могу передавать.... но при этом совершенно не заморачаваясь на тему "как оно там коллизии обходит". |
|
|
![]()
Сообщение
#53
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Ну, эт понятно... Вы же эту стадию прошли раньше, а я сейчас по вашим стопам... просто мысли в слух (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif) Чтоб по граблям не бегать (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif) А еще попутный вопрос, нет ли параметра жизни/отображения сообщения? Типа показать в течении 15 секунд, не смотря на флуд других..
И еще вопрос, программно можно нажать на кнопку? |
|
|
![]()
Сообщение
#54
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
К сожалению, "времени жизни" сообщения - нет (IMG:https://m5club.ru/forum/style_emoticons/default/sad.gif) (или я не знаю, куда смотреть). Но судя по тому, что магнитола флудит без умолку каждый 150мс - этого "времени жизни" просто нет.
Про программное нажатие кнопок - тут надо пробовать... вроде как нажатие кнопок на руле - должно транслироваться в CAN-шину (что подтверждается тут: Аналогично, думаю, можно "слушать" сообщения о нажатии кнопок и эту информацию использовать для управлению разрабатываемым устройством (к примеру - переключиться в режим AUX - это можно отловить по сообщению для отображения на дисплее) и дальше слушать нажатие кнопки "mode" на руле (в этом режиме она не используется, но, надеюсь, информация о ее нажатии будет в шине). Аналогично с другими кнопками на руле - тогда можно будет и дату-время подстраивать и переключаться между режимами отображения информации и проч.). Кстати, для тех, у кого нет штатной балалайки я уже готов сделать девайс по отображению информации маршутного компа (ну и даты-времени, если надо). Есть желающие? перед запуском мелкого производства нужен хотя бы один "подопытный" - чтобы я подключил свой прототип к диагностическому разъему и проверил, что все работает (заодно и "подопытный" сможет подтвердить, что это не просто разговоры (IMG:https://m5club.ru/forum/style_emoticons/default/smile.gif) )) |
|
|
![]()
Сообщение
#55
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Наткнулся на схему шины, я думаю что пригодится:
(IMG:http://s015.radikal.ru/i332/1410/11/8e4038fe39ba.jpg) |
|
|
![]()
Сообщение
#56
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Маздаводы Сообщений: 254 Регистрация: 24.4.2011 Из: Саратовская обл. г. Балаково Пользователь №: 29133 Спасибо сказали: 69 раз(а) ![]() |
Кстати, для тех, у кого нет штатной балалайки я уже готов сделать девайс по отображению информации маршутного компа (ну и даты-времени, если надо). Есть желающие? Я готов. Но маршрутник есть. Ранее писал хотелки. И с доставкой (IMG:https://m5club.ru/forum/style_emoticons/default/sad.gif)
|
|
|
![]()
Сообщение
#57
|
|
Продвинутый участник ![]() ![]() ![]() ![]() Группа: Маздаводы Сообщений: 949 Регистрация: 16.9.2010 Из: Моск. Обл. г. Видное Пользователь №: 28389 Спасибо сказали: 231 раз(а) ![]() |
Я тут по изучал чуток, и пришел к выводу что:
1 Если врезаться между КАН шиной и дисплеем, нужно писать много коду, и следить за всеми сообщениями, но, есть преимущество, минимум переделок при подключении. 2 Если, смириться с некоторой доделкой, то по мне, проще врезаться между штатной балалайкой, и контролировать только ее сообщения, и уже будет по барабану, штатная голова стоит или нет. Глушить по необходимости ненужные на текущий момент сообщения, и выводить свои. |
|
|
![]()
Сообщение
#58
|
|
![]() Участник ![]() ![]() Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) ![]() |
al4630z, хорошо, что-нибудь придумаем... но пока желающих маловато (IMG:https://m5club.ru/forum/style_emoticons/default/sad.gif) самому плату делать - лень (хотел заказать в Китае, как уже делал неоднократно, но там от 10 плат (IMG:https://m5club.ru/forum/style_emoticons/default/sad.gif) )... посмотрим, может, наберем хотя-бы 5-6 желающих - тогда можно будет сделать. Доставка - не проблема.
_Michail_, тут как посмотреть.. про "много кода" - ну да, на пару-тройку строк больше.. зато гибкость и можно реализовать максимально похоже на "штатное" (к примеру - отображается какое-то "нештатное" сообщение, а ты нажимаешь кнопку увеличения громкости - это отражается на дисплее (как и при штатном варианте), а потом все возвращается в исходное состояние)... Кстати, можно схему с двумя интерфейсами (тот вариант, что я прорабатываю) подключить и между магнитолой и шиной - и тоже можно реализовать максимально похожее на штатное поведение. В принципе, есть вариант поступить "по тупому" - поставить релюху между шиной и магнитолой, которая будет банально отрубать магнитолу от шины (соответственно, "глушить" ее сообщения в шину). Примерно так: (IMG:http://drpopov.spb.ru/CAN_SPI_MINI_2/Rele_M.jpg) Но я все-таки хочу сделать "полную версию". Тем более, что сегодня все-таки победил "лабораторную" шину и у меня дома на столе система уже заработала. Проблем в моем "стенде" оказалось две: 1. Нужен был "терминатор" (хватило одного резистора на 120Ом) - поставил у дисплея 2. По каким-то непонятным мне причинам подохла одна микросхема MCP2551 (сравнивал сигналы осциллографом на двух интерфейсах своего устройства). Заменил ее и все заработало. Сейчас "лабораторный" стенд работает в полном объеме. Тестовая прошивка на один интерфейс выводит "Hello car", на другой "Hello disp". Теперь уже можно писать полный код для вывода полезной информации. P.S. кстати, если оставить у дисплея подключение только к MS_CAN - не работает блок отображения климата. P.P.S. вообще круто сделать три CAN-интерфейса: первый смотрит на высокоскоростную шину (там много чего о моторе можно узнать), второй - на среднескоростную (магнитола, управление климатом?, маршрутник и т.п.).. а третий - на дисплей, чтобы можно было все отображать как хочется Сообщение отредактировал ustas - 30.10.2014, 0:22 |
|
|
![]()
Сообщение
#59
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Маздаводы Сообщений: 254 Регистрация: 24.4.2011 Из: Саратовская обл. г. Балаково Пользователь №: 29133 Спасибо сказали: 69 раз(а) ![]() |
Есть машинка с нештаткой и отсутствием маршрутника, о чём хозяин сетовал. Позвоню сегодня ему, думаю согласится.
По поводу сбыта можно и матрёшкинцев заинтересовать, разницы как я понимаю нет. |
|
|
![]()
Сообщение
#60
|
|
![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 1122 Регистрация: 24.9.2010 Из: Екатеринбург Пользователь №: 28411 Спасибо сказали: 544 раз(а) ![]() |
Тоже готов быть испытателем. Мне тоже кажется, что 10 платок разойдутся как горячие пирожки. А какой порядок цен если заказывать 10-20-30-40-50 плат? Не обязательно же собирать все платы сразу- пусть лежат и по мере востребованности собирать. Возможно смогу поддержать проэкт материально. С удовольствием слежу за темой, в разговор не вмешиваюсь из-за нехватки знаний в данной области.
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 9.9.2024, 16:48 |
![]() |