У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



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

Байти передаються по шині послідовно, починаючи з молодшого біта. Всі посилки організовані в пакети. Кожний пакет починається з поля синхронізації SYNC, яке представляється послідовністю станів "KJKJKJKK" (кодовану по NRZI), наступну після стану IDLE. Останні два біти (КК) є маркером початку пакету SOP, що використовується для ідентифікації першого біта ідентифікатора пакету PID. Ідентифікатор пакету є 4-бітним полем PID[3:0], що ідентифікує тип пакету (табл. 2), за яким слідують в якості контрольних ті ж 4 біти, але в інверсному значенні.

Таблиця 2

Типи пакетів і їх ідентифікатори PID

Тип PID | Ім'я PID | PID[3;0] | Вміст і призначення

Token | OUT | 0001 | Адреса "функції" і номер кінцевої точки – маркер трансакції "функції"

Token | IN | 1001 | Адреса "функції" і номер кінцевої точки – маркер трансакції хоста

Token | SOF | 0101 | Маркер початку кадру

Token | SETUP | 1101 | Адреса "функції" і номер кінцевої точки – маркер трансакції з управляючою точкою

Data | DATA0 DATA1 | 0011 1011 | Пакети даних з парним і непарним PID чергують для точної ідентифікації підтверджень прийому

Handshake | ACK | 0010 | Підтвердження безпомилкового прийому пакету

Handshake | NAK | 1010 | Приймач не зумів прийняти або передавач не зумів передати дані. Може використовуватися для управління потоком (неготовність). В трансакціях переривань є ознакою відсутності необслужених переривань

Handshake | STALL | 1110 | Кінцева точка вимагає втручання хоста

Special | PRE | 1100 | Преамбула передачі на низькій швидкості

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

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

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

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

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

Рис. 7. Потік кейрів USB

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

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

Синхронізація внутрішнього генератора пристрою з маркерами SOF. Підстроювання частоти кадрів під частоту пристрою. Узгодження швидкості передачі (прийому) пристрою з частотою кадрів.

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

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

Всі пристрої USB підключаються через порти хабів. Хаби визначають підключення і відключення пристроїв до своїх портів і повідомляють стан портів у відповідь на запит від контроллера. Хост дозволяє роботу порту і адресується до пристрою через канал управління, використовуючи нульову адресу – USB Default Address. Всі пристрої адресуються цією адресою при початковому підключенні або після скидання. Хост визначає, являється новий підключений пристрій хабом або функцією, і призначає йому унікальну адресу USB. Хост встановлює з цим пристроєм канал управління (control pipe), використовуючи призначену адресу і нульовий номер точки призначення.

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

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

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

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

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

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

4. Хаб формує сигнал


Сторінки: 1 2 3 4 5 6