Аналогово-цифрове та цифро-аналогове перетворення сигналів в інформаційно-телекомунікаційних системах

Класифікація та сфери застосування лазерів. Аналогово-цифрове та цифро-аналогове перетворення сигналів. Сімейства, моделі та особливості лазерних систем зв'язку. Описання характеристики компаратора напруги. Алгоритм та програми передачі, прийому даних.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид магистерская работа
Язык украинский
Дата добавления 16.05.2019
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Мікросхеми випускаються при використанні Atmel технології незалежної пам'яті високої щільності. Вбудована ISP FLASH пам'ять дозволяє перепрограмувати область програмної пам'яті через послідовний SPI інтерфейс стандартним программатором, або використовуючи завантажувальну програму з незалежної пам'яті, працює в AVR ядрі. Комбінація розширеної 8- і бітної RISC архітектури ЦПУ і твердотільної FLASH пам'яті забезпечують Atmega32 високу гнучкість і економічну ефективність у вбудованих системах управління.

UART (англ. universal asynchronous receiver/transmitter -- універсальний асинхронний приймач/передавач) -- тип асинхронного приймача-передавача, компонентів комп'ютерів та периферійних пристроїв, що передає дані між паралельною та послідовною формами. UART звичайно використовується спільно з іншими комунікаційними стандартами, такими як EIA RS-232.

UART це зазвичай окрема мікросхема чи частина мікросхеми, що використовується для з'єднання через комп'ютерний чи периферійний послідовний порт. UART нині загалом включені в мікроконтролери. Здвоєний UART (Dual UART або DUART) об'єднує двоє UART в одній мікросхемі. Багато сучасних мікросхем сьогодні випускаються з можливістю комунікації в синхронному режимі, такі прилади називають

USART. UART-інтерфейс - це два пристрої, які обмінюються даними одне з одним. Передавальне джерело перетворює інформацію з керуючого пристрою, такого як центральний процесор, у послідовну форму, передає його в послідовному порядку на UART, який перетворює значення для приймаючого пристрою. UART, який збирається передавати інформацію, отримує її з шини даних.

Біти даних передаються з одного місця в інше через дроти або інші носії. Якщо мова йде про великі відстані, вартість дротів стає великою. Щоб зменшити вартість довгих комунікацій, що переносять кілька біт паралельно, біти даних передають послідовно один за одним, , і використовують UART для перетворення паралельної форми на послідовну на кожному кінці лінії зв'язку. Кожен UART має зсувний регістр, який є фундаментальним методом для перетворення між паралельними та послідовними формами.

Зазвичай UART не отримує і не генерує зовнішні сигнали, які подорожують між різними частинами обладнання. Як правило, для перетворення логічного рівня UART в та з зовнішнього рівня сигналів використовується окремий інтерфейсний блок.

Зовнішній сигнал може мати багато різних форм. Прикладами стандартизованих напруг сигналу можуть служити RS-232, RS-422 чи RS-485 від EIA. Історично присутність або відсутність струму (в електричному колі) використовувалася в телеграфних схемах. Деякі ж сигнальні схеми не використовують електричних дротів. Як приклад можна навести оптоволокно, інфрачервоний зв'язок чи Bluetooth в своєму Serial Port Profile (SPP). Прикладами модуляції є аудіо сигнал телефонних модемів, РЧ модуляція даних, або DC-LIN для комунікацій по силових дротах.

Зв'язок може бути «дуплексним» (можливість одночасного прийому та передачі) або «напівдуплексним» (пристрої переключаються між режимами прийому та передачі).

UART широко використовується в інтерфейсі RS-232 для вбудованих систем комунікацій. Він використовується для зв'язку між мікроконтролерами і комп'ютером. Багато чипів забезпечують функціональність UART, та існують дешеві мікросхеми для конвертації логічного рівня сигналу (типу TTL) в сигнал рівняRS-232.

Під час асинхроної передачі UART телетайпного типу посилає стартовий біт, потім від п'яти до восьми бітів даних, перший -- найменш значимий, потім опціональний біт парності, і потім один, півтора чи два стопових біти. Стартовий біт надсилається в зворотній полярності до звичайного незайнятого стану ліній зв'язку. Стоповий біт відповідає незайнятому стану лінії і забезпечує паузу перед наступною порцією даних. Це зветься асинхронною старт-стоповою передачею. В механічних телетайпах стоповий біт часто був розтягнутим вдвічі, щоб дати можливість механізму надрукувати символ. Розтягнутий стоповий біт також допомагав при ресинхронізації. Біт парності перевіряє кількість одиниць між стартовим і стоповим бітами або парним та непарним, або ж цей біт може бути відсутнім. Непарна перевірка надійніша, бо вона може засвідчити, що принаймні одна одиниця передалася, а це дозволяє багатьом UART пересинхронізуватися. В синхронній передачі частота тактового генератора відновлюється окремо з потоку даних і старт-стопові біти не використовуються. Це покращує ефективність каналу зв'язку для надійних ліній, також надсилається більше корисних даних. Асинхронна передача не посилає нічого, коли нема що передавати. Натомість синхронний інтерфейс має завжди посилати якісь дані,щоб підтримувати синхронізацію між передавачем і приймачем. Як заповнювач порожнечі часто використовується ASCII-символ «SYN», це робиться автоматично передавачем. USART чипи мають синхроний та асинхроний режими.

