Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компютерні Мережі Щуцький С.В.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
20.22 Mб
Скачать

5.3. Передавання даних через послідовний порт rs 232c

Передавання даних через послідовний порт стандарту RS-232C ви­користовує двопровідну лінію зв'язку, двополярні сигнали амплітудою 25 В. Стандарт розроблено в період слабкого використання інтеграль­них мікросхем. Максимальна швидкість передавання даних - 20 Кб/с, однак реальна швидкість залежить від відстані передавання.

-

Стандарт RS-232C розроблено ще 1969 р. американською асоціа­цією електронної промисловості (American Electronics Industries Association (AEIA, TEIA)), тому його інколи позначають як ЕІА RS-232C. ITU розробив комплекс аналогічних стандартів V.24 (ме­ханічні характеристики) і V.28 (електричні характеристики), які за фун­кціями відповідають ЕІА RS-232C.

Багато ПК мають апаратуру послідовного порту введення-виведен-ня, виконаного відповідно до стандарту RS-232C. Тому розглянемо інтерфейс RS-232C детальніше.

Спочатку інтерфейс RS-232C був призначений для приєднання тер­міналів. Сьогодні до послідовного порту приєднують модеми, відда­лені принтери, плотери, мишку та інше обладнання.

У ПК реалізовано до чотирьох послідовних портів (СОМ1-СОМ4). Роз'єднувач послідовного порту на панелі ПК має 25 або 9 контактів (найчастіше використовують тільки дев'ять з них). Керуючим пристроєм послідовного порту є мікросхема UART (Universal Asynchronous Receiver/Transmitter), яка перетворює паралельний код у послідовний та передає його побітово у лінію, додаючи біти старту, зупинки та кон-тпппю Тяким ппотбом Rirr6v-

4

nt (DCE)), інший - підлеглим (Data 5.5).

тролю. Таким способом відбу­вається асинхронне передаван­ня. Через послідовний порт дані можна передавати на відстань до ЗО м. Під час передавання даних один з комп'ютерів є головним (Data Communication Equipment Terminal Equipment (DTE)) (рис. 5

5.4. Технологія usb

j # USB (Universal Serial Bus) - послідовна шина для приєднання пе-I риферійних пристроїв до комп 'ютера.

Історія розробки та версії

Стандарт USB розроблено фірмою Intel (уперше його підтримку ре­алізовано у чіпсеті Triton II - 82430НХ), його підтримують усі наступні чіпсети цієї фірми. Одночасно з Intel над стандартом працювали IBMCompaq, Digital, Microsoft, NEC, Northern Telecom; вони створили кон­сорціум USB Implement Forum, який займається розвитком USB.

Шина USB дає змогу приєднувати, налаштовувати, використовува­ти пристрої під час роботи госта. Розподіл перепускної здатності шини, планований гостом та реалізовуваний шляхом розсилання маркерів.

Інтерфейс USB 1.0. працює зі швидкістю 12 Мбіт/с. Підтримувани­ми є два окремі канали передавання - високо- та низькошвидкісний. Швидкість передавання у низькошвидкісному каналі -1,5 Мбіт/с. Вер­сія USB 2.0 працює зі швидкістю, в 40 разів більшою, тобто 480 Мбіт/с для швидкісного каналу.

Будова та порядок роботи

Топологія. У мережі USB є три типи пристроїв:

  • гост (точніше, контролер USB госта) керує передаванням;

  • хаб (концетратор) організовує приєднання інших хабів та при­ строїв;

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

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

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

Хаб - це кабельний концентратор. Він має декілька портів. У кож­ного хаба є висхідний порт (Upstream port), призначений для приєднання до госта або хабу верхнього рівня, та низхідні порти (downstream ports), призначені для приєднання хабів нижнього рівня та функцій. Хаб роз­пізнає приєднання та від'єднання пристрою від порту, може керувати живленням та обмежувати струм, що споживає порт. Хаб ізолює висо-кошвидкісні сегменти від низькошвидкісних.

