Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


Шина USB та FireWire. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Комп'ютери

Коментарі до статті Коментарі до статті

USB (Universal Serial Bus – універсальна послідовна шина) є промисловим стандартом розширення архітектури PC, орієнтованим на інтеграцію з телефонією та пристроями побутової електроніки. Версія 1.0 була опублікована у січні 1996 року.

Архітектура USB визначається такими критеріями:

  • Розширення периферії PC, що легко реалізується.
  • Дешеве рішення, яке підтримує швидкість передачі до 12 Мбіт/с
  • Повна підтримка в реальному часі передачі аудіо та (стислих) відеоданих
  • Гнучкість протоколу змішаної передачі ізохронних даних та асинхронних повідомлень
  • Інтеграція з пристроями, що випускаються. Доступність у PC всіх конфігурацій та розмірів
  • Забезпечення стандартного інтерфейсу, здатного швидко завоювати ринок
  • Створення нових класів пристроїв, що розширюють PC

З погляду кінцевого користувача, привабливі такі риси USB:

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

З середини 1996 року випускаються PC із вбудованим контролером USB, що реалізується чипсетом. Очікується поява модемів, клавіатур, сканерів, динаміків та інших пристроїв введення/виведення з підтримкою USB, а також моніторів з USB-адаптерами вони будуть грати роль хабів для підключення інших пристроїв.

1.1. Структура USB

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

Нижче наводиться авторський варіант перекладу термінів зі специфікації "Universal Serial Bus Specification. Revision IOJanuary 15, 1996", опублікованої Compaq, DEC, IBM, Intel, Microsoft, NEC та Northern Telecom. Більш детальну та оперативну інформацію можна знайти за адресою: usb.org.

Пристрої (Device) USB можуть бути хабами, функціями або їх комбінацією. хаб (Hub) забезпечує додаткові точки підключення пристроїв до шини. Функції (Function) USB надають системі додаткові можливості, наприклад підключення до ISDN, цифровий джойстик, акустичні колонки з цифровим інтерфейсом і т.п. пристрій. Багато пристроїв, що підключаються до USB, мають у собі і хаб, і функції. Роботою всієї системи USB керує хост-контролер (Host Controller), є програмно-апаратною підсистемою хост-комп'ютера.

Фізичне з'єднання пристроїв здійснюється за багатоярусною топологією зірки. Центром кожної зірки є хаб, кожен кабельний сегмент з'єднує дві точки хаб з іншим хабом чи з функцією. У системі є один (і лише один) хост-контролер, розташований у вершині піраміди пристроїв та хабів. Хост-контролер інтегрується з кореневим хабом (Root Hub), що забезпечує одну або кілька точок підключення портів. Контролер USB, що входить до складу чіпсетів, має вбудований двопортовий хаб. Логічно пристрій, підключений до будь-якого хаба USB і налаштований (див. нижче), може розглядатися як безпосередньо підключений до хост-контролера.

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

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

Прикладами функцій є:

Вказівники миші, планшет, світло перо. Пристрої введення клавіатури або сканер.

Пристрій виведення принтера, звукові колонки (цифрові).

Телефонний адаптер ISDN

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

У кожного хаба є один висхідний порт (Upstream Port}, призначений для підключення до хоста чи хаба верхнього рівня. Інші порти є низхідними (Downstream Ports), призначені для підключення функцій або хабів нижнього рівня. Хаб може розпізнати підключення пристроїв до портів або відключення від них та керувати подачею живлення на їхні сегменти. Кожен із портів може бути дозволений або заборонений і налаштований на повну або обмежену швидкість обміну. Хаб забезпечує ізоляцію сегментів із низькою швидкістю від високошвидкісних.

Хаби можуть керувати подачею живлення на низхідні порти; передбачається встановлення обмеження струм, споживаний кожним портом.

Шина USB та FireWire

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

У структуру входять такі елементи:

Фізичний пристрій USB пристрій на шині, що виконує функції, що цікавлять кінцевого користувача.

Client SW ПЗ, що відповідає конкретному пристрою, що виконується на хост-комп'ютері. Може бути складовою ОС або спеціальним продуктом.

USB System SW системна підтримка USB, незалежна від конкретних пристроїв та клієнтського програмного забезпечення.

USB Host Controller апаратні та програмні засоби для підключення пристроїв USB до хост-комп'ютера.

Фізичний інтерфейс

Стандарт USB визначає електричні та механічні специфікації шини.

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

Передача двома проводами в USB не обмежується диференціальними сигналами. Крім диференціального приймача, кожен пристрій має лінійні приймачі сигналів D+ і D-, а передавачі цих ліній управляються індивідуально. Це дозволяє розрізняти більше двох станів лінії, які використовуються організації апаратного інтерфейсу. Стану DiffO и Diff1 визначаються по різниці потенціалів на лініях D+ і D більше 200 мВ за умови, що на одній з них потенціал вищий за поріг спрацьовування VSE. Стан, при якому на обох входах D+ і D є низький рівень, називається лінійним нулем (SEO Single-Ended Zero). Інтерфейс визначає такі стани:

DataJ State и Data До State стану передається біта (або просто J и К), визначаються через стан DiffO и Diff1.

Стан простою пауза на шині.

Resume State сигнал "пробудження" для виведення пристрою з "сплячого" режиму.

Start of Packet (SOP) початок пакету (перехід з Idle State в К).

Кінець пакета (EOP) кінець пакета.

Вимкніть пристрій вимкнено від порту.

З'єднуватися пристрій підключено до порту.

скидання скидання пристрою.

Стани визначаються поєднаннями диференціальних та лінійних сигналів; для повної та низької швидкостей стану DiffO и Diff1 мають протилежне призначення. У декодуванні станів Disconnect, Connect и скидання враховується час знаходження ліній (понад 2,5 мс) у певних станах.

