Цифрова частина прийомопередавача. Після довгих експериментів я прийшов до висновку, щопростий і надійний приймач для 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.

Опис принципової схеми. Сигнал Тх з виходу ком-порту через обмежуючий резистор 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 вас цілком влаштовує ;-))), поімітіруйтеперешкоди в передачі доступними вам способами. Після цього можна переходити до будівництва аналогової частини лінка.

Передавач. Особливих пояснень, як мені здається, він не вимагає. Лазерний діод є колекторної навантаженням першого транзистора. Резистор в його емітерний ланцюга обмежує струм через цей транзистор і створює умови для роботи другого транзистора, який є фактично (спільно з 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аверняка щось забув. – Запитуйте. І взагалі, автор не живить жодних ілюзій щодо завершеності і досконалості представлених схем. Я претендую лише на те, що все це працює і задовольняє тим умовам, які я колись тут викладав. Вельми вітається доброзичлива критика іцінні поради, особливо якщо вони виникають з практичної роботи по удосконаленню даної конструкції.