3.5 Розробка структурної, електричної схем та макетну лазерної системи

Рисунок 3.7

Система може надсилати довільні дані зі швидкістю 27.7 кб/с бод. Наведена вище система налаштована для передачі голосових даних. Вхід мікрофона обумовлений (посилюється і зміщується), так що використовується повний восьмий бітний діапазон аналого-цифрового перетворювача. Значну кількість часу було витрачено на оптимізацію підсилювача для входу мікрофона, щоб мінімізувати сплеск, але максимізувати якість.

Коли цифровий сигнал отримає аналоговий цифровий сигнал, мікроконтроллер передає сигнал до UART. UART встановлює передавальний контакт високо або низько відповідно до послідовного протоколу. Деяке кондиціонування застосовується також до цього сигналу, щоб забезпечити постійний струм лазеру.

На стороні приймача сигнал читається фототранзистором. Сигнал, що відходить від транзистора, пропускається через компаратор, щоб генерувати відповідні високі та низькі сигнали. UART зчитує ці сигнали і генерує байт відповідно до послідовного протоколу. Цей байт застосовується до порту, який надсилається через цифровий аналоговий перетворювач і застосовується до динаміка.

Нижче наведено опис обладнання та схеми, що використовуються в цьому проекті. Резистор, конденсатор та діодні значення приймаються, оскільки вони потребують настроювання в залежності від апаратного забезпечення, що використовується. Конкретне використання для кожного компонента документально підтверджено.

Рисунок 3.8

Першим кроком у передачі звуку є оцифрування звукових хвиль. Для цього можна використати електретний мікрофон. Він має три властивості - потужність, заземлення і сигнал. Сигнал, що відходив від мікрофону, був занадто низьким, щоб бути прочитаним (з будь-яким ступенем точності) аналого-цифровим перетворювачем. Звичайно, потрібен підсилювач. Перед тим, як сигнал пройде через підсилювач, перш за все подається через конденсатор для видалення постійного струму, а потім через дільник напруги для відповідного зміщення сигнал. Оптимізатор LF353 використовується для підсилення сигналу, коригування регулюється резисторами, а для даного мікрофону - близько 50-100 (залежно від швидкості та якості, яка вам потрібна).

Рисунок 3.9

Після того, як конвертер аналогового сигналу перетворює мікрофонний сигнал на 8біт, мікроконтролер генерує відповідні біти для відправки (включаючи початкові та стоп-біти) і застосовує їх до схеми лазерного драйвера сигналів 5В та 0В. Біполярний транзистор в цій схемі включається при напрузі 5В і забезпечує належний струм відповідно до значень діода та резисторів.

Рисунок 3.10

Фотодіод виявляє лазерні імпульси в іншому місці. Цей сигнал подається через компаратор, щоб генерувати постійні показники напруги 5В та 0В, які застосовуються для приймаючого піна намікроконтролері.

Рисунок 3.11

Як тільки сигнал проходить через ЦАП, він підсилюється і відбувається фільтрація низьких частот (для покращення якості звуку).

Фокусування лазера виявилося досить складним завданням. За допомогою леза бритви, ми вирізати від неї об'єктив, який згодом помістили над нашим лазерним діодом на відповідній відстані, використовуючи медичні трубки та електричну стрічку. Діод все ще не фокусується, коли його навіть ледь торкнутися, але це вже краще, ніж нічого. Напрямування діода на фототранзистор - це ще одна проблема. Оскільки діод слабо фокусується, а фото транзистору потрібен правильний кут нахилу, для спрямованості на відстань потрібні стійкі руки. Типова установка включає в себе два кріплення (щоб зафіксувати макети один напроти одного) і багато стрічки (щоб зв'язати їх під певним кутом).

Рисунок 3.12 Приймач і передавач

4. РОЗРОБКА ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ ЛАЗЕРНОЇ СИСТЕМИ ЗВ'ЯЗКУ

4.1 Розроблення півдуплексного послідовного інтерфейсу UART

Для того, щоб надсилати та отримувати текстові та аудіо дані, ми вирішили впровадити програмний протокол, який імітував роботу апаратного UART. Це означало, що ми будемо надсилати інформацію в цифровій формі через послідовну передачу даних. Лазер, по суті, стане дротом у цьому поєднанні двох наших UART-програм. Ми можемо легко резервувати два штифти порту, щоб відбулися прийом і передача штифтів для нашого програмного UART (в остаточному варіанті кодових пінів D0 і D1 для прийому та передачі відповідно). Що залишилося, це реалізувати підпрограми прийому та передачі цих підпрограм. Їх розробки описані нижче.

Передавач універсального асинхронного приймача (UART) працює на тій підставі, що можна передавати 8-розрядне (іноді 9-бітове) повідомлення даних через одиночну лінію зв'язку без синхронізації часу між джерелом та призначенням. Отримана одиночна лінія зв'язку відома як послідовна передача даних, оскільки біти 8-бітового повідомлення передаються послідовно. Асинхронна частина UART досягається шляхом відправлення відомих бітів для позначення початку та завершення передачі даних. Ці біти називаються початковими та стоп-бітами, і відповідно 0 та 1 в протоколі UART. Коли UART не передає дані, він підтримує логічний високий рівень