Шина має два режими передачі. Повна швидкість передачі сигналів USB становить 12 Мбіт/с, низька 1,5 Мбіт/с. Для повної швидкості використовується екранована кручена пара з імпедансом 90 Ом і довжиною сегмента до 5 м, для низької - невитої неекранованої кабелю до 3 м. Низькошвидкісні кабелі та пристрої дешевше високошвидкісних. Одна й та система може одночасно використовувати обидва режими;

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

Швидкість, використовувана пристроєм, підключеним до конкретного порту, визначається хабом за рівнями сигналів на лініях D+ і D-, що зміщуються резисторами R2 приймачів навантажувальних (див. рис. 7.2 і 7.3).

Сигнали синхронізації кодуються разом із даними методом NRZI (Non Return to Zero Invert), його роботу ілюструє рис. 7.4. Кожному пакету передує поле синхронізації СИНХРОНІЗАЦІЯ, що дозволяє приймачеві налаштуватись на частоту передавача.

Кабель також має лінії VBus і GND для передачі напруги живлення 5 В до пристроїв. Перетин провідників вибирається відповідно до довжини сегмента для забезпечення гарантованого рівня сигналу та напруги живлення.

Шина USB та FireWire
Мал. 7.4. Кодування даних за методом NRZI

Стандарт визначає два типи роз'ємів (див. табл. 7.1 та рис. 7.5).
Контакт Ланцюг Контакт Ланцюг
1 VBus 3 D+
2 D- 4 GND

Рознімання типу "А" застосовуються для підключення до хаб (Upstream Connector). Вилки встановлюються на кабелях, що не від'єднуються від пристроїв (наприклад, клавіатура, миша тощо). Гнізда встановлюються на низхідних портах (Downstream Port) хабів.

Рознімання типу "В" (Downstream Connector) встановлюються на пристроях, від яких з'єднувальний кабель може від'єднуватися (принтери та сканери). Частина у відповідь (вилка) встановлюється на сполучному кабелі, протилежний кінець якого має вилку типу "А".

Рознімання типів "А" і "В" розрізняються механічно (рис. 7.5), що виключає неприпустимі петлеві з'єднання портів хабів. Чотириконтактні роз'єми мають ключі, що виключають неправильне приєднання. Конструкція роз'ємів забезпечує пізнє з'єднання та раннє від'єднання сигнальних ланцюгів у порівнянні з живильними. Для розпізнавання роз'єму USB на корпусі пристрою встановлюється стандартне символічне позначення.

Шина USB та FireWire
Мал. 7.5. Гнізда USB: а типу "А", б типу "В", символічне позначення

Живлення пристроїв USB можливо від кабелю (Bus-Powered Devices) або від власного блоку живлення (Self-Powered Devices). Хост забезпечує живленням безпосередньо підключені до нього ПУ. Кожен хаб, у свою чергу, забезпечує живлення пристроїв, підключених до його низхідних портів. При деяких обмеженнях топології допускається застосування хабів, які живляться від шини. На рис. 7.6 наведено приклад схеми з'єднання USB. Тут клавіатура, перо та миша можуть харчуватися від шини.

Шина USB та FireWire

Модель передачі даних

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

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

необхідною смугою пропускання каналу;

номером точки;

вимогами до опрацювання помилок;

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

типом обміну;

напрямом обміну (для суцільного та ізохронного обмінів).

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

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

Каналом {Pipe) USB називається модель передачі даних між хост-контролером і кінцевою точкою (Endpoint) пристрої. Є два типи каналів: потоки (Stream) та повідомлення (Message). Потік доставляє дані від кінця каналу до іншого, він завжди однонаправленный. Один і той же номер кінцевої точки може використовуватися для двох потокових каналів введення та виведення. Потік може реалізовувати такі типи обміну: суцільний, ізохронний та переривання. Доставка завжди йде в порядку "першим увійшов першим вийшов" (FIFO); з точки зору USB дані потоку неструктуровані. Повідомлення мають формат, визначений специфікацією USB. Хост надсилає запит до кінцевої точки, після якого передається (приймається) пакет повідомлення, за яким слідує пакет з інформацією стану кінцевої точки. Наступне повідомлення нормально не може бути надіслано до обробки попереднього, але при відпрацюванні помилок можливе скидання необслуговуваних повідомлень. Двосторонній обмін повідомленнями адресується до однієї і тієї ж кінцевої точки. Для доставки повідомлень використовується лише обмін типу "керування".

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

Типи передачі

USB підтримує як односпрямовані, і двоспрямовані режими зв'язку. Передача даних проводиться між хоста і кінцевою точкою пристрою. Пристрій може мати кілька кінцевих точок, зв'язок із кожною з них (канал) встановлюється незалежно.

Архітектура USB допускає чотири базові типи передачі даних:

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

Суцільні передачі (Bulk Data Transfers) порівняно великих пакетів без жорстких вимог на час доставки. Передачі займають усю вільну смугу пропускання шини. Пакети мають поле даних розміром 8, 16, 32 чи 64 байт. Пріоритет цих передач є найнижчим, вони можуть призупинятися при великому завантаженні шини. Дозволяється лише на повній швидкості передачі.

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

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

Смуга пропускання шини ділиться між усіма встановленими каналами. Виділена смуга закріплюється за каналом, і якщо встановлення нового каналу вимагає такої смуги, яка не вписується в існуючий розподіл, запит на виділення каналу відкидається.

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

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

протокол

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

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

Стійкість до помилок забезпечують такі властивості USB:

Висока якість сигналів, що досягається завдяки диференціальним приймачам/передавачам та екранованим кабелям.

Захист полів керування та даних CRC-кодами.

Виявлення підключення та вимкнення пристроїв та конфігурування ресурсів на системному рівні.

Самовідновлення протоколу з тайм-аутом у разі втрати пакетів.

