Кіріспе
USB құрылғыларына арналған ережелер
USB On The Go (USB OTG немесе жай ғана OTG) – 2001 жылдың соңында алғаш пайда болған ереже, ол планшеттер немесе смартфондар сияқты USB құрылғыларына хост рөлін атқаруға мүмкіндік береді, соның арқасында USB флеш-дискілер, сандық камералар, тышқандар немесе пернетақталар сияқты басқа USB құрылғыларын қосуға болады. USB OTG қолдану құрылғыларға хост және құрылғы рөлдерін алмастыруға мүмкіндік береді. Мысалы, смартфон хост құрылғысы ретінде алынбалы медиадан мәліметтерді оқи алады, бірақ хост-компьютерге қосылғанда USB жад құрылғысы ретінде көрінеді. USB OTG құрылғының хост және перифериялық рөлдерін бірдей атқару мүмкіндігін ұсынады. Екі USB құрылғысы қосылғанда және олардың бірі USB OTG құрылғысы болса, олар байланыс арнасын орнатады. Арнаны басқаратын құрылғы хост, ал екіншісі – перифериялық деп аталады. USB OTG құрылғылар үшін екі рөлді анықтайды: OTG A құрылғысы және OTG B құрылғысы, олар арнаға қуатты қай жақ жеткізетінін және бастапқыда қайсысы хост болатынын көрсетеді. OTG A құрылғысы қуатпен жабдықтаушы, ал OTG B құрылғысы қуатты тұтынушы болып табылады. Стандартты байланыс конфигурациясында A құрылғысы USB хосты ретінде, ал B құрылғысы USB перифериялық құрылғысы ретінде жұмыс істейді. Хост және перифериялық режимдер Хост келісім протоколы (HNP) арқылы кейіннен алмастырылуы мүмкін. ID пинінің қосылуы әр құрылғының бастапқы рөлін анықтайды.
Шолу
Стандартты USB хост/құрылғы архитектурасын қолданады; хост бүкіл шина үшін хост құрылғысы рөлінде әрекет етеді, ал USB құрылғысы перифериялық құрылғы рөлінде әрекет етеді. Стандартты USB-ді іске асырғанда, құрылғылар міндетті түрде бірін немесе екіншісін таңдауы керек, компьютерлер көбінесе хост ретінде орнатылады, ал (мысалы) принтерлер әдетте перифериялық құрылғы ретінде жұмыс істейді. USB OTG болмаған жағдайда, ұялы телефондар көбінесе перифериялық функционалдықты іске асырып, компьютерлерге деректерді оңай жіберуге және алуға мүмкіндік берді. Мұндай телефондарды принтерлерге тікелей қосу қиын болды, себебі олар да перифериялық құрылғы рөлін атқарды. USB OTG осы мәселені тікелей шешеді. Бұл Universal Serial Bus (USB) 2.0 спецификациясына сәйкес келеді, ол 2001 жылдың соңында келісілген және кейіннен жаңартылған. Қосымшаның ең соңғы нұсқасы сонымен қатар мақсатты мүмкіндіктері бар және дерлік барлық компьютерлерде қолданылатын USB Standard A портын пайдаланатын кіріктірілген хост құрылғысының жұмыс істеуін анықтайды. SuperSpeed OTG құрылғылары, кіріктірілген хосттар және перифериялық құрылғылар USB OTG және кіріктірілген хост USB 3.0 спецификациясына қосымша арқылы қолдауға ие.
Хаттамалар
USB OTG және USB 2.0 ерекшелігіне кіріктірілген хост қосымшасы үш жаңа байланыс протоколын енгізді:
Қосылымды анықтау протоколы (ADP): OTG құрылғысына, кіріктірілген хостқа немесе USB құрылғысына USB шинасында қуат болмаған жағдайда қосылымның күйін анықтауға мүмкіндік береді, соның ішінде қосылған кездегі әрекеттерді және қосылым күйін көрсету мүмкіндігін қамтамасыз етеді. Бұл үшін USB портындағы сыйымдылықты үнемі өлшеу арқылы басқа құрылғының, үзілген кабельдің немесе кабельдің жоқтығын анықтайды. Құрылғы қосылғанын көрсететіндей сыйымдылықтың жеткілікті өзгерісі анықталғанда, A құрылғысы USB шинасына қуат береді және құрылғы қосылғанын іздейді. Ал B құрылғысы SRP (төменде қараңыз) жіберіп, USB шинасы қуаттанғанша күтеді.
Сессияны сұрау протоколы (SRP): Байланыс жасайтын екі құрылғыға да сілтемедегі қуат сессиясының белсенділігін басқаруға мүмкіндік береді; стандартты USB-де мұны тек хост ғана жасай алады. Бұл батареямен жұмыс істейтін камералар мен ұялы телефондар сияқты құрылғылар үшін қуатты үнемдеуде өте маңызды. OTG немесе кіріктірілген хост USB сілтемесін шеткі құрылғы (OTG немесе стандартты USB құрылғысы) қуат қажет еткенше қуатсыз қалдыра алады. OTG және кіріктірілген хосттар әдетте батарея қуатын үнемдеуге тырысады, сондықтан USB сілтемесін қуатсыз қалдыру батареяның жұмыс уақытын ұзартуға көмектеседі.
Хост келіссөздер протоколы (HNP): Егер екеуі де OTG екі рөлді құрылғы болса, екі құрылғыға хост/перифериялық рөлдерін алмасуға мүмкіндік береді. Хост/перифериялық рөлдерін ауыстыру үшін HNP пайдалану арқылы USB OTG құрылғысы деректерді беруді жоспарлауды басқаруға қабілетті болады. Осылайша, кез келген OTG құрылғысы USB OTG шинасы арқылы деректерді беруді бастауға қабілетті. Қосымшаның соңғы нұсқасында HNP сауалнамасы енгізілді, онда хост құрылғысы белсенді сессия кезінде перифериялық құрылғы хост болуды қалайтынын анықтау үшін үнемі сауалнама жасайды. HNP-нің басты мақсаты – A және B құрылғыларын (төменде қараңыз) қажетті тапсырма үшін дұрыс емес бағытта қосылған пайдаланушыларға ыңғайлы болу. Мысалы, принтер A құрылғысы (хост) ретінде қосылған, бірақ ол белгілі бір камера үшін хост ретінде жұмыс істей алмайды, себебі ол камераның басып шығару тапсырмаларын қалай түсіндіретінін білмейді. Егер камера принтермен қалай байланысу керектігін білсе, принтер HNP-ді пайдаланып құрылғы рөліне ауысады, ал камера хостқа айналады, соның арқасында камерада сақталған суреттерді кабельдерді қайта қосып алмастан басып шығаруға болады.
Жаңа OTG протоколдары стандартты USB хаб арқылы өтпейді, себебі олар арнайы сым арқылы электр сигналдарын жіберуге негізделген.
USB 3.0 ерекшелігіне USB OTG және кіріктірілген хост қосымшасы қосымша байланыс протоколын енгізеді:
Role Swap Protocol (RSP): RSP, USB 3.0 ерекшелігінде ұсынылған стандартты механизмдерді кеңейту арқылы HNP (яғни рөлдерді ауыстыру) сияқты мақсатқа жетеді. USB 3.0 ерекшелігіне USB OTG және кіріктірілген хост қосымшасын қолданатын өнімдер кері үйлесімділікті сақтау үшін USB 2.0 қосымшасын да қолдануы керек. SuperSpeed OTG құрылғылары (SS OTG) міндетті түрде RSP-ді қолдауы керек. SuperSpeed Peripheral Capable OTG құрылғылары (SSPC OTG) RSP-ді қолдауға міндетті емес, себебі олар SuperSpeed режимінде тек перифериялық құрылғы ретінде жұмыс істей алады; оларда SuperSpeed хосты жоқ, сондықтан олар HNP-ді USB 2.0 деректер жылдамдығында ғана пайдалана алады.
Attach Detection Protocol (ADP): Allows an OTG device, embedded host or USB device to determine attachment status in the absence of power on the USB bus, enabling both insertion based behavior and the capability to display attachment status. It does so by periodically measuring the capacitance on the USB port to determine whether there is another device attached, a dangling cable, or no cable. When a large enough change in capacitance is detected to indicate device attachment, an A device will provide power to the USB bus and look for device connection. At the same time, a B device will generate SRP (see below) and wait for the USB bus to become powered. Session Request Protocol (SRP): Allows both communicating devices to control when the link's power session is active; in standard USB, only the host is capable of doing so. That allows fine control over the power consumption, which is very important for battery operated devices such as cameras and mobile phones. The OTG or embedded host can leave the USB link unpowered until the peripheral (which can be an OTG or standard USB device) requires power. OTG and embedded hosts typically have little battery power to spare, so leaving the USB link unpowered helps in extending the battery runtime. Host Negotiation Protocol (HNP): Allows the two devices to exchange their host/peripheral roles, provided both are OTG dual role devices. By using HNP for reversing host/peripheral roles, the USB OTG device is capable of acquiring control of data transfer scheduling. Thus, any OTG device is capable of initiating data transfer over USB OTG bus. The latest version of the supplement also introduced HNP polling, in which the host device periodically polls the peripheral during an active session to determine whether it wishes to become a host. The main purpose of HNP is to accommodate users who have connected the A and B devices (see below) in the wrong direction for the task they want to perform. For example, a printer is connected as the A device (host), but cannot function as the host for a particular camera, since it does not understand the camera's representation of print jobs. When that camera knows how to talk to the printer, the printer will use HNP to switch to the device role, with the camera becoming the host so pictures stored on the camera can be printed out without reconnecting the cables. The new OTG protocols cannot pass through a standard USB hub since they are based on electrical signaling via a dedicated wire. The USB OTG and Embedded Host Supplement to the USB 3.0 specification introduces an additional communication protocol:
Role Swap Protocol (RSP): RSP achieves the same purpose as HNP (i. e., role swapping) by extending standard mechanisms provided by the USB 3.0 specification. Products following the USB OTG and Embedded Host Supplement to the USB 3.0 specification are also required to follow the USB 2.0 supplement in order to maintain backwards compatibility. SuperSpeed OTG devices (SS OTG) are required to support RSP. SuperSpeed Peripheral Capable OTG devices (SSPC OTG) are not required to support RSP since they can only operate at SuperSpeed as a peripheral; they have no SuperSpeed host and so can only role swap using HNP at USB 2.0 data rates.
Мақсатты шеткі құрылғылар тізімі (TPL)
Өндірушінің мақсатты шеттік құрылғылар тізімі (TPL) хост құрылғыны, әдеттегі компьютерлер сияқты, жалпы мақсаттағы хост ретінде жұмыс істеуге емес, нақты өнімдерге немесе қолданбаларға бағыттау мақсатында қызмет етеді. TPL "бағытталған" хост қолдайтын өнімдерді көрсетеді, оның қандай мүмкіндіктерді қолдауы керектігін анықтайды, соның ішінде шығыс қуатын, деректерді беру жылдамдығын, қолдау көрсетілетін протоколдарды және құрылғы кластарын. Бұл барлық бағытталған хосттарға қатысты, оның ішінде хост ретінде жұмыс істейтін OTG құрылғыларына және ендірілген хосттарға да қолданылады.
OTG шағын тұйықтағыштары
USB OTG стандарты бастапқыда mini AB деп аталатын ұяны енгізді, ол кейінгі өңдеулерде (1.4 нұсқасынан бастап) micro AB-мен алмастырылды. Ол mini A немесе mini B айырларын қабылдай алады, ал mini A адаптерлері сыртқы құрылғылардан келетін стандартты A USB кабельдерін қосуға мүмкіндік береді. Стандартты OTG кабелінің бір жағында mini A, екінші жағында mini B айыры болады (екі айыры бірдей типте болмайды). Mini A айыры қосылған құрылғы OTG A құрылғысы болады, ал mini B айыры қосылған құрылғы B құрылғысы болады (жоғарыда көрсетілгендей). Қосылған айырдың түрі ID тірегінің күйі арқылы анықталады (mini A айырының ID тірегі жерленген, ал mini B айырының ID тірегі ашық қалпында). Сонымен қатар, ықшам хост порты қажет болған жағдайларда қолданылатын таза mini A ұялары да бар, бірақ OTG қолдауы жоқ.
Артқа қарай үйлесімділік
USB OTG құрылғылары USB 2.0-мен кері үйлесімді (SuperSpeed OTG құрылғылары үшін USB 3.0) және стандартты (OTG емес) USB құрылғыларына қосылғанда стандартты USB хосттары немесе құрылғылары ретінде жұмыс істейді. Басты ерекшелік – OTG хосттары тек TPL тізімінде көрсетілген өнімдерді қуатпен қамтамасыз етуге міндетті, бұл тізімде жоқ сыртқы құрылғыға қосылу үшін жеткілікті қуат болмауы мүмкін. Егер қолдау көрсетілсе, қуатты USB хабы бұл мәселені шеше алады, себебі ол USB 2.0 немесе USB 3.0 ерекшеліктеріне сәйкес өз қуатын қамтамасыз етеді. OTG қосымшасының 1.3 және 2.0 нұсқалары арасында HNP және SRP протоколдарында үйлесімсіздіктер пайда болды, бұл осы протокол нұсқаларын қолданғанда өзара жұмыс істеуде қиындықтарға алып келуі мүмкін.
Зарядтаушының үйлесімділігі
Кейбір құрылғылар өздерінің USB порттарын кіріктірілген аккумуляторларын зарядтау үшін пайдалана алады, ал басқалары арнайы зарядтағышты анықтап, 500 мА (0,5 А) асып түсетін қуатты ала алады, осылайша олардың тезірек зарядталуына мүмкіндік береді. OTG құрылғылары екі опцияның кез келгенін пайдалануға рұқсат етіледі.