net+os 6.1 training. usb host usb host hardware usb host stack usb host api usb device class drivers...
TRANSCRIPT
![Page 1: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/1.jpg)
NET+OS 6.1 Training
![Page 2: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/2.jpg)
USB HOST
![Page 3: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/3.jpg)
• USB Host Hardware• USB Host Stack• USB Host API• USB Device Class Drivers• Recommended readings
USB HOST
![Page 4: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/4.jpg)
USB Host Hardware
• Supports USB 1.1 and OHCI 1.0 specifications
![Page 5: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/5.jpg)
USB Host Stack
• Sourced from a Minolta and based on the Linux USB Host stack design.
• Supports bulk transfers, control transfers and interrupt transfers.
• Isochronous transfers are not supported in the NET+OS 6.1 release.
• ISR driven event notification design using semaphores.
![Page 6: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/6.jpg)
USB Host Stack
• USB stack has an internal thread which processes root hub status change events as notified by the ISR
• Root hub status changes force the internal thread to enumerate or de-enumerate devices.
![Page 7: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/7.jpg)
USB Host API
Initialization functions:• usbHostInit()• usbKeyboardInit()• usbMouseInit()• usbHubInit()• usbPrinterInit()
![Page 8: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/8.jpg)
USB Host API
Memory functions:• usbMalloc()• usbFree()
Device class driver functions:• usbRegister()• usbDeregister()• usbRegisterIrq()
![Page 9: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/9.jpg)
USB Host API
Enumeration functions:• usbClearEndPointFeature()• usbClearFeature()• usbClearPortFeature()• usbGetConfiguration()• usbGetDeviceDescriptor()• usbGetHidDescriptor()
![Page 10: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/10.jpg)
USB Host API
• usbGetHubDescriptor()• usbGetHubStatus()• usbGetPortStatus()• usbGetProtocol()• usbGetStatus()• usbGetString()• usbSetConfiguration()
![Page 11: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/11.jpg)
USB Host API
• usbGetHubDescriptor()• usbGetHubStatus()• usbGetPortStatus()• usbGetProtocol()• usbGetStatus()• usbGetString()• usbSetConfiguration()
![Page 12: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/12.jpg)
USB Host API
• usbSetFeature()• usbSetIdle()• usbSetInterface()• usbSetPortFeature()• usbSetProtocol()• usbSetReport()
![Page 13: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/13.jpg)
USB Device Class Drivers
Devices supported for this release:• Hub• Keyboard• Mouse• Printer
![Page 14: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/14.jpg)
USB Device Class Drivers
Hub Driver:• Uses an interrupt endpoint to communicate
with the hub device• ISR driven event notification design
through semaphore• Internal thread processes hub port status
changes and enumerates (or de-enumerates) as needed
![Page 15: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/15.jpg)
USB Device Class Drivers
Keyboard Driver:• Uses an interrupt endpoint to communicate
with the keyboard device• ISR driven event notification• Directs keystrokes to the console through
the standard I/O (i.e. serial port)
![Page 16: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/16.jpg)
USB Device Class Drivers
Mouse Driver:• Uses an interrupt endpoint to communicate
with the mouse device• ISR driven event notification• Directs mouse position coordinates to the
console through the standard I/O (i.e. serial port)
![Page 17: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/17.jpg)
USB Device Class Drivers
Printer Driver:• Uses one bulk out endpoint to communicate
with the printer device.• Tested with the Hitachi SL5 printer• Will work with printer devices that allow
directly downloading the actual print image without any protocols.
![Page 18: NET+OS 6.1 Training. USB HOST USB Host Hardware USB Host Stack USB Host API USB Device Class Drivers Recommended readings USB HOST](https://reader036.vdocuments.site/reader036/viewer/2022082411/56649da05503460f94a8b684/html5/thumbnails/18.jpg)
Recommended Readings
• USB 1.1 Specification• OHCI 1.0 Specification• USB Human Interface Devices (HID)
specification• USB related books that explain USB in less
abstract terms.