Управління потоком для забезпечення ізохронності та керування апаратними буферами.

Незалежність функцій від невдалих обмінів коїться з іншими функціями.

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

Формати пакетів

Байти передаються по шині послідовно, починаючи з молодшого біта. Усі посилки організовані пакети. Кожен пакет починається з поля синхронізації Sync, яке є послідовністю станів KJKJKJKK (кодовану NRZI), наступну після стану Простою. Останні два біти (КК) є маркером початку пакета SOP, який використовується для ідентифікації першого біта ідентифікатора пакета PID. Ідентифікатор пакета є 4-бітним полем PID[3:0], ідентифікуючим тип пакета (табл. 7.2), за яким як контрольні слідують ті ж 4 біти, але інвертовані.
Тип PID Ім'я PID PID[3:0] Вміст та призначення
Знак OUT 0001 Адреса функції та номер кінцевої точки маркер транзакції функції
Знак IN 1001 Адреса функції та номер кінцевої точки маркер транзакції хоста
Знак SOF 0101 Маркер початку кадру
Знак НАСТРОЙКА 1101 Адреса функції та номер кінцевої точки маркер транзакції з керуючою точкою
дані DataO Datal 0011 1011 Пакети даних з парним та непарним PID чергуються для точної ідентифікації підтверджень
рукостискання Ак 0010 Підтвердження безпомилкового прийому пакета
рукостискання NAK 1010 Приймач не зміг прийняти або передавач не зміг передати дані. Може використовуватися керувати потоком даних (неготовність). У транзакціях переривань є ознакою відсутності необслужених переривань
рукостискання СТАЛІ 1110 Кінцева точка вимагає втручання хоста
спеціальний PRE 1100 Преамбула передачі на низькій швидкості

У пакетах-маркерах IN, SETUP и OUT наступними є адресні поля: 7-бітна адреса функції та 4-бітна адреса кінцевої точки. Вони дозволяють адресувати до 127 функцій USB (нульова адреса використовується для конфігурування) та по 16 кінцевих точок у кожній функції.

У пакеті SOF є 11-бітне поле номера кадру (Frame Number Field), послідовно (циклічно), що збільшується для чергового кадру.

Поле даних може мати розмір від 0 до 1023 байт. Розмір поля залежить від типу передачі та узгоджується під час встановлення каналу.

Поле СКС-кола є у всіх маркерах і пакетах даних, воно захищає всі поля пакету, виключаючи PID. CRC для маркерів (5 біт) та даних (11 біт) підраховуються за різними формулами.

Кожна транзакція ініціюється хост-контролером надсиланням маркера і завершується пакетом квитування. Послідовність пакетів у транзакціях ілюструє рис. 7.7.

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

Шина USB та FireWire


Мал. 7.8. Потік кадрів USB

Для ізохронної передачі важлива синхронізація пристроїв та контролера. Є три варіанти:

синхронізація внутрішнього генератора пристрою з маркерами SOF;

підстроювання частоти кадрів під частоту пристрою;

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

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

1.2. Системне конфігурування

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

Усі пристрої підключаються через порти хабів. Хаби визначають підключення та відключення пристроїв до своїх портів та повідомляють стан портів при запиті від контролера. Хост дозволяє роботу порту і адресується до пристрою через канал керування, використовуючи нульова адреса USB Default Address. При початковому підключенні або після скидання, всі пристрої адресуються саме так.

Хост визначає, чи є новий підключений пристрій хабом або функцією, і призначає йому унікальна адреса USB. Хост створює канал управління (Control Pipe) з цим пристроєм, використовуючи призначену адресу та нульовий номер точки призначення.

Якщо новий пристрій є хабом, хост визначає підключені до нього пристрої, призначає їм адреси та уста-

наливає канали. Якщо новий пристрій є функцією, повідомлення про підключення надсилається диспетчером USB заінтересованому ПЗ.

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

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

1. Хаб, до якого підключився пристрій, інформує хост про зміну стану свого порту відповіддю на опитування стану. З цього моменту пристрій переходить у стан Attached (підключено), а порт, до якого воно підключилося, у стан Вимкнено.

2. Хост уточнює стан порту.

3. Дізнавшись порт, до якого підключився новий пристрій, хост дає команду скидання та дозволу порту.

4. Хаб формує сигнал Reset для даного порту (10 мс) і переводить його в стан Увімкнено. Підключений пристрій може споживати від шини струм живлення до 100 мА. Пристрій переходить у стан Форум (харчування подано), всі його регістри переводяться у вихідний стан, і воно відгукується звернення за нульовим адресою.

5. Поки пристрій не отримає унікальну адресу, він доступний по черговому каналу, яким хост-контролер визначає максимально допустимий розмір поля даних пакета.

6. Хост повідомляє пристрою його унікальну адресу, і воно переводиться в стан Адресовано (Адресовано).

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

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

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

1.3. Пристрої USB функції та хаби

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

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

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

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

Управління енергопотребленням є дуже розвиненою функцією USB. Для пристроїв, що живляться від шини, потужність обмежена. Будь-який пристрій при підключенні не повинен споживати від шини струм, що перевищує 100 мА. Робочий струм (не більше 500 мА) заявляється у конфігурації, і якщо хаб не зможе забезпечити пристрою заявлений струм, воно не конфігурується і, отже, не може бути використане.

Пристрій USB повинен підтримувати призупинення (Suspended Mode), в якому його споживаний струм не перевищує 500 мкА. Пристрій повинен автоматично зупинятися під час припинення активності шини.

Можливість віддаленого пробудження (Remote Wakeup) дозволяє призупиненому пристрою подати сигнал хосткомп'ютеру, який також може перебувати у зупиненому стані. Можливість віддаленого пробудження описується конфігурації пристрою. У разі конфігурації ця функція може бути заборонена.