Усім процесом передавання керує контролер. Він опитує приєднані пристрої, визначає пріоритети передавання, планує та дозволяє пере­давання. Отже, у мережі USB реалізовано певну модифікацію методу доступу з опитуванням.

Логічна структура, В системі USB можна виділити по три логічні рівні для госта і фізичного пристрою. Пристрій USB містить інтерфей-сну частину, частину пристрою і функційну частину. Гост має інтер-фейсну частину, системну та програмне забезпечення (ПЗ) пристрою.

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

Модель передавання даних. Кожен пристрій USB можна описати як набір кінцевих точок (Endpoint), з якими гост-котролер обмінюється інформацією. Кінцеві точки мають низку параметрів, зокрема: Ч> номер точки, який однозначно ідентифікує її; Ч> необхідну частоту доступу до шини та допустимі затримки об­слуговування;

0> потрібну пропускну смугу каналу; 0> вимоги до опрацювання помилок;

Ч> максимальні розміри пакетів, що приймаються та передаються; Чо тип обміну; Ч> напрям обміну.

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

Канал (Pipe) описує модель передавання даних між гост-контроле­ром та кінцевою точкою пристрою. Є два типи каналів: потоки (Stream) та повідомлення (Messages). Потік завжди однонапрямлений та достав­ляє дані з одного кінця каналу до іншого. Один номер кінцевої точки можна використовувати для позначення двох потоків (уведення та ви-ведення). Потік виконує такі типи обміну: суцільний, ізохронний, пере­ривання. Дані потоку для USB неструктуровані.

З каналами пов'язані характеристики, відповідні для кінцевої точки (див. вище).

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

Типи передавань даних. USB підтримує як одно-, так і двонапрямле-ний режими передавання. Передавання завжди відбувається між ПЗ госта та кінцевою точкою пристрою. Пристрій може одночасно підтри­мувати декілька каналів з різними кінцевими точками. Архітектура USB визначає чотири типи передавання даних:

^ керівні пересилання (Control transfers). Використовують для конфі­гурування, ініціалізації пристроїв, керування ними. Протокол USB забезпе­чує гарантоване доставлення таких даних. Довжина поля даних такого пересилання не перевищує 8 байтів для низької швидкості і 64 - для високої;

^ суцільні передавання (Bulk Data Transfers). Передають великі па­кети без чітких вимог до часу доставлення. Пакети займають усю вільну смугу пропускання каналу, однак мають найнижчий пріоритет. Такі пе­редавання відбуваються тільки на повній швидкості;

^переривання (Interrupt) -короткіпередавання (максимально8байт для низької швидкості, 64-для високої швидкості). Таким способом, на­приклад, відбувається передавання окремого символу, уведеного з клавіа­тури, або координати курсора. Переривання є спонтанними і не повинні бути обслужені повільніше, німе того потребує відповідний пристрій;

•Ь ізохронні передавання (Isochronous Transfers) - передавання у ре-аАШому Масштабі часу, займають заздалегідь узгоджену частину про-ЩЄкНої спроможності каналу, мають заданий час передавання. У випад­ку виникнення спотворень недійсні пакети ігноровані.

Смуга перепускання шини USB розподілена між усіма каналами. Якщо надходить запит на виділення нового каналу, а перепускна здатність шини з урахуванням уже налаштованих каналів цього не доз­воляє, запит буде відхилено.

Ізохронні передавання за типом синхронізації надавача та одержу­вача даних поділяють на >асинхронні, Асинхронні, >адаптивні. Вони визначають відповідні типи каналів USB.

Протокол обміну USB. Усі обміни (трансакції) складаються з трьох пакетів. Кожна трансакція планована і відбувається з ініціативи конт­ролера, який надсилає пакет-маркер (Token Packet). Він містить тип і напрям передавання, адресу пристрою USB, номер кінцевої точки. Трансакція відбувається між гостом та кінцевою точкою. Джерело да­них передає пакет або повідомлення про відсутність даних. Після успі­шного приймання приймач даних надсилає пакет підтверження (Handshake Packet).

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

Для виявлення помилок кожен пакет має CRC-код, що дає змогу виявляти всі одиничні та подвійні помилки. Апаратне забезпечення виявляє помилку передавання і після трьох невдалих спроб повідомляє клієнтське ПЗ.

