Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bilinskiy-Klyufas (2).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
434 Кб
Скачать
☆

6. Особливості операційних систем сенсорних вузлів

Операційні системи для бездротових сенсорних мереж менш складні, ніж універсальні операційні системи в силу обмеженості ресурсів в апаратному забезпеченні сенсорної мережі. Через це, операційній системі не потрібно включати підтримку користувацьких інтерфейсів. Устаткування бездротових сенсорних мереж не відрізняється о т традиційних вбудованих систем, і тому для сенсорних мереж можна використовувати вбудовану операційну систему, таку, як eCos або uC / OS. Однак такі операційні системи часто проектуються в режимі реального часу. У операційних систем, що призначаються для сенсорних мереж часто немає підтримки в реальному часі.

В сенсорних мережах в якості фізичного та канального інтерфейсів використовується спеціально розроблений стандарт ZigBee. Самі сенсори працюють під керуванням операційної системи TinyOS.

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

Особливості TinyOS

TinyOS має компонентну архітектуру, при правильній компоновці забезпечує мінімальний розмір коду, що дуже важливо для сенсорних пристроїв, які мають строгі обмеження за обсягом пам'яті. Бібліотека компонентів TinyOS включає мережеві протоколи, драйвери сенсорів і утиліти отримання і збору інформації, які можуть бути вдосконалені в клієнтських додатках.Реалізована в TinyOS подієва модель дає можливість управляти живленням на низькому рівні, що дозволяє економити енергоспоживання. TinyOS перенесена більш ніж на дюжину апаратних платформ і численні сенсорні пристрої. TinyOS помітно відрізняється від ОС загального призначення, таких як UNIX, Windows і пр. Наприклад, додатки для БСС не є інтерактивними в тому ж сенсі, що і додатки для звичайних ПК. Це пояснюється тим, що TinyOS не потребує у вбудованій підтримці користувальницького інтерфейсу. До того ж обмеження в ресурсах пам'яті, з одного боку, і апаратна підтримка розподілу пам'яті - з іншого, роблять такі механізми, як віртуальна пам'ять, непотрібними або навіть неможливими в реалізації. При розробці TinyOS основну увагу було приділено забезпеченню малого енергоспоживання і можливості використання для програмування мови c досить високим рівнем абстракції. В результаті була створена ОС з простою, але дуже розвиненою компонентної архітектурою. Специфіка цієї архітектури полягає в забезпеченні розвинених і надійних механізмів паралельного виконання завдань в умовах вкрай обмежених ресурсів.Описані вище причини призвели розробників TinyOS до вибору моделі, заснованої на подіях.

Архітектура TinyOS включає дві головні функціональні складові: планувальник завдань і компонент. Поняття «компонент» в TinyOS дещо відрізняється від загальноприйнятого. Так, інтерфейс компонента TinyOS складається з двох частин: верхньої (upper), що надається цим компонентом як провайдером, і нижньої (lower), необхідної для його функціонування.Обидві частини містять описи команд і подій. Компонент має два основних елементи: набір команд і набір обробників подій. Крім того, в кожному компоненті оголошуються події, про які він сигналізує, і команди, використовувані даними компонентом. Ці оголошення застосовуються при компонуванні для формування конфігурації системи, налаштованої на певний клас додатків. Процес компонування розподіляє компоненти по рівнях, де кожен більш високий рівень посилає команди нижчого рівня, а той, у свою чергу, звертається до більш високого рівня за допомогою сигналів про події. Апаратне забезпечення є самим нижнім рівнем в ієрархії компонентів. Використання статичного розподілу пам'яті дозволяє визначати вимоги до пам'яті на етапі компіляції і уникати накладних витрат, пов'язаних з динамічним розподілом пам'яті. Крім того, такий підхід дозволяє скорочувати час виконання завдяки статичному розміщення змінних під час компіляції замість доступу до них за вказівниками під час виконання. Команди є неблокіруемой запитами до компонентів нижчого рівня. Щоб не виникало тривалих затримок, час відгуку викликаної команди не повинно перевищувати заданого інтервалу часу, при цьому команда повинна повернути прапор, який вказує, успішно вона завершилася чи ні. Зазначимо, що команди не можуть подавати сигнали про події. Обробники подій прямо або побічно мають справу з апаратними подіями.Самий нижній рівень компонентів містить обробники, безпосередньо пов'язані з апаратними перериваннями. Апаратне подія ініціює процес обробки, який поширюється вгору по рівнях через події і може повернутися вниз за допомогою команд. Як і в інших ОС, в TinyOS існують атомарні потоки (task), які виконуються аж до свого завершення, хоча і можуть бути витіснені подіями. З компонентом може бути пов'язано більше одного потоку. Потоки можуть викликати команди нижчого рівня, сигналізувати про події більш високому рівню і планувати інші потоки усередині компонента. Семантика потоку "виконання аж до завершення» дозволяє мати один стек, який виділяється виконує в даний момент потоку, що дуже важливо в системах з обмеженою пам'яттю.Потоки дають можливість імітувати паралельну обробку усередині кожного компонента, так як вони виконуються асинхронно по відношенню до подій.Однак потоки не повинні блокуватися або простоювати в очікуванні, оскільки в таких випадках вони будуть перешкоджати розвитку обробки в інших компонентах.