(1) по дротах. Таким чином, коли логічний (0) початковий біт передається, приймач розуміє, що повідомлення передається і починає реагувати. 8 біт - це вміст повідомлення. 8 біт завжди підтримують постійний високий (1) стоп-біт (а в більш складних імплементаціях, підтримують сталі значення, які ми будемо ігнорувати). У апаратній реалізації UART на більшості чіпів Atmel зразки UART отримали біти тричі посередині біта і використовують стандартну процедуру для визначення значення біта. На відміну від цього, наше програмне забезпечення UART буде відбирати отримані біти лише один раз посередині, щоб визначити їх значення.

Крім того, ще одна принципова різниця між нашим програмним забезпеченням UART та більшістю апаратних UART полягає в тому, що це напівдуплексний UART. Це означає, що він може передавати або отримувати лише в той чи інший час, а не передавати та отримувати одночасно (повний дуплекс). Повнодуплексне програмне забезпечення UART буде набагато складнішим і не є необхідним для нашої програми.

Значення швидкості, з якою біти передаються UART через послідовну лінію передачі даних, називається швидкістю передачі даних (термін "баут" не виражає нічого, крім того, що це скорочена форма імені Еміль Бауот, вченого, який першим дослідив телеграфні системи і чия робота проклала шлях до модулятора демодулятора (модем)). Крім того, швидкість передачі даних 300 баут аналогічна швидкості 300 біт за секунду (біт / с). Ця швидкість передачі даних важлива з двох причин: вона визначає, скільки часу передавальний UART повинен підтримувати значення біта на дроті, і визначає, скільки часу UART-пристрій повинен чекати між бітами вибірки. Ці дві довжини часу фактично однакові і будуть впроваджені в нашому програмному забезпеченні UART за допомогою виклику затримки програмного забезпечення (далі згадується як затримка).

Щоб розрахувати тривалість часу, коли нам потрібна затримка, ми повинні знати, що потрапляння в кожну з передавальних та приймальних підпрограм та виконання необхідних логічних операцій для зміни бітових значень або щоб визначити отримані значення біт, прийняти в цілому близько 1 мкс (або 16 операцій), і тому ми повинні відняти цю суму від нашого кінцевого результату.

У наступних розрахунках ми позначимо нашу кінцеву затримку як затримку і нашу заданий проміжок, як баут:

Спочатку ми повинні обчислити час проходження біта на заданому відрізку:

Потім отримуємо період у мкс:

Потім ми оберемо цей результат і віднімаємо 1 мкс для розрахунку логічних операцій. Це остання затримка:

Ця затримка позначається як buadnum (числове значення) у кінцевому коді. Також нам потрібен його половина для приймача (як правило, велике значення затримки baudnum/2, округлюємо результати, якщо buadnum непарний). Будь-які похибки часу, пов'язані з цими розрахунками, зберігаються лише для 8 біт, оскільки повідомлення мають довжину всього 8 біт. Такі похибки будуть скинуті на початку наступної передачі, і в результаті ми помітили, що програмне забезпечення UART не було надзвичайно чутливим до похибок на рівні мкс (особливо при низьких бодах). Нижче наведено таблицю деяких загальновідомих затримок.

Таблиця 4.1 затримок

BAUD

baudnum

halfbaudnum

110

9090

4545

9600

103

52

27777

35

18

38400

25

13

57600

16

8

115200

8

4

4.2 Розроблення алгоритму та програми передачі даних

Для передачі байта (8 біт) за послідовною передачею даних було розроблено підпрограму під назвою «Put». Ця підпрограма приймає 8бітів даних у змінній символу Txbyte і кожну бітову передачу послідовної передачі даних по одному на початку запуску з LCB (найменшого відомого біта). Байт даних, який потрібно відправити, повинен бути розміщений у Txbyte, а потім слід використати програму «Put» для того, щоб відправити ці дані. Важливо зазначити, що програма руйнує вміст Txbyte.

Була думка, що потрібно інвертувати Txbyte на початку використання підпрограми, після чого обробляти всі 0 як 1, а всі 1 як 0, щоб перетворити те, що опрацьовано програмою в Txbyte, коли ми виконуємо правильне зміщення (яке рівне 0) схоже на кінцевий біт зі значенням 1. Це виключає певну логіку в результатах роботи підпрограми в процесі створення кінцевого біта. Також ми маємо змінну величину carry (далі «змінна»), яка, по суті, відстежує останній біт, перетворений з Txbyte і репрезентує значення біта, який зараз надсилається. Нарешті, отримано змінну, яка називається bitcnt (обчислена кількість бітів у бітовому представленні числа), яка є лічильником, щоб стежити за тим бітовим числом, яке зараз надсилається. На початковому етапі встановлено 9 + sb підпрограми і зменшується кожного разу, коли надсилається (sb - це кількість застосованих кінцевих бітів, які в остаточному варіанті коду встановлено для значення1).

