Главная Проекты Идеи Soft О авторе
 

Поднимаем Hardware USB на AT90USB162 и AT90USB647.

Рис. 1 Второе и третье поколение плат на AT90USB162.
Увеличить.

А как проект развивался дальше? Проект на AT90USB162 перерос в самостоятельную ветку Twinkling Plug и все подробности по ветке Twinkling Plug вынесены на отдельную страницу.


Хотите ускорить выход IR проекта? Тогда поддерживаем авторов SMSками:

SMS.копилка

План.

       1) Вступление.
       2) Переход на аппаратное USB.
       3) Как это работает...
       4) Как это реализовано...
       5) Схема, компоновка, плата, спецификация...
       6) Как это прошивать...
       7) Какие прошивки доступны...

Рис. 2 Внешний вид R версии на AT90USB162.
Увеличить.

Вступление.

       Давным-давно в стародавние времена первых Pentium'ов у пользователей витала идея самостоятельно прикрутить имеющийся под рукой ленивчик*1 для управления программами на персональном компьютере.
       И как только появились в продаже первые моноблочные фотоприёмники*2, эта идея начала массово воплощаться в жизнь. В те времена Интернет был мало распространён, поэтому пользователи, опираясь на свои знания портов ввода - вывода компьютера, самостоятельно начали реализовывать свою задумку в жизнь.
       А к тому времени, когда Интернет приобрёл массовый характер, в нём появилось множество разнотипных*3 IR систем.

»Щелкните по этому тексту, чтобы развернуть (*1, *2 и *3).«

       Но время не стоит на месте и, благодаря постоянному обновлению аппаратной платформы компьютеров, часть из используемых в этих IR схемах интерфейсов, просто вымерла. С другой стороны программное обеспечение тоже не стоит на месте и в результате на большую часть оставшихся IR систем того времени, просто отсутствуют лицензированные драйвера*4 под новые ОС.

»Щелкните по этому тексту, чтобы развернуть(*4).«

Реальности девайсостроения на софтовом USB. Учитывая все вышеперечисленные "Узкие места", мы летом 2009 года скорректировали направление развития проекта IgorPlug2 и создали HID ветку прошивок, что решило большую часть проблем совместимости большого парка IgorPlug2 устройств пользователей с новыми ОС.
       Но обо всем по порядку. Всё начиналось с идеи просто передать данные об ИР сигнале на компьютер. У меня к тому времени уже было пару устройств (PS2 система и IR book reader), способных самостоятельно декодировать IR посылки в нескольких системах кодировок, а после многочисленных писем пользователей, испытывающих проблему отсутствия лицензированных драйверов для Win7, я решил свернуть IR блок этих проектов в USB систему джойстика на тот момент ещё двухпакетную.

»Щелкните по этому тексту, чтобы увидеть первый и второй этап.«

       На третьем этапе было решено делать HID перехватчик пакетов. То есть, система отправляет пакет только один раз, а перехватчик ловит этот пакет. В такой системе стало возможным работать не только со штатным плагином, но и со сторонним софтом, уже имеющем перехватчик. Так появилась прошивка под Mkey.
       На четвёртом этапе народу захотелось обратной связи (управление внешними реле), плюс плагин получался более стабилен, если работал в режиме вопрос-ответ.

»Щелкните по этому тексту, чтобы развернуть пояснения к 4 этапу.«

Рис. 3 Внешний вид R версии в корпусе.
Увеличить.

       А теперь, после описания всех этапов разработки системы, пришло время вернуться к текущим недостаткам. На самом деле их всего четыре и не особо критичных.
       1) Очень редко встречается, но все же пришло пару сообщений о том, что прошивка 4 этапа не стартует на первых самодельных Win 7 (добавление / улучшательство / самодельный перевод на украинский язык) *5.

»Щелкните по этому тексту, чтобы развернуть(*5).«

       2) В проекте IgorPlug2 используется не аппаратное USB по хардварной части*6.
       А из этого следует, что при использовании китайских запчастей и по самодельной схеме на свой страх и риск (о чём написано в низу каждой страницы проекта), никто не даёт никаких гарантий (относительно безопасности для портов ПК, стабильности и работоспособности устройства в целом). Единственное, что могу сказать, что у меня и у многих сот пользователей стабильно работает (повторений уже больше тысячи).

