Цифровая часть приемопередатчика.
После долгих экспериментов я пришел к выводу, что простой и надежный приемник для RS232 сделать трудно. Для RS232 надо мастерить что-то вроде схемы "привязки к уровню черного (или белого?)" - как в телевидении. Простыми средствами мне это сделать не удалось. Поэтому было принято решение перейти к импульсно-кодовому представлению сигналов RS232 и передаче информации импульсами. Такая система давно разработана и называется IRDA. Однако по условию задачи связь должна быть через ком-порт. Где-то в и-нете я видел микросхемы (буржуйские, разумеется) которые подключаются прямо к ком-порту, а на выходе у них импульсная последовательность или даже просто оптический сигнал. И приемник встроен в ту же микросхему. Мне эта штука не понравилась по двум причинам: относительная дороговизна и жесткая привязка к фиксированной скорости ком-порта. Т.е. если вы (или какая-то умная программа) решили перенастроить порт на другую скорость - вам надо менять тактовую частоту на входе микросхемы. По всем эти причинам я решил смастерить что-то похожее на IRDA, но более простое и независимое от скорости работы порта. Вот что получилось.
Стандарт FIRDA. Каждый фронт в сигнале RS232 кодируется коротким однополярным импульсом, который передается по оптическому каналу. Hа приемнике эти импульсы поступают на вход триггера, работающего в счетном режиме. Hа выходе триггера получаем (в идеале) сигнал RS232. В принципе, это все. У это чудесного по своей простоте алгоритма есть только один существенный недостаток, который заключается в том, что при пропуске хотя бы одного импульса, на выходе триггера начинает появляться инверсия сигнала RS232. Конечно, можно сказать, что при потере стартового фронта в RS232 (или первого импульса в пачке IRDA) тоже произойдет сбой синхронизации, который при плотном потоке информации может быть ликвидирован не скоро. Однако, в предлагаемой системе потеря любого (а не только первого) импульса приводит к неприятностям. Грубо говоря, помехоустойчивость FIRDA раз в 8-10 хуже IRDA или RS232.
В принципе, это было бы не так страшно (считаем, что ошибки появляются достаточно редко), если бы с течением времени FIRDA выходил на нормальный режим работы, как это происходит с его именитыми прототипами. Однако, если не предусмотреть специальных мер, FIRDA так и будет гнать инвертированный поток, пока не произойдет еще одного сбоя ;)) Именно длительная инверсная работа мне казалась главным недостатком FIRDA и я дополнил его маленькой добавкой, которая в последствии меня самого удивила своей эффективностью и практически решила все проблемы. Добавка очень простая: если в течении некоторого времени (ну например 0.1 сек) на выходе триггера присутствует "1", то следует принудительно перевести его в нулевое состояние (считаем, что в паузах передачи на выходе RS232 - ноль). Теперь для полного счастья надо дергать готовность ком-порта передатчика один раз в 10 сек, прерывая передачу на 0.1 сек, с тем чтобы триггер приемника установился в исходное состояние. Очевидно, в данном примере потери в скорости передачи - 1процент. Вот теперь, действительно все.
Как показала практика, дергать готовность ком-порта передатчика не надо. Многочисленные эксперименты показали, что при реальной работе через ком возникает множество естественных пауз различной длительности. (были проверены несколько сетевых игрушек, сеть между двумя Вин98, терминалки с разными протоколами. Действительно плотный поток оказался только у терминалок, работающих через Z-модем). В моей версии линка время принудительной установки триггера выбрано около 5 миллисекунд. Такие паузы встречаются очень часто. Правда, это ограничивает снизу используемые скорости передачи (в моем случае - не меньше 2400). Зато никаких проблем ни с каким софтом я не имел во всем диапазоне скоростей 2400..115200.
Другие возможные схемы.
Uday Kamath информировал меня, что он получил хорошие результаты на скоростях до 9600 бод., используя следующую схему:
+5v | | collector | / ---> |/ phototransistor light | ---> |\ | V emitter |_________________________ 0 and +5 out | / \ 1.5k / \ | gndСхема эта даёт сигнал 0 и 5 вт который не совместим с RS232. Схема должна использоваться с MC1488 (или другим) RS-232 за драйвером, чтобы преобразовать сигнал совместимый с RS232. Я не пробовал эту схему, но идея, кажется, стоящая.
Идеи для получения более быстрых скоростей.
Причина в медленной работы лазерной связи была вызвана (преднамеренно) медленной скоростью лазерного диода. Большии скорости модуляции могут быть достигнуты при использовании лазерного диода, который предназначен чтобы модулироваться. Имеются некоторые модели лазерного диода, которые имеют опцию модуляции, встраивал лазерный модуль (отдельный провод для сигнала модуляции). Эти лазерные модули намного дороже чем те дешевые лазерные указки.
Автор: Tomi Engdahl
Перевод на русский язык мой, т.е. Борисенко Андрея.
Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Связь на ИК лучах.
Всё предельно просто и понятно. Я применял для связи своего компьтера и ноутбука, чтобы не мучаться с проводами. Хотя также "выглядит" как нуль-модемная связь.. Если подключить эту схему к разьёму на материнской плате вашего компьютера, то Windows9x без проблем её найдёт и установит.
Я её взял с журнала "Радiоматор" (ссылку не помню).
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Сваязь на IRDA
Предлагаю вашему вниманию схемку на IRDA.
Схема приемника Рис.1.
О конструкции: Пока я незаэкранировал эту микросхему, я думал она не работает. Hа двухстороннем текстолите прорезаем маленькие квадратики под ножки, паяем микросхему. Вырезаем из консервной банки экран и закрываем всю конструкцию, нижнюю часть текстолита соединяем с экраном. Можно для начала без экрана попробовать, снизив чувствительность добавлением R4, но это так плохо работает..
Максимальная скорость передачи, которую мне удалось достич 38.4 кбод. Это соответствеут 4.88 мкс, (204.918 кГц ).
Ограничение вносит К1056УП1. Возможно, для повышения частоты требуетс изменение С1, С2, С3, но мне это не удалось (хотя я просто коротил емкости, а не изменял их).
Hа 19.2 кбод связь уверенная, на 57.6 кбод передача начинается, но за одну, две секунды из хорошей превращается в очень плохую вплоть до разрыва связи. Думаю просто эти импульсы микросхема детектирует как помехи и снижает чувствительность. И ещё не нужно светить лезером(или светодиодом) с расстояния 1 м прямо в фотодиод это вызывает его перенасыщение и скорость падает до 2400, если у вас маленькие расстояния поставьте перед фотодиодом лист плотной бумаги.
Схема не боится засветок, 100 Вт лампа с расстояния 10 см, не повлияла на работу никак.
Для индакации я ставил параллельно R3 светодиод с резистором 100 Ом, тогда видно приходящий сигная визуально. Прежде чем подключать к компьютеру подайте на схему 5V и посветите любым пультом дистанционого управления (от видака, телика, СД).
Схема передатчика Рис.2.
Резистор R3 я ставил для лазера, чтоб он еле еле светился. Я думаю, это повысит быстродействие, и продлит срок службы лазера.
Распайка разъема IR Рис.3.
Уровни TTL, в 7-ми конактном разъеме есть сигнал RXH я незнаю что это и поэтому не применял его.
Чтобы проще было разрабатывать под IR, спаяйте только один приемник и передатчик, а вместо второго канала пробросте провод RX-TX между разъемами. Объязательно соедените корпуса машин и выводы GND! Програмно: В win98 при включении IRDA оно найдется и поставится "Устройства ИК-связи", будут эмуляция LPT3 и СОМ4. Теперь можно через сом4 запустить "прямое соединение". Эти машины соеденяться в сеть. (Hа win95 это я тоже делал, но там больше ручной работы.)
Автор: Слава Ермохин.
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Очень простая схема линка на лазерных указках.
Hу так вот, примерно такая конструкция работает на расстоянии в 300 метров, больше лазер из указок врядли вытянет (670nm 3mW), и очень важна правильная центровка (т.е. приходилось довольно часто корректировать место положение передатчика дабы попадать точно в фототранзистор приемника), потом скорость меняется в зависимости от времени суток (светло - темно), в дождь и снег практически не работает, на приемник желательно надеть трубку черную 30х100мм, что-бы свести к минимуму засветку фототранзистора дневным светом, к тому же на лазер время работы 50.000 часов до отказа.
Итак: (на расстоянии ~300м следующие рез-ты):
Cветло - 9600-14400bps.
Темно - 9600-28800bps.
Возможно автор этой схемы Gleb V.Marmuzov (2:5020/1281.666)
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Ещё один пример усторойства на ИК и лазерах.
Буржуйские детали заменяются отечественными по справочнику.
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Инфракрасный порт для компьютера.
Это устройство позволяет установить связь на ИК лучах с любым бытовым устройством в вашей квартире имеющим ИК канал управления. Благодаря ему можно управлять с компьютера телевизором, видеомагнитофоном и т.д.
Также позволяет вести обмен данными с другим компьютером, сотовым телефоном, лаптопом и др.
Список необходимых радиодеталей:
R1 - 220 Om
R2 - 220 Om
X1 - npn (3904 type)
IRX - фототранзистор
IRD1 - ИК диод
IRD2 - ИК диод
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Инфракрасный порт.
Она проще не бывает: берем ИК-трансивер (приемопередатчик) и распаиваем его в соответствии с типовой схемой включения, приведенной в спецификации. Подобные микросхемы производят многие известные зарубежные компании. Вот список известных мне трансиверов:
MAX 3120 - MAXIMHSDL 3600 - Helwett PackardTFDS6500E - Vishay Telefunken Мне подвернулась HSDL 1001 - немного устаревший трансивер со скоростью передачи данных до 115 Кбит/с. Это немного - в ноутбуках, как правило, до 4 Мбит/с.
Типовая схема включения. У меня она работает с резистором 11 Ом. Рекомендуется подпаивать конденсаторы как можно ближе к чипу.
Для размещения деталей использовал кусочек стеклотекстолита, опять же переводными картинками нарисовал дорожки и вытравил плату.
Импортный текстолит 1мм. Детали подпаял со стороны печати, предусмотрел контактные площадки для подпайки проводов.
Всю разводку прекрасно видно сквозь текстолит. Справа - железный фиксатор из комплекта разъема для COM-порта. Использовал экранированный провод длиной около метра.
Плату поместил в обрезанный копрус разъема для СОМ-порта. Справа - разьем для motherboard, это фрагмент обычного IDE разъема.
Подключал схему к материнской плате ASUS P2B, предварительно включив в BIOS поддержку инфракрасного порта. (Chipset Features Setup->>UART2 Use Infrared ->> Enabled). Правда, пришлось свой внутренний модем перенести на COM3, иначе он конфликтовал с IrDA. Если все сделано правильно, то при загрузке Win9X сразу же найдет ИК-устройство и сама установит драйвера для него.
Win9X как правило ставят ИК-порт на СОМ4, что и следует указывать при настройке программ. WinME тоже ставит на СОМ4, но это не афиширует :-). Устанавливать IrDA на WinNT Win2K я пока не пробовал.
Думаю, что подобную конструкцию можно заставить работать на многих материнских платах, нужно только узнать распиновку разъема на плате. Сделать это можно с помощью бумажной инструкции на MB, либо посмотреть на сайте производителя. Хоть все разъемы MB ASUS имеют одинаковую распайку, мне так и не удалось заставить работать этот ИК-порт на чипсете LX97 - самый мерзкий и глючный чипсет, с которыми мне пришлось работать. Причем Win9X находила порт, но при попытке работать через него возникала ошибка. На других платах все было отлично..
Автор: Dmitry Ts.
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Приемник ИК-сигналов для ПК.
ИК-приемник: любой
Диод: КД521, КД522 и др. аналогичные кремниевые
Конденсатор: 10мкф x 16v
Для работы с устройством можно использовать различные программы, например WinLIRC.
Автор: Александр Маслов
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Преобразователь TTL в RS-232.
Используется для подключения лазерного линка к COM порту вместо IRDA разьёма на материнской плате.
----------
И ещё..
К170АП2 - преобразует TTL в RS-232
К170УП2 - наоборот (RS-232 в TTL). // Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
Настольный макет лазерной связи на
<<< К списку раздела.
Настольный макет лазерной связи на 10Mbit
Настольный - значит на "проводочках" на столе, не оформлен в корпус. Дистанция между светодиодом и фотодиодом 5 см, но интенсивность света такая-же, как и с дистанции 250 метров с 5-ти милливаттной указки.
Макет очень "сырой" можете его не бомбить, я сам вижу всё его убожество, но он сделал главное - заработал. Через него я сидел в инете весь вечер, и отправлял письма.
В сущности, усилитель собран из двух одинаковых модулей, объединённых эмиттерным повторителем. Построение из двух разделённых по постоянной составляющей модулей, уменьшило воздействте постоянного тока со светодиода от солнечных засветок, и дало возможность не разделять конденсатором фотодиод и вход усилителя, иначе пришлось бы ставить нагрузку на фотодиод, а это бы его шунтировало, т.е. уменьшило бы его отдачу, сказалось бы на частотной характеристике и т.д.
В этом макете есть, по крайней мере, две изюминки:
1. Фотодиод низкочастотный, а работает на высокой частоте, у него большое окошко, что облегчит наведение его на излучатель, он стоит на момент написания этого текста 10 руб.
2. Все детали, как и обещано, нашенские, а транзисторы по 3 руб за штучку.
Из недостатков можно указать, что частотку валит он в два раза, т.е 5-ти мГц импульс он усиливает в два раза сильнее, чем 10-ти мГц. Видимо, с дистанции 250 метров он будет принимать сигнал (если будет) на ниточку - т.е. еле-еле. Не поставлены фильтры по питанию, а применены четыре источника питания, независимые и стабилизированные, но всё-едино он работает на грани возбуда.
Но всё-же, отправная точка есть, плох макет или хорош - его можно доработать, а общие навороты и их размеры теперь ясны. У меня на подходе очередная модификация, улучшенная.
Макет был включен в разрыв в витой паре, при этом, модулятор запускался сигналом от хаба, до него дистанция была 40 метров, приёмник работал через 10-ти метровый отрезок на приём в сетевой карте компа, а передача от компа на хаб шла по проводу.
Так что связь получилась однобокой - на приём от хаба через свет, а на передачу через проволоку.
Конструктивно макет был выполнен в экранирующей коробочке от блока ДМВ телевизора, правда эта коробочка оказалась тесноватой для такого количества деталей, можно применить коробку от СКМ или от СКВ. В качестве стоек я применил конденсаторы 0.1мкФ одним концом я паял их к корпусу, а к другому подпаивал выводы элементов "холодных" узлов (где нет высокочастотной составляющей) тем самым, я решил две проблемы: фильтрацию и крепёж. На схеме я не обозначил эти "стойки", но чем их будет больше, тем лучше. Можно также в качестве стоек применить мегомные резисторы - схема со средними токами и мегомы на режимах не скажутся. Вообще, надо применить максимальные меры против самовозбуждения, а к выводам питания подвязать дроссели (хороший тон!!!). Иначе, при возникновении возбуда будет потрачено много времени и сил - это одно из самых противных паразитных явлений после периодичеких возникновений дефектов (периодика).
Вместо множества источников питания можно пробовать фильтры, но это уже отдельный разговор.
"Подводные камни" на которых белый парусник вашей надежды может разбиться:
1. транзисторы с низким бэтта.
2. плохая экранировка.
3. слишком размашистый монтаж, особенно в эмиттерных цепях транзисторов.
4. возбуд через выводы блоков питания (ставить дроссели)
5. низкокачественный фотодиод.
6. плохая оптика в указке.
7. и т.д. и т.п.
Автор: Father (www.ussr.to/Russia/svyaz/laser.html). Автор ведёт постоянное пополнение сайта новыми данными по этому проекту!
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
<<< К списку раздела.
Подключение к компьютеру инфракрасного пульта дистанционного управления.
Тенденции развития компьютеров предполагают их интеграцию с домашней аудио-видео техникой. При этом компьютер остается лишенным такого замечательного устройства ввода информации, каковым является пульт ДУ. Предлагаемый вариант решения этой проблемы подкупает своей гибкостью и дешевизной.
диоды - 1N4148
резистор - 1.2 кОм
конденсатор - 10 мФ
78L05 это интегральный стабилизатор напряжения. У него три ноги: вход любое напряжение; выход +5в; земля. Отечественный аналог КРЕН5A. Стоит копейки.
IR-Receiver TK1833 выпуклостью к себе, слева-направо: DCD (сигнал), GND (общий), RTS (питание +)
ФП это фотоприемник. Представляет собой сборку: собственно ФП и усилитель. Бывают они 12 и 5 вольтовые. Вам нужен 5и вольтовый, 12 даже лучше, но тогда надо схемку переделать. У него три ноги, две - питание, одна сигнал. Не забудьте поинтересоваться какие где - спалить можно.
Я купил его на КарДачах в Киеве у ребят, торгующих импортными запчастями. Думаю, можно поспрашивать в ремонте аудио-видео и магазинах запчастей. Главный критерий - питание 5В.
Новый стоит в зависимости от модели до доллара.
Схемка подключается к COM порту.
Еще вам понадобится пульт. Я не рекомендовал бы использовать ЭЛЕКТРОНовские. По слухам у них очень высокие частоты работы, хотя я не проверял. Самым удачным оказался SONY - короткие часто повторяющиеся пакеты. PHILIPS - хуже, хотя тоже работает. Единственный пульт, с которым мне не удалось разобраться, был от кондиционера TOSHIBA.
Софт можно все написать самому, тут нет ничего сложного. Но зачем изобретать велосипед? Программка получившаяся у меня отлажена, проверена и готова к работе. Она позволяет производить практически любые манипуляции с приложениями: открывать, закрывать, эмулировать нажатия клавиш, щелчки мышки. Реализована возможность выполнения последовательности действий по нажатию одной кнопки пульта, при чем эта последовательность зависит от очередности нажатия. Кроме этого можно выключать компьютер, манипулировать громкостью. Все настройки вынесены в INI файл стандартного формата.
Программка активно эксплуатируется с марта 2001 года.
Программка написана на VC++ №6 и пользуется библиотеками MFC. Вы можете скачать полноценный Setup (950 kB) или только исполняемые файлы (28 kB). Это демка, она прекращает отслеживать порт через полчаса после запуска.
Настройки в INI файле для пульта от музыкального центра SONY. Если у вас другой пульт, то перед началом работы вам придется настроить программку. Описание структуры настройки вы можете найти в файле RC.TXT
Материал взят с сайта ln.com.ua/~thccc/rc
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
Packard организовала общепромышленное совещание, чтобы
<<< К списку раздела.
Инфракрасный протокол связи - IrDA.
Летом 1993 года компания Hewlett- Packard организовала общепромышленное совещание, чтобы обсудить будущее ИК (инфракрасный) передачи данных. Многообразие несовместимых стандартов было печальной реальностью, причинявшей массу неудобств всем от того, что устройства от разных производителей были несовместимы. Телевизоры, видеомагнитофоны, другая бытовая техника с ИК управлением сегодня встречается на "каждом углу", однако в них используются несовместимые физические и программные интерфейсы. Целью совещания было обсуждение путей, которыми промышленность может пойти к общему стандарту, способному совместимость всех устройств, использующих ИК порт. На совещании был сформирован консорциум всех ведущих компаний, названных Ассоциацией инфракрасной передачи данных и вскоре (в июне 1994 года) была объявлена первая одноименная версия стандарта, включающая физический и программный протоколы – IrDA 1.0. Текущая версия – 1.1. В настоящей статье будут описаны основные моменты действующего ныне стандарта.
Итак, протокол IrDA (Infra red Data Assotiation) позволяет соединяться с периферийным оборудованием без кабеля при помощи ИК-излучения с длиной волны 880nm. Порт IrDA позволяет устанавливать связь на коротком расстоянии до 1 метра в режиме точка-точка. IrDA намерено не пытался создавать локальную сеть на основе ИК-излучения, поскольку сетевые интерфейсы очень сложны и требуют большой мощности, а в цели IrDA входили низкое потребление и экономичность. Интерфейс IrDA использует узкий ИК-диапазон (850–900 nm с 880nm "пиком") с малой мощностью потребления, что позволяет создать недорогую аппаратуру и не требует сертификации FCC (Федеральной Комиссии по Связи).
Устройство инфракрасного интерфейса подразделяется на два основных блока: преобразователь (модули приемника-детектора и диода с управляющей электроникой) и кодер-декодер. Блоки обмениваются данными по электрическому интерфейсу, в котором в том же виде транслируются через оптическое соединение, за исключением того, что здесь они пакуются в кадры простого формата – данные передаются 10bit символами, с 8bit данных, одним старт-битом в начале и одним стоп-битом в конце данных.
Сам порт IrDA основан на архитектуре коммуникационного СОМ-порта ПК, который использует универсальный асинхронный приемо-передатчик UART (Universal Asynchronous Receiver Transmitter) и работает со скоростью передачи данных 2400–115200 bps.
Связь в IrDA полудуплексная, т.к. передаваемый ИК-луч неизбежно засвечивает соседний PIN-диодный усилитель приемника. Воздушный промежуток между устройствами позволяет принять ИК-энергию только от одного источника в данный момент.
Рассмотрим физические основы IrDA. Передающую часть. Байт, который требуется передать, посылается в блок UART из CPU командой записи ввода-вывода. UART добавляет старт-стоп биты и передает символ последовательно, начиная с младшего значения бита. Стандарт IrDA требует, чтобы все последовательные биты кодировались таким образом: логический "0" передается одиночным ИК-импульсом длиной от 1.6m s до 3/16 периода передачи битовой ячейки, а логическая "1" передается как отсутствие ИК-импульса. Минимальная мощность потребления гарантируется при фиксированной длине импульса 1.6ms.
По окончании кодирования битов необходимо возбудить один или несколько ИК-светодиодов током соответствующего уровня, чтобы выработать ИК-импульс требуемой интенсивности. Стандарт IrDA требует, чтобы интенсивность излучения в конусе ± 30° была в диапазоне 40–50 m W/Sr, причем ИК-светодиод должен иметь длину волны 880nm, как уже отмечалось ранее. Радиальная чувствительность приемника и длины связи диктуются, исходя из требований самой спецификации IrDA.
Приемная часть. Переданные ИК-импульсы поступают на PIN-диод, преобразующий импульсы света в токовые импульсы, которые усиливаются, фильтруются и сравниваются с пороговым уровнем для преобразования в логические уровни. ИК-импульс в активном состоянии генерирует "0", при отсутствии света генерируется логическая "1". Протокол IrDA требует, чтобы приемник точно улавливал ИК-импульсы мощностью от 4m W/sm2 до 500mW/sm2 в угловом диапазоне ± 15°.
Для ИК-излучения cуществует два источника интерференции (помех), основным из которых является солнечный свет, но к счастью в нем преобладает постоянная составляющая.
Правильно спроектированные приемники должны компенсировать большие постоянные токи через PIN-диод. Другой источник помех – флуорисцентные лампы – часто применяются для общего освещения. Хорошо спроектированные приемники должны иметь полосовой фильтр для снижения влияния таких источников помех. Вероятность ошибок связи будет зависеть от правильного выбора мощности передатчика и чувствительности приемника. В IrDA выбраны значения, гарантирующие, что описанные выше помехи не будут влиять на качество связи.
Стандарт IrDA включает в себя стек протоколов трех согласованных обязательных уровней: IrPL (Physical Layer), IrLAP (Link Access Protocol) и IrLMP (Link Management Protocol).
Физический уровень (Physical Layer). Спецификация этого протокола устанавливает стандарты для Ir-трансиверов, методов модуляции и схемы кодирования/декодирования, а также ряд физических параметров. Стандарт предусматривает использование длины волны в диапазоне 850–900 nm. Минимальная и максимальная интенсивность передатчика (как уже говорилось) составляет 40–50 m W/Sr соответственно внутри 30° конуса. Для стандарта IrDA (скорость передачи данных 115.2Kbps) схема кодирования аналогична используемой в традиционной UART: бит старта ("0") и стоп-бит ("1") добавляются перед и после каждого байта соответственно. Но вместо схемы NZR (Non-Return to Zero) используется кодировка, подобная RZ (Return to Zero), т.е. двоичный "0" кодируется единичным импульсом, а "1" – его отсутствием. Кадры отделяются друг от друга байтами Escape-последовательности, содержащимися в теле самого кадра. Для определения ошибок (EDt – Error Detection) используется 16bit циклическая контрольная сумма. Например, уже в стандарте IrDA 1.1 для протокола обмена 1.152Mbps (синхронизация выполняется как в протоколе HDLP – High-level Data Link Protocol высокого уровня) и 4Mbps (использование 4-PPM – Pulse-Phase Modulation) старт-бит и стоп-бит не применяются. Так, фреймы, получаемые от более высокоуровневого протокола IrLAP, вкладываются в поле данных фреймов SIR, согласно используемому методу кодирования.
Стандарт не содержит обязательных вариантов реализации этой процедуры и допускает варьирование алгоритмов в зависимости от возможностей конкретного оборудования. В зависимости от скорости соединения предлагаются методы кодирования: асинхронный (ASYNC, 9600–115200 bps), синхронный (HDLC, 0.576–1.152 Mbps) и 4-PPM (4Mbps).
Программный протокол. Он включает в себя: IrLAP (Link Access Protocol), занимающийся разбиением данных на блоки, контролем ошибок и другими функциями низкого уровня, и IrLMP (Link Management Protocol), позволяющий по одной ИК-линии обмениваться данными между несколькими приложениями. Данный протокол базируется на существующих стандартах асинхронной полудуплексной передачи данных HDLC и SDLC. Инфракрасная технология поддерживает только однонаправленную передачу информации, поэтому, в следствие полудуплексной природы SIR, возникла архитектура с одним главным (первичным) и множественными подчиненными (вторичными) устройствами. Схема обращения устройств представляет собой обычный протокол обмена данными, где есть фазы запросов (Request) и ответов (Response). Так, первичное устройство отвечает за организацию соединения, обработку ошибок, и посланные им фреймы называются управляющими (Command Frames), а пакеты вторичных устройств именуются ответными (Response Frames). Обмен информацией идет только с первичным устройством, которое всегда выступает инициатором соединения, однако его роль может играть любое из устройств, поддерживающих необходимые для этого функции. По желанию может быть включен протокол транспортного уровня, позволяющий осуществлять контроль передачи между приложениями в случае одновременной работы нескольких приложений на одной физической линии. Для разных уровней имеется три интерфейса. Служебные примитивы уровня LM-SVC позволяют одному из устройств IrDA узнать какие сервис и протоколы зарегистрированы на другом устройстве. Примитивы доступа к уровню M-SVC управляют режимом связи, открытием и закрытием независимых соединений между клиентами, а так же отправкой и приемом данных.
Интерфейс L-SVC дает доступ к функциям протокола IrLAP.
Устройства, соответствующие стандарту IrDA, перед началом передачи должны в первую очередь попытался выявить (прочитать) нет ли в ближайшей окрестности активности в ИК-диапазоне, установить не ведется ли какая-либо передача в пределах его досягаемости. Если такая активность обнаружена, то программе, выдающей запрос, посылается соответствующее сообщение, а сам блок откладывает передачу. Поскольку оба соединяющихся устройства могут быть компьютерами (а не компьютер и принтер, или клавиатура, мышь), то любое из них может быть ведущим. Выбор зависит от того, какое устройство первым проявит инициативу.
Каждое устройство имеет 32bit адрес, вырабатываемый случайным образом при установлении соединения. Каждому кадру в пределах соединения ведущее устройство при старте присваивает 7bit-адрес соединения. Для возможных, но нежелательных случаев, когда два устройства имеют одинаковый адрес, предусмотрен такой механизм, когда ведущее устройство дает команду всем подчиненным устройствам изменить их адреса. В процессе установления связи два устройства "договариваются" о максимальной скорости, с которой они оба могут работать. Все первичные передачи, выполняемые до фазы переговоров, по умолчанию ведутся на скорости 9.6Kbps.
Максимальный квант передачи может быть равен 100, 200 или 500 ms. Он представляет собой максимальное время, в течение которого устройство передает данные до того, как перейдет к прослушиванию подтверждения приема и зависит от скорости передачи, емкости буфера в принимающем устройстве. Минимальная длительность передачи определяется неспособностью передающего устройства перейти к приему данных сразу после выдачи последнего бита. Дело в том, что усилитель PIN-диода в передающем устройстве входит в состояние насыщения от собственной передачи. Время восстановления приемника – переменная величина, составляющая 0.001–10 ms. Этот параметр для данного устройства должен быть заранее известен и учитывается в фазе переговоров об установлении соединения.
Процедуры расширенного восстановления включают в себя функцию сброса, которая прерывает связь, но потом восстанавливает активное состояние с параметрами соединения, используемые по умолчанию.
Стандартом предусмотрено два основных состояния: NRM (Normal Response Mode) и NDM (Normal Disconnect Mode). Первое – это состояние соединения с распределенными ролями первичного и вторичных устройств. Второе предусматривает функции детектирования доступных устройств, сбор информации о них, разрешение адресных конфликтов, а также позволяет передавать данные широковещательно, без установления соединения. В протоколе IrLAP используется три типа кадров по аналогии с HDLC. Поле данных присутствует только у первого и последнего вида фреймов, оно не ограничено по длине, но число бит в нем должно быть кратно 8. Ненумерованные (U-кадры) используются для установления связи: операции соединения и разъединения, информирования об ошибках и передачи данных, если нет необходимости в нумерации последовательностей. Информационные (I-кадры) используются для передачи информации и предназначены для передачи данных. Их командное поле содержит номер фрейма в последовательности, помогающей принимающему устройству отслеживать нарушения очередности. Нумерация организована так, что служит одновременно средством подтверждения приема: S- и I-фреймы могут нести номер пакета, который ожидается на входе устройства-отправителя. Счетчик позволяет идентифицировать только 8 фреймов, таким образом, номер следующего ожидаемого приемником пакета может высылаться не с каждым фреймом, а только по получении нескольких промежуточных пакетов. Величина, определяющая их количество, называется размером окна. Четвертый бит контрольного поля у фрейма, сгенерированного первичным устройством, означает запрос данных, а в ответном фрейме он играет роль конечного бита, сигнализирующего о завершении передачи. Супервизорные (S-кадры) используются для функций handshaking (процедура договора устройств о параметрах синхронизации).
Договариваясь о соединении, устройства обмениваются информацией о скорости, максимальной и минимальной длительности цикла, максимальной величине фрейма, размере окна, количестве дополнительных флагов BOF (Beginning Of Frame) и пороговом времени разрыва соединения (промежуток, в течение которого не было принято ни одного корректного фрейма).
Под максимальным циклом (maximum turn- around time) подразумевается отрезок времени, по истечении которого устройство должно установить в своем фрейме конечный бит, а под минимальным – длительность паузы, начиная с момента отсылки последнего байта последнего фрейма, запрошенного передающим устройством, чтобы подготовиться к приему данных. BOF выполняет роль задержки перед посылкой очередного фрейма устройствам с большей задержкой. Предусмотрена команда смены ролей XCHG, позволяющая передавать право называться первичным устройством, как эстафету. Для проверки правильности передачи фрейма к нему в конце дописывается поле FCS (Frame Check Sequence), которое содержит контрольную сумму формата CRC-CCITT.
Протокол IrLAP устанавливает правила доступа к ИК-среде, процедуры открытия канала, согласование абонентов сети, обмена информацией и т.д. Хотя IrLAP и обязательный уровень IrDA, но не все его особенности являются таковыми. Любая станция, не принимающая в данный момент времени участия в обмене, перед тем как начать передачу, должна прослушивать канал не менее 500ms, чтобы убедиться в отсутствии трафика. С другой стороны, станция, участвующая в обмене, должна вести передачу не более 500ms. Доступ к среде передачи регулируется посредством специального бита PF (Poll/Final), который устанавливается в теле кадра и выполняет функции, аналогичные маркеру. IrLAP допускает передачи без установления предварительного соединения. По своей природе такая передача является широковещательной и не требует получения подтверждения станции получателя. Процедура открытия канала в этом случае предусматривает обмен идентификационной информацией (ID). Инициатор широковещательного обмена передает ID предопределенное количество раз и прослушивает канал в интервалах между ссылками (слот, Slot). Станция-получатель случайным образом выбирает слот и посылает в ответ свой ID. При обнаружении коллизии процедура повторяется и применяется для согласования операционных параметров станций (скорость посылки бит, максимальная длина пакета).
При установлении соединения обмен данными, объем которых не должен превышать 64 байта, осуществляется со скоростью 9.6Kbps. После того, как соединение установлено, скорость обмена и величина пакета данных могут быть по "договоренности" увеличены до максимальных. Кроме пакетов с пользовательскими данными, в обмене участвуют специальные, служащие для управления потоком, коррекции ошибок и передачи маркера. Связь может осуществляться в режиме "1:1" или "1:n". В процессе обмена одна станция является первичной, а остальные – вторичными. Помимо описанных процедур существуют и другие: разрешение конфликтов адресов, изменение роли станции "первичная-вторичная" и т.д.
Протокол управления каналом IrLMP является обязательным, однако его некоторые особенности могут быть опциональны. Каждое устройство IrDA содержит таблицу сервисов и протоколов, доступных в настоящий момент. Эта информация может запрашиваться у других устройств. Мультиплексор администратора соединений и его схема управления позволяют нескольким приложениям обмениваться данными по одному физическому соединению. Протокол IrLMP содержит два компонента: LM-IAS (Link Management Information Access Service) и LM-MUX (Link Management MUltipleXed). LM-IAS управляет информационной базой так, что станции могут запросить, какие службы предоставляются. Эта информация храниться как ряд объектов, с каждым из которых связан набор атрибутов. Например, Device является обязательным и имеет атрибуты DeviceName, IrLMPSupport (номер версии протокола, поддержка ISA и MUX). LM-MUX выполняет мультиплексирование каналов поверх одного соединения, устанавливаемого протоколом IrLAP. С этой целью в Ir-станции определяется множество точек доступа канала – LSAP (Link Service Access Point) – каждая с уникальным селектором. Таким образом каждое из LSAP-соединений определяет логически различные информационные потоки. Протокол LM-MUX обеспечивает передачу данных между точками доступа как внутри одной, так и между другими станциями.
Он может работать в одном из двух режимах: эксклюзивном (активизируется только одно соединение LSAP) и мультиплексивном (несколько соединений LSAP могут разделять один канал IrLAP). В этом случае управление потоком должно быть обеспечено протоколами верхнего уровня или непосредственно приложением. Итак, IrLMP функционирует в двух режимах: мультиплексирования и эксклюзивном. Первый позволяет разделять одно физическое соединение нескольким задачам, второй отдает все ресурсы одному-единственному приложению. Каждое виртуальное соединение представлено своей LSAP, таким образом, связь происходит на уровне двух LSAP (LSAP Connection). Также предусмотрено три варианта доступа: с установлением предварительного соединения, без установления предварительного соединения (Сonnectionless) и режим сбора информации о возможностях, сервисах и приложениях удаленного устройства (XID_Discovery).
IrDA TP (Transport Protocol) работает над использованием в качестве транспортного протокола ISO-8073. Его применение позволяет пропускать по линии IrDA несколько потоков данных, с собственным управлением для каждого. Но использование этого протокола не обязательно. TinyTP (Tiny Transport Protocol) – транспортный протокол, осуществляющий функции управления потоком независимыми для любого LSAP-соединения. Каждая точка доступа этого протокола (TTPSAP – TinyTP Service Access Point) идентифицируется с единственной точкой доступа IrLMP и использует единый с ней адрес. TinyTP также ведает сегментацией и сборкой фреймов). IrCOMM – протокол эмуляции последовательного и параллельного портов, основанный на четырех типах сервиса: 3-Wire Raw, 3-Wire, 9-Wire и Centronics. Первый работает только через одно эксклюзивное соединение и используется, когда необходимо передавать исключительно данные. Второй эмулирует параллельную передачу по трем каналам (Signal Common, TD, RD), используя возможности TinyTP, Девятипроводный предназначен для эмуляции последовательных портов и обрабатывает, помимо трех вышеупомянутых, еще шесть сигналов (RTS, CTS, DSR, DTR, CD, RI).
Centronics – это не что иное, как виртуальный параллельный интерфейс на базе TinyTP).
Протокол IrTran-P, введенный для передачи изображений, состоит из трех слоев (SCEP, bFTP, UPF) и пользуется услугами упоминавшегося ранее IrCOMM. Назначение SCEP (Simple Command Execute Protocol) – изоляция вышележащих уровней от реалий конкретного интерфейса. Благодаря высокому уровню абстракции удалось спроектировать протокол bFTP (binary File Transfer Protocol) таким образом, что он может единообразно обслуживать нужды самых разных устройств в самых разных конфигурациях соединения. Имя файла упаковывается вместе с данными в единый блок, предусмотрены функции опроса удаленного устройства и согласования параметров представления информации, что максимально автоматизирует процесс. UPF (Uni Picture Format) обеспечивает гарантированное воспроизведение изображений, переданных с одного устройства на другое. UPF основывается на формате JPEG и позволяет сохранять, помимо изображения, еще и все дополнительные сведения о нем, обычно фиксируемые цифровыми камерами (дата, ориентация, уровень белого, уровень черного и т. д.). Чтобы устройства, содержащие аппаратно-зафиксированные алгоритмы обработки изображений, могли адекватно воспринимать модифицированный формат, вся расширенная информация вынесена в заголовок, а само изображение остается нетронутым.
VFIR (Very Fast IR) – дополнение к стандарту IrDA, позволяющее повысить скорость передачи данных до 16Mbps. Введен новый формат фрейма, в котором первым идет поле преамбулы (Preamble), состоящее из 240bit или слотов, после IrLAP-фрейма и контрольной суммы – поле FB (Flush Byte – 8 нулевых бит), в конце – поле Null (24 нулевых бита). Вся переданная информация кодируется по алгоритму HHH, обеспечивающему от 1 до 13 пустых слотов между импульсами. Конечно, необходимые изменения были сделаны и в протоколе IrLAP: добавлено обозначение для скорости 16Mbps в поле Baud Rate, а также увеличен максимально возможный размер окна с 7 до 127 фреймов.
IrBus (IrControl).
Спецификация, регулирующая вопросы, связанные с подключением различной периферии, требующей взаимодействия с системными контроллерами. Ее положения применимы также к устройствам удаленного управления ПК, телевизорами высокой четкости (HDTV) и бытовыми приборами.
Физический уровень обеспечивает передачу данных, закодированных по схеме модуляции последовательными импульсами 16-PSM (Pulse Sequence Modulation – 8 слотов, где только 2 или 4 могут содержать импульс) со скоростью 75Kbps. Однако, при использовании такой схемы кодирования, импульс означает "1", его отсутствие – "0". Частота несущей основного сигнала – 1.5MHz с минимальной дальностью действия 5м. Данные пересылаются в пакетах двух видов: длинные (776bit) и короткие (72bit), структура которых абсолютно идентична за исключением значения стартового флага, а также разрядности контрольной суммы. Так, протокол MAC (Media Access Control) регламентирует процессы взаимодействия множественной периферии с единственным основным устройством (Host) и обмена информацией между ними.
Существует три режима работы ведущего устройства: сон (с низким энергопотреблением), нормальный и сосуществование с IrDA (поддержка IrDA SIR 1.1 и IrControl). Если от периферии долгое время не поступает никаких данных, то Host автоматически переходит в состояние сна, причем само периферийное устройство в случае необходимости может самостоятельно перевести его в нормальный режим работы. Host получает данные путем циклического опроса периферии (Poll) с периодом 13.8m s, в ходе которого обслуживается до четырех устройств с критическим временем латентности (для менее требовательной периферии гарантируется период опроса в 69m s). Формат MAC-пакета состоит из поля адреса основного устройства (HA – Host Address), поля адреса периферии (PA – Peripheral Address) и контрольного поля (MAC). Значение структуры MAC зависит от того, основное или периферийное устройство являются "автором" пакета, и содержит вспомогательную системную информацию.
Прежде чем начнется обмен данными, должен пройти процесс идентификации всей доступной "лидеру" периферии (Enumeration), для чего предназначен специальный формат пакета, называемый "окликом" (Hail). После идентификации устройства и регистрации сведений о его максимально возможном времени опроса оно включается в общий цикл Host-опроса. В зависимости от его дальнейшей активности частота обращений может быть повышена или понижена.
В режиме сосуществования основное устройство в первые 50m s отводит на осуществление IrDA SIR 1.1-коммуникаций, а следующие 10m s производит опрос периферии. Устройства, чувствительные к времени задержки, не могут получить в этом режиме надлежащего обслуживания, да и количество некритичного к циклу опроса оборудования уменьшается до двух устройств. Над уровнем MAC располагается слой LLC (Logical Link Control), функции которого сводятся к обеспечению надежного соединения для вышележащих уровней. Именно LLC ведает пересылкой подтверждений об успешной доставке пакетов. Каждому устройству тут присваивается четыре оконечные точки (Endpoints): первая обслуживает "виртуальное" контрольное соединение, вторая и третья – входное и выходное соединения соответственно, а четвертая является опциональной и может служить для еще одного входного или выходного соединения. На прикладном же уровне определено только два стандартных, обслуживающих LLC, протокола – HA (Home Appliances) и HID (Human Interface Device). Последний поддерживает подключение USB-периферии с помощью IrDA Control Transceiver Module (IRB-TM), также являющегося USB-устройством и функционирующего как хаб (Hub).
IrLAN. Протокол обеспечивает доступ в локальную сеть с помощью инфракрасного соединения (сетевая среда IrLAN), где основными являются клиент и провайдер. Провайдер пассивен и ожидает проявления иницативы со стороны клиента, на которого возлагаются все функции по детектированию и конфигурированию соединения. Для этого используется контрольный канал – через него клиент получает необходимые сведения о провайдере из его IAS.
Предусмотрено три метода доступа в сеть: через точку доступа (Access Point), типа "порт–порт" (Peer-to-Peer) и режим основного функционирования (Hosted). Access point представляет собой специализированное устройство, имеющее как доступ к сети, так и IR-адаптер. При соединении "порт–порт" два устройства связываются через инфракрасное соединение, а IrLAN лишь эмулирует локальную сеть. В этом случае каждый из участников должен играть роли клиента и провайдера одновременно. В режиме "хост" компьютер-провайдер не только предоставляет услуги подключения к сети для удаленных устройств, но и сам пользуется ими, потому что провайдер и клиент делят один и тот же сетевой адрес и возникает потребность в специальном маршрутизирующем и фильтрующем ПО. При инициализации соединения устанавливаются два "виртуальных канала" – данных и контроля, причем оба используют TinyTP. В канале данных в настоящий момент поддерживаются пакеты типов 802.3 (Ethernet) и 802.5 (Token Ring). Формат фрейма данных IrLAN аналогичен формату ретранслируемого сетевого протокола. Драйвер IrLAN обычно не модифицирует содержимое пакетов, за исключением дескрипторов, и лишь в режиме Hosted могут быть внесены определенные изменения. В канале контроля обмен осуществляется на основе фреймов другого формата. В первом его 8bit-поле содержится команда, в таком же следующем – количество сопутствующих параметров, а дальше идут сами параметры, которые "укладываются" в промежуток 0–8160 bit.
Практически, сегодня уже нет мало-мальски уважающей компании, которая бы не производила компоненты для ИК портов. Например, компания Crystal Semiconductor выпускает микросхему ИК приемопередатчика серии CS8130. Этот прибор является интерфейсом между блоком UART, излучающим светодиодом и светочувствительным PIN-диодом. Он работает в форматах IrDA, ASK и TV формате беспроводного управления, имеет функции программирования мощности передачи и порога срабатывания приемника. Микросхема выполнена в корпусе типа SSOP очень малого размера (5х7 mm).
В качестве примера "интеграции" можно рассмотреть интерфейс IrDA, добавленного на материнскую плату обычного ПК (в связи со сложностью схемы она не прилагается). Блок UART, имеющийся на плате, можно использовать как для того, чтобы управлять проводным СОМ-портом интерфейса RS-232, используя, например, преобразователь напряжения МАХ562, так и для управления ИК-портом, соответствующим стандарту IrDA, используя трансивер CS8130. Внешний вывод PWRDN# микросхемы CS8130 используется для перевода в третье состояние линий RXD и FORM/BSY, что позволит использовать UART. И наоборот, с помощью выводов EN и SHDN# можно перевести в третье состояние выходы R2OUT и R3OUT микросхемы МАХ562, передавая управление UART трансиверу CS8130. В качестве второго примера можно привести схему (также не прилагается) внешнего модуля, который можно подключить к имеющемуся СОМ-порту любого компьютера. Этот модуль очень компактен и расположен в конце метрового кабеля, свободно ориентируемого в пространстве.
Автор: Максим Лень
Источник: www.ixbt.ru
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
На лазерных указках.
1. Оптосоединение 2х компьютеров на лазерных указках.
2. Связь на лазерных указках при скорости 115200бод.
3. Очень простая схема линка на лазерных указках.
4. Ещё один пример усторойства на ИК и лазерах.
5. Удлинитель COM порта на лазере.
6. Настольный макет лазерной связи на 10Mbit
Описание принципиальной схемы.
Сигнал Тх с выхода ком-порта через ограничивающий резистор R1 поступает на схему выделения фронтов, собранную на элементаж DD1.1, DD1.2. Hа выводе 4 элемента DD1.2 присутствуют импульсы длительностью около 1 микросекунды. ВременнЫе параметры этих импульсов не достаточно стабильны, поэтому в схему включен генератор нормированных по длительности импульсов, собранный на триггере Т2. Он формирует импульсы длительностью около 3-4 микросекунд. При необходимости длительность подстраивается резистором R3. Для тех, кому важна стабильность/надежность/дальность работы линка и допустима максимальная скорость работы 57600, я бы посоветовал удвоить номинал С2 и тем самым увеличить длительность нормированного импульса до 8 миллисекунд. Можно использовать специальный переключатель максимальных скоростей 115200-57600. подключающий дополнительную емкость С2. (длина проводников до переключателя должна быть минимальна). Схема цифровой части приемника содержит триггер Т1 с элементами R4,R5,C3,V2, задающими максимальную длительность единицы на выходе триггера. При указанных на схеме номиналах, она равна примерно 5 миллисекундам. Если кто-то собирается работать только с большими скоростями, имеет смысл уменьшить это время путем уменьшения С3. Hа элементах DD1.3, DD1.4 собран выходной усилитель, сигнал с которого поступает на вход Rx ком-порта. Это на всякий случай. У меня все прекрасно работало на перепутанном мотке проводов длинной 20 метров, когда я брал неусиленный сигнал (через резистор 1К) прямо с вывода 1 триггера Т1. Теперь несколько слов о настройке схемы. К счастью, цифровая часть приемопередатчика является совершенно самостоятельной и самодостаточной схемой, допускающей полную настройку и отладку без всяких лазеров и аналоговой части. Порядок настройки. Создайте файл килобайт на 300, содержащий один символ (мне понравился Y). Создайте батник, который засылает этот файл в ком-порт, а потом вызывает сам себя ;-) Запустите его. Проконтролируйте длительности и формы импульсов в передатчике.(лучше это делать на максимальной скорости, поскольку импульсы короткие).
Закройте батник. Замкните выход передачика на вход приемника, а выход приемника подайте на вход Rx того же самого ком-порта. Войдите в любую терминальную программу ( я пользовался DN-ской терминалкой) Попробуйте понажимать на клавиши. Вы должны увидеть нажимаемые символы на экране. Если этого не происходит, попробуйте просто замкнуть Rx и Tx и добиться описанного эффекта настройкой терминальной программы, после чего снова попытайтесь сделать то же самое через приемопередатчик. И наконец, последнее, самое важное испытание. Тут потребуется уже два компьютера. Соедините их ком-порты тремя проводами по классической схеме. Запустите какой-нибудь софт,использующий этот линк. Убедитесь, что все работает. Теперь попробуйте в разрыв одного сигнального провода вставить цифровой приемопередатчик. Попробуйте поработать с этим же софтом через эту железку и убедитесь, что FIRDA вас вполне устраивает ;-))), поимитируйте помехи в передаче доступными вам способами. После этого можно переходить к постройке аналоговой части линка.
Описание схемы:
Этот документ сообщает об одном из моих экспериментов с модулями лазерного диода. Этот модуль (TIM202) маленький (38x14x14 mm), подобный тем, что используются в лазерных указках. Требуется питание 3V 45mA и выдаёт 3-5mW 670nm.
Как-то вечером я решил сделать простую лазерную связь, используя этот модуль лазера и некоторый приёмник. Лазерный модуль может легко модулироваться используя один транзистор. Я думал, что всё получится легко с одной простой схемой фототранзистора. Проверил одну простую схему, но работа оказалась не удовлетворительной. Тогда я решил использовать готовые модули приёмника. Я взял один HBFR-2521 модуль приёмника для оптического волокна из своего барахла. Проверил данные того модуля и заметил, что он отвечает моей потребности: модуль разработан для 1mm оптоволокна, и может работать до 5 mbit/s.
Я запустил систему, используя компьютер. Подключил схему к RS-232 последовательному порту и поместил триёмник и передатчик на расстоянии нескольких метров друг от друга. Запустил программу связи и пробовал схему с различными скоростями связи.
Испытание, казалось, давало весьма хорошие результаты. Сначала казалось что все работает на 115200 бод (максимальная скорость стандартного последовательного порта). Но чуть позже я выяснил, что некоторые символы не могли проходить. Пришлось снижать скорость, но все еще имелись некоторые проблемы. Я проверил устройство с моей собственной испытательной программой и выяснил, что связь при скоростях более чем 9600 бод была плохая. В результате этого простого испытания я создал одно направление связи лазеров на 9600 бод..
Причина, почему моя система не работала как надо, должна быть в лазерном модуле, который я использовал, потому что приёмный модуль способен работать на скодостях да 5 mbit/s. Чтобы удостовериться, что медленный компонент был лазером, я проверил схему также с оригинальным передатчиком и как выяснелось не было никаких проблем со скоростью, в железе или программном обеспечении.
Я позже выяснил, что большинство лазерных модулей имеют конденсаторы, чтобы фильтровать электропитание и сбои выключателя. Эти конденсаторы ограничивают скорость переключения лазерного модуля, но они необходимы для сохранения лазерного диода, который может быть легко поврежден.
Оптосоединение 2х компьютеров на лазерных указках.
Вот такая вот хpеновинка, питается исключительно от COM-поpта (у меня микpушка огpаничиваеи ток КЗ на уpовне поpядка 15 мА). Втоpой питатель для лазеpного диода (выдеpнут из лазеpной указки за 9$) нужен в силу того, что 15 мА для ноpмальной его pаботы - маловато. Фототpанзистор - из отечественного хлама, что-то типа ФТ-2, pезистор R1 - в пpеделах 5-10 КОм. По-хоpошему надо бы ещё pеализовать ноpмальную схему огpаничения для лазеpного диода (на паpе тpанзисторов npn & pnp, IMHO) Поскольку схема не пpоизводит пpеобpазования RS232 в SIR, то дальность получается поpядка сотни метpов (ну или чуть больше). Если использовать SIR/FIR для модуляции в нынешних наплатных SuperIO-чипах и ноpмальный PIN-диод с усилителем - будет и 230 Кбод, и 460 Кбод, IMHO.. ;) Однако там необходимо учесть огpаничение на наличие питания только в +5 вольт.
Автор: Aleksandr Konosevich (2:5004/9)
Детали:
Резистор - 5-10кОм.
Диоды - любые, у меня стояли Д522.
Конденсатор - номинал утерян, если кто подберёт, напишите.
Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
Передача данных на инфракрасных лучах.
1. Связь на ИК лучах.
2. Сваязь на IRDA.
3. Инфракрасный порт для компьютера.
4. Инфракрасный порт.
5. Приемник ИК-сигналов для ПК.
6. Подключаем пульт дистанционного управления к ПК.
Передатчик.
Особых пояснений, как мне кажется, он не требует. Лазерный диод является коллекторной нагрузкой первого транзистора. Резистор в его эмиттерной цепи ограничивает ток через этот транзистор и создает условия для работы второго транзистора, который является фактически (совместно с R1) управляемым делителем входного напряжения. Второй транзистор управляется фототоком диода, встроенного в лазер для организации схемы ограничения температурного дрейфа его параметров. С увеличением светового потока увеличивается базовый ток второго транзистора, и он шунтирует входной сигнал на уровне, безопасном для лазера. Подстроечный резистор R3 предназначен для регулировки допустимого уровня излучения лазера.Hоминалы схемы подобраны так, что при комнатной температуре можно уменьшить его сопротивление до нуля и это не приводит к фатальным последствиям для лазерного диода (по крайней мере у меня проблем не было). Hастройка передатчика сводится к измерению амплитуды сигнала на резисторе R2 (при подключенной и работающей цифровой части) и установление подстроечным резистором амплитуды импульсов, соответствующей импульсному току 30-35 ма (при комнатной температуре). (Речь идет о 5-и милливаттных указках). Для надежности можно уточнить эти цифры для конкретной указки путем измерения тока через нее при свежезаряженных аккумуляторах (до разборки). Эту величину можно в дальнейшем принять за номинальный импульсный ток через указку. Если в схеме используется R4 (у меня его нет), и часть тока всегда течет через этот резистор, на соответствующую величину надо уменьшить выставляемый ток через R2, так что бы суммарный импульсный ток оказался в указанных выше пределах. При изменении тепературы параметры излучения, конечно, будут плавать, но разброс значений будет существенно снижен за счет отрицательной обратной связи по световому потоку через фотодиод и второй транзистор. Резистором R4 можно выставить начальный уровень тока через лазер в отсутствие сигнала. Считается, что это повышает живучесть лазерного диода.
С1 с этой же целью сглаживает переходные процессы при включении/выключении лазера. К питанию особых требований нет, можно взять +5В из компьютера. В заключение пару слов о разборке указки и ее цоколевке.
Могу рассказать только о своей паре указок. Hасколько это типично - не знаю. Сначала я делал надпил корпуса надфилем по периметру указки на уровне кнопки включения указки. Часть с батарейками отламывается. Становится видна маленькая печатная платка, на которой крепится кнопка. Платка припаяна прямо к выводам лазерного диода. Иголкой измерил глубину до втулки, в которую запресован собственно лазер. Сделал второй надрез, стараясь попасть на уровень втулки, в результате чего получил обрубок указки с полностью сохраненной оптической частью, а с другой (обрубленной )стороны торчали три вывода с платкой, которую я отпаял. Итак, остались три вывода, торчащие из обрезанной части указки. Они расположены треугольником. Один из них соединен с корпусом лазерного диода. Это общий вывод лазерного диода и фотодиода. Предположим, что этот вывод соответствует верхнему углу треугольника. Тогда справа внизу будет расположен вывод фотодиода, а слева внизу - вывод лазерного диода. Перед разборкой полезно провести исследование расходимости луча лазера без оптической системы. Это вам понадобится при оценке чувствительности вашего приемника и дальности работы вашего линка. Для этого надо осторожно вывернуть оптическую систему из передней части указки и замерить диаметр пятна, который получается на расстоянии от указки в интервале 5-25 см. Теперь можно переходить к построению самой важной части линка - аналоговой части приемника.
Построение сетей на инфракрасных лучах и лазерах.
<<< На главную страницу.
На данных страницах имеется графика и большие объёмы текста, так что возможна долгая загрузка страниц.
Приемник.
Аналоговая часть. Этот блок требует наибольшей аккуратности и, я бы сказал схемотехнической культуры при построении и наладке. Питание лучше брать не из компьютера, а от отдельного стабилизированного блока питания. Длина проводников должна быть минимальна. Фильтрующие питание конденсаторы C1,C2.C4,C5 д.б. расположены максимально близко к выводам операционного усилителя. Особенно важно близкое расположение к ОУ элементов входной цепи С3, VD1, R4. Желательно компактное расположение и экранирование всей конструкции. При грамотной схемотехнике у вас не должно быть никаких проблем с настройкой. У меня на столе не было выполнено ни одно из перечисленных выше требований и тем не менее все успешно работает. Так что есть надежда, что если сделать все правильно,то у вас тоже будет работать ;-))) Пару слов о самой схеме. Она предельно проста. Cоблюдайте полярность фотодиода! Резистор R4 влияет на амплитуду сигнала с фододиода и на его форму/частотные характеристики. Чем меньше номинал резистора, тем меньше сигнал с фотодиода и тем лучше его форма. У меня получались вполне приличные результаты при увеличении резистора до 4.7 К. Однако спешить с его увеличением я бы не советовал. И вообще, первое, что вы должны добится - это работа приемника на какой-нибудь умеренной скорости, ну например 57600. Это лучше делать в следующем порядке. Итак, после десятой проверки монтажа выводим сопротивление подстроечника R1 в ноль и включаем питание. Подключаем к ком-порту собранный передатчик (цифровую и аналоговую части), запускаем батник (предварительно установив скорость работы порта 57600), позволяющий наблюдать непрерывную картинку передачи одного байта (о нем шла речь в первой части трилогии), располагаем лазер со снятой оптической системой в двух-трех сантиметрах от фотодиода, подключаем лограф к выходу приемника и начинаем медленно увеличивать сопротивление R1. Через некоторое время транзистор Т1 начнет приоткрываться, и на выходе приемника появится гребенка импульсов. Оптимальное значение сопротивления R1 определяется в ходе экспериментов визуально по форме и амплитуде импульсов на выходе приемника.
При выключении передатчика амплитуда шумов на выходе приемника не должна превышать 1-2 вольта. Транзистор Т1 должен быть лишь слегка приоткрыт. Типичное значение напряжения на его коллекторной нагрузке- 1-2 вольта. После достижения успеха на этом первом этапе можно двигаться дальше - постепенно раздвигать приемник и передатчик, находить их наилучшее взаимное положение и, подстраивая R1, получать гребенку импульсов амплитудой почти равной амплитуде питания +12В. Форма у них может быть не совсем прямоугольной, но амплитуда должна быть хорошей. При максимально возможной раздвижке передатчика и приемника надо определить диаметр расфокусированного пятна лазера. Этот диаметр даст вам представление о максимальной дальности, на которой будет работать ваш линк. У меня этот диаметр равнялся примерно 20 см, что примерно соответствует динамическому диапазону в 33 дБ. Как мне кажется, этого вполне должно хватить для уверенной связи на расстоянии 100 метров без применения входных линз или на расстоянии 200 метров, если использовать сведотдиод типа ФД320 в виде красной пластмассовой линзочки диаметром около сантиметра на прямоугольном основании. А при наличии входной оптики.. Впрочем, при больших дальностях уже другие проблемы.. Вернемся к настройке приемника. Теперь полезно попробовать настройку для разных скоростей ком-порта. И, наконец, можно подключить цифровую часть приемника и повторить опыты, описанные в первой части данной трилогии. Я специально ничего не говорил о конструктивном оформлении приемника. Да, наверно полезно иметь какие-нибудь бленды на входных светодиодах. Вообще-то приемник весьма устойчив к засветкам разного рода. Обычная засветка лампочкой 60 ватт с расстояния 70 см под углом в 30 градусов никак не влияла на работу схемы. Конденсатор C3 очень хорошо "режет" все низкочастотные помехи. Вот вроде и все. Hаверняка что-то забыл. - Спрашивайте. И вообще, автор не питает никаких иллюзий относительно завершенности и совершенства представленных схем. Я претендую лишь на то, что все это работает и удовлетворяет тем условиям, которые я когда-то здесь излагал.Весьма приветствуется доброжелательная критика и ценные советы, особенно если они проистекают из практической работы по усовершенствованию данной конструкции.
Автор: Сергей Ковалёв (2:5030/143/38).
// Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
Прочее.
1. Преобразователь TTL в RS-232 (IrDA to COM-port).
2. Инфракрасный протокол связи - IrDA.
Обрате внимание на следующие материалы из других разделов: Передача звука по ИК каналу. ИК подслушивающее устройство. Оптический трансивер на 10 Мбит/с. Управление компьютером с пульта ДУ.
//Разработка и оформление Андрея Александровича Борисенко aka ICE.
По всем вопросам просьба писать мне на icenet@narod.ru
Удлинитель COM порта на лазере
<<< К списку раздела.
Удлинитель COM порта на лазере.
Особенности схемы:Краткое описание: беспроводная лазерная связь для порта RS-232.Защита схемы: нет никакой специальной защиты.Сложность: очень простая.Работа устройства: работает со скоростью 9600 бод. на расстояниях нескольких метров. Схема полностью выполняет спецификацию RS-232, работает на обычном COM порте.Доступность компонентов: обычные компоненты легко доступны. Лазерные модули весьма широко распространены, но некоторые лазерные модули могут быть несовместимы. Испытание: простое экспериментирование на расстояние нескольких метров. В течении долгово времени не проверялся.Приложение: эксперементальная беспроводная связь, использующая лазер, соединяется со стандартным последовательным портом PC, может использоваться с почти любой программой связи, которая использует любой порт RS-232, эта схема может обрабатывать (максимум 9600 бод) и не нуждается в линиях подтверждения связи.Электропитание: 2 x 1.5V AA типа (70 mA), внешний источник +5V (20 mA). Безопасность: схема использует радиоактивный лазер, который может повредить вашему зранию если смотреть непосредственно в луч.