хаб в USB виконує комутацію сигналів і видачу напруги живлення, а також відстежує стан підключених до нього пристроїв, повідомляючи хост про зміни. Хаб складається із двох частин контролера (Hub Controller) та повторювача (Hub Repeater). Повторювач є керований ключ, що з'єднує вихідний порт з вхідним. Він має засоби підтримки скидання та припинення передачі сигналів. контролер містить регістри для взаємодії з хостом. Доступ до регістрів здійснюється за специфічними командами звернення до хаба. Команди дозволяють конфігурувати хаб, керувати низхідними портами та спостерігати їх стан.

Східні (Downstream) порти хабів можуть перебувати у таких станах:

Форум (^(живлення відключено) на порт не подається живлення (можливо тільки для хабів, що комутують)

живлення). Вихідні буфери перетворюються на високоімпедансний стан, вхідні сигнали ігноруються.

Відключено (від'єднаний) порт не передає сигнали в жодному напрямку, але здатний виявити підключення пристрою (за відсутності стану) SEO протягом 2,5 мкс). Тоді порт переходить у стан Інваліди, а за рівнями вхідних сигналів {DiffO або Diff1 в стані Idle) він визначає швидкість підключеного пристрою.

sінвалід (заборонено) порт передає лише сигнал скидання (за командою від контролера), сигнали від порту (крім виявлення відключення) не сприймаються. Після виявлення відключення (2,5 мкс стану SEO) порт переходить у стан від'єднати, а якщо відключення виявлено "сплячим" хабом, контролеру буде надіслано сигнал Резюме.

ш Enabled (дозволений) порт передає сигнали в обох напрямках. За командою контролера або виявлення помилки кадру порт перетворюється на стан Інваліди, а після виявлення відключення в стан Від'єднати.

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

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

1.4. Хост-контролер

Хост-комп'ютер спілкується із пристроями через контролер. Хост має такі обов'язки:

виявлення підключення та від'єднання пристроїв USB;

маніпулювання потоком управління між пристроями та хостом;

керування потоками даних;

збирання статистики;

забезпечення енергозбереження підключеними ПУ.

Системне ПЗ контролера управляє взаємодією між пристроями та їх ПЗ, що функціонує на хост-комп'ютері, для узгодження:

нумерації та конфігурації пристроїв;

ізохронні передачі даних;

асинхронні передачі даних;

управління енергоспоживанням;

інформації про керування пристроями та шиною.

По можливості ПЗ USB використовує існуюче системне ПЗ хост-комп'ютера, наприклад, Advanced Power Management для управління енергоспоживанням.

2. Шина IEEE 1394-FireWire

Стандарт для високопродуктивної послідовної шини (High Performance Serial Bus), який отримав офіційну назву IEEE 1394, було прийнято у 1995 році. Метою було створення шини, яка не поступається сучасним стандартним паралельним шинам, при суттєвому здешевленні та підвищенні зручності підключення (за рахунок переходу на послідовний інтерфейс). Стандарт заснований на шині FireWire, використовується Apple Computer як дешева альтернатива SCSI в комп'ютерах Macintosh і PowerMac. Назва FireWire ("вогняний провід") тепер застосовується і до реалізації IEEE 1394, вона співіснує з коротким позначенням 1394.

Переваги FireWire перед іншими послідовними шинами:

s? Багатофункціональність: шина забезпечує цифровий зв'язок до 63 пристроїв без застосування додаткової апаратури (хабів). Пристрої цифрові камери, сканери, принтери, камери для відеоконференцій, дискові накопичувачі можуть обмінюватися даними не тільки з PC, але і між собою. FireWire за ініціативою VESA позиціонується і для "домашніх мереж".

Висока швидкість обміну та ізохронні передачі дозволяють навіть на початковому рівні (100 Мбіт/с) передавати одночасно два канали відео (30 кадрів в секунду) широкомовної якості та стереоаудіосигнал з якістю CD.

s§ Низька ціна компонентів та кабелю.

si Легкість встановлення та використання. FireWire розширює систему pnp. При увімкненні/вимкненні пристрої автоматично розпізнаються та конфігуруються. Живлення від шини (струм до 1,5 А) дозволяє ПУ спілкуватися із системою навіть при відключенні їх живлення. Керувати шиною та іншими пристроями можуть не тільки PC, але й інші інтелектуальні пристрої, наприклад VCR.

2.1. Структура та взаємодія пристроїв шини

Стандарт 1394 визначає дві категорії шин: кабельні шини та крос-шини (Backplane). Під крос-шинами зазвичай маються на увазі паралельні інтерфейси, що поєднують внутрішні підсистеми пристрою, підключеного до кабелю 1394.

На відміну від USB, що управляється одним хост-контролером, стандарт 1394 допускає з'єднання рівноправних пристроїв у мережу. Мережа може складатися з багатьох шин, з'єднаних мостами. В межах однієї шини об'єднуються пристрої з'єднувальними кабелями без застосування додаткових пристроїв. мости є спеціальні інтелектуальні пристрої. Інтерфейсна карта шини FireWire для PC являє собою міст PCI 1394. Містами є також з'єднання кабельної шини 1394 з кроссшинами пристроїв, 16-бітна адресація вузлів мережі

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

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

ssi між будь-якою парою вузлів може бути не більше ніж 16 кабельних сегментів;

довжина сегмента стандартного кабелю має перевищувати 4,5 м;

2Й сумарна довжина кабелю не повинна перевищувати 72 м (застосування якіснішого кабелю дозволяє послабити це обмеження).

Деякі пристрої можуть мати лише один роз'єм, що обмежує можливі варіанти розташування. Стандарт допускає до 27 роз'ємів на одному пристрої.

Шина USB та FireWire
Мал. 7.9. З'єднання пристроїв на шині FireWire

Шина USB та FireWire
Мал. 7.10. Роз'єм FireWire

Стандарт передбачає зв'язок вузлів за допомогою 6-провідного кабелю, укладеного у загальний екран. Дві кручені пари використовуються для передачі сигналів (роздільні для приймача та передавача), два дроти задіяні для живлення пристроїв (8-40 В, до 1,5 А). Для гальванічної розв'язки інтерфейсу використовуються трансформатори (напруга ізоляції розв'язки до 500 В) або конденсатори (дешеві пристрої з напругою розв'язки до 60 В щодо загального проводу). Уявлення про роз'єми дає рис. 7.10. Деякі пристрої (камкодери Sony DCRVX700 та DCR-VX1000, а також DHR-1000 DVCR) мають лише один 4-контактний роз'єм меншого розміру, у якого реалізовані лише сигнальні ланцюги. Ці пристрої підключаються до шини через спеціальний перехідний кабель тільки як кінцеві (хоча можливе застосування спеціальних адаптерів-розгалужувачів).

Стандарт 1394 визначає три можливі частоти передачі сигналів кабелями: 98,304, 196,608 і 393,216 Мбіт/с, які округляють до 100, 200 і 400 Мбіт/с. Частоти у стандарті позначаються як S100, S200 и S400 відповідно. Побутові пристрої зазвичай підтримують S100, більшість адаптерів допускають S200. До однієї шини можуть підключатися пристрої, розраховані різні швидкості. Обмін відбуватиметься на мінімальній для всіх активних вузлів швидкості. Однак, якщо хост-контролер реалізує карту топології та швидкостей (Topology_Мар и Speed_Map), можливе використання кількох частот в одній шині, відповідно до можливостей конкретної пари, що бере участь в обміні.

Система дозволяє динамічне (гаряче) підключення та відключення пристроїв. Ідентифікатори, що підключаються

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

Протокол IEEE 1394

Протокол 1394 реалізується на трьох рівнях (рис. 7.11).

Рівень транзакцій (Transaction Layer) перетворює пакети на дані, що надаються додаткам, і навпаки. Він реалізує протокол запитів-відповідей, що відповідає стандарту ISO/IEC 13213:1994 (ANSI/IEEE 1212, редакції 1994 р.), архітектури регістрів управління та стану CSR (Control and Status Register) для мікрокомп'ютерних шин (читання, запис, блокування). Це полегшує зв'язок шини 1394 зі стандартними паралельними шинами.

Рівень зв'язку (Link Layer) з даних фізичного рівня формує пакети та виконує зворотні перетворення. Він забезпечує обмін вузлів датаграмами із підтвердженнями. Рівень відповідає за передачу пакетів та керування ізохронними передачами.

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

Апаратна частина FireWire зазвичай складається із двох спеціалізованих мікросхем трансіверів фізичного рівня. PHY Transceiver та мосту зв'язку з шиною LINK Chip. Зв'язок між ними можливий, наприклад, за інтерфейсом IBM-Apple LINK-PHY. Мікросхеми рівня зв'язку виконують усі функції свого рівня та частину функцій рівня

транзакцій, решта рівня транзакцій виконується програмно.

Шина USB та FireWire

Коннектори

Рис. 7.11. Трирівнева структура FireWire

Управління шиною

Протокол 1394 має гнучкий механізм керування зв'язком між різними пристроями. Для цього не обов'язково присутність на шині PC чи іншого контролера шини. Управління включає три сервіси:

Майстер циклів, посилає широкомовні пакети початку циклів (потрібні для ізохронних обмінів).

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

Необов'язковий контролер шини (Bus Master) ним може бути PC або редагуючий DVCR.

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

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

Ізохронне транспортування даних

Ізохронне транспортування шини 1394 забезпечує гарантовану пропускну здатність та обмежену затримку при високошвидкісній передачі по безлічі каналів. Диспетчер ізохронних ресурсів містить регістр BANDWIDTH^AVAILABLE, який визначає доступність частини смуги пропускання, що залишилася, для вузлів з ізохронною передачею. По скидання вузол з ізохронною передачею, що знову з'явився, запитує виділення смуги. Для цифрового відео, наприклад, потрібна смуга 30 Мбіт/с (25 Мбіт/с на відео та 3-4 Мбіт/с на аудіо, синхронізацію та заголовки пакетів). Смуга вимірюється у спеціальних одиницях розподілу, кількість яких у 125-мілісекундному циклі становить 6144. Одиниця займає близько 20 нс, що відповідає часу, необхідному для передачі одного квадлету (Quadlet) на частоті 1600 Мбіт/с. Квадлет (32-бітове слово) є одиницею передачі по шині. 25 мс циклу резервується під асинхронний трафік, тому початкове значення регістру після скидання становить 4915 одиниць. У S100 пристрої цифрового відео запитують близько 1800 одиниць, S200 близько 900. Якщо відповідна смуга недоступна, пристрій, що запитує, буде періодично повторювати запит.

Диспетчер ізохронних ресурсів кожному ізохронному вузлу призначає номер каналу (0-63) з доступних (реєстр

CHANNELS_AVAILABLE). Це ідентифікатор ізохронного пакета. Коли ізохронний обмін стає непотрібним вузлу, він має звільнити свою смугу та номер каналу. Обмін інформацією, що управляє, проводиться по асинхронному каналу.

2.2. Синоніми та доповнення стандарту IEEE 1394

Шина IEEE 1394 має безліч псевдонімів:

IEEE 1394-1995 Standard for High Performance Serial Bus - повна назва документа, що описує стандарт, що діє в даний час.

FireWire - торгова марка реалізації IEEE-1394 фірмою Apple Computer, Inc.

Р1394 - назва попередньої версії IEEE-1394 (до прийняття в грудні 1995 р.).

DigitalLink є торговою маркою Sony Corporation, що використовується для реалізації IEEE-1394 у цифрових камерах.

MultiMedia Connection - ім'я, що використовується в логотипі 1394 High Performance Serial Bus Trade Association (1394TA).

Оскільки Apple розробляла концепцію FireWire ще з 1986 року, ім'я FireWire є найпоширенішим синонімом IEEE 1394.

Крім основного стандарту IEEE 1394-1995, є кілька його модифікацій:

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

1394.1 визначає 4-провідний з'єднувач і встановлює стандарт на шинні мости.

1394.2 передбачається як стандарт з'єднання кластера станцій зі швидкістю обміну 1 Гбіт/с і вище, несумісний з 1394. Цей стандарт походить з IEEE 1596 SCI (Scalable Coherent Interface масштабований когерентний інтерфейс) для суперкомп'ютерів і іноді називається Serial Express або SCILite. Сигнальний інтерфейс 1394.2 схожий на FCAL і припускає кільцеву топологію, забороняється стандартом 1394.

2.3. Порівняння FireWire та USB

Послідовні інтерфейси FireWire та USB, маючи спільні риси, є суттєво різними технологіями. Обидві шини забезпечують просте підключення великого числа ПУ (127 для USB і 63 для FireWire), допускаючи комутації та увімкнення/вимкнення пристроїв при працюючій системі. Топологія обох шин досить близька. Хаби USB входять до складу ЦП; для користувача їхня присутність непомітна. Обидві шини мають лінії живлення пристроїв, але допустима потужність для FireWire значно вища. Обидві шини підтримують систему РпР (автоматичне конфігурування при включенні/вимкненні) та знімають проблему дефіциту адрес, каналів DMA та переривань. Розрізняються пропускна здатність та керування шиною.

USB орієнтована на ПУ, що підключаються до ПК. Її ізохронні передачі дозволяють передавати лише цифрові аудіосигнали. Всі передачі управляються централізовано, і PC є необхідним керуючим вузлом, що знаходиться в корені деревоподібної структури шини. З'єднання кількох PC цією шиною не передбачається.

FireWire орієнтована на інтенсивний обмін між будь-якими приєднаними до неї пристроями. Ізохронний трафік дозволяє передавати "живе" відео. Шина не вимагає централізованого керування з боку ПК. Можливе використання шини для об'єднання кількох PC та ПУ в локальну мережу.

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

моніторів) можливо через адаптери-перетворювачі інтерфейсів та сигналів. Стандартні однотипні кабелі та роз'єми FireWire замінюють безліч різнорідних з'єднань пристроїв побутової електроніки з ПК. p align="justify"> Різнотипні цифрові сигнали мультиплексуються в одну шину. На відміну від мереж Ethernet, високошвидкісні передачі потоків даних FireWire в реальному часі не вимагають додаткових протоколів. Крім того, є засоби арбітражу, які гарантують доступ до шини за певний час. Застосування мостів у мережах FireWire дозволяє ізолювати трафік груп вузлів один від одного.

