SlideShare ist ein Scribd-Unternehmen logo
1 von 5
USB Communication/Configuration Overview How does communication between a USB device and a PC work? How does a USB device initiate contact with a PC?
How does communication between a USB device and a PC work?  Logical Communication Flow Endpoint  1 Endpoint 2 Endpoint  N Endpoints Have 4 Transfer Types: Control Transfer – For sending commands Interrupt Transfer – Host must poll this EP Isochronous Transfer – Time sensitive Info Bulk Transfer – For large data bursts Buffer 1 Buffer 2 Buffer N Data is sent to memory buffers which will be processed by the software application Interface 1 Software Application Interfaces : grouping of the endpoints into a functional group performing a single feature of the device.  For example:  Keyboard,Mouse,Camera,Scanner,DVD drive   Operating System
How does communication between a USB device and a PC work? Renesas H8S /2215 Device c PC OS Firmware Hardware Firmware Hardware Firmware Firmware Interface Description Grouping of endpoints performing a single feature of the device Relationship Collection of Endpoints Various transfer types: Control,Interrupt, Isochronous,Bulk Data Transfer Per Endpoint Serial  Interface Engine USB Bus Interface Physical/Signal/Packet Connectivity Data USB Driver Software Application Interprets data based on Interfaces Buffered Data USB Bus Interface Serial  Interface Engine Physical/Signal/Packet Connectivity USB Cable Data Host Controller Driver Device’s configuration, status, and control information. Endpoint 0: Control Pipe Manages System Devices .  Data USB System Software Host Controller UHCI OHCI EHCI Data
How does a USB device initiate contact with a PC? Configuration Descriptor How the Device is  setup Device Address Device Descriptor Represents the device 1 USB System Software Endpoint 0  Control Pipe Device’s configuration, status, and control information. Wait 100ms for USB Stabilization 2 3 PC gives Device an Address 4 PC requests Device Descriptor 5 PC requests Configuration Descriptor 6 Windows asks for driver for the device.  Driver is then located and installed. 7
How does a USB device initiate contact with a PC? USB System Software Endpoint 0 1 Wait 100ms for USB Stabilization 2 This descriptor contains the Interface and Endpoint descriptor 5 Configuration Descriptor How the Device is  setup PC gives Device an Address Device Address 4 3 Device Descriptor Represents the device PC requests Device Descriptor 6 Windows asks for driver for the device.  Driver is then located and installed. 7

Weitere ähnliche Inhalte

Andere mochten auch

HKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyHKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyLinaro
 
Database mirroring setup
Database mirroring setupDatabase mirroring setup
Database mirroring setupK Singh
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debuggingUtkarsh Mankad
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyJollen Chen
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)kyasar
 
Automating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareAutomating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareMalachi Jones
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on AndroidGary Bisson
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)allankliu
 
An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761Premier Farnell
 

Andere mochten auch (17)

BeagleBone Workshop
BeagleBone WorkshopBeagleBone Workshop
BeagleBone Workshop
 
Android Custom Kernel/ROM design
Android Custom Kernel/ROM designAndroid Custom Kernel/ROM design
Android Custom Kernel/ROM design
 
HKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case studyHKG15-409: ARM Hibernation enablement on SoCs - a case study
HKG15-409: ARM Hibernation enablement on SoCs - a case study
 
Beagle board
Beagle boardBeagle board
Beagle board
 
Usb 72213 76207
Usb 72213 76207Usb 72213 76207
Usb 72213 76207
 
Database mirroring setup
Database mirroring setupDatabase mirroring setup
Database mirroring setup
 
Intro
IntroIntro
Intro
 
How To Build Android for ARM Chip boards
How To Build Android for ARM Chip boardsHow To Build Android for ARM Chip boards
How To Build Android for ARM Chip boards
 
Android booting sequece and setup and debugging
Android booting sequece and setup and debuggingAndroid booting sequece and setup and debugging
Android booting sequece and setup and debugging
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacy
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)Linux Sürücü Geliştirme (Linux Device Driver Development)
Linux Sürücü Geliştirme (Linux Device Driver Development)
 
Automating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device FirmwareAutomating Analysis and Exploitation of Embedded Device Firmware
Automating Analysis and Exploitation of Embedded Device Firmware
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on Android
 
Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)Design Of A Usb Device Driver (Overview)
Design Of A Usb Device Driver (Overview)
 
An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761An Overview Study on USB OTG Device ISP1761
An Overview Study on USB OTG Device ISP1761
 
Usb Overview
Usb OverviewUsb Overview
Usb Overview
 

Mehr von allankliu

