Технология USB 2.0

Функционално устройство. От гледна точка на USB устройството е набор от крайни точки, с които могат да се обменят данни. Броят и функцията на точките зависи от устройството и функциите, които изпълнява, и се определя по време на производството. Има задължителна точка с цифрата 0 - за наблюдение на състоянието на устройството и управлението му. Докато устройството не бъде конфигурирано през точка 0, останалите канали не са налични. Всяка крайна точка на устройството се описва със следните параметри:

  • Изисквания за честота и латентност на шината
  • Необходима честотна лента
  • Номер на крайната точка
  • Изисквания за обработка на грешки
  • Максимален размер на кадъра, който може да бъде получен или изпратен.
  • Поддържан тип трансфер на данни
  • Посоката на предаване между крайната точка и хоста.

За устройства с ниска скорост може да има до две допълнителни точки; за устройства с пълна скорост броят им е ограничен само от възможностите на протокола и може да достигне 15 за вход и 15 за изход.

Обменът на данни може да се извърши в три скоростни режима:

  • Ниска скорост. Режим на ниска скорост. Скоростта на предаване е 1,5 Mbps.
  • Пълна скорост. Режим на пълна скорост. Скорост на трансфер 12 Mbps.
  • Висока скорост. Високоскоростен режим. Появява се само в спецификация 2.0. Скорост на трансфер 480 Mbps.

Няма да стигнем до нивото на разглежданите кадри и микрокадри, тъй като това не ни пречи да разберем основните принципи на работа на шината.

Физическите комуникационни канали са организирани от концентратори и свързващи проводници. Почти сме разбрали хъбовете по-рано. Кабелът, използван за свързване на USB устройства, е екранирана усукана двойка. За високоскоростните устройства се поставят високи изисквания към неговото качество. Нискоскоростните не са от решаващо значение за този елемент на физическия интерфейс и без никакъв проблем могат да функционират на неекраниран невит проводник. В USB кабела се използват общо 4 проводника.

Две за предаване на сигнал и две за захранване с напрежение. Има два вида съединители за свързване на устройства: тип "A" и тип "B". Струва ми се, че създаването на два различни типа конектори беше необходимо, за да се избегне ненужно объркване при свързване на устройства и да се предпазите от глупака, лишавайки го от възможността да свърже нещо нередно. Освен това те се характеризират с различни сили, необходими за вкарване и задържане на сила в съединителя.

Съединители тип "А" се използват за свързване към компютър, осигуряват твърдо и надеждно закрепване и не са предназначени за често включване/изключване.


свързване устройства

Съединителите от тип "B", напротив, са необходими на тези места, където има нужда от често свързване/изключване, и те се използват от периферията.


свързване устройства

На живо те изглеждат така.


данни Случай

В допълнение, новата USB версия определя miniUSB тип "B" конектор.


свързване устройства

Чрез D + и D- подписите на кабелната схема, вече трябва да сте предположили, че USB използва диференциално предаване (обаче всеки порт, в допълнение към диференциалния приемник, има и линейни за всеки сигнал), ще добавя този потенциал кодиране с използване на метода NRZI (Non Return to Zero Invert to ones) и битстафинг за подобряване на самосинхронизиращите свойства на потока. Това е като цяло. Няма да навлизаме по-дълбоко. Напълно безполезно.

Устройствата с нисък ток могат да се захранват от USB шината. Максималният ток, който шината може да осигури, е 500 mA. Това е токът, достъпен за всички устройства в шината, а не, както се случва на някои, за всяко от 127 възможни устройства (докато на етапа на свързване и конфигуриране текущата консумация не трябва да надвишава 100 mA, в противен случай устройството ще просто не се инициира). За да се увеличи наличната мощност на шината, концентраторите могат да бъдат оборудвани със собствено захранване, но това решение не е популярно.

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

И така, към шината е свързано ново устройство. Сигурно сте се чудили как става откритието. Отговорът е прост: откриването на устройството, както и неговият режим на скорост, се определя от скока на напрежението, който възниква, когато е включен в шината за данни. Този пренапрежение се създава чрез свързване на резистора към 3.3 V. За нискоскоростни устройства, този резистор е свързан към D-bus, за пълни и високоскоростни устройства, към D + bus. Обикновено този резистор се прави програмно управляван, така че след откриването на дадено устройство да може да бъде изключен и линията балансирана. И така, новото устройство е свързано и открито.

Конфигурирането се извършва чрез крайна точка номер 0 (за любопитните можем да кажем, че обменът на информация в този момент се извършва в режим на пълна скорост!). Необходимите драйвери са заредени. Устройството е готово за употреба.

Обмен на данни. Случай първи: прехвърляне от хост към устройство. По принцип няма никаква трудност. Веднага щом възникне необходимост, домакинът може да инициира прехвърлянето. За да направи това, той изпраща на устройството изходящ пакет (като знак, че ще предаде данните), след това изпраща самите данни и след това получава ACK пакет, потвърждавайки, че устройството е получило данните без грешки (ако това не е така изохронен тип предаване, за който няма предадено потвърждение).

Обмен на данни. Случай втори: от устройство към хост. Устройството има нужда от прехвърляне на данни. НО! Не може по никакъв начин да уведоми домакина за това. Такива средства просто не се предоставят в USB. За да извърши такъв трансфер, хостът трябва да зададе на устройството въпрос, ако има желание да му каже нещо (чрез изпращане на пакета). В отговор устройството ще му изпрати наличните данни и ще изчака потвърждение (отново, ако е в ход неизохронен трансфер). Съответно, ако хостът не зададе такъв въпрос, данните никога няма да бъдат прехвърлени.

Обмен на контролна информация. По принцип той има същата логика, но се използват прехвърлянето на типа управление и канала за съобщения и специални пакети.

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