»Щелкните по этому тексту, чтобы развернуть(*6).«

       3) В проекте IgorPlug2 используется не аппаратное USB по софтовой части.
       А из этого следует, что с одной стороны оно "сильно" не скоростное*7 (аппаратный RS232 быстрее), а с другой - может в некоторых случаях не успевать своевременно отвечать на запросы. Простейший пример, недостаток под номером один, описанный выше.

»Щелкните по этому тексту, чтобы развернуть(*7).«

       4) В проекте IgorPlug2 изначально не предусмотрено само программирование с USB интерфейса.
       Этот пункт сложился чисто исторически и связан он с тем, что система делалась ТОЛЬКО для некоммерческого использования *9.
       В планах развития проекта само программирование есть, но для его реализации надо внести изменения в схему...

»Щелкните по этому тексту, чтобы развернуть(*9).«

Рис. 4 Внешний вид Q версии на AT90USB647.
Увеличить.

Переход на аппаратное USB.

       На данный момент, в текущей реализации системы IgorPlug2, решено большинство проблем (в результате, от первоначальной системы остались только название и идея), благодаря чему проект стал стабильнее и универсальнее, но его быстродействие определяется его софтовой реализацией, поэтому для работы в быстродействующих приложениях, необходимо переходить на аппаратный USB 2.0. Поэтому было принято решение переработать железо и прошивки проекта, создав новую быстродействующую систему, соответствующую certified full-speed USB 2.0 , соответствующую современным требованиям.
       Вторым стимулом*9 к разработке нового железа стало отсутствие совместимости IgorPlug2 систем с новым поколением PDA. В новых PDA отсутствуют привычные интерфейсы RS232 и IRDA, в большинстве из них присутствует только один проводной - USB клиент для синхронизации с персональным компьютером.

»Щелкните по этому тексту, чтобы развернуть(*10).«

       Суммируя эти два "стимула", мы вплотную подходим к созданию двух модификаций системы*11:
       А) Максимально дешевый и упрощённый USB клиент на AT90USB162.
       Б) Полнофункциональная Dual Role система на AT90USB647, которая поддерживает все функции клиента, но дополнительно позволяет через встроенный USB HOST подключать PDA.

»Щелкните по этому тексту, чтобы развернуть(*11).«

Как это работает...

       Создавая HID модификацию прошивки к проекту IgorPlug2, я собирал дескрипторы различных устройств и случайно заснял кадры синхронизации PDA со штатными драйверами. На вид они показались мне очень знакомыми (я до этого уже возился с USB-RS232 переходниками). А поверхностный осмотр виртуальных портов на PDA выявил наличие виртуального RS232 порта. Я запустил программу GPS навигации, а в качестве порта с GPS приёмником указал свеженайденный виртуальный RS232 порт.
       После подключения КПК к персональному компьютеру программа синхронизации отказалась синхронизироваться... Из чего я сделал вывод, что это ещё одна*12 модификация RS232 over USB, которых я в своё время насмотрелся предостаточно.

»Щелкните по этому тексту, чтобы развернуть(*12).«

Рис. 5 Внешний вид Q версии в корпусе.
Увеличить,        Вид без крышки.

Как это реализовано...

       Опираясь на вышеприведённые данные, было принято решение условно разделить все работы на четыре этапа:
       1) Оценочный этап*13. Статус - пройден.

»Щелкните по этому тексту, чтобы развернуть(*13).«

       2) Этап создания Dual Role системы и запуск клинта*14. Статус - пройден.

»Щелкните по этому тексту, чтобы развернуть(*14).«

       3) Поднимаем USB HOST в Dual Role системе. Статус - недостаточно данных.
       Для полномасштабного развёртывания полнофункциональной системы (а не только на один PDA автора) надо получить данные о нескольких десятках PDA. То есть, ту информацию, которую они отдают Виндовсу при подключении.
       4) Поднимаем интерфейсы пользователя. Статус - незавершён третий этап.
       Вспоминается анекдот про "Запорожец", в котором хозяин для охраны оставил собаку и надпись на лобовом стекле: "Мотора нет, бензина нет!!!". А когда через пол часа венулся, то увидел приписку ниже: "Тогда и колёса ему ни к чему!!! А собаку не ругайте, она действительно лаяла".
       Т.е. доделывать IR часть и остальные интерфейсы (MMC/SD флэшки, PS/2 мышки и клавиатуры) имеет смысл только после завершения проекта.

