User manual

Code Mercenaries
11
II
II
OO
OO
--
--
WW
WW
aa
aa
rr
rr
rr
rr
ii
ii
oo
oo
rr
rr
55
55
66
66
5.6 Power supply
USB does allow a device to be "Bus Powered".
This means the device does get its power off the
USB port. To avoid overloading on the USB ports
devices need to advertise their power requirements.
There are two power classes for devices: Low
power and high power. Low power devices may
draw up to 100mA off the USB, high power
devices up to 500mA.
Likewise there are high power and low power
ports. Usually high power ports are those on the
motherboard and on hubs with external power
supply or hubs in a monitor. Low power ports are
typically on hubs that get their power off the USB,
like hubs in keyboards.
If the system decides that there is not sufficient
power to supply a high power decive that device
does not get enabled.
IO-Warrior56 can operate either as a high power or
low power device. Pulling the P6.0 pin high or low
at reset sets the desired power rating.
This allows to configure IO-Warrior56 optimally
for supporting external circuits.
5.7 Using external power
If an external power source is used to supply power
for an IO-Warrior56 based circuit there are two
options.
The IO-Warrior56 can be powered from the USB
and only the external circuit gets its power off an
external source. If this is a feasible design option it
should be used. An I/O pin may be used to check
the presence of the external power so any
controlling application knows if the device is in a
working configuration.
The second option is to also power IO-Warrior56
from an external source. This is not the
recommended option since IO-Warrior56 assumes
that the USB is active if it has power. In this case
set the current request of IO-Warrior56 to 100mA
5.8 Suspend
All devices on the USB port need to support the
suspended state. When the host computer stops to
periodically access the USB, like when it goes to
sleep, all devices need to enter the suspended state
and drop their power draw to less than 500A for
low power devices or less than 2.5mA for high
power devices.
When entering suspended state IO-Warrior56 pulls
all pins high. Care must be taken in designing
external circuits so that they will draw no more
than the allowed suspend power rating while all
pins of IO-Warrior56 are high.
5.9 Remote Wakeup
IO-Warrior56 chips support the remote wakeup
feature. They are able to wake the host computer
from sleep state if the host operating system has
enabled this feature.
Remote wakeup is initiated by IO-Warrior56 if any
pin changes its state while the chip is in suspended
state.
5.10 Special mode I/O
To enable IO-Warrior56 to talk to devices that
have more complex demands it has the special
mode functions. When any of these functions is
enabled some pins of IO-Warrior56 turn into
special function pins.
Talking to the special mode functions is handeled
via the USB interface 1, which is also configured
as generic HID compliant.
Commands to the special mode functions are sent
as interrupt out reports via endpoint 4. Replies
from the special mode functions are returned as
interrupt in reports via endpoint 3.
Endpoints 3 and 4 form the USB interface 1, or
pipe 1.
To talk to the various special mode functions and
to handle different requests to them ReportIDs are
used which enable multiple functions to use the
same endpoint. All reports to and from special
mode functions are always 64 bytes long, including
the ReportID.
The following chapters describe the individual
special mode functions.
V 1.0.3, November 6nd 2012 for chip version V1.1.0.1