Показать сообщение отдельно
Старый 24.04.2009, 14:40   #323
CTAC
Новый Пользователь
 
Регистрация: 11.05.2008
Город: Москва
Регион: 77, 97, 99, 177
Машина: OPEL Zafira 2003
Сообщений: 5
CTAC is on a distinguished road
Talking Управление радио (и не только) от рулевых кнопок.

Есть идея как улучшить потребительские свойства CarRadio и избавить многих CarПиСюковцев от головной боли. Суть идеи:

Порты USB в CarPC всегда в дефиците и логично не делать на каждую необходимую функцию отдельное USB устройство, а совместить его с другим устройством, где эта функция используется.

Такие функции как выбор запрограммированных станций радио (или дорожек аудио, видео), поиск этих станций, управление громкостью… во многих авто это реализовано на руле, а для задних пассажиров на дополнительных джойстиках. И это всё часто остаётся не у дел после установки в машину CarPC.

Большинство этих функций активно используются в CarRadio, и более того, кроме CarRadio в машине больше нет самодельных USB устройств использующих эти функции.

Чаще всего в авто используются рулевые кнопки и джойстики резистивного типа. Управление устройствами происходит всего по двум проводам, изменением сопротивления между ними. Как реализовано у меня в Опеле смотри внизу; пример джойстика резистивного типа - SONY RM-X4S. Причём к любой кнопке-выключателю, или группе кнопок-выключателей оставшихся не у дел, после установки в машину CarPC, можно легко припаять резисторы разного номинала, чтобы назначить им полезные функции.

Даже энкодеры, которые очень любят использовать для регулировки громкости в штатных магнитолах, легко поддаются доработке резисторами. Например, наиболее распространённые инкрементальные энкодеры, имеют два контакта, которые замыкаюстя со сдвигом на 90° относительно друг друга (парафазные сигналы, для определения направление вращения). Припаяв к двум контактам такого энкодера, всего два резистора, например, 500 ом и 1 кОм при вращении энкодера в одну сторону получаем, по двум проводам, перебор сопротивлений: …разомкнуто, 1кОм, 333Ом, 500Ом, разомкнуто, 1кОм и так далее. Если вращать в другую сторону, то перебор сопротивлений меняется на обратный. Это позволяет определить направление вращения и, например, делать громкость больше или меньше.

Думаю, хватит теории, возвращаюсь к идее:
Предлагаю, использовать свободные входы АЦП микроконтроллера CarRadio, если не ошибаюсь ATtiny45, для управления радио от кнопок, выключателей, энкодеров и др. резистивного типа. Идея взята у Skyfire2, Кнопки на руле, способ решения, http://www.pccar.ru/showthread.php?t=5943

ATtiny45 имеет 4 канала АЦП и в CarRadio они вроде как не используются. В идеале, можно получить 4 канала управления: например, штатные рулевые кнопки водителя; энкодер регулировки громкости на центральной консоли; джойстик второго ряда сидений; и группа кнопок-выключателей “оставшихся не у дел”. Предполагаемое расположение CarRadio в торпедо или центральной консоли как раз находится в месте скопления большинства органов управления.

Программная реализация вроде тоже понятна: контроллеру ATtiny45 необходимо только передавать код АЦП через USB на виртуальный COM порт CarPC. А оболочка CarRadio должна только настроить назначение “горячих” клавиш в соответствии с кодом АЦП (для энкодера в соответствии с изменением кода АЦП), и передать их CarPC. Таким образом, можно управлять практически любой программой в CarPC. Кстати ни где в теме не нашёл что используется в качестве моста USB – UART наверное что то от FTDI?

Я конечно понимаю, что группе разработчиков в лице: archer, ZiLeG, Wanted (вроде ни кого не забыл) не до этого, надо реализовать основной функционал. Но эту работу можно разбить на два этапа. Первый, реализовать в “железе” и предусмотреть в формате протокола общения передачу кода АЦП; второй этап реализовать, при последующих обновлениях прошивки CarRadio и оболочки. Кстати, обновление прошивок CarRadio через USB предусмотрено? Могу если что, помочь с загрузчиком.

Реализовывать в “железе” 4 канала управления советую не так как у Skyfire2, а поставив перед входом АЦП счетверённый операционный усилитель. Такое решение обладает лучшей температурной стабильностью, а при малых значениях сопротивлений резисторов - уменьшит нагрузку по питанию от USB. Ну и защитит входы микроконтроллера от внешних воздействий. Разработчики, если надумаете, то могу, помочь со схемой.

Я думаю, что с таким функционалом многие будут приобретать CarRadio только из-за решения проблем управления CarPC.

P.S. Не ругайте, если Я чего не правильно понял в том, как реализовывается CarRadio, да и с передачей оцифрованного звука по USB ни когда не связывался. Я на этом форуме 2 недели. Да и осилить 33 страницы этой ветки не так просто.
Миниатюры
Нажмите на изображение для увеличения
Название: Стандартная схема подключения кнопок в Опель 1.jpg
Просмотров: 1335
Размер:	38.7 Кб
ID:	10775  

Последний раз редактировалось CTAC; 25.04.2009 в 14:40.
CTAC вне форума   Ответить с цитированием