Схема, компоновка, плата, спецификация...

       Итак мы имеем два набора схем, компоновок и плат.
       Первый (R версия) - максимально упрощённый на AT90USB162 в виде законченного устройства для использования в качестве клиента в IR HID и в IR CDC приложениях.
       А второй (Q версия) , пока в виде демоплаты, полностью повторяет функции клиента первого, но дополнительно имеет опцию USB Host, для подключения к нему USB клиентов.
       Кроме самих процессоров на каждой из плат предусмотрено подключение двух кнопок Reset и HWB, IR приёмника в параллель к кнопке HWB, а также EEPROM памяти AT24C128.
       В принципе ничего особо сложного собирать и не надо. Так как есть готовые наборы AT90USBKey. Но у этих наборов в нашем варианте применения есть несколько недостатков:
1. Кварц на 8 МГц, а не на 16 МГц.
2. Питание на 3.3В, а не на 5В.
3. На плате с AT90USB1287 (или AT90USB647) разведена обвязка на 3.3В
4. На плате с AT90USB1287 (или AT90USB647) схема включения USB Host рассчитана на слабый ток.

       Поэтому если поменять кварц и проконтролировать 5В питание (поставив перемычку), то вполне можно использовать готовый набор с AT90USB162 или AT90USB82 (смотри рис. 8) для работы в минимальной конфигурации.
       С AT90USB1287 (или AT90USB647) немного сложнее. Там нет места для размещения фотоприёмника, и надо отпаивать лишнюю обвязку. Плюс усиливать схему питания USB Host (фото AT90USBKey с AT90USB1287 представлено на рис. 6).

Рис. 6 Можно и AT90USBKey использовать, но он на 3.3В...

Как это прошивать...

       Загрузка прошивки в процессор может осуществляться несколькими способами, но в данный ситуации самым простым является загрузка прошивки через имеющийся USB интерфейс*21. Для этого надо штатно подключить девайс к USB, потом зажать кнопку Reset, потом зажать кнопку HWB. На втором этапе отпустить кнопку Reset, а потом кнопку HWB. Windows должен найти новое устройство AT90USB162. Далее запускаем программу Flip и обновляем прошивку. Как видите, ничего сложного, даже никаких дополнительных проводов подключать не надо.

»Щелкните по этому тексту, чтобы развернуть(*21).«

Рис. 8 Собирали пользователи R версию на макетке...

Какие прошивки доступны...

       Проект на AT90USB162 перерос в самостоятельную ветку Twinkling Plug который имеет свой набор прошивок. Прошивки ниже устарели и оставлены только для истории

       Первая рабочая: СDС IR in прошивка, для управления компьютером (под управлением Windows) с пульта для процессора AT90USB162. Её можно скачать - тут.
       И демонстрационные прошивки - т.к. разработка не доведена до конца, то на данном этапе есть много демонстрационных прошивок, демонстрирующих работу первого и второго этапов. То есть, демонстрирующие работу клиента на AT90USB162 и AT90USB647 процессорах.

»Прошивки CDC ветки.«

»Прошивки PDA ветки.«


       Продолжение следует...

Ограничения.

       Устройство разработано по принципу КАК ЕСТЬ и автор не несёт ответственности за явный (или не явный) ущерб, причинённый в результате повторения.

То есть все эксперименты вы делаете на свой страх и риск.

       Если у вас возникли вопросы и предложения - пишите мне по адресу внизу страницы

       Если вы нашли на моём сайте что-либо интересное или полезное для себя и хотите видеть на этом сайте новые интересные проекты, а также поддержку, доработки существующих проектов, то все желающие могут поддержать данный проект, частично покрыть оплату хостинга, затраты на разработку и переделку проектов.

       Кошелёк для оплаты накладных расходов на сайт Z158779319858 в системе WebMoney.

       Принимаю только безвозмездную помощь :)


       Все статьи, опубликованные на этом сайте защищены Частью 4 Гражданского Кодекса Российской Федерации. Запрещено полное или частичное копирование материалов без согласия их авторов. Незаконное использование материалов сайта влечет за собой административную ответственность в виде компенсации в размере от 10.000 рублей до 5.000.000 рублей [Ст. 1301, 1250, 1252, 1253 ГК РФ]. При согласованном использовании материалов сайта обязательна активная ссылка на www.mindrunway.ru и указание авторства.



Copyright© 2007-2012 QuickWitted Почта     grani СОБАКА mindrunway РУ
Ссылки
Гостевая
Форум