ИК лучи и зачем это надо...

Управление компьютером

Про управление ПК от пульта RC от бытовой техники в сети есть несколько десятков ресурсов (если не сотен) и написано по разному и про все. Тут я ничего нового Вам не открою, просто у меня телефон с ИК портом и мне захотелось залить в телефон несколько любимых мелодий - это и привело к написанию этого материала и созданию (повторению) нескольких устройств.


1. Проект Igor Cesko

Устройство выполнено на AT90S2313-10. Работает по протоколу USB. Предназначено для управления ПК от пульта дистанционного управления от бытовой техники. Для работы с ПК используется программа Girder3.29. В своей конструкции я использовал ИК приемник типа TSOP 1736. Все радиокомпоненты - SMD (для поверхностного монтажа). Покупаем все радиодетали. Делаем печатную плату проверенным методом утюга. О том, как это сделать - читай здесь. Шьем микроконтроллер. Запаиваем радиодетали. Подключаем к USB - разъему. Ставим драйвера. В панели управления в разделе устройств: Контроллеры универсальной последовательной шины USB после установки драйверов появится новое устройство: Infrared computer remote control IgorPlug-USB. Далее, ставим Girder, в настройках которого подключаем плагин для работы с вышеупомянутым устройством. И все... У меня все заработало сразу. Ну, или почти сразу. Дело в том, что не смотря на весь предыдущий опыт работы с USB устройствами, я перепутал питание на печатной плате. После первого подключения пропала мышь, погас мой LCD-индикатор, но дыма и запаха не было.Прошло около 15 cекунд, пока я тестером проверил напряжение на выводах микроконтроллера. Устройство отключил. Микроконтроллер выпаял. Выпаял все остальные детали. Сделал новую печатную плату, запаял все обратно. Все заработало. Причем, сразу и как надо.

Схема

Печатная плата. Низ

Bottom Layer

Top

Bottom


2. IrDA для мобильного телефона

Здесь дело обстоит проще. Берем схему, покупаем радиоэлементы, делаем печатную плату, запаиваем, подключаем к материнской плате, включаем компьютер, настраиваем и все работает. Единственная проблема - различная цоколевка выводов IrDA на материнских платах различных производителей. Обратите на это внимание - у Вас цеколевка может не совпадать с моей! Разводка разъема IrDA есть в каждом руководстве к материнской плате. У меня МВ фирмы EpOX. Пробовал на другой плате EpOX - все работало. ИК порт без проблем работал с телефонами Alcatel735, Мицубиси.

Схема

Плата

В итоге

Тестовое устройство


Задача состояла в том, чтобы использовать ИК порт для подключения мобильного телефона Samsung C100. Существует несколько программ, которые позволяют подключаться к телефону Samsung C100 посредством ИК лучей: EasyGPRS 2.1.8 (27Mb) и SamsungPhoneManager 1.8 b5. Проблема одна - используется виртуальный IrDA СОМ-порт, через который все это работает. Но и тут ничего страшного нету. После того, как Вы спаяли эту плату и подключили ее к МВ, после включения компьютера необходимо в настройках BIOS сделать следующее:
1. Integrated Peripherals->>SuperIO Device->>UART Mode Select->>IrDA
Ну, еще можете включить полный дуплекс. Остальные настройки можно оставить без изменения.
2. В файле: C:\WINNT\inf\msports.inf необходимо в секции
[Std]
% *PNP0400. DeviceDesc % = LptPort, *PNP0400; Printer Port
% *PNP0401. DeviceDesc % = EcpPort, *PNP0401; ECP Printer Port
% *PNP0500. DeviceDesc % = ComPort, *PNP0500; Communications Port
% *PNP0501. DeviceDesc % = ComPort, *PNP0501; Communications Port
;
; Добавить еще одну строчку
% *PNP0510. DeviceDesc % = ComPort, *PNP0510; Generic IR device / COM-порт
в секции
[Strings]
MS = "Microsoft"
Std = "(Standard port types)"
PortsClassName = "Ports (COM & LPT)"

*PNP0400. DeviceDesc = " Порт Принтера "
*PNP0401. DeviceDesc = " ECP Порт Принтера "
*PNP0500. DeviceDesc = " Порт Коммуникаций "
*PNP0501. DeviceDesc = " Порт Коммуникаций "