Перші три речі, які ми робимо в підпрограмі Put - це встановити значення bitcnt, інвертувати Txbyte і встановити змінну зі значенням 1 (для початкового біта, який повинен бути 0). Після цього ми введемо команду while loop, яка припиняє дію, коли bitcnt досягає 0. Вводячи цю команду, ми надсилаємо поточний біт. Це виконується шляхом встановлення передавального піна (PORTD.1) на протилежне значення змінної. Тоді ми хочемо зберегти це значення на піні для відповідної кількості часу (визначеної бажаним бодом), і тому ми затримаємо для buadnum у мкс(за допомогою виклику delay_us ()). Після цього встановлюємо перехід до значення LSB Txbyte, змінюємо Txbyte на 1 місце, і зменшуємо bitcnt, тому що вже відправили біт. На цьому етапі цикл буде повторюватися, доки bitcnt не досягне 0, і біт стоп-сигналу буде надіслано. Можна помітити, що час, необхідний для виконання будь-якої логічної дії, розгалуження, перетворення або інших розрахунків в циклі враховується в затримці (- 1 мкс). Було приділено увагу мові асемблера, щоб визначити цю корекцію, і вирівняти необхідну кількість циклів, незалежно від того, було відправлено 1 чи 0 (причину для вставленої команди nop (NOP або NOOP -- інструкція процесора на мові асемблера, або команда протоколу, яка наказує нічого не робити)).

Рисунок 4.1 Структурнасхема підпрограми Put ()

4.3 Розроблення алгоритму та програми прийому даних

Для отримання байта даних з послідовної передачі даних було розробиле підпрограму з назвою get. Ця підпрограма чекає на початковий біт, і, коли вона його виявляє, одержує біти з послідовної передачі даних по одному біту за один раз і перетворює їх у характерну змінну Rxbyte, починаючи з LSB. Після того, як всі 8 бітів були отримані, вміст Rxbyte являє собою повний отриманий байт. Важливо зазначити, що наступний виклик get буде перезаписувати вміст Rxbyte з наступним байтом для отримання

Час є дуже важливим у процедурі отримання, тому що ми повинні дати запит на порт-приймач(PIND.0) у відповідний час, щоб отримати правильні значення для отриманих бітів. Для цього ми повинні обчислити дві різні довжини затримки: один - це повна бітна довжина затримки, позначена як buadnum, а інша - це напіврозрядна довжина затримки, позначена halfbuadnum. Розрахунок обох цих затримок пояснено вище.

Перше, що потрібно зробити в get, - встановити bitcnt до 8 + sb (задане значення числа бітів). Причина, через яку використовуємо 8 тут, замість 9 (як в put), це тому, що ми вже опустимо початковий біт, коли ми почнемо зменшувати bitcnt. Потім ми вводимо while loop, який постійно проводить опробування вхідного піна (PIND.0) для 0 (тобто початкового біта). Таким чином, підпрограма може продовжуватися тільки після того, як початковий біт був виявлений (отже, підпрограма get повинна бути введена перед тим, як початковий біт має бути отриманий) .Бо тогочасний біт, який був запущений, був затриманий наполовину, щоб дістатись до середини початкового біта, викликаючи callback_us (halfbuadnum). В даний момент вводимо while loop, який припинить дію тільки тоді, коли bitcnt досягає 1. Після введення цього циклу затримуємо цілий біт, щоб досягти середини першого біта (і кожного наступного біта при послідовних повтореннях циклу) за допомогою виклику delay_us (buadnum).

Після цієї затримки змінюємо Rxbyte і розміщуємо його на 1 місце. Після цього встановлюємо MSB Rxbyte відповідно до того, що отримуємо на приймальному піні PIND.0 (0, якщо отримувати 0 і 1, якщо отримуєте 1).

Потім зменшуємо bitcnt, тому що ми отримали біт. Команда while loop припинить дію, коли bitcnt досягає 1 (замість 0 як в put), тому що ми не хочемо перетворити кінцевий біт в Rxbyte ,який не є частиною даних, проте ми все одно повинні затримати один біт після while loop, щоб обійти кінцевий біт. Як і в put, час, необхідний для логічної дії, розгалуження та переміщення в get розраховано на основі часу затримки.

Рисунок 4.2 Структурну схема підпрограми get()

Для перевірки нашого програмного забезпечення UART та налаштування апаратури знадобилося 3 програми. Одна з цих програм була використана для перевірки здатності системи передавати та отримувати текстові дані з сеансу HyperTerm. Ця програма називалася echoer.c і містить як підпрограми put (), так і get (). Інші дві програми були використані для перевірки здатності системи передавати та отримувати аудіо. Програма, яка передає звук, називається tx.c і містить підпрограму put (). Програма, яка отримує аудіо, називається rx.c і містить підпрограму get ().

Як згадувалося, текстова програма echoer.c використовує як підпрограми put (), так і get (). Основний метод досить простий. "Спочатку встановлюємо на пінах PORTD відповідні налаштування. Вказуємо використання 1 кінцевого біта. Після цього надсилаємо ASCII 0x12, щоб очистити вікно HyperTerm. Тоді введемо while loop , який виконує get (), потім передаємо отриманий байт Rxbyte на байт передачі Txbyte, а потім виконуєм put (). Це по суті відображає все, що отримується програмним забезпеченням UART. Наша тестова установка полягала в тому, щоб програмувати 2 Mega32 з цією програмою. Після цього ми матимемо одне із програмного забезпечення UART для Mega32, яке підключено (через RS232) до комп'ютера з запущеним сеансом HyperTerm і передавач, підключений до лазерного передавального ланцюга. "Таким чином, зв'яжемо програмний пристрій UART для прийому другої Mega32 з ланцюгом фотодіодів та підключимо ПЗ для передачі програмного забезпечення UART (через RS232) на комп'ютер, що працює на сеансі HyperTerm. Потім можна ввести текст під час першої сесїі HyperTerm і побачити набраний текст, який з'являється у другій сесії HyperTerm.