Найчастіше сенсор повинен мати можливість самостійно визначити своє місцеположення, принаймні по відношенню до іншого сенсора, якому він передаватиме дані. Тобто спочатку відбувається ідентифікація всіх сенсорів, а потім вже формується схема маршрутизації. Взагалі всі сенсори – пристрої стандарту «ZigBee» – по рівню складності розбиваються на три класи. Вищий з них – координатор – управляє роботою мережі, зберігає дані про її топологію і служить шлюзом для передачі даних, що збираються всією безпровідною сенсорною мережею, для подальшої обробки. У сенсорних мережах зазвичай використовується один координатор. Середній по складності сенсор є маршрутизатором, тобто може приймати і передавати дані, а також визначати напрями передачі. І нарешті, найпростіший сенсор

може лише передавати дані найближчому маршрутизатору. Таким чином, виходить, що на основі стандарту ZigBee можна сформувати мережу з кластерною архітектурою. Кластер утворюють маршрутизатор і прості сенсори, у яких він збирає сенсорні дані. Маршрутизатори кластерів ретранслюють дані один одному, і дані передаються координаторові. Координатор зазвичай має зв’язок з IP-мережею, куди і прямують дані для остаточної обробки.

У таких мережах функціональні можливості кожного сенсора однакові. Можливість самоорганізації і самовідновлення мереж комірчастої топології дозволяє у разі виходу частині джерел з ладу спонтанно формувати нову структуру мережі. Правда, у будь-якому випадку необхідний центральний функціональний вузол, що приймає і оброблює всі дані, або шлюз для передачі даних на обробку вузлу. Спонтанно створювані мережі часто називають латинським терміном Ad Hoc, що означає «для конкретного випадку».

Найпопулярніші системи передачі безпровідної мережі – високочастотні і оптичні, кожна зі своїми перевагами і недоліками. У разі високочастотної передачі мережеві моти містять мікропроцесор і трансивер, об’єднані з датчиками, антеною і джерелом живлення.

У мережі компанії Dust Networks вузли працюють в шумоподібному режимі із стрибкоподібною перестройкою частоти в діапазоні 902– 928 МГц. Відстань між вузлами складає 30– 60 м в приміщенні і до 150 м поза приміщенням. Проте внаслідок малих розмірів мот розмір антени також повинен бути малий, і передачу даних необхідно вести на високій частоті, а це не завжди сумісно з вимогою малої споживаної потужності. До того ж, високочастотні трансивери – достатньо складні пристрої з схемами модуляції і демодуляції, смуговими фільтрами. Для передачі даних від великого числа вузлів потрібні додаткові схеми мультиплексованої передачі з часовим, частотним або кодовим розділенням. Все це істотно ускладнює завдання зниження споживаної потужності до необхідного рівня в декілька мікроват. Тому привабливішим є оптичний зв’язок.

Особливості оптичної сенсорної мережі

З боку вихідної лінії оптичного зв’язку модульований сигнал може передаватися набору вузлів-мот одиничним лазерним передавачем. Приймач вузла містить смуговий оптичний фільтр, фотодіод, передпідсилювач і слайсер. Але при цьому споживана потужність достатньо велика. Щоб її понизити, можна використовувати направлений пучок і пристрій активного управління пучком, що ускладнює конструкцію моти. Цю проблему можна вирішити за рахунок застосування пасивного, виконаного на базі МЕМС-структури оптичного передавача, тобто пристрою, що забезпечує передачу модульованих оптичних сигналів без витрати енергії.

Завдяки малій довжині хвилі видимого світла або ближнього ІЧ-випромінювання (400– 1600 нм), в якому працюють такі оптичні передавачі і приймачі, прилади міліметрового розміру можуть формувати вузький пучок випромінювання. Інша перевага роботи на малих довжинах хвиль – можливість приймача базової станції, оснащеного малогабаритним формувачем зображення, декодувати дані передані одночасно великим числом вузлів, розташованих в різних місцях поля огляду приймача, тобто можливість роботи в режимі ущільнення з просторовим розділенням. В результаті конструкція мот і протоколи системи значно спрощуються. Для успішного прийому даних такою системою необхідно лише, щоб вузли не блокували лінію прямої видимості один одного (а це завдяки їх малим розмірам практично неможливо), а також щоб дані різних вузлів формувалися різними елементами зображення.

Можливим варіантом є автономний вузол сенсорної мережі з живленням від сонячної батареї, що забезпечує двосторонній оптичний зв’язок і займає об’єм 16 мм.

Вузол перетворює сигнали датчиків в цифрову форму і передає/приймає дані, які передаються оптичним випромінюванням у вільному просторі, У вузол входять три мікросхеми: спеціалізована схема, що містить світлочутливий датчик, генератор на частоту 3 МГц, оптичний приймач, 8-бітовий АЦП і контролер (кінцевий автомат); мікросхема сонячної батареї з декількома виходами; кубічний кутовий МЕМС – ретрорефлектор.

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

На основі розглянутих особливостей серенсорних мереж визначимо основні критерії оптимізації побудови такої мережі:

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

Основним стандартом передачі даних в сенсорних мережах є IEE802.15.4, який спеціально розробили для бездротових мереж з малопотужними приймально-передавачами.  Ніяких стандартів у галузі програмного забезпечення в сенсорних мережах немає. Існує кілька сотень різних протоколів обробки та передачі даних, а також систем управління вузлами. Найбільш поширеною операційною системою є система з відкритим кодом - TinyOs (будучи в Стенфордстком університеті, особисто познайомився з одним із розробників). Багато розроблювачів (особливо це стосується комерційних систем) пишуть свою систему управління, часто на мові Java.  Програма управління сенсорного вузла під управлінням операційної системи TinyOs пишеться на мові nesC.  Варто відзначити, що через дорожнечу обладнання та складності настройки сенсорних мереж, широке поширення одержали різні системи моделювання, зокрема система TOSSIM, спеціально розроблена для моделювання роботи вузлів під управлінням TinyOs. 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]