Порядок роботи. Кожну трансакцію ініціює гост-контролер надсилан­ням маркера і завершує пакетом підтведження. Структуратрансакції така:

IN - Data - Handshake OUT - Data - Handshake

Контролер циклічно (з періодом 1 мс) формує кадри, в які уклада­ються всі заплановані трансакції. Кожен кадр починається надсилан­ням маркера SOF (Start of Frame), який є синхронізувальним сигналом для всіх пристроїв. У кінці кожного кадру виділено інтервал часу - (End of Frame (EOF)), упродовж якого хаби забороняють передавання у на­прямі до контролера. Кожен кадр має номер. Гост-контролер оперує 32-бітовим лічильником, але в маркері SOF використовано тільки мо­лодші 11 біт. Номер кадру збільшується у період EOF. Ґост планує за­вантаження кадрів так, щоби в них було місце для трансакцій керуван­ня та переривання. Вільний простір заповнюють суцільні передавання.

Для ізохронного передавання важливою є синхронізація контроле-pa та пристрою. Це завдання має такі варіанти вирішення:

  • внутрішній генератор пристрою синхронізований символами SOF;

  • частота кадрів налаштовується на частоту пристрою;

  • швидкість передавання (приймання) пристрою узгоджена з часто­ тою кадрів.

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

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

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

Функції пристроїв USB. Розглянемо головні функції, які виконують пристрої USB:

-Ь динамічне приєднання та від 'єднання. Після сигналу скидання пристрій повинен відгукуватися на нульову адресу. Після отримання USB-адреси, пристрій повинен відгукуватися тільки на цю адресу;

•Ь конфігурування пристрою виконує гост. У цьому разі використову­вана інформація, зчитана з самого пристрою. Пристрій може мати ба­гато інтерфейсів, кожному з яких відповідає своя кінцева точка. Інтер­фейс може мати декілька альтернативних наборів характеристик. Для підтримки адаптивних драйверів дескриптори пристроїв мають поля класу, підкласу і протоколу;

> передавання даних. Один з чотирьох визначених вище типів;

•Ь керування енергоспоживанням. У разі приєднання до шини пристрій не може споживати струм понад за 100 мА. У робочому режимі можна зробити заявку на струм до 500 мА;

^ пристрій USB повинен підтримувати режим припинення (Suspended Mode), у якому споживає струм не більше 500 мкА. У випадку припинен­ня активності шини пристрій автоматично зупиняється;

•^ можливість віддаленого пробудження (Remote Wakeup) дає змогу припиненому пристрою подати сигнал гост-контролеру, який також: може перебувати в припиненому стані, і поновити роботу системи.

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

Роз'єми. Штепсель USB має чотири контакти: перший - VCC (жив­лення); другий - дані (D-); третій - дані (D+); четвертий - заземлення.

Використовують два типи рознять. Розняття типу A (Upstream Connector) застосовують для приєднання до хабів. Вилки встановлю­ють на кабелях, не від'єднаних від пристроїв (клавіатура, миша), а гнізда - на низхідних портах. Розняття типу В (Donstream Connector) вста­новлюють на пристроях, у яких з'єднувальні кабелі від'єднувані (прин­терах, сканерах): вилку - на з'єднувальному кабелі, а розетку - на при­строї. Протилежна частина кабелю має вилку розняття А. Розняття типів А та В розрізняють механічно, що не допускає петлевих сполучень хабів. Конструкція рознять забезпечує пізніше сполучення і раніше від'єднан­ня сигнальних ліній порівняно з лініями живлення.

Шина USB дає змогу приєднувати до 127 пристроїв. Пристрої мож­на приєднувати та від'єднувати без вимкнення комп'ютера, всі приєднані пристрої використовують один номер переривання.

Живлення приєднаних пристроїв також відбувається через USB. Є змога керувати енергоспоживанням приєднувальних пристроїв. Водночас через USB живляться тільки пристрої з малим енергоспоживан­ням. Інші пристрої мають власні джерела живлення.