Как работят USB портовете - Част III

Източникът на данните - или контролерът, или устройството в зависимост от посоката - след това изпраща пакета данни. В повечето случаи операцията завършва с дестинация за изпращане на данни Пакетите са ACK, което показва, че данните са получени, NAK, което показва, че данните не са получени, или STALL, което показва, че крайната точка е спряла.

Движението поUSB се контролира от единицата за време на кадрите. Дължината на всеки кадър определя времето и работи на 1 kHz, така че има 1000 кадъра в секунда: един на милисекунда. В началото на всеки кадър в началото на рамката (SOF) по шината се изпраща пакет, позволяващ на изохронните устройства да се синхронизират към връзката. Концепцията за рамки е от ключово значение за комуникационния канал, за да има капацитет на шина между различни конкурентни устройства.USB разработчиците вярват, че би било невъзможно да се поддържат множество едновременни потоци от изохронна комуникация при бързи честоти на дискретизация със система, в която всяко устройство трябва да прекъсва хоста за всяка проба от данни, която трябва да бъде прехвърлена. Така че те проектираха системата така, че изохронните устройства да имат гарантирана честотна лента, като им предоставят част от времето във всеки кадър. Поне 10 процента от всеки кадър е запазен за използване в контролни предавания. Тази част може да бъде увеличена от системния софтуер, ако се установи, че производителността е ниска чрез наблюдение за пакети, които са прекалено забавени. Максималната непрекъсната пропускателна способност надUSB скорост трябва да бъде по-малка от 90 процента от скоростта на трансфер. Част или цялото оставащо време във всеки кадър може да бъде предадено по комуникационни каналиизохронни устройства. Действителният дял, разпределен за всеки комуникационен канал, е предварително определен, когато комуникационният канал е установен. Това гарантира, че определено количество данни може да бъде прехвърлено на всяка милисекунда. Всяка оставаща честотна лента е достъпна за други видове предаване. Изохронните устройства трябва да имат буфер за данни и един кадър и да могат да изпращат всеки блок в шината като една транзакция. В приемащия край небуферираните данни се възстановяват в реално време. Например, аудио устройство, работещо при CD качество и честота на дискретизация от 44,1 kHz, ще изпрати девет кадъра с 44 проби на кадър и след това един кадър с 45 проби. След буфериране в източника и дебуфериране в местоназначението ще има забавяне от няколко милисекунди при предоставянето на данни, но скоростта на доставка - която е важна за поддържане на качеството - ще бъде запазена. Прекъсването на превода също има критично време до известна степен. Когато се създават връзки за прекъсване на крайна точка, необходимият период на достъп до шина от 1 до 255 ms (10 и 255 ms в случай на устройства с ниска скорост) не е посочен. Системният софтуер анкетира прекъсването на крайната точка на интервал, който гарантира, че ако операцията по прекъсване все още не е приключила, тя се счита за рамките на желания период от време. Обработка на грешки ВUSB са вградени значителни функции за проверка и обработка на грешки, за да се гарантира, че това е надежден начин за свързване на периферни устройства към компютър. Целостта на данните трябва да бъде сравнима с вътрешната разширителна шина. Имунитетът срещу повреда на данните поради шум е осигурен чрез използването на диференциална логика на връзката и екранирани кабели. Ако възникнат грешки, циклично резервиранепроверката (контролни суми) се извършва отделно за всяко контролно поле на пакети с данни и позволява 100 процента възстановяване както на единични, така и на двойни битови грешки. Фаталните грешки могат да бъдат открити с висока степен на сигурност. Механизъм за самовъзстановяване, вграден в протокола за съобщения, с таймаут за изгубени и невалидни пакети. Някои грешки са вградени в хардуера. Хост контролерът ще изпрати сривени транзакции три пъти, преди да съобщи за грешка на клиентския софтуер. Прекъсването и предаването на данни се комбинират в пакет, за да се предостави потвърждение, че данните са получени, или анкета, която да бъде изпратена отново, ако не са. По този начин доставката на тези данни е гарантирана, дори ако времето, необходимо за доставка, е по-кратко. При изохронни данни не е възможно да се повтори неуспешен трансфер на данни. Тъй като само един "слот" е разпределен във връзката по време на всеки кадър, повторното изпращане на данни ще забави предаването на последващи проби от данни, нарушавайки синхронизирането на елементите от данни. Следователно не се изпраща пакет, а данни, които трябва да бъдат приети "както са". ЗаключениеУниверсалната серийна шина предоставя многофункционален, гъвкав начин за свързване на широка гама периферни устройства с ниска до средна скорост към компютър на сравнително ниска цена. Неговото инсталиране, свързване и конфигуриране означава, че инсталирането и поддръжката на периферни устройства е много по-лесно в сравнение с устройства, използващи сериен, паралелен или собствен интерфейс.