Информационный портал MSEVM






ИК-приемник USB - IgorPlug-2


Эта разработка является продолжением темы ИК-приемник USB
Сайт команды разработчиков, работающих над проектом: http://mindrunway.ru




Вступление

      После покупки DVB платы SkyStar2 автор с удивлением обнаружил, что она комплектуется не USB HID устройством управления, а морально устаревшей версией DCD адаптера на порт RS-232 (в народе COM порт), который в моей машине занят под программатор и модем...
      Немного поискав в Интернете была найдена ссылка на интересное устройство IgorPlug, которое обрабатывало принятый с монолитного IR приёмника сигнал средствами встроенного микропроцессора, преобразовывало его и передавало отцифрованный результат измерений длительности фронтов сигнала по окончании принимаемой посылки в буфер своего драйвера по интерфейсу USB.
      При попытке повторения выяснилось, что устройство обладает набором существенных недостатков:

    A) Нет возможности установить устройство без прав администратора.
    B) Не работает на большинстве материнских платах от АТИ и Нвидеа.
    C) Не работает на 50% дорогих USB хабов. И на 90% дешевых.
    D) Из-за небольшой памяти микросхемы* устройство не воспринимает
      кодировки с длинными посылками (кнопки определяются одинаково).

* - Имелось в виду малое количество ОЗУ микропроцессора.

      Недолго думая, я открыл прошивку и начал её изучать. С первого взгляда выяснилось, что прошивка очень сырая, с многочисленными ляпами и багами.
      После исправления багов, удалось привести исходник к нормальному виду, а в последствии исправить все найденные выше недостатки. В результате чего получилась самостоятельная конструкция - IgorPlug2.


Особенности схемотехники IgorPlug-2

      В качестве замены был выбран более мощный процессор ATMega8, который на данный момент намного дешевле и доступнее раритетных AT90S2313 и AT90S2323.
       Светодиоды были перенесены на порт "C", а два не поместившихся старших бита на порт "D".
  • Универсальный вариант - перевёртыш: IgorPlugU_A4.pdf
  • А для любителей всё упрощать - минимальная версия: IgorPlug_A4.pdf
Вы спросите: "Почему перевёртыш"?

Просто плата разрабатывалась с учётом практически всех возможных реализации, т.е. в зависимости от конкретной прошивки, а так же количества и типа установленных деталей устройство приобретает разный набор функций (можно подключать: ИР передатчик, одно или несколько реле, задействовать периферию и многое другое)... Если искать аналогию, то можно сравнить с материнской платой компьютера т.е. в зависимости от текущей задачи - выбирается конфигурация...

Прошивки для переработанного варианта USB_Infrored под ATMega8/88.

Прошивка на базе 6 версии IR блока с USB модулем v0.3A.

Оставлена для частичной совместимости со старыми системами и имеет старую систему анализа. То есть, первые 7 байт (с 4 по 10, т.к. 1-3 служебные) имеют в 8 РАЗ МЕНЬШИЙ масштаб, а все последующие имеют в 4 РАЗА МЕНЬШИЙ масштаб по сравнению с постоянным масштабом последующих версий (от 8 выше).
Для исправления найденных недостатков USB части и повышения стабильности системы в целом проводилось несколько пересборок прошивки с применением последних USB модулей для ATMega8 и ATMega88 процессоров.

Прошивка на базе 9min версии для Mega8 для IR блока с USB модулем v0.3A.
Прошивка на базе 9min версии для Mega88 для IR блока с USB модулем v0.3A.

Это не обучаемая, урезанная 9 версия. Создана для создания файлов обучения полных 9 и как замена 8 версии. (полная, обученная 9 заменяет в режиме совместимости версию 6).
По сравнению с 6 версией IR блока 8 версия имеет в 4 раза более крупный масштаб, псевдо 2х байтовую посылку с интеллектуальным сжатием данных, что позволило отказаться от переменного масштаба.
В добавление к масштабу. В оригинальной конструкции время отмерялось 12 MHz / 1024, а в IgorPlug2 отмеряется 12 MHz / 256. Соответственно цена деления для оригинала будет 85,3(3) микросекунды (причём первые 7 бит по 170,6(6) микросекунды) и 21,3(3) микросекунды для IgorPlug2.


Данное устройство может управлять внешними нагрузками с помощью реле. Базовая конфигурация поддерживает одно реле (причём есть возможность работы с реле автономно от компьютера). Расширенная конфигурация ШТАТНО поддерживает четыре реле. А теоретический максимум - 128 реле (при подключении до 16 дешовых и доступных сдвиговых регистров с защёлкой - 74HC595 на встроенный SPI интерфейс).


При использовании одного реле, оно устанавливается вместо IR светодиода (смотри схему). Для коммутации внешних нагрузок вместо реле можно использовать 21. Полупроводниковый ключ переменного тока.


Для облегчения понимания тонкостей и пояснения методики настройки на сайте разработчиков создана страница - Быстрый старт. А полный перечень возможностей и направлений развития проекта - перечислен тут


Для программирования контроллера - можно использовать программатор: 09a. Программатор ByteBlaster


Топология печатной платы


Расположение элементов на плате




Если вас заинтересовал этот проект - вы можете принять активное участие в дальнейшей работе над проектом: Открытый проект: "ИК-приемник USB - IgorPlug-2"







e-mail рассылки
Радиолюбитель
Подписаться письмом
Найти DataSheet!










Яндекс цитирования Rambler's Top100