Нештатная информация на штатный дисплей
|
Здравствуйте, гость ( Вход | Регистрация )
Нештатная информация на штатный дисплей
|
23.10.2014, 21:53
Сообщение
#1
|
|
Участник Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) |
Собственно, началось с того, что когда-то давно кто-то уже делал вывод информаци с нештатного парктроника на штатный дисплей.
Был бы проект жив - просто купил бы и не парился.. но тот проект умер - пришлось все изучать самостоятельно. На текущий момент: 1. уже "препарирован" и довольно хорошо изучен протокол парктроника Parkmaster (одного из недорогих) - уверенно получаю и интерпретирую данные с него. 2. влез в среднескоростную шину CAN на своей машинке - умею управлять дисплеем (пока не идеально, но процесс идет). 3. сделан первый прототип "промежуточной" железки (устанавливается между парктроником и can-шиной) и протестирован (на базовые функции). Моя "железка" дополнительно содержит часы реального времени (RTC) - и теперь на машине появился календарь (был очень сильно удивлен, узнав, что штатно календаря вообще нет). Выглядит сейчас вот таким образом: WP_20141023_14_26_32_Pro.jpg ( 195.28 килобайт ) Кол-во скачиваний: 362 Если будет интересно - продолжу повествование. |
|
|
24.10.2014, 15:53
Сообщение
#2
|
|
Участник Группа: Маздаводы Сообщений: 139 Регистрация: 19.4.2014 Из: Истра (МО) Пользователь №: 32720 Спасибо сказали: 58 раз(а) |
ок, тогда буду писать дальше.. подскажите, на что лучше обратить внимание при повествовании? на технические детали реализации или на что-то другое?
вообще, из CAN-шины можно выудить абсолютно все, что там есть.. т.е. вывести какие-то показатели дрыгателя на экран - без проблем. Тут только встает вопрос в расшифровке данных (надо понять адреса и дешифровать соответствующие сообщения). К примеру, дисплей - это как минимум два разных адреса (первый - это адрес для "печати" первых 7 символов, а второй - для вторых 6 символов). Еще, похоже, собственными адресами обладают следующие части экрана: "вехрняя часть" (DISK IN, AF и т.п.), маршрутный комп (левая часть - там где часы), климат (правая часть). Пока мои интересы заканчиваются основной строкой. Дешифровка для основной строки не вызвала никаких проблем - используются стандартные ASCII-коды (так что о кириллице можно забыть - ее там просто нет). Из текущих сложностей: оказалось, что не смотря на всю элементарность работы с дисплеем (вывести что-то на дисплей очень просто - достаточно отправить по нужным адресам соответствующие символам байты) - вылезли неприятные "грабли" в виде разработчиков штатной системы: они по какой-то причине текущие надписи на дисплей отправляют не один раз (по факту изменения надписи - как бы я это реализовывал), а постоянно "флудят" в шину с сообщениями о том, что же дисплей должен отображать. Тем самым - перетирают то, что отправляет мой девайс... Сейчас система моя подключена "неразрушающим" методом - просто в диагностический разъем. При этом как только моя платка "видит" сообщение на дисплей от машины - она тут же отправляет свое сообщение (то, что хочется видеть на дисплее). Но, к сожалению, не хватает быстродействия (используется микроконтроллер на 16МГц) - при этом проявляются "промаргивания" (во время вывода "нештатного сообщения" пишется что-то штатное, тут же перетирается и снова выводится то, что требуется)... Надо проверить пару гипотез - как это можно обойти. Пробовал просто засыпать шину "своими" сообщениями - на дисплей выводится все четко, но при этом машина воспринимает эту ситуацию не совсем штатно - через некоторое время на дисплей перестают попадать "штатные" сообщения. После выключения/включения зажигания - все начинает работать нормально. Есть мысль подключить свою разработку несколько глубже (как это было сделано в первоначальном варианте у "исходного" проекта) - врезаться в шину между машиной и дисплеем и когда нужно выводить "свое" - просто отключать дисплей от шины машины и рулить им самостоятельно. Вариант - 100% эффективный, но надо будет немного разбирать салон, чтобы добраться до дисплея. P.S. кстати, можно писать какие-то предложения по тому, для чего можно использовать штатный дисплей и вообще шину... лично мне еще хочется узнать, можно ли, например, выловить на шине текущую скорость (это можно - 100%) и при превышении, например, 7км/ч - автоматически закрывать замки дверей (такая фича была штатно в предыдущем пыжике). Конечно, это к дисплею не относится, но шина, к которой я подключаюсь (это среднескоростная шина, она же "шина комфорта") по идее, содержит много интересного - там гуляют команды (и параметры) климата, света, ... сейчас посмотрел - есть данные по скорости, средней скорости, текущему и среднему расходу (т.е. маршрутник сделать - вообще ничего сложного) P.P.S. если кто-то поделится информацией по соответствию идентификаторов сообщений, длинны сообщений, правил декодирования - буду очень признателен Сообщение отредактировал ustas - 24.10.2014, 16:02 |
|
|
24.10.2014, 18:11
Сообщение
#3
|
|
Гуру) Группа: Маздаводы Сообщений: 2000 Регистрация: 27.10.2013 Из: Уфа Пользователь №: 32237 Спасибо сказали: 1062 раз(а) |
Есть мысль подключить свою разработку несколько глубже (как это было сделано в первоначальном варианте у "исходного" проекта) - врезаться в шину между машиной и дисплеем и когда нужно выводить "свое" - просто отключать дисплей от шины машины и рулить им самостоятельно. Предлагаю врезаться в шину не между машиной и дисплеем, а просто отключать от шины штатную балалайку. При этом для коммутации можно например использовать сигнал включения штатной балалайки или одну из её неиспользуемых кнопок. Подключение приблуды оставить так-же как сейчас, т.е. через диагностический разъём. Кстати когда балалайка выключена, конфликт сигналов не возникает? мерцание пропадает? З.Ы.: Я раньше тоже электроникой увлекался, а сейчас ленивый стал: купил в диагностический разъём блютус-заглушку, она из смартфона делает простой бортовой компьютер ))) Сообщение отредактировал !Lnur - 24.10.2014, 18:18 |
|
|
Текстовая версия | Сейчас: 5.10.2024, 14:26 |