Форумы Modlabs.net: Подключение к USB - новый подход - Форумы Modlabs.net

Перейти к содержимому

  • (2 Страниц)
  • +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Подключение к USB - новый подход

#1 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 13 Январь 2004 - 17:46

Итак, я отдышался после аврала и подумал, что давно от меня не было веселых идей. Кидаю рабочий документ по отлаживаемой сейчас железке

базовая идя взята отсюда: http://www.moddcom.net/index.php?modul=stati&tip=4&id=79

неудобство контсрукции в том, что от клавиатуры идет достаточно толстый провод (я например, люблю работать в кресле, с клавиатурой на коленях). Вдобавок, занимается ценный LPT-разъем.
Возникла идея объединить подключение в один интерфейс. Самый простой вариант - поставить USB hub в клавиатуру и подключить к нему и клавиатуру и LCD. Недостатки метода: цена, нехватка места в клавиатуре.
Следующая идея - подключить клавиатуру к контроллеру USB LCD. Идея показалась мне интересной и я зарылся в документацию. Оказалось, во-первых, что в одном интерфейсе можно объединить несколько устройств, во-вторых - что если эти устройства относятся к стандартным типам, их поддержкой будет заниматься система, в третьих - что драйвера стандартным устройствам тоже не требуются.

Далее идет мой рабочий документ по проекту (с некоторыми комментариями). Как говорится - задавайте вопросы.


HID-device: multimedia keyboard+LCD

- назначение.
[list]Предполагается добавление LCD к клавиатуре для индикации результатов мониторинга, дополнительной
информации и прочих вещей, которые обычно выводятся на LCD. Кроме того, туда же можно выводить
дополнительную информацию по режимам клавиатуры и не только (средняя скорость набора :) ).
то, что получается, видится со стороны PC, как стандартная USB клавиатура с multimedia и
power клавишами. + стандартное HID устройство.[list]
- отличия от аналогов.
[list]устройство подключается по одному USB проводу.
не требуются драйвера (даже dlportio)[list]
- элементная база
[list]окончательная схема будет после того, как будет дописана программная часть
планируется связка из ATmega32+PDIUSBD12, MT-12232B, 8 светодиодов, кварц 6MHz,
десятка два резисторов и конденсаторов. Себестоимость - порядка $10, не считая индикатора.
Встраивать планируется в клавиатуру Logiteck Internet Navigator
Если особо не увлекаться фонтами, должно хватить и ATmega16. (Я сейчас отлаживаюсь на
своей тестовой конструкции из ATmega16, PDIUSBD12 и PSE12864URT). [list]
- программная поддержка
[list]в начальном варианте планируется работа с любой программой, которая поддерживает HD44470 на
LPT в режиме эмуляции 20x2 или 20x4. Далее - планируется дописать собственную программу.[list]
- дополнительные применения
[list]на базе данной программно-аппаратной конструкции легко делать всяческие пульты и выносные консоли,
не требующиен дополнительных драйверов и плагинов, т.к. все команды транслируются в стандартные
нажатия клавиш/системные события. Например, можно сделать ИК-приемник, который не требует
плагинов, действует на все программы, которые понимают стандартные multimedia-клавиши и
может включать компьютер.[list]
- готовность прошивки покомпонентно и недоделанные места
[list]
отсуствует power management, требуется легкое переписывание обработки принятых пакетов
USB (реализация HID) - 40%
реализовать полный набор команд HID
USB (keyboard HID) - 90%
обработать HID_SetProtocol
обработать получаемые HID_Report (зажечь соответствующие светодиоды)
USB (multimedia&power HID) - 30%
составить список клавиш, которые должны выводиться и соответствие их клавишам клавиатуры
сделать операции, аналогичные keyboard HID
USB (LCD HID) - 0%
проверить работу нескольких HID на одном интерфейсе
адаптировать имеющийся протокол
реализовать протокол обмена
PS/2 - 75%
переписать посылку байта, чтобы она работала по прерыванию
сделать запрос на перепосылку некорректно принятого байта
keyboard - 98%
добавить мультимедийные клавиши
LCD (минимальный набор) - 80%
пакованные форматы данных
еще раз пройтись по коду и вычистить все, то не нужно
*LCD (графика) - 0%
вывод произвольной точки, линии, окружности (а нужно ли это?)
*LCD (фонты) - 25%
дорисовать фонт 5x7 (совместимый с MT-162)
нарисовать фонт 8x8 и 8x16, псевдографику
*автономная работа - 0%
написать список функций, которые устройство должно поддерживать автономно
*bootloader - 20%
выделить необходимую для работы бутлоадера часть прошивки, ужать ее в 2К[list]
план работ по приоритетам:
[list]
f/w - реализация HID
f/w - keyboard HID
f/w - keyboard
f/w - LCD HID
s/w - модуль для работы с HID
s/w - переделка перехватчика DLportIO для работы с HID
*milestone 1* - имеем работающее устройство на макетке
h/w - паяется окончательная версия схемы
f/w - bootloader
h/w - встраиваем индикатор в клавиатуру
*milestone 2* - имеется окончатальная версия железа
f/w - LCD фонты
f/w - multimedia&power HID
*milestone 3* - программа-минимум выполнена.
далее формулируется список того, что хотелось бы видеть в программной части[list]
0

#2 Пользователь офлайн   Artful 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 38
  • Регистрация: 24 Ноябрь 03

Отправлено 14 Январь 2004 - 00:46