NMEA Manual of SiRF-III
NMEA Manual of SiRF-IIINMEA Manual of SiRF-III
NMEA Manual of SiRF-IIIallankliu
 
Lecture24 Multiprocessor
Lecture24 MultiprocessorLecture24 Multiprocessor
Lecture24 Multiprocessorallankliu
 
Mp Os Survey
Mp Os SurveyMp Os Survey
Mp Os Surveyallankliu
 
Embedded Systems Design Embedded
Embedded Systems Design   EmbeddedEmbedded Systems Design   Embedded
Embedded Systems Design Embeddedallankliu
 
Usb In A Nutshell
Usb In A NutshellUsb In A Nutshell
Usb In A Nutshellallankliu
 
Usb Multi Role Device Design By Example
Usb Multi Role Device Design By ExampleUsb Multi Role Device Design By Example
Usb Multi Role Device Design By Exampleallankliu
 
Usb Wp Implementing Usb
Usb Wp Implementing UsbUsb Wp Implementing Usb
Usb Wp Implementing Usballankliu
 

Mehr von allankliu (8)

NMEA Manual of SiRF-III
NMEA Manual of SiRF-IIINMEA Manual of SiRF-III
NMEA Manual of SiRF-III
 
Lecture24 Multiprocessor
Lecture24 MultiprocessorLecture24 Multiprocessor
Lecture24 Multiprocessor
 
Mp Os Survey
Mp Os SurveyMp Os Survey
Mp Os Survey
 
Embedded Systems Design Embedded
Embedded Systems Design   EmbeddedEmbedded Systems Design   Embedded
Embedded Systems Design Embedded
 
Usb In A Nutshell
Usb In A NutshellUsb In A Nutshell
Usb In A Nutshell
 
Pdiusbd11
Pdiusbd11Pdiusbd11
Pdiusbd11
 
Usb Multi Role Device Design By Example
Usb Multi Role Device Design By ExampleUsb Multi Role Device Design By Example
Usb Multi Role Device Design By Example
 
Usb Wp Implementing Usb
Usb Wp Implementing UsbUsb Wp Implementing Usb
Usb Wp Implementing Usb
 

Kürzlich hochgeladen

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Kürzlich hochgeladen (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Usb Connection With The Hid Class Driver

  • 1. USB Communication/Configuration Overview How does communication between a USB device and a PC work? How does a USB device initiate contact with a PC?
  • 2. How does communication between a USB device and a PC work? Logical Communication Flow Endpoint 1 Endpoint 2 Endpoint N Endpoints Have 4 Transfer Types: Control Transfer – For sending commands Interrupt Transfer – Host must poll this EP Isochronous Transfer – Time sensitive Info Bulk Transfer – For large data bursts Buffer 1 Buffer 2 Buffer N Data is sent to memory buffers which will be processed by the software application Interface 1 Software Application Interfaces : grouping of the endpoints into a functional group performing a single feature of the device. For example: Keyboard,Mouse,Camera,Scanner,DVD drive Operating System
  • 3. How does communication between a USB device and a PC work? Renesas H8S /2215 Device c PC OS Firmware Hardware Firmware Hardware Firmware Firmware Interface Description Grouping of endpoints performing a single feature of the device Relationship Collection of Endpoints Various transfer types: Control,Interrupt, Isochronous,Bulk Data Transfer Per Endpoint Serial Interface Engine USB Bus Interface Physical/Signal/Packet Connectivity Data USB Driver Software Application Interprets data based on Interfaces Buffered Data USB Bus Interface Serial Interface Engine Physical/Signal/Packet Connectivity USB Cable Data Host Controller Driver Device’s configuration, status, and control information. Endpoint 0: Control Pipe Manages System Devices . Data USB System Software Host Controller UHCI OHCI EHCI Data
  • 4. How does a USB device initiate contact with a PC? Configuration Descriptor How the Device is setup Device Address Device Descriptor Represents the device 1 USB System Software Endpoint 0 Control Pipe Device’s configuration, status, and control information. Wait 100ms for USB Stabilization 2 3 PC gives Device an Address 4 PC requests Device Descriptor 5 PC requests Configuration Descriptor 6 Windows asks for driver for the device. Driver is then located and installed. 7
  • 5. How does a USB device initiate contact with a PC? USB System Software Endpoint 0 1 Wait 100ms for USB Stabilization 2 This descriptor contains the Interface and Endpoint descriptor 5 Configuration Descriptor How the Device is setup PC gives Device an Address Device Address 4 3 Device Descriptor Represents the device PC requests Device Descriptor 6 Windows asks for driver for the device. Driver is then located and installed. 7