USB On-The-Go ( USB on the go ), USB OTG eller OTG er en USB -grænsefladespecifikation , der gør det muligt for en USB-enhed, såsom en tablet eller smartphone, at være både en USB-vært og en perifer enhed. For eksempel kan en mobiltelefon læse data fra flytbare medier som en vært, men når den er tilsluttet en værtscomputer, præsentere sig selv som en perifer enhed (USB-masselagerenhed). Eller kameraet kan være en vært, når det udskriver fotos på en printer, og en perifer enhed, når den er tilsluttet en computer. Normalt, i værtstilstand, kan du tilslutte USB-ydre enheder med standarddrivere - USB-flashdrev , digitalkamera, mus eller tastatur (flere enheder kan tilsluttes via en USB-hub).
USB OTG definerer to roller for en enhed: OTG-enhed A og OTG-enhed B. OTG-enhed A er strømkilden til USB-bussen, og OTG-enheden B er strømforsyningen. I standardkonfigurationen fungerer OTG A som en USB-vært, og OTG B fungerer som en USB-ydre enhed. Skift mellem værtstilstand og perifertilstand kan ske senere ved hjælp af Host Negotiation Protocol (HNP ) .
Den indledende rolle for hver USB-enhed bestemmes af, hvilket stik brugeren sætter i deres stik [1] .
Den første enhed med OTG blev udgivet i slutningen af 2001.
Standard USB bruger en værtsenhedsarkitektur . Værten fungerer som en controller for hele bussen, og den (perifere) enhed fungerer som en slaveenhed. I standardimplementeringen af USB skal enheder opfylde en eller anden rolle, hvor computere typisk fungerer som værter, mens (for eksempel) printere typisk fungerer som eksterne enheder. I mangel af USB OTG implementerer mobiltelefoner typisk en perifer funktion, der tillader data at blive overført fra telefon til computer og omvendt. Sådanne (gamle) telefoner, der identificerer sig selv som USB-ydre enheder, kan ikke nemt tilsluttes printere, da printere også fungerer som ydre enheder. USB OTG løser dette problem.
Så snart en perifer enhed er tilsluttet USB-bussen, etablerer masterenheden (værten) kommunikation med den nye enhed og udfører dens konfiguration (værtssoftwaren forbereder eller udfører den nødvendige databehandling til filhåndtering eller anden påkrævet type dataoverførsel eller kommunikationsfunktioner med enheden). Dette gør det muligt for de perifere enheder at være meget enkle sammenlignet med værten, for eksempel indeholder musen meget lidt kontrollogik og overlader næsten alt inputbehandlingsarbejdet til værten. Værten styrer overførslen af alle data på USB-bussen, og perifere enheder selv kan kun signalere til den, når de bliver spurgt, at de kræver værtens opmærksomhed. For at overføre data mellem to enheder, f.eks. fra en telefon til en printer, læser værten først dataene fra den ene enhed og sender dem derefter til den anden.[ ryd op ]
En USB OTG-kompatibel enhed kan fungere som både en vært og en enhed afhængigt af konfigurationen. Ved brug af OTG kan enheden enten være en vært, når den fungerer som en master eller en perifer, når den fungerer som en slave. Valget mellem værts- og periferroller afhænger helt af, hvilken ende af kablet enheden er tilsluttet. En enhed, der er forbundet til OTG-kabelstikket "A" eller " A-enhed ", fungerer som standardvært, mens en enhed, der er tilsluttet stik "B", fungerer som standardperiferi eller " B-enhed ".
Efter den indledende opsætning fungerer bussen ligesom en almindelig USB, enhed A ( A-enhed ) konfigurerer enhed B ( B-enhed ) og styrer al kommunikation. Men når den samme enhed A er tilsluttet et andet USB-enhedssystem eller direkte til en USB-vært, kan den blive en slave.
USB OTG er en del af bilaget til USB 2.0-specifikationen , som oprindeligt blev aftalt i slutningen af 2001 og efterfølgende revideret. Den seneste version af denne applikation definerer også adfærd for en indlejret vært, der har målkapaciteter og den samme standard USB A -port , der bruges i personlige computere [2] .
USB OTG og Embedded Host Supplement til USB 3.0-specifikationen beskriver understøttelse af SuperSpeed OTG -enheder , indlejrede værter og perifere enheder [3] .