listener
Идея хороша! :gigi: Успехов тебе в ее реализации и ждемс гайд о изготовлении сиго девайса. :gigi:
0

#3 Пользователь офлайн   Otro 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 129
  • Регистрация: 07 Июль 03

Отправлено 14 Январь 2004 - 03:31

Если сделаешь и всё заработает, тебе нужно будет памятник при жизни поставить! :gigi:
0

#4 Гость_Reboot_s_*

  • Группа: Гости

Отправлено 17 Январь 2004 - 00:26

Одно слово - идея класс!
0

#5 Пользователь офлайн   Unnamed 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 414
  • Регистрация: 05 Июль 03

Отправлено 17 Январь 2004 - 13:18

Идея супер :shuffle:
Удачи тебе в ее реализации.
0

#6 Пользователь офлайн   Yoj 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 111
  • Регистрация: 27 Декабрь 03

Отправлено 17 Январь 2004 - 22:06

:)
Ждемс гайд ! :idea:
0

#7 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 17 Январь 2004 - 22:38

Yoj
Доделать бы....

Но прогресс наблюдается. Как переходник PS/2->USB оно уже работает.
0

#8 Гость_Reboot_s_*

  • Группа: Гости

Отправлено 01 Февраль 2004 - 00:43

Хотелось бы узнать если возможно - как дело то дальше движется? :lol:
0

#9 Пользователь офлайн   TimeKeeper 

  • Master of Time
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 738
  • Регистрация: 18 Январь 04

Отправлено 01 Февраль 2004 - 12:21

Да, идейка супер, сделаешь-респект! :D
0

#10 Пользователь офлайн   Ламер со стажем 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 316
  • Регистрация: 03 Январь 04

Отправлено 01 Февраль 2004 - 13:56

Круто!!! Ждём гайд... :D
0

#11 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 01 Февраль 2004 - 17:42

Reboot_s
работа движется, хотя и медленно (не до того мне, слегка)
клавиатура уже работает
0

#12 Гость_Reboot_s_*

  • Группа: Гости

Отправлено 01 Февраль 2004 - 22:22

Так клавиатура и сначала работала :D Жаль конечно что ничем помочь не могу, а то думаю купить новую клаву и сразу вставить в нее дисплей. Поскорее хочется.
0

#13 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 02 Февраль 2004 - 16:07

Reboot_s
Сначала - она работала по ps/2. сейчас - по USB, на LCD пока выводятся сканкоды.

т.е. PS/2 готов практически полностью, KeyboardHID практически готов...

Добавлено Пт Фев 13, 2004 2:30 pm:

Ночью дописал табилцу перевода скан-кодов в HID-reportы и на радостях сел гамиться в DeusEx 2 - полтора часа - отрицательных впечатлений нету, клавиши отрабатывают быстро и четко. Теперь надо попробовать что-нибудь более быстрое и клавишное, DOOM, например.

Несколько фоток:
общий вид стола - http://listener.fatal.ru/IMG_0011.JPG
объект грядущих измывательств - http://listener.fatal.ru/IMG_0012.JPG
устройство в развернутом виде - http://listener.fatal.ru/IMG_0014.JPG

(фотки сделаны совершенно ужасной мыльницей, поэтому крупного плана не получилось).
0

#14 Пользователь офлайн   Dushman 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 115
  • Регистрация: 02 Апрель 04

Отправлено 28 Апрель 2004 - 17:27

listener : Слушай, а можешь выложить схемы переходников с PS/2->USB для мыши и клавиатуры?
0

#15 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 28 Апрель 2004 - 18:00

Dushman на каком контроллере?
0

#16 Пользователь офлайн   Karlito 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 292
  • Регистрация: 08 Декабрь 03

Отправлено 29 Апрель 2004 - 00:11

Молоца :gigi:
0

#17 Пользователь офлайн   GYver 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 98
  • Регистрация: 15 Сентябрь 03

Отправлено 29 Апрель 2004 - 00:28

listener

Скидывал бы сюда , а то рано бой како-то выходит , хотя всё нормально , вить твоя в основном по електронике катит ....
0

#18 Пользователь офлайн   djevis 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 823
  • Регистрация: 16 Март 03

Отправлено 29 Апрель 2004 - 07:15

listener WOW! Очень интересная идея . . . respect за желание!
0

#19 Пользователь офлайн   Atlanto Info (Slash) 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 22
  • Регистрация: 26 Апрель 04

Отправлено 29 Апрель 2004 - 08:26

ГАЙД.. хацу ГАЙД... =))) :gigi:
0

#20 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 29 Апрель 2004 - 11:54

Мне бы времени побольше. На работе опять... ну, не аврал, но задачек больше среднего. Гайд по USB LCD надо дописать (может, на праздниках закончу). Собственную LCD софтинку дописать. Написать нормальный аутлайнер для покета, а то пальмисты на работе достали тыкать, что для покета Bonsai нету ... Доделать термоконтроллер для компа.

А еще в планах - доделать FAQ по индикаторам (всем подряд - от светодиодов до VFD). Написать статью по работе с USB (c упором на теорию) и заодно пройтись по интерфейсам вообще, чтобы было куда чайников посылать. А потом можно будет и собственный кастом делать, как раз под BTX.

Это с учетом того, что за наработки по реверс-инжинирингу я уже с год не брался ...

Atlanto Info (Slash)
Я тоже :)
0

Поделиться темой:


  • (2 Страниц)
  • +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

3 человек читают эту тему
0 members, 3 guests, 0 anonymous users