Title: Industrial Reference Design Platform USB Host Controller Developed by the TSC Americas
1Industrial Reference Design PlatformUSB Host
ControllerDeveloped by the TSC Americas
Release 1.0
2Universal Serial Bus (USB)History
- USB 1.1
- approved on 11/23/99 by the USB Core team
- 12 Mbps Bus
- Full-speed (12 Mbps)
- Low-speed (1.5 Mbps)
- Standard A connector/receptacle, standard B
connector/receptacle - USB 2.0
- Original USB 2.0 specification released on April
27, 2000 - 480 Mbps Bus
- High-speed (480 Mbps)
- Full-speed (12 Mbps)
- Low-speed (1.5 Mbps)
- Backward compatible with USB 1.1
- New mini-B connector/receptacle
- On-The-Go
- Supplement to the 2.0 specification
- Connects peripherals directly to each other
- New mini-A connector/receptacle and mini-AB
receptacle
3Universal Serial Bus (USB)Bus Topology
- Host
- One host per system
- Typically the PC in standard USB topology
- Can be any device in OTG
- Hub
- Provides connecting ports, power, terminations
- Device/Node (i.e. Slave)
- Peripheral application
4Universal Serial Bus (USB)Bus Topology
- Tiered star
- Hub at center of each star
- Maximum of six segments
- Each segment 5m max
- Only a function is allowed in tier 7
- Maximum of five non-root hubs
- Maximum cable length of 30
- meters
5USB Host ControllerBackground Information
- UHCI
- Developed by Intel
- Required license fee from Intel
- Only licensee is VIA
- More software intensive
- OHCI
- All other chip vendors
- License free
- More hardware intensive
- EHCI
- USB 2.0 high speed
- Accompanied by OHCI or UHCI for full/low speed
- Implementation of the Enhanced Host Controller
Interface specification requires a license from
Intel - Proprietary
- NXP ISP116x, ISP136x, ISP176x, LPC24xx
6OHCI USB Host ControllerOverview
- The Open Host Controller Interface (OHCI)
Specification for the Universal Serial Bus is a
register-level description of a Host Controller
for the Universal Serial Bus (USB) - The purpose of OHCI is to accelerate the
acceptance of USB in the marketplace by promoting
the use of a common industry software/hardware
interface. OHCI allows multiple Host Controller
vendors to design and sell Host Controllers with
a common software interface, freeing them from
the burden of writing and distributing software
drivers
7OHCI USB Host ControllerFunctional Overview
- The Client Software/USB Device and Host
Controller Driver are implemented in software.
The Host Controller and USB Device are
implemented in hardware - OHCI specifies the interface between the Host
Controller Driver and the Host Controller and the
fundamental operation of each
8LPC2468 USB OTG ControllerBlock Diagram
The OTG controller is capable of operating in
three modes
9LPC2468 USB OTG ControllerBlock Diagram Dual
Role Device and One Host
The OTG controller is capable of operating in the
following modes 1. One dual-role device port
and one host port
10LPC2468 USB OTG ControllerBlock Diagram
Two-port Host
- The OTG controller is capable of operating in the
following modes - One dual-role device port and one host port
- Two-port host
11LPC2468 USB OTG ControllerBlock Diagram One
Port Host and One Port Device
- The OTG controller is capable of operating in the
following modes - One dual-role device port and one host port
- Two-port host
- One port host and one port device - as used on
the IRD
12IRD USB Host ControllerSchematics
- The ISP1301 is actually not needed for USB host
functionality - IRD uses the internal 15kohm pull-down resistors
integrated in this device - No other OTG feature will be used.
13IRD USB Device ControllerESD Protection -
PRTR5V0U2X
- Two line ESD protection
- Ultra low capacitance
- C(I/O-GND) 1pF
- ESD protection up to 8 kV
- IEC 61000-4-2, level 4 (ESD)
- Very low clamping voltage
- integrated ESD protection diode
- Very low reverse current
- Small SMD plastic package
14USB Host and Device ControllersPCB Layout
15LPC2468 USB OTG ControllerConfiguration
- LPC2468 is capable of operating in the following
modes - One port host and one port OTG
- Need ISP1301 OTG transceiver for OTG logic
- One port host and one port device
- Do not need external transceiver
- Two port host
- Do not need external transceiver
- OTG Status Control Register determines which mode
is operational
16LPC2468 USB Host ControllerOperational Registers
- OHCI operational registers should be mapped into
a non-cacheable portion of the system addressable
space - According to the function of these registers,
they are divided into four partitions
17LPC2468 USB Host ControllerRoot Hub -
HcRhDescriptorA Register
The HcRhDescriptorA describes the characteristics
of the root hub
18LPC2468 USB Host ControllerRoot Hub - HcRhStatus
Register
The HcRhStatus register contains the hub status
and hub status changes
19LPC2468 USB Host ControllerRoot Hub -
HcRhPortStatus1NDP Register
The HcRhPortStatus register(s) is used to control
and report port events on a per-port basis
20Micrium USB Host Stack Overview
A Class Driver is a software component that is
able to communicate with USB devices of a
particular kind, such as disk drives, printers,
or scanners. If the appropriate Class Driver is
present, any compliant device can be plugged into
the host used without additional drivers being
installed Class Drivers support in Micrium -
Mass Storage (MSC) - Human Interface Device
(HID) - Communication Device (CDC) The host
stack core contains three sub-layers the USB
driver, the hub driver and the class device
manager The HCD layer communicates with the host
controller hardware to transfer data across the
USB bus Micrium Host Footprint (including class
drivers) 14kB-23kB (depending upon
optimizations)
21IRD USB Host ControllerExercise Preparation
Ethernet Configuration on the User PC 1. On a
Windows based PC, open up the Windows Control
Panel 2. Double-click on the Network Connections
icon 3. Find the Wired 10/100 connection (usually
called Local Area Connection) icon and
right-click on itclick on Properties to open
up that connection configuration 4. Click on the
Internet Protocol (TCP/IP) selection and then
click on Properties button (see image) Write
down the current settings (typically, the Obtain
an IP address automatically is the default
setting DNS servers are blank). Select Use
the following IP Address Type in an IP Address
of 192.168.2.70 In the subnet mask type in
255.255.255.0 Click on OK to close this
window. Click on OK again to close the network
properties
22IRD USB Host ControllerExercise Preparation
- The IRD Hardware should not be connected to the
power source - Connect a standard Ethernet cable between the
Ethernet connector (ETH0) on the IRD board and
the PCs Ethernet connector. - Copy the web pages (.html) on the supplied CD to
a USB flash drive. You can copy the whole
HTTPRoot folder from the CD to the flash drive.
All the web page files must be stored on the USB
flash drive in the folder HTTPRoot (e.g. e\
HTTPRoot). - Plug your USB flash drive into the IRD USB Host
Port - You are now ready to power up the IRD Board
- Launching the IRD HTML User Interface
- On your PC, start up Internet Explorer
- In the URL line, type in
- 192.168.2.80/index.html
- From the index.html page, select Demonstrations
- On the Demonstrations page, select USB Host. A
simple web page will be brought up
23IRD USB Host ControllerExercise 1
- We would like you to modify the web page
- Open up the USB_Host_1.html web page, found on
the flash drive, using NotePad or any other text
editor - Change the line of text ltpgtChange this
textltfont size"1"gtlt/pgtlt/fontgt to whatever you
want to display on your webpage - Change the web page title lth1
align"center"gtUSB_Host_1lt/h1gt to whatever you
want to display on your webpage - Insert the flash drive back into the IRD USB
host port - Refresh the USB_Host_1.html webpage and your
personalized webpage will be displayed
24IRD USB Host ControllerExercise 2
This exercise will allow the user to use a USB
flash drive in the Industrial Reference Design
environment To accomplish this exercise, you
will need PC with a communications program
(HyperTerminal, TerraTerm, etc.), a serial cable
connected to UART0 (or USB-COM cable), and a USB
flash drive Configure the communications program
to 115.2k, 8-N-1 as shown here
25IRD USB Host Controller ExerciseCommands List
- FS_ls List information about files in the current
directory - FS_cd dir Change the current directory to dir
- FS_pwd Print the current working directory
- FS_cp source dest Copy source to dest
- FS_mv source dest Rename source to dest
- FS_mv source dest Move source to dir
- FS_rm file Remove file
- FS_rmdir dir Remove dir, if it is empty
- FS_mkdir dir Create dir, if it does not
already exist - FS_cat file Concatenate file contents to
standard output - FS_od format file Dump file to standard
output in specified format - FS_vol List information about volumes
26IRD USB Host ControllerExercise 2
- Using the commands shown on the previous slide,
we are going to do some basic file commands to
the data on the USB flash drive - 1. Type FS_ls
- You should see a list of files and directories
on the flash drive - Create a directory named USBHost
- Check to see that the USBHost directory was
created - Copy the USB_Host_1.html file from the HTTPRoot
directory to the USBHost directory - Using the file system commands, check to see if
the file was copied correctly
27(No Transcript)