7.3. Шина ACCESS.Bus та інтерфейс PC

Послідовна шина ACCESS.Bus (Accessory Bus), розроблена фірмою DEC, є шиною взаємодії комп'ютера з його аксесуарами наприклад, монітором (канал VESA DDC), інтелектуальними джерелами живлення (Smart Battery) і т.п. мА) проводам підключити до 12 пристроїв введення/виводу, довжина шини може досягати 500 м. Апаратною основою є інтерфейс PC, що характеризується простотою реалізації, але навіть у порівнянні з USB низькою продуктивністю. Над апаратним протоколом для шини ACCESS.Bus є базовий програмний протокол, з яким взаємодіють протоколи конкретних підключених пристроїв. Протоколи забезпечують підключення/відключення пристроїв без перезавантаження ОС. Призначення сигналів роз'єму ACCESS.Bus, запропоноване VESA, наведено у табл. 14.
Контакт Призначення
1 GND
2 Ключ
3 ПДР
4 +5 В (живлення пристроїв)
5 SCL

Інтерфейс До, розроблений фірмою Philips, PC з'явився нещодавно і використовується як внутрішня допоміжна шина системної плати для спілкування з енергонезалежною пам'яттю ідентифікації встановлених компонентів (модулів пам'яті DIMM). Шина відрізняється граничною простотою реалізації дві сигнальні лінії, з якими працюють програмно. За прямим призначенням цю шину застосовує поки що лише BIOS щодо апаратних засобів, але використання перезаписываемой пам'яті конфігурування відкриває нові можливості для прив'язки ПЗ до конкретної системи (точніше, встановленому модулю) і... для вірусів. Спосіб програмного доступу до шини поки що не стандартизований, але за бажання його можна "обчислити", вивчивши документацію на чіпсет.

Шина USB та FireWire
Мал. 7.12. Протокол передачі PC

послідовний інтерфейс НАС забезпечує двонаправлену передачу даних між парою пристроїв, використовуючи два сигнали: дані SDA (Serial Data) та синхронізацію SCL (Serial Clock). В обміні беруть участь два пристрої провідне (Master) и ведене (Slave). Кожна з них може виступати в ролі передавача, поміщає на лінію SDA інформаційні біти, або приймача. Протокол обміну ілюструє рис. 7.12. Синхронізацію задає провідний пристрій контролера. Лінія даних двонаправлена ​​з виходом типу "відкритий колектор" управляється обома пристроями по черзі. Частота обміну (не обов'язково стала) обмежена зверху величиною 100 кГц для стандартного режиму та 400 кГц для швидкісного, що дозволяє організувати програмно-керовану реалізацію контролера інтерфейсу.

Початок будь-якої операції умова Start ініціюється переведенням сигналу SDA з високого в низький при високому рівні SCL. Завершується операція переведенням сигналу SDA з низького рівня до високого за високого рівня SCL умова Стоп. При передачі даних стан лінії SDA може змінюватися тільки за низького рівня SCL, біти даних стробуються позитивним перепадом SCL Кожна посилка складається з 8 біт даних, що формуються передавачем (старший біт MSB передається першим), після чого передавач на один такт звільняє лінію даних для отримання підтвердження . Приймач під час дев'ятого такту формує нульовий біт підтвердження Ack. Після передачі підтвердження біта приймач може затримати наступну посилку, утримуючи лінію SCL на низькому рівні. Приймач може сповільнити передачу по шині на рівні прийому кожного біта, утримуючи SCL на низькому рівні після його спаду, сформованого передавачем.

Кожен ведений пристрій має свою адресу, розрядність якої за умовчанням становить 7 біт. Адреса А[6:0] передається провідним пристроєм в бітах [7:1] першого байта, біт містить 0 ознака операції Я1У(Я1/У=1 читання, RW=Q -Запис). 7-бітна адреса містить дві частини: старші 4 біти А[6:3] несуть інформацію про тип пристрою (наприклад, для EEPROM 1010), а молодші 3 біти А[0:2] визначають номер пристрою цього типу. Багато мікросхем з інтерфейсом PC мають три адресних входу, комутацією яких на логічні рівні 1 і 0 задається необхідна адреса. Деякі значення повної адреси зарезервовані (табл. 7.4).

Загальний виклик дозволяє пристрої, що включився, заявити про себе широкомовним способом. Байт Start призначений для привернення уваги процесора до інтерфейсу, якщо у пристрої він організований програмним (не апаратним) методом. До одержання цього байта мікроконтролер пристрою не опитує стан і не слідкує за сигналами інтерфейсу. При використанні 10-бітної адресації біти [2:1] містять старшу частину адреси, а молодші 8 біт будуть передані в наступному байті, якщо ознака RW = 0.

Адреса веденого пристрою та тип звернення задається контролером під час ініціювання обміну. Обмін із пам'яттю ілюструє рис. 7.13. Тут SA[0:2] адресу пристрою, DA[0:7] адресу даних, D[0:7] дані, W ознака запису (0), R ознака читання (1).
Біти [7:1] BKTO(RW) Призначення
0000 000 0 General call address адреса загального виклику
0000 000 1 Почати початок активного обміну
0000 001 X Адреса пристрою шини CBUS (для сумісності)
0000 010 X Адреса для пристроїв інших шин
0000 011 X Зарезервовано
0000 1ХХ X Зарезервовано
1111 1ХХ X Зарезервовано
1111 ОХХ X Ознака 10-бітової адресації

Шина USB та FireWire
Мал. 7.13. Обмін із пам'яттю за інтерфейсом PC: a запис, б читання з поточної адреси, в читання з довільної адреси

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

та аналізом біта підтвердження, формуючи потім умову Стоп. Якщо пристрій відгукнувся бітом підтвердження, він завершив внутрішній цикл і готовий до наступної операції.

Операція зчитування ініціюється так само, як і запис, але з ознакою RW=\. Можливе читання за заданою адресою, поточною адресою або послідовною. Поточна адреса зберігається у внутрішньому лічильнику веденого пристрою, він містить збільшену на одиницю адресу осередку, що брала участь в останній операції.

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

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

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

Шина USB та FireWire
Мал. 7.14. Підключення пристроїв до контролера

Додаток А. Системотехніка IBM PC-сумісних комп'ютерів

Тут розглянуто взаємодію програм з інтерфейсними адаптерами. Наведено короткі відомості щодо архітектури PC. Описано організацію просторів пам'яті та введення/виводу, систему переривань та прямий доступ до пам'яті. Докладніші відомості можна знайти в книзі "Апаратні засоби IBM PC. Енциклопедія" ("Пітер", 1998).

А.1. Простір пам'яті

Логічна структура пам'яті обумовлена ​​системою адресації процесорів сімейства х86. Процесори 8086/88, що застосовувалися в перших моделях IBM PC, мали адресний простір 1 Мбайт (20 біт адреси шини). Починаючи з процесора 80286, шина адреси була розширена до 24 біт, потім (386DX, 486, Pentium) до 32 і, нарешті, до 36 біт (Pentium Pro, Pentium II). У реальному режимі процесора, який використовується в DOS, формально доступний лише 1 Мбайт пам'яті. Однак через помилку емуляції процесора 8086 в реальному режимі процесори 80286 і вище мають максимально доступну адресу lOFFEFh, що на (64К-16) байт більше. Область lOOOOOh-lOFFEFh називається високою пам'яттю High Memory Area (HMA). У неї поміщають частину ОС реального режиму та невеликі резидентні програми. Для повної сумісності з процесором 8086/88 є вентиль лінії А20 шини адреси GateA20, який або пропускає сигнал від процесора або примусово обнуляє лінію А20 системної шини адреси.

Публікація: cxem.net

Дивіться інші статті розділу Комп'ютери.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Машина для проріджування квітів у садах 02.05.2024

У сучасному сільському господарстві розвивається технологічний прогрес, спрямований на підвищення ефективності догляду за рослинами. В Італії було представлено інноваційну машину для проріджування квітів Florix, створену з метою оптимізації етапу збирання врожаю. Цей інструмент оснащений мобільними важелями, що дозволяють легко адаптувати його до особливостей саду. Оператор може регулювати швидкість тонких проводів, керуючи ним із кабіни трактора за допомогою джойстика. Такий підхід значно підвищує ефективність процесу проріджування квітів, забезпечуючи можливість індивідуального налаштування під конкретні умови саду, а також сорт та вид фруктів, що вирощуються на ньому. Після дворічних випробувань машини Florix на різних типах плодів результати виявились дуже обнадійливими. Фермери, такі як Філіберто Монтанарі, який використовував машину Florix протягом кількох років, відзначають значне скорочення часу та трудовитрат, необхідних для проріджування кольорів. ...>>

Удосконалений мікроскоп інфрачервоного діапазону 02.05.2024

Мікроскопи відіграють важливу роль у наукових дослідженнях, дозволяючи вченим занурюватися у світ невидимих ​​для ока структур та процесів. Однак різні методи мікроскопії мають обмеження, і серед них було обмеження дозволу при використанні інфрачервоного діапазону. Але останні досягнення японських дослідників із Токійського університету відкривають нові перспективи вивчення мікросвіту. Вчені з Токійського університету представили новий мікроскоп, який революціонізує можливості мікроскопії в інфрачервоному діапазоні. Цей удосконалений прилад дозволяє побачити внутрішні структури живих бактерій із дивовижною чіткістю в нанометровому масштабі. Зазвичай мікроскопи в середньому інфрачервоному діапазоні обмежені низьким дозволом, але нова розробка японських дослідників дозволяє подолати ці обмеження. За словами вчених, розроблений мікроскоп дозволяє створювати зображення з роздільною здатністю до 120 нанометрів, що в 30 разів перевищує дозвіл традиційних метрів. ...>>

Пастка для комах 01.05.2024

Сільське господарство - одна з ключових галузей економіки, і боротьба зі шкідниками є невід'ємною частиною цього процесу. Команда вчених з Індійської ради сільськогосподарських досліджень – Центрального науково-дослідного інституту картоплі (ICAR-CPRI) у Шимлі представила інноваційне вирішення цієї проблеми – повітряну пастку для комах, яка працює від вітру. Цей пристрій адресує недоліки традиційних методів боротьби зі шкідниками, надаючи дані про популяцію комах у реальному часі. Пастка повністю працює за рахунок енергії вітру, що робить її екологічно чистим рішенням, яке не вимагає електроживлення. Її унікальна конструкція дозволяє відстежувати як шкідливі, так і корисні комахи, забезпечуючи повний огляд популяції в будь-якій сільськогосподарській зоні. "Оцінюючи цільових шкідників у потрібний час, ми можемо вживати необхідних заходів для контролю як комах-шкідників, так і хвороб", - зазначає Капіл. ...>>

Випадкова новина з Архіву

Наступний iPhone отримає найбільші зміни 20.04.2012

Досі точаться суперечки про те, коли буде представлений новий iPhone. Дехто вважає, що запуск відбудеться в рамках щорічної міжнародної конференції Apple WWDC, проведення якої намічено у проміжку між червнем та липнем. Інші переконані, що це відбудеться десь восени, наприклад виходу iPhone 4S.

Щодо апаратної частини звучить не менше припущень: чи отримає смартфон чіп A6, виготовлений на більш тонкому техпроцесі, чи зможе він працювати в мережах 4G LTE, чи наділить його Apple екраном з ширшою діагоналлю? Після зустрічі з тайванськими та китайськими постачальниками компонентів аналітик Браян Уайт (Brian White) майже впевнений, що він відповів на всі ці запитання. У своєму звіті, наданому клієнтам Topeka Capital Markets, він вказує, що наступний iPhone отримає 4-дюймовий екран, засоби зв'язку 4G LTE, новий витончений дизайн завдяки покращенням у виробництві корпусу, який вирізатиметься з цільного блоку металу на зразок задньої кришки в iPad, а також технологічного процесу виготовлення корпусів MacBook Air та MacBook Pro.

"На нашу думку, це буде найбільш суттєве оновлення iPhone, яке принесе 4" екран і новий більш витончений вигляд, що вимагає, як ми вважаємо, цілісного корпусу", - йдеться в аналітичному дослідженні. Уайт переконаний, що кожен смартфон, що побачив, неминуче стане його шанувальником , Не кажучи вже про технічні можливості: "Цей новий вишуканий вигляд стане для покупців найважливішим аргументом, щоб зважитися на оновлення".

Грудень викликає великі сумніви аналітика як дата запуску наступного iPhone, він вважає, що подія, що очікується ринком, відбудеться раніше - на його думку, поставки компонентів для шостого покоління iPhone почнуться в червні, а випуск продукту відбудеться восени.

Аналітик також підкріпив чутки про розробку компанією Apple зменшеної моделі iPad з 7,85" екраном та роздільною здатністю 1024х768, повідомивши відомості, отримані від азіатських джерел, що Apple продовжує роботу над цим пристроєм. Втім, він каже, що у iPad mini невизначене майбутнє, і Припускає, що планшет так і залишиться прототипом.Відносно останнього iPad пан Уайн зазначає, що екран Retina зумовив високий попит і водночас став причиною труднощів Apple в організації поставок, які багато в чому зараз уже подолані. У 3 млн за перший вікенд залишається дуже сильним.У Китаї, наприклад, незважаючи на відсутність офіційного запуску, планшет вже широко продається на сірому ринку.

Разом із Topeka Capital Markets Браян Уайт прогнозує зростання вартості акцій Apple на фондовій біржі у 12-місячний термін до рівня $1000 за кожну. Причому він зазначає, що випуск Apple свого телевізора дозволить підняти курс акцій ще вищим.

Інші цікаві новини:

▪ Таблетка для очищення води

▪ Побито рекорд по довжині лінії квантового зв'язку

▪ Лондонські автобуси допоможуть автомобілістам спланувати маршрут

▪ Археологи у тунелі

▪ Кури розповідають про географічні відкриття

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ розділ сайту Цивільний радіозв'язок. Добірка статей

▪ стаття Гордієв вузол. Крилатий вислів

▪ стаття Що таке екстрасенсорне сприйняття? Детальна відповідь

▪ стаття Ознаки зміни ясної погоди на негоду. Поради туристу

▪ стаття Напівядрові мила. Прості рецепти та поради

▪ стаття Ремонт та доробка зарядного пристрою стільникових телефонів NOKIA. Енциклопедія радіоелектроніки та електротехніки

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024