Програма tx.c несе відповідальність за дві речі. Перша із них полягає у вибірці вихідної напруги схеми мікрофона на бажаній частоті, а друга - на передавання 8-бітового результату по послідовній передачі даних (таким чином тільки вимагає put ()). У цьому процесі використовуються дві функції Mega32: таймер/лічильник 0 і аналого-цифровий перетворювач (АЦП). Таймер/лічильник 0, по суті (через використання переривання переповнення), керуюча частота, з якої можна здійснити перетворення напруги мікрофона. У цьому процесі беруть участь два переривання: переривання переповнення таймера/лічильника 0 та повне переривання перетворення АЦП. Сигнал таймера/лічильник 0 встановлений на 256, що фактично дає тактовий період:

Аудіоприймач rx.c дуже простий і не вимагає використання будь-яких таймерів або АЦП. Його головне завдання полягає в одержанні 8-бітових значень напруги з послідовною передачею даних і поширювання 8 біт одночасно через порт (в остаточному варіанті коду PORTB) до ЦАП. У зв'язку з цим, rx.c вимагає лише підпрограми get (). Після відповідної ініціалізації (налаштування актуальної інформації на портах та 1 кінцевий біт) починається нескінченний цикл, де підпрограма get () працює безперервно. Підпрограма get () буде чекати початкововий біт передачі перед виконанням. Після виконання get (), пропускаємо отриманий Rxbyte через PORTB до циклу ЦАП до наступного виклику get (). Оскільки підпрограма get () очікує початкові біти, частота виходу до ЦАП (і, в свою чергу, до динаміка) визначається частотою вхідних передач, яка, у свою чергу, визначає частоту дискретизації на передавачі. Таким чином, всі програми відмінно працюють разом.

Налаштування передачі звуку вимагало використання двох чіпів Mega32. Один з чіпів був запрограмований з кодом передавача tx.c, а інший - з кодом приймача rx.c.* Передавач був підключений до мікрофонної схеми через АЦП вхідним піном (PORTA.0) та ланцюгом передавача лазера через програмний пристрій передачі UART (PORTD.1). Приймач був підключений до ланцюгу фотодіода через програмний пін прийому UART (PORTD.0) та схеми ЦАП через вихідний порт(PORTB).

5. ОХОРОНА ПРАЦІ

Джерелами лазерного випромінювання є оптичні квантові генератори (ОКГ), які нині знаходять широке застосування в різних галузях промисловості. системах передачі інформації, телебаченні, спектроскопії, електронній та обчислювальній техніці тощо. Від інших джерел оптичного випромінювання лазерне випромінювання відрізняється своєю спрямованістю і величезною густиною енергії в промені. Ці особливості обумовлюють небезпечність лазерного випромінювання для обслуговуючого персоналу.

Сучасні ОКГ здатні генерувати випромінювання практично у всьому діапазоні довжини хвиль оптичних випромінювань: інфрачервоні, видимі і ультрафіолетові. За режимом роботи ОКГ поділяються на безупинної дії й імпульсні. Залежно від характеру робочої речовини ОКГ бувають твердотілі, напівпровідникові, рідинні та газові.

Залежно від енергії в імпульсі, густини енергії, довжини хвилі лазерного випромінювання воно може впливати на шкіру, внутрішні органи та органи зору. При оцінці дії лазерного випромінювання на біологічні об'єкти виділяють термічний та ударний ефекти.

Термічний ефект проявляється в появі опікових міхурів і випаровування поверхневих шарів, ураження внутрішніх органів та омертвіння тканин у результаті опіку. Для лазерного випромінювання характерні різкі границі уражених ділянок і можливість концентрації енергії в глибоких шарах тканини. На характер ураження впливає природний колір (пігментація), мікроструктура і щільність тканин. Термічний ефект більш характерний при безупинному режимі роботи ОКГ.

Ударний ефект характерний для імпульсного режиму роботи ОКГ. Причиною цього виду ураження є ударні хвилі, які виникають при поглиненні лазерного випромінювання. Ударна хвиля може виникнути як на поверхні тіла, так і у внутрішніх органах. Поширення ударної хвилів організмі призводить до ураження внутрішніх органів без яких-небудь зовнішніх проявів.

При дії лазерних випромінювань невеликої інтенсивності можливе виникнення різних функціональних зрушень у серцево-судинній системі, ендокринних залозах, центральній нервовій системі. З'являється стомлюваність, великі стрибки артеріального тиску, головний біль.

Найбільш небезпечне лазерне випромінювання для очей. При довжині хвилі в діапазоні 0,4 - 1,4 мкм випромінювання особливо небезпечне для сітківки ока, а в інших діапазонах - для рогівки очей і шкіри.

Нормування лазерного випромінювання здійснюється згідно із санітарними нормами і правилами СНиП 5804-91, відповідно яких при проектуванні 87 лазерної техніки потрібно дотримуватися принцип відсутності впливу на людину прямого, дзеркального та дифузного випромінювання. ОКГ за ступенем небезпеки поділяється на 4 класи:

- 1 клас - повністю безпечні;

- 2 клас - небезпечні для очей та шкіри при дії прямого пучка;

- 3 клас - небезпечні для очей при дії прямого і дзеркального випромінюванням та для шкіри при дії прямого пучка;

- 4 клас - найбільш потужні, які небезпечні для очей і шкіри як при прямому, так і при дифузному випромінюванні.

При нормуванні весь спектр лазерного випромінювання поділено на три спектральні і діапазони: І - 180 < l л 380 нм, ІІ - 380< l л 1400 нм, ІІІ - 1400< l л 105 нм.

Згідно з СНиП 5804-91 регламентуються гранично допустимі рівні (ГДР) густини потоку енергії чи потужності випромінювання на шкірі, сітківці, рогівці залежно від тривалості впливу, режиму роботи ОКГ та його спектрального діапазону. Норми встановлюються для однократного та хронічного (того, що систематично повторюється) опромінення. Наприклад, при однократному впливі і тривалості опромінення більше 100 с в оптичному діапазоні 1400< l л 105 нм густина потужності випромінювання не повинна перевищувати 500 Вт/м 2

Крім небезпечної дії лазерного випромінювання, робота ОКГ може супроводжуватися виникненням інших шкідливих та небезпечних факторів: світловим випромінюванням при роботі ламп накачування, УФ- випромінюванням імпульсних ламп і газорозрядних трубок, рентгенівським та електромагнітним випромінюванням, забрудненням повітряного середовища озоном, оксидами азоту, продуктами випаровування мішені, високою напругою зарядних пристроїв тощо. Тому при експлуатації ОКГ передбачається комплекс заходів, спрямованих на створення здорових та безпечних умов праці.

Діючі ОКГ необхідно розміщувати в окремих, спеціально виділених приміщеннях, в які обмежується доступ сторонніх осіб. На дверях приміщень встановлюються попереджувальні знаки і система сигналізації про роботу ОКГ. Стіни, стеля і підлога в приміщеннях повинні мати матову поверхню з коефіцієнтом відбивання не більше 0,4. Колір фарбування стін вибирається залежно від спектру випромінювання і таким, щоб густина відбитої (дифузійної) енергії була мінімальною. Оптичний квантовий генератор повинен встановлюватися в приміщенні так, щоб промінь не потрапляв на вікна та двері. Для виготовлення екрануючих штор рекомендують темні тканини. Приміщення повинно мати загально обмінну чи місцеву витяжну вентиляцію. Промінь ОКГ за можливості доцільно екранувати. Небезпечні зони повинні позначатися попереджувальними знаками безпеки.

Для захисту органів зору використовують спеціальні окуляри із світлофільтрами. Як матеріали для виготовлення захисних окулярів використовують: скло і пластмаси, що поглинають випромінювання, а також діелектричні тонкі плівки, що відбивають падаючу світлову енергію (оксиди титану тощо). Найкращий захист органів зору забезпечують окуляри, виготовлені з 88 поглинаючих матеріалів, на зовнішню поверхню скла яких наноситься плівка з відбиваючих матеріалів, та окуляри, виготовлені з використанням багатошарових фільтрів. Окуляри підбираються для певної довжини хвилі. Для захисту шкіри застосовують фетровий одяг, шкіряні рукавички.

ВИСНОВКИ

1. Розглянуто основні відомості про систему зв'язку на основі лазера, побудову глобальних та локальних мереж.

2. Показано структурну схему бісигнальних відкритих оптичних каналів зв'язку за впливу різних атмосферних факторів.

3. Розроблено апаратний прототип лазерної системи зв'язку.

4. Використовуючи універсальний асинхронний приймач/передавач UART, досягнуто швидкість передачі даних до 27,7 Кбіт/с

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

1. Федоров Б. Ф. Лазерні прилади та системи літальних апаратів //Машинобудування, 2008. - 36-38 с.

2. Гринчишин Т., Николайчук Я. Моделювання процесорів формування та цифрового оброблення сигналів в комп'ютерних системах з відкритими оптичними каналами // Компютинг: міжнар. наук. журнал Т. 11, Вип. 2,2012.- 145-155 с.

3. Лазерна система з'язку ( інтернет ресурсhttps://skomplekt.com/articles/laser_con.htm)

4. Мазуров М. Е., Обухов В. А. Лазеры в технике связи. - М.: Труды ИНИИПИ, 1969. - 48с.

5. Отв. ред. Н. Г. Басов. Лазеры и их применение. - М.: «Наука , 1974. - 231с.

6. ТарасовЛ.В.-Лазерыиихприменение:Учебноепособиедлястудентов.- М.: Радио и связь, 1983. - 152 с.

7. Петровский В. И., Пожидаев О. А. Локаторы на лазерах. М.: Воениздат, 1969. - 95с.

8. Буров Є. Комп'ютерні мережі / Є. Буров. - Л.: БаК, 1999. - 254с.

9. Кулаков Ю.А. Компьютерные сети. Выбор, установка, использование и администрирование / Ю.А. Кулаков, С.В. Омелянский - К.: Юниор, 1999. - 308с.

10. Гринчишин Т. М. Розробка бісигнального методу передаванння даних з захистом від мультиплікативних завад у відкритому оптичному каналі // Оптико-електронні інформаційно-енергетичні технології, 2012. - № 1 (23). - С.145-151.

