This document provides an overview of the Universal Serial Bus (USB) standard. It describes the key aspects of USB including its architectural overview as a tiered star topology, electrical and mechanical characteristics of USB connectors, the USB protocol layer and packet types, USB device framework including descriptors and data transfer types, and how USB interfaces are created. The document is intended to explain the fundamental concepts and specifications that define USB.
Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication, and power supply between computers and electronic devices
Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication, and power supply between computers and electronic devices
USB 3.0 is the third major version of the Universal Serial Bus (USB) standard for interfacing computers and electronic devices. Among other improvements, USB 3.0 adds the new transfer rate referred to as SuperSpeed USB (SS) that can transfer data at up to 5 Gbit/s (625 MB/s), which is about ten times as fast as the USB 2.0 standard.
A survey of professional truck drivers determines the key factors driving loyalty to carriers. Drivers were asked to rate the importance of specific employee benefits in their decision to stay with or leave a trucking company. This paper outlines the results of the survey and provides suggestions on how to sustain a culture of driver appreciation throughout fleet operations.
USB 3.0 is the third major version of the Universal Serial Bus (USB) standard for interfacing computers and electronic devices. Among other improvements, USB 3.0 adds the new transfer rate referred to as SuperSpeed USB (SS) that can transfer data at up to 5 Gbit/s (625 MB/s), which is about ten times as fast as the USB 2.0 standard.
A survey of professional truck drivers determines the key factors driving loyalty to carriers. Drivers were asked to rate the importance of specific employee benefits in their decision to stay with or leave a trucking company. This paper outlines the results of the survey and provides suggestions on how to sustain a culture of driver appreciation throughout fleet operations.
Linux Kernel and Device Driver Development Training solely on a fair knowledge about the learning of Linux kernel, device driver, and RTOS (real time operating system)
linux device drivers: Role of Device Drivers, Splitting The Kernel, Classes of
Devices and Modules, Security Issues, Version Numbering, Building and Running Modules
Kernel Modules Vs. Applications, Compiling and Loading, Kernel Symbol Table,
Preliminaries, Interaction and Shutdown, Module Parameters, Doing It in User Space.
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxR&R Consult
CFD analysis is incredibly effective at solving mysteries and improving the performance of complex systems!
Here's a great example: At a large natural gas-fired power plant, where they use waste heat to generate steam and energy, they were puzzled that their boiler wasn't producing as much steam as expected.
R&R and Tetra Engineering Group Inc. were asked to solve the issue with reduced steam production.
An inspection had shown that a significant amount of hot flue gas was bypassing the boiler tubes, where the heat was supposed to be transferred.
R&R Consult conducted a CFD analysis, which revealed that 6.3% of the flue gas was bypassing the boiler tubes without transferring heat. The analysis also showed that the flue gas was instead being directed along the sides of the boiler and between the modules that were supposed to capture the heat. This was the cause of the reduced performance.
Based on our results, Tetra Engineering installed covering plates to reduce the bypass flow. This improved the boiler's performance and increased electricity production.
It is always satisfying when we can help solve complex challenges like this. Do your systems also need a check-up or optimization? Give us a call!
Work done in cooperation with James Malloy and David Moelling from Tetra Engineering.
More examples of our work https://www.r-r-consult.dk/en/cases-en/
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
About
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Technical Specifications
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
Key Features
Indigenized remote control interface card suitable for MAFI system CCR equipment. Compatible for IDM8000 CCR. Backplane mounted serial and TCP/Ethernet communication module for CCR remote access. IDM 8000 CCR remote control on serial and TCP protocol.
• Remote control: Parallel or serial interface
• Compatible with MAFI CCR system
• Copatiable with IDM8000 CCR
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
Application
• Remote control: Parallel or serial interface.
• Compatible with MAFI CCR system.
• Compatible with IDM8000 CCR.
• Compatible with Backplane mount serial communication.
• Compatible with commercial and Defence aviation CCR system.
• Remote control system for accessing CCR and allied system over serial or TCP.
• Indigenized local Support/presence in India.
• Easy in configuration using DIP switches.
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdffxintegritypublishin
Advancements in technology unveil a myriad of electrical and electronic breakthroughs geared towards efficiently harnessing limited resources to meet human energy demands. The optimization of hybrid solar PV panels and pumped hydro energy supply systems plays a pivotal role in utilizing natural resources effectively. This initiative not only benefits humanity but also fosters environmental sustainability. The study investigated the design optimization of these hybrid systems, focusing on understanding solar radiation patterns, identifying geographical influences on solar radiation, formulating a mathematical model for system optimization, and determining the optimal configuration of PV panels and pumped hydro storage. Through a comparative analysis approach and eight weeks of data collection, the study addressed key research questions related to solar radiation patterns and optimal system design. The findings highlighted regions with heightened solar radiation levels, showcasing substantial potential for power generation and emphasizing the system's efficiency. Optimizing system design significantly boosted power generation, promoted renewable energy utilization, and enhanced energy storage capacity. The study underscored the benefits of optimizing hybrid solar PV panels and pumped hydro energy supply systems for sustainable energy usage. Optimizing the design of solar PV panels and pumped hydro energy supply systems as examined across diverse climatic conditions in a developing country, not only enhances power generation but also improves the integration of renewable energy sources and boosts energy storage capacities, particularly beneficial for less economically prosperous regions. Additionally, the study provides valuable insights for advancing energy research in economically viable areas. Recommendations included conducting site-specific assessments, utilizing advanced modeling tools, implementing regular maintenance protocols, and enhancing communication among system components.
Water scarcity is the lack of fresh water resources to meet the standard water demand. There are two type of water scarcity. One is physical. The other is economic water scarcity.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
1. Universal Serial Bus
• SUBMITTED TO:
• DR. KAMRANULLAH
• SUBMITTED BY:
• MUHAMMAD MUZAFFAR KHAN
• KHAWAR NADEEM
• HAIDER ALI
1
2. Outline
Introduction and Background
Architectural Overview
Electrical and Mechanical Characteristics
Protocol Layer
USB Device Framework
USB Host Hardware and Software
How to Create a USB Interface
Works Cited
2
4. Introduction
Industry standard that defines the cables, connectors and communications
protocols used in a bus for connection, communication, and power supply
between computers and electronic devices
Developed in1996
By Joint efforts of
Intel, Microsoft, Digital Equipment Corporation, IBM, NEC, Nortel, Compaq
USB has superseded and effectively replaced Serial, Parallel & PS/2 ports
4
5. Why USB?
To standardize connections of electrical devices, while maintaining and
optimizing
High speed
Reliability
Cost of manufacturing
To make it fundamentally easier to connect external devices to PCs
by replacing the multitude of connectors at the back of PCs,
addressing the usability issues of existing interfaces,
simplifying software configuration of all devices connected to USB,
5
6. Comparison of Speeds of USB
Low Speed - 1.5Mbits/s (USB version 1.1/1.0)
Full Speed - 12Mbits/s (USB version 1.1/1.0)
High Speed - 480Mbits/s (USB version 2.0)
High Speed – 4.8 Gbit/s (USB version 3.0)
Super Speed – 10 Gbit/s (USB version 3.1)
6
8. Architectural Overview
Host-controlled
i.e. there can only be one host per bus.
Tiered Star Topology
similar to that of the 10BaseT Ethernet.
Requires the use of a hub in arrangement.
8
9. Tiered Star Topology
Uses 7-bit addressing of devices
allowing connection of up to 127 devices on a single USB bus
Allows expandability and ease of use,
Each device can be handled and removed individually without interrupting
others.
Allows plug’n’play connectivity which allows for dynamically loadable and
unloadable devices and drivers.
Plug the device in and the host loads the drivers without needing a reboot or
initiation/termination of connection, etc.
Unplug the device the absence is automatically detected by the host and the
drivers are unloaded.
9
11. Hub
Most devices come with a hub built-into the main circuitry and expose
only the connector required to be plugged into the host (e.g. mouse,
keyboard, etc.).
Hubs themselves are considered as USB devices, and may or may not have
some level of ‘intelligence’ circuitry.
They are mainly required to increase the logical and physical fan-out of the
network.
Devices attached to the Hub may work as any other USB devices, powered
by either the Hub or any external source
Client, through software, communicates with every device as if it were
connected directly; i.e. through direct addressing
11
14. Mechanical Characteristics
There are commonly two kinds of USB connectors
Type A
Type B
Many cables are made with Type A connector on one end and Type B
connector on the other.
This is an attempt to prevent improper physical connections between
devices, as the connectors are not physically interchangeable.
14
Type A Type B
15. Pin Configuration 15
Type A Type B
PIN # Cable Color Signal
1 Red Vbus = +5V
2 White D-
3 Green D+
4 Black Ground
16. Electrical Characteristics
All USB devices have an upstream connection
All hosts have a downstream connection to the device,
These Connections are not interchangeable.
While Type A connectors on both ends are available in cables, two
computers should not be connected together using a USB cable.
This is partly because of the fact that one topology can only have one host
it is also to prevent damage to the interface: If two computers are connected to
each other using one cable, it would cause their 5V supplies to short and cause
damaging current flow. Two computers can, however, share a single peripheral
device using a hub.
16
17. Electrical Characteristics
The parallel data is first serialized, then transmitted, and then parallelized
at the receiving end
Non-return to zero invert (NRZI) scheme of encoding data
includes a sync field required to synchronize host and receiver clocks.
17
18. USB – Voltage Levels
Transmitted Side:
Differential ‘1’ is transmitted by
pulling D+ over 2.8V with a 15k ohm resistor pulled to ground
D- under 0.3V with a 1.5k resistor pulled to 3.6V
Differential ‘0’ is transmitted by
D+ less than 0.3V
D- greater than 2.8V (with the appropriate resistors).
Receiver Side:
Differential ‘1’ is received when D+ is 200mV greater than D-
18
19. USB – Logic Levels
Low Speed/Full Speed Bus=>Characteristic Impedance=90Ω+/- 15%.
Select Impedance matching series resistors for D+ and D- accordingly.
The polarity of the signal is inverted depending on the speed of the bus.
Terms ‘J’ and ‘K’ are used to signify the logic levels.
In low speed
J state is a differential 0.
K state is a differential 1.
In high speed
J state is a differential 1.
k state is a differential 0.
19
20. USB – Logic Levels
High Speed (480Mbit/s) Mode uses a 17.78mA constant current for
signaling to reduce noise.
USB device must indicate to the host whether it is using a low speed or
high speed connection.
For low speed, D- is pulled to 3.3V
For high speed D+ is pulled to 3.3V
20
21. Classes of USB Functions
Low-powered Bus Functions
Derive all the power from Vbus
Cannot draw more than 1 unit load defined as 100mA
Work between voltages of 5.25V down to 4.40V
High-Powered Bus Functions
Draw 1 unit load until they are configured, after which they can draw 5 unit loads
(500mA max).
Work between 4.40V and 5.25V.
Self-Powered Bus Functions
Drain upto 1 unit load and consume the remaining power from an external source.
In case the external source should fail, provisions must be in place to prevent more
than 100mA of current draw.
21
22. Caution!!!
Precautions need to be taken in creation of devices, for which the USB
specification require that to prevent excessive inrush current should be
limited by not having a decoupling capacitance of less than 1uF or more
than 10uF.
The total power draw of the device of 500mA max must include
Currents drawn by the pull-up and pull-down resistors of D+ and D-,
Current wasted by the voltage regulator in stepping down from 5V to 3.3V for
the device
22
23. USB Suspend Mode
No Activity for 3ms Suspend Mode
Rated Suspend Current = 500uA for a device with one unit load.
Suspend Current includes
Idle current drawn by resistors and regulator Design Constraint
Where battery drain is not an issue, a Keep Alive packet must be sent
periodically to keep device from entering suspend mode.
The time frames for these are given below.
A high speed bus will have micro frames sent every 125us +/- 62.5ns
A full speed bus will have a frame sent each 1ms +/- 500ns.
A low speed bus will have a keep alive (end of packet) data sent every 1ms in
the absence of data transfer.
23
25. USB Packet Types
Data is sent in packets Least Significant Bit (LSB) first.
There are 4 main USB packet types:
Token
Data
Handshake
Start of Frame
The packets are then bundled into frames to create a USB message
25
26. USB Packet Fields
Each packet is constructed from different field types,
SYNC (synchronize)
PID (packet ID)
Address
Data
Endpoint
CRC (cyclic redundancy check)
EOP (end of packet)
26
27. USB Packet Fields
Synchronize (Sync):
All packets must start with a sync field.
Used to synchronize clock rate between device and host.
It is 8 bits for low speed and 32 bits for full/high speed
connection.
Packet ID (PID):
Packet ID identifies the type of packet being sent.
It has 4 bits for the value, and another 4 bits of the
inverted value to prevent errors.
Address:
7 bit field
Specifies the device the packet is intended for out of 127
devices that can be connected to a single bus.
27
28. USB Packet Fields
Endpoint:
4-bit long,
Allows for further flexibility in addressing.
Can also be split for IN or OUT data.
Cyclic Redundancy Checks (CRC):
Performed on the data with the packet payload.
All token packets have 5 bit CRC while data packets have 16 bit CRC.
End of Packet (EOP):
Signaled by a ‘0’ for approximately 2 bit times followed by a J for 1 bit time.
28
29. Token Packet Format
In
Informs the USB device that host wishes to read information.
Out
Informs the USB device that the host wishes to send information.
Setup
Used to begin control transfers
Token packets have the following format:
29
Sync PID ADDR ENDP CRC EOP
30. Data Packet Format
Maximum data payload size for low-speed devices is 8 bytes.
Maximum data payload size for full-speed devices is 1023 bytes.
Maximum data payload size for full-speed devices is 1024 bytes.
Payloads must be sent in multiples of bytes.
Data packets have the following format:
30
Sync PID Data CRC EOP
31. Handshake Packet Format
There are three types of packets which consist simply of PID.
ACK:
Acknowledgement that the packet has been successfully received.
NACK:
Reports that the device can not send or receive data. Also used to interrupt
when no data is available to send.
STALL
The device is in a state that requires intervention from the host.
31
Sync PID EOP
32. Start of Frame Packet Format
Data is split into frames before being transmitted.
The start of frame packet is used to signify the frame number to the host.
The frame number field is 11 bits long.
32
Sync PID Frame Number CRC EOP
34. Virtual Pipes – Logic Channels
USB device communication is based on Pipes or Logic Channels that connect
the peripheral's Endpoints with the host.
Virtual Pipe is a Logical Connection from the host controller to a device.
Since it is a logical connection, the pipe may be opened or closed.
There are two types of pipes:
Message Pipe:
A message pipe is bi-directional and is used for control transfers. Message pipes are
typically used for short, simple commands to the device.
Stream Pipe:
A stream pipe is a unidirectional pipe connected to a unidirectional endpoint that
transfers data.
34
35. End-point
The point of connection on the device.
IN and OUT endpoints are different, not multiplexed.
An endpoint is defined and numbered by the device during the time
period after physical connection, also known as enumeration time.
The endpoint is permanent.
An endpoint is addressable in the token packet.
There are four bits used to address an endpoint, which translates to a
device having up to 15 endpoints
endpoint 0 is reserved for control transfers throughout the duration the device
is connected to the bus, every peripheral device must support it
35
37. Descriptors
Data Structure to inform the host about the endpoint's configuration and
expectations.
When establishing communications with the peripheral, each endpoint
returns a descriptor,
Descriptors include
transfer type,
max size of data packets,
interval for data transfers,
the bandwidth needed.
37
38. Types of Descriptors
Device Descriptor:
This contains information that applies globally to the device, such as
serial number,
product ID,
vendor ID, etc.
This information is used to load device drivers on the host end.
Configuration Descriptor:
A Device Descriptor can have one or more Configuration Descriptors.
These are used to inform the host about
How the device is powered (bus powered, self powered, etc.),
The maximum power consumption,
What interfaces are available for the setup.
The host can choose to read the entire hierarchy or just the Configuration Descriptor.
38
39. Types of Descriptors
Interface Descriptor:
These help to more finely group the endpoints,
also contain information to help the host select a driver for communication
with the USB device.
An interface descriptor defines one or more endpoints.
Endpoint Descriptor:
The endpoint descriptor is the last leaf in the configuration hierarchy
It defines the bandwidth requirements, transfer type, and transfer direction of
an endpoint.
For transfer direction, an endpoint is either a source (IN) or sink (OUT) of the
USB device.
39
40. Descriptors Hierarchy
Every USB device has a hierarchy of descriptors, which are used to inform
the host about the type of device.
40
41. Descriptors Hierarchy
Each device can only have one Device Descriptor.
Multiple Configuration Descriptors can be used to group device functions;
however only one Configuration Descriptor can be active at a time.
These are further divided into multiple Interface Descriptors, but similar to
Configuration Descriptors, only one can be active at a time.
The Interface Descriptors can be used to group multiple endpoints for a
single function.
41
43. Data Transfer Types
Control:
Control transfers are used to exchange configuration and commands between
the device and the host.
Isochronous:
Used by time-critical, streaming devices
such as speakers and video cameras
Fixed bandwidth and a Free connection to the host.
These have almost guaranteed access to the USB bus.
Data streams between device and host are real-time and hence error correction
is not used.
43
44. Data Transfer Types
Bulk:
Where timing is not critical
Such as Printers and Scanners.
Data is sent in bigger packets.
Error correct is used on these packets.
Interrupt:
Data that need immediate attention.
Such as mouse or a keyboard
Small amount of Data Exchange
Error checking validates the data.
44
45. Data Transfer Types
The USB divides the available bandwidth into frames, and the host controls
the frames.
Frames contain 1,500 bytes, and a new frame starts every millisecond.
During a frame, isochronous and interrupt devices get a slot so they are
guaranteed the bandwidth they need.
Bulk and control transfers use whatever space is left.
45
47. USB Hardware Classes
The host controller is part of the computer hardware.
Control is managed by a device known as a Hardware Controller Device
(HCD) which is defined by the hardware implementer.
USB defines class codes used to identify a device's functionality and to
load a device driver based on that functionality.
This enables a device driver writer to support devices from different
manufacturers that comply with a given class code.
47
48. USB Device Classes
The USB-IF Device Working Group defines a discrete number of device classes.
The idea was to simplify software development by specifying a minimum set of
functionality and characteristics that is shared by a group of devices and interfaces.
Devices of the same class can all use the same USB driver.
This saves the end-user the time of installing a driver for every single USB device that is
connected to their host PC.
Input devices such as mice, keyboards and joysticks are all part of the HID (Human Interface
Device) class.
Mass Storage class covers removable hard drives and keychain flash disks
However, a device does not necessarily need to belong to a specific device class. In
these cases, the USB device will require its own USB driver that the host PC must load to
make the functionality available to the host.
48
50. Microcontrollers
Designing an USB Interface needs both hardware and software
competence
Many commonly used microcontrollers support USB interfacing directly
Microcontrollers allow the designer a higher level of abstraction when
dealing with the creation of a USB interface.
Such controllers usually have dedicated pins which may be used at the
+5V, GND, V+ and V- for the USB pins readily.
Commonly found cheaper microcontrollers are slow compared to the data
transfer rates of the USB protocol.
Even the low speed USB interface (1.5 Mbit/sec) may be too high for some
controllers. A simple calculation goes as follows:
50
51. Speed Incompatibility Problem!
Microcontroller
Say a microcontroller has 6M
instructions per second (at 24MHz
and 4 cycles/instruction),
i.e. it needs 6 cycles to complete per
second.
USB
For one bit of low speed USB
processing (i.e. 1.5 Mbit/sec) it would
require 6/1.5 = 4 clock cycles.
This is simply too slow for USB, and
this is exactly the case with, for
example, the popular controller
PIC16F84.
51
52. Development Boards
Prototyping and development boards such as the
TI Beagleboard,
NXP mbed,
Arduino
provide the designer with an even higher level of abstraction and make
USB interfacing almost trivial to hobbyists and designers who may not be
extremely proficient at writing complicated code.
These development boards also come with higher quality components (the
BeagleBoard has an ARM core processor) which may be used for high
speed USB connections as well.
52
53. Device Drivers
The host is what initiates the USB traffic. When the device is plugged in, the host detects
and connects to the peripheral hardware.
The descriptor is what informs the host of the device specifications such as the vendor
ID and product ID (VID/PID).
The USB devices can identify themselves as specific classes and subclasses of devices to
use the framework and drivers which already available by the USB Implementers Forum
(see more at www.usb.org) which have been implemented across many operating
systems.
This prevents the designer from going through the sizable and needless effort of writing
his/her own device driver to interface with the host.
USB devices that comply with a specific USB class enable cross-vendor and cross-
platform compatible USB devices.
The USB specification specifies hundreds of device classes that enable the generic
implementation of, for example, Ethernet dongles, mixing desks, or flash disks and
enable operating systems to provide generic drivers for these classes.
53
54. Device Drivers
There are cases where the USB device does not have any OS support and it should
interact with a user program directly. In that case, a generic driver such as the open-
source libusb driver that allows an application program to communicate with any USB
device can be used.
The device will be advertised as vendor-specific. Through the libusb interface the user
program can detect a device with a VID and PID that it wants to interact with, claim an
interface, open an endpoint, and send IN and OUT requests to that endpoint.
For connection of USB between a device and a computer, the operating system
dependent drivers are usually available. For instance, Microsoft Corporation has a
database of information pertaining to USB connection between many different types of
devices and their Windows operating system, which can be used for assistance in the
project.
An excellent collection of info, sample source code, and interfacing using a PIC
microcontroller and generic PC USB drivers can be found their website.
54
55. Work Cited
Stevens, Tim. USB 3.0 SuperSpeed... Engadget. [Online] January 10, 2010.
http://www.engadget.com/2010/01/09/usb-3-0-superspeed-gone-wild-at-ces-2010-
trumps-even-your-new-s/.
Melissa J. Perenson. SuperSpeed USB 3.0: More Details Emerge. PCWorld. [Online]
January 6, 2009. http://www.pcworld.com/article/156494/superspeed_usb.html.
Cohen, Peter. USB 3.1 vs Thunderbolt - the battle is on! iMore. [Online] August Thursday,
2013. http://www.imore.com/usb-31-spec-finalized-will-match-thunderbolt-1-speeds.
EE Herald. Online course on Embedded Systems. EE Herald. [Online]
http://www.eeherald.com/section/design-guide/esmod14.html.
Peacock, Craig. USB In A Nutshell. BeyondLogic. [Online] September Friday, 2010.
http://www.beyondlogic.org/usbnutshell/usb1.shtml.
FTDI Chip. USB Data Packet Structure Version 1.0. FTDI Chip. [Online]
http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_116_USB%20Data%20
Structure.pdf.
55
56. Work Cited
Universal Serial Bus. Wikipedia. [Online] http://en.wikipedia.org/wiki/USB.
USB Background. Total Phase. [Online] [Cited: February 16, 2014.]
http://www.totalphase.com/support/articles/200349256/.
Muller, Henk. How To Create And Program USB Devices. Electronic Design.
[Online] July 27, 2012. http://electronicdesign.com/boards/how-create-
and-program-usb-devices.
Microsoft Corporation. USB Host Drivers (Compact 2013). Microsoft
Developer Network. [Online] http://msdn.microsoft.com/en-
us/library/gg156249.aspx.
picusb. Google Code . [Online] http://code.google.com/p/picusb/.
56