; Добавить описание устройства для PNP0510
*PNP0510. DeviceDesc = " Generic IR device / COM-порт"
В списке устройств в самом низу должно появится Устройства ИК-связи, а в нем - Встроенное устройство ИК связи. После этого с этим устройством можно работать как с обычным портом. Скачиваем из сети файл virtual_IrCOMM2k-eng.rar и инсталируем виртуальный ИК порт. После установки в разделе Порты COM и LPT у Вас должен появится Virtual IR COM port. Устанавливаете одну или обе программы (у меня работают обе программы: EasyGPRS и SamsungPhoneManager). В настройках выбираете IrDA (для EasyGPRS) или СОМ4 (для SamsungPhoneManager). Номер СОМ порта - дело сугубо личное. Обычно их один или два на МВ. Просто, они могут быть у Вас заняты или не заняты. В общем, виртуальным назначается ближайший после встроенного в МВ СОМ порта. В EasyGPRS виртуальный СОМ ассоциируется сразу с IrDA и в списке он обозначен как IrDA. И когда в настройках Вы будете выбирать ИК порт, там будет что-то типа: СОМ1, СОМ2, СОМ3, IrDA... В SamsungPhoneManager будет что-то пита: СОМ1, СОМ2, СОМ3, СОМ4... После этого активируем в неастройках телефона IrDA и ложим радом с приемо-передатчиком. После этого в системном трэе (внизу, около часов) появляется иконка ИК связи и при наведении на нее курсора мыши появляется всплывающая подсказка: "SamsungSGH-C100 находится в перделах видимости". Запускаем одну из программ, жмем "Подключиться" или "Переподключиться" (в зависимости от программы) и все ОК. Заливаем полифонию и т.д.


3. IrDA с различными интерфейсами

Повторять чужие устройства можно сколько угодно. Пора что-то свое показать. Т.к. обе программы для Samsung SGH-C100 работают через виртуальный СОМ порт, то и моя схема будет работать также - через виртуальный СОМ порт. Основа схемы - FT232BM, микросхема, которая реализует виртуальный СОМ порт. Наиболее полную информацию вместе с типовыми схемами включения можно найти на сайте производителя. На этой же микросхеме я собрал ISP - USB программатор для AVR. Принципиальная схема имеет вид:


Микросхема 93C46/56/66 - устанавливается "по желанию" (необходимости). Т.е. если Вы не подключаете к компьютеру ОДНОВРЕМЕННО два и более устройств на FT2XX, то 93С46/56/66 можно не ставить. Для 93С46/56/66 возможны два варианта внутренней организации: 8 бит или 16 бит. Выбирается это посредством подключения вывода 6 на "+5V" или на общий провод. В нашем случае необходимо вывод 6 посадить на "+5V" (будет выбрана 16 битная организация). Вывод 7 я оставил неподключенным. При выборе микросхемы 93СХХ будьте внимательны: у различных производителей различная цоколевка (с поворотом на 90 град.). Кроме того, у одного и того же производителя цоколевка меняется в зависимости от корпуса. Я использовал 93С46 от ATMEL. В 93С зашивается Manufacturer, Manufacturer ID, Vendor ID, Product ID, Description для того, чтобы при подключении более одного устройства одновременно они не конфликтовали между собой, а компьютер знал - какое устройство чем занимается. Это все просто (не смотря на количество полей). После прочтения документации все становится совершенно понятным.

Остается только спаять эту схему и проверить на макетке. Можете попереписываться с инженерами компании FTDI - отвечают они быстро и по делу. Можете даже у них попросить уникальные PID's для своего устройства - чтобы быть неповторимым.
Идем дальше...

Зачем я все это пишу? Просто, в последнее время на форумах, посвященных мобильным телефонам, практически ВЕЗДЕ и ПОВСЕМЕСТНО пишут, мол "...нету схем ИК портов, а готовое устройство покупать не хочется". Раз не хочется - тогда Вам сюда. Но если Вы не умеете держать паяльник в руках - лучше купите готовое устройство - сэкономите деньги и нервы.Вот еще несколько схем, которые совершенно нетрудно сообразить проведя в сети пол часа - час. Скажу сразу, на радиорынке я ни одной из микросхем (кроме TFDS4500/4100) тоже не нашел, и на заказ никто не хочет везти, а, стало быть, позкспериментировать с ними пока нет возможности. Итак, решение проблемы "влоб" - классическая схема 2003 года от Sigmatel:

Еще одна классическая схемано уже конца 2004 года от Sigmatel:


Мало??? Тогда еще одно решение от Hewlett Packard - имея на входе сигнал уровня TTL получаем еще одну реализацию ИК порта:

А откуда взять сигнал логического уровня TTL? А вот откуда - берем и подключаем FT232BM, и получаем USB на входе и сигналы СОМ порта уровня TTL на ее выходе. Т.е. принципиальная схема имеет вид:



Еще можно нарисовать схемку ИК порта такую: с СОМ порта сигнал подаем на МАХ202СРЕ. C выхода МАХ202СРЕ сигнал (а на выходе МАХ202СРЕ сигнал уже TTL) подаем на HSDL7001/IRM7001 (схема была приведена выше) и все! Больше ничего не надо. Вот Вам еще один ИК пoрт: