ПредишенСледващото

Ограничаване на скоростта на данните на 1.1 спецификацията USB автобус е 12 Mbit / сек (пълна скорост). Бавни устройства използват ниска скорост за пренос - 1.5 Mbit / сек (Low Speed). В USB стандартната версия 2.0 поддържа скоростта физическото прехвърляне на до 480 Mbit / сек (високоскоростни). Данните се предават последователно върху двойка проводници. Храна за някои достъпно на индивидуален проводници власт и земята (за устройства с ниска консумация на енергия) устройства.

вътрешна организация USB автобус USB гума - развитие на водача, дискриминатор USB-устройство, като

Програмист работа чрез създаване на външен драйвер (не намира на дънната платка на) USB устройството е намалена да се възползват от софтуерен интерфейс системни драйвери USB автобус комуникация, която се осъществява с помощта на пакети, наречени URB (USB Заявка блок) пакети. Работа с регистри USB контролер на дънната платка се е превърнал само ограничен кръг от специалисти - разработчиците на дънни платки и операционни системи. Останалата част от разработчиците на USB-устройства в операционната система Windows, предлагани достатъчно развит софтуер интерфейс на WDM-шофьори, които се грижат за всички операции на хардуер специфични.

Вътрешната организация на USB шината

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

USB система е разделена на три логически слоя със специфични правила на взаимодействие. На USB устройството съдържа интерфейс, логически и функционален страна. Домакинът също е разделена на три части: интерфейс, системата и софтуер. Всяка част е отговорен само за ограничен брой задачи. Логическият и действителната взаимодействието между тях е показано на фигура 3.

вътрешна организация USB автобус USB гума - развитие на водача, дискриминатор USB-устройство, като

По този начин, за обмен на данни между приложната програма и USB шината се извършва от паметта на буфер за предаване чрез следните нива:

· Нивото на клиентски софтуер на хост - обикновено представлява от драйвера на USB устройство осигурява взаимодействието на потребителя с операционната система, от една страна, и шофьор система, от друга страна;

· Нивото на софтуер USB система на хоста (USBD, Universal Serial Bus Driver) - управлява устройства за номериране в автобуса, контролира разпределението на автобус трафик и доставка на енергия, дръжки поиска потребителски водачи;

· USB хост контролер автобус интерфейс (HCD, Host Controller Driver) - преобразува I / O Исканията към структурата на данните, за които хост контролерът изпълнява физически транзакции, работещи с множество контролери регистри на.

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

· Буферна памет нарича клиент буфер;

· МКК пакет, като се посочва вида на операцията е необходимо. Незабавно искане обработка се занимава с USB система шофьор.

е необходима система за ниво USB драйвер за управление на USB. Той е отговорен за следните действия:

· Разпределение USB автобус трафик;

USB сделка в автобуса - последователност на обмен на пакети между страната домакин и на периферното устройство, в които могат да се предават или получават пакет от данни. Когато клиентския софтуер изпраща ниво МКК, система за USB-драйвер шофьор ги превръща в една или повече сделки гуми и след това предава получената списъка на Host Controller Шофьор на транзакциите.

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

· Планиран изпълнение на сделките, получени като ги добавите към списъка на сделки;

· Откъси от списъка на следващата сделка и я изпраща до нивото на USB интерфейса на автобус хост контролер;

· Следи състоянието на всяка сделка за завършване.

Ако всичко системата ниво транзакция свързаната команда пакет уведоми нивото на клиент.

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

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

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

Най-горният нивото на периферна на USB устройство наречената функционална ниво. Това ниво съответства на нивото на клиентския софтуер на страната домакин. От гледна точка на нивото на клиент, по-ниски нива са необходими за организацията между него и крайна точка "информационни канали", които слизат на функционално ниво. И от гледна точка на нашата схема функционален слой извършва следните действия:

· Получава данни, изпратени от информационните канали клиент едностепенна домакин крайна точка по-нисък слой логично USB-устройство;

· Изпраща данни до нивото на клиент, да ги насочва в крайната точка на данните по-нисък слой логически канали USB-устройство.

логичен Предаването на данни между крайната точка и софтуера се осъществява чрез разпределение и обмен на данни канал на този канал и представени от гледна точка на нива, предаването на данни е както следва:

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

Крайна точка има следните основни параметри:

· Честота на достъп до автобуса;

· Допустимо количество услуга отлагане;

· Необходимата широчина на честотната лента на канала;

· Брой крайна точка;

· Метод за управление на грешки;

· Максимален размер на пакет, който крайна точка може да изпраща или получава;

· Използвани опаковки тип крайна точка;

· Посока на трансфера на данни.

Всяко USB-устройство има крайна точка номер нула (Endpoint нула). Тази точка позволява на хоста да отправя запитвания до устройството, за да се определи нейния вид и параметри, инициализация и конфигуриране на устройството.

Освен това нулеви устройства за точки обикновено имат допълнителни крайни точки, които се използват за обмен на данни с домакина. Допълнителни точки могат да бъдат управлявани или само за получаване на данни от хост (входните точки, IN), или само на предаването на данни към хост (изходна точка, OUT).

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

Автобус спецификация дефинира четири различни типове данни за крайни точки:

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

· Представяне на данните (прехвърляне на масиви от данни) - се използва, когато е необходимо да се осигури гарантирана доставка на данни от хоста към функция или функции на хост, но времето за доставка не е ограничена;

· Предаване на прекъсване (Прекъсване преводи) - се използва, когато е необходимо за предаване на един пакет от данни малки. Всяка опаковка искате да прехвърлите за ограничен период от време. операции за прехвърляне са спонтанни и не е необходимо да бъдат обслужвани по-бавно, отколкото се изисква от устройството;

· Изохронна трансфер (изохронни Трансфери) - се използват за комуникация в "реално време", когато всеки интервал от време, необходимо за прехвърляне на определен брой данни, но информацията не е гарантирана доставка (пренос на данни не е повторение в случай на повреди, може да бъде загуба на пакети).

Канал (тръба) - логическа връзка между крайна точка устройство и софтуера гостоприемник. Има два модела на канала:

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

§ заявки на клиенти драйвери за различни канали, разположени в определен ред сравнение с всеки друг могат да се извършват в различен ред;

§ искания за един канал ще бъдат изпълнени стриктно в реда на получаването им;

§ Ако сериозна грешка (щанд) се появява по време на изпълнение всяка заявка, потокът спира;

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

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

§ канал честотна лента;

§ използва предаване тип канал;

§ характеристики, съответстващи крайна точка: посоката на пренос на данни и максималния размер на пакет.

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

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

Настроите персонализирани канали, използвани от интерфейса на драйвера на устройство, наречено устройството, или един куп собствени канала на.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!