USB-softwarestructuur
Sep 01, 2022
Bus-interface
De USB-businterface zorgt voor de onderlinge verbinding tussen de elektrische laag en de protocollaag. Vanuit het perspectief van interconnectie worden vergelijkbare businterfaces tegelijkertijd door het apparaat en de host geleverd, zoals een seriële interfacemachine (SIE). De USB-businterface wordt gerealiseerd door de hoofdcontroller.
Het USB-systeem gebruikt de hoofdcontroller om de gegevensoverdracht tussen de host en het USB-apparaat te beheren. De interface tussen deze en de hoofdcontroller hangt af van de hardwaredefinitie van de hoofdcontroller. Tegelijkertijd is het USB-systeem ook verantwoordelijk voor het beheer van USB-bronnen, zoals bandbreedte en busenergie, waardoor klanten toegang kunnen krijgen tot USB. Het USB-systeem heeft ook drie basiscomponenten:
Hostcontroller-stuurprogramma (HCD) dit kan verschillende hostcontroller-apparaten toewijzen aan het USB-systeem. De interface tussen HCD en USB wordt HCDI genoemd. De specifieke HCDI wordt gedefinieerd door het besturingssysteem dat verschillende hoofdcontrollers ondersteunt. De universele mastercontroller-driver (uhcd) bevindt zich onderaan de zachte structuur en beheert en bestuurt de mastercontroller. Uhcd communiceert met en bestuurt de USB-hostcontroller en is verborgen voor andere delen van de systeemsoftware. De hoogste laag in de systeemsoftware communiceert met de hoofdcontroller via de software-interface van uhcd.
USB-stuurprogramma (usbd), dat is gebaseerd op een uhcd-stuurprogramma, biedt een interface op stuurprogrammaniveau om te voldoen aan de vereisten van het bestaande ontwerp van apparaatstuurprogramma's. Usbd biedt een architectuur voor gegevensoverdracht in de vorm van I/O-verzoekpakketten (IRP's), die bestaat uit de vereisten voor het verzenden van gegevens via specifieke buizen. Bovendien laat usbd de client verschijnen als een abstractie van het apparaat om abstractie en beheer te vergemakkelijken. Als onderdeel van de abstractie heeft usbd een standaardpijplijn. Via welke alle USB-apparaten toegankelijk zijn voor standaard USB-besturing. Deze standaardpijp beschrijft een logisch kanaal voor communicatie tussen de usbd en het USB-apparaat.
Hostsoftware
In sommige besturingssystemen wordt geen USB-systeemsoftware meegeleverd. Deze software wordt oorspronkelijk gebruikt om configuratie-informatie en laadstructuur te verstrekken aan apparaatstuurprogramma's. In deze besturingssystemen gebruikt het apparaatstuurprogramma de interface die door de toepassing wordt geleverd in plaats van rechtstreeks toegang te krijgen tot de USBDI-structuur (USB Driver Interface).
USB-clientsoftware
Het bevindt zich op het hoogste niveau van de softwarestructuur en is verantwoordelijk voor het afhandelen van specifieke USB-apparaatstuurprogramma's. De clientlaag beschrijft alle softwareportals die direct op het apparaat werken. Wanneer het apparaat door het systeem wordt gedetecteerd, werken deze clientprogramma's rechtstreeks op de randapparatuur. Deze gedeelde functie plaatst de USB-systeemsoftware tussen de client en zijn apparaat, die door het clientprogramma moet worden verwerkt volgens de apparaatafbeelding die door usbd bij de client wordt gevormd.
Elke laag van de host heeft de volgende functies:
Detecteer aangesloten en verwijderde USB-apparaten.
Beheer de gegevensstroom tussen de host en het USB-apparaat.
Verbinding USB-status en activiteitsstatistieken.
Bedien de elektrische interface tussen de hoofdcontroller en het USB-apparaat, inclusief beperkte energietoevoer.
HCD biedt een abstractie van de hoofdcontroller en een abstractie van het perspectief van de hoofdcontroller op gegevens die via USB worden verzonden. Usbd biedt een abstractie van USB-apparaten en gegevensoverdracht tussen usbd-klanten en USB-functies. Het USB-systeem bevordert de gegevensoverdracht tussen klanten en functies en dient als controlepunt voor de gestandaardiseerde interface van USB-apparaten. Het USB-systeem biedt bufferbeheermogelijkheden en zorgt ervoor dat gegevensoverdracht kan worden gesynchroniseerd met de behoeften van klanten en functies.