11. Николайчук Я. М. Теорія джерел інформації.- Тернопіль:ТНЕУ, 2008. - 536с.

12. Айхлер Ю. Лазеры. Исполнение, управление, применение / Ю. Айхлер, Г.И. Айхлер. - М.: Техносфера, 2008. - 438с.

13. Мишура Т.П. Проектирование лазерных систем / Т.П. Мишура, О.Ю. Платонов. - С-П.: ГУАП, 2006. -97с

ДОДАТОК 1

#include <mega32.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <delay.h>

//set baud to 38.4 kbps #define baudnum 25

#define halfbaudnum 13

//global variables

charbitcnt; // bitcounter

charTxbyte; // data to be transmitted charRxbyte; // receiveddata

charsb; // number of stop bits (1, 2, ...) char carry // carrybit

//the data transmit and receivesubroutines voidput(void);

voidget(void);

//Transmit Byte void put(void)

{

bitcnt=9+sb; //initiate bit counter Txbyte=~Txbyte; //invert byte for easier handling carry=1; //set carry to 1 for startbit

//while loop transmits the data bits using delay while(bitcnt>0)

{

//transmit opposite of what is in carry if (carry)

{

PORTD.1=0;

}

else

{

PORTD.1=1;

#asm("nop")

}

delay_us(baudnum); //1 bit delay carry=(Txbyte&0b00000001); //move LSB to carry1 Txbyte=Txbyte>>1; //shift transmit byte right bitcnt--; //decrement bitcnt, 1 bitsent

}

PORTD.1=1;

}

//Receive Byte void get(void)

{

Rxbyte= 0x00; //clear receive byte bitcnt=9+sb; //initialize bitcounter

//while loop waits for start bit while(PIND.0 != 0)

{

// hang out

}

//delay to middle of start bit delay_us(halfbaudnum);

//while loop samples at middle of bits

//stops at bitcnt of 2 to avoid shifting

//in stop bit while(bitcnt>2)

{

delay_us(baudnum); //1 bit delay Rxbyte=Rxbyte>>1; //shift receive byte right1

//samplebit

//move value to MSB of receive byte if(PIND.0)

{

Rxbyte=Rxbyte | 0b10000000;

}

else

{

Rxbyte=Rxbyte & 0b01111111;

}

bitcnt--; //decrement bitcnt, 1 bitreceived

}

}

void main(void)

{

DDRD=0b00000010; // direction for UARTpins sb=1; // set to 1 stopbit

Txbyte=12; // clear the screen put();

delay_ms(1500);

Txbyte=12; // clear the screen again put();

//infinite loop receives data and echoes by immediately retransmitting

while (1)

{

get(); // receive a byte Txbyte=Rxbyte; // transfer data put(); // send abyte

Rxbyte= 0x00; // clear receivebyte

}

}

#include <mega32.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <delay.h>

//set baud for 27.7 kbps #define baudnum 36

#define halfbaudnum 18

//set ADC reference to AREF #define ADC_VREF_TYPE 0x20

//timeout value for task1 voice sampler

//a value of 1 ensures the task executes at

//every overflow #define t1 1

//global variables

charbitcnt; // bitcounter

charTxbyte; // data to betransmitted

charsb; // number of stop bits (1, 2,...)

charcarry; // carrybit

unsignedcharreload; // timer 0 reload inttime1; // timeoutcounter

unsignedchartemp; // temporary dataholder

//the task subroutine void task1(void);

//the data transmit subroutine void put(void);

//**********************************************************

//timer 0 overflow ISR

interrupt [TIM0_OVF] void timer0_overflow(void)

{

//reload to force overflow period TCNT0=reload;

//decrement the time if not zero if (time1>0) --time1;

}

// ADC interrupt service routine interrupt [ADC_INT] voidadc_isr(void)

{

// Read the 8 most significant bits

// of the AD conversion result and

// transfer to the transmit byte Txbyte=ADCH; temp=Txbyte;

put();

}

//**********************************************************

//Task 1

void task1(void)

{

time1=t1; //reset the task timer ADCSR.6=1; //initiate ADCconversion

PORTB=temp; //send result to PORTB for debugging

}

//Transmit Byte void put(void)

{

bitcnt=9+sb; //initiate bit counter Txbyte=~Txbyte; //invert byte for easier handling carry=1; //set carry to 1 for startbit

//while loop transmits the data bits using delay while(bitcnt>0)

{

//transmit opposite of what is in carry if (carry)

{

PORTD.1=0;

}

else

{

PORTD.1=1;

#asm("nop")

}

delay_us(baudnum); //1 bit delay carry=(Txbyte&0b00000001); //move LSB to carry1 Txbyte=Txbyte>>1; //shift transmit byteright

bitcnt--; //decrement bitcnt, 1 bitsent

}

}

void main(void)

{

//set up timer 0

reload=256-21; //value for about 1/3 Msec at 16 MHz TCNT0=reload; //initial reload

TIMSK=1; //turn on timer 0 overflow ISR TCCR0=4; //prescalar to256

//init the task timers time1=t1;

DDRB=0xff; //direction for debugging port DDRD=0b00000010; //direction for UARTpins

sb=1; // set to 1 stop bit

// ADC initialization

// ADC Clock frequency: 125.000 kHz

// ADC Voltage Reference: AREF pin

// Only the 8 most significant bits of

// the AD conversion result are used ADMUX=ADC_VREF_TYPE; ADCSR=0x8F;

// Global enable interrupts #asm("sei")

//infinite loop ensures task1 executes at evey overflow

//ISRs do the rest of the work while (1)

{

//execute task1 when time1 is 0 if (time1==0) task1();

}

}

#include <mega32.h> #include <stdio.h> #include <delay.h>

//set baud to 27.7 kbps #define baudnum 36

#define halfbaudnum 18

//global variables

charbitcnt; // bitcounter

charRxbyte; // receiveddata

charsb; // number of stop bits (1, 2, ...) char k; // debuggingcounter

//the data receive subroutine void get(void);

//Receive Byte void get(void)

{

Rxbyte=0x00; //clear receive byte bitcnt=9+sb; //initialize bit counter k=0; //initialize debugcounter

//while loop waits for start bit while(PIND.0 != 0)

{

k=k+1;// hang out

}

//delay to middle of start bit delay_us(halfbaudnum);

//while loop samples at middle of bits

//stops at bitcnt of 2 to avoid shifting

//in stop bit while(bitcnt>2)

{

delay_us(baudnum); //1 bit delay Rxbyte=Rxbyte>>1; //shift receive byte right1

//samplebit

//move value to MSB of receive byte if(PIND.0)

{

Rxbyte=Rxbyte | 0b10000000;

}

else

{

Rxbyte=Rxbyte & 0b01111111;

}

bitcnt--; //decrement bitcnt, 1 bitreceived

}

//blast received byte out PORTB PORTB = Rxbyte;

}

void main(void)

{

DDRD=0b00000010; //direction for UART pins DDRB=0xff; //direction for outputport

sb=1; // set to 1 stop bit

//infinite loop constantly calls get() to receive bytes while (1)

{

//receive bytes

get();

//delay 1 bit to get past stop bit delay_us(baudnum);

}

}

Размещено на Allbest.ru


Подобные документы

  • Загальні відомості про цифро-аналоговий перетворювач (ЦАП) призначений для перетворення числа у вигляді двійкового коду у напругу або струм, пропорційний значенню цифрового коду. Класифікація схем ЦАП. Системи прямого цифрового синтезу сигналів.

    курсовая работа [4,2 M], добавлен 29.06.2010

  • Загальні відомості про системи передачі інформації. Процедури кодування та модуляції. Використання аналогово-цифрових перетворювачів. Умови передачі різних видів сигналів. Розрахунок джерела повідомлення. Параметри вхідних та вихідних сигналів кодера.

    курсовая работа [571,5 K], добавлен 12.12.2010

  • Класифікація цифро–аналогових перетворювачів. Технічні характеристики та призначення основних блоків перетворювача з матрицею постійного імпедансу. Діаграма функції перетворення, частота перетворення зміни коду. Ідентифікація та корекція похибок.

    курсовая работа [1,0 M], добавлен 15.10.2013

  • Розробка термометра на базі мікроконтролера Atmega 8535. Визначення температури через аналогово-цифрове перетворення. Принципова схема пристрою. Варіанти з'єднання ліній портів з сегментами індикатора. Алгоритм роботи мікроконтролера у пристрої.

    курсовая работа [1,8 M], добавлен 11.08.2012

  • Область використання аналого-цифрових перетворювачів. Механізм придушення шумів в режимі сну. Класифікація і принцип роботи АЦП послідовного наближення. Особливості роботи цифро-аналогового перетворювача. Розрахунки параметрів і схема АЦП І ЦАП.

    курсовая работа [1,1 M], добавлен 26.11.2013

  • Цифрові вимірювальні прилади. Аналого-цифрове перетворення та три операції його виконання – дискредитація, квантування та цифрове кодування вимірюваної величини. Щільність розподілу похибки квантування. Класифікація цифрових вимірювальних приладів.

    учебное пособие [259,0 K], добавлен 14.01.2009

  • Перетворення сигналів і виділення інформації. Властивості оцінок, методи їх одержання. Характеристики оцінок початкових моментів. Заміна "усереднення по реалізаціях" "усередненням за часом". Оцінка математичного очікування по декількох реалізаціях.

    курсовая работа [316,2 K], добавлен 24.06.2011

  • Розробка пристрою термоконтролю на базі мікроконтролера ATMEGA16, який через аналогово-цифрове перетворення визначає значення температури з заданим коефіцієнтом перерахунку. Мікроконтролер, його призначення у приладі. Параметри елементів системи живлення.

    курсовая работа [829,7 K], добавлен 15.09.2014

  • Роль сигналів у процесах обміну інформацією між окремими підсистемами складних систем різного призначення. Передача повідомлення через його перетворення в електричні сигнали у кодуючому пристрої. Класифікація та способи математичного опису повідомлень.

    реферат [104,5 K], добавлен 12.01.2011

  • Часові характеристики сигналів з OFDM. Спектральні характеристики випадкової послідовності сигналів. Смуга займаних частот і спектральні маски. Моделі каналів розповсюдження OFDM-сигналів. Розробка імітаційної моделі. Оцінка завадостійкості радіотракту.

    дипломная работа [2,3 M], добавлен 07.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.