
2007 Microchip Technology Inc.
Preliminary
DS39775B-page 331
PIC18F87J50 FAMILY
EQUATION 22-1:
ESTIMATING USB TRANSCEIVER CURRENT CONSUMPTION
EXAMPLE 22-2:
CALCULATING USB TRANSCEIVER CURRENT
For this example, the following assumptions are made about the application:
3.3V will be applied to V
USB
and V
DD
, with the core voltage regulator enabled.
This is a full-speed application that uses one interrupt IN endpoint that can send one packet of 64 bytes every
1 ms, with no restrictions on the values of the bytes being sent. The application may or may not have additional
traffic on OUT endpoints.
A regular USB “B” or “mini-B” connector will be used on the application circuit board.
In this case, P
ZERO
= 100% = 1, because there should be no restriction on the value of the data moving through the
IN endpoint. All 64 kBps of data could potentially be bytes of value, 00h. Since ‘
0
’ bits cause toggling of the output
state of the transceiver, they cause the USB transceiver to consume extra current charging/discharging the cable. In
this case, 100% of the data bits sent can be of value ‘
0
’. This should be considered the “max” value, as normal data
will consist of a fair mix of ones and zeros.
This application uses 64 kBps for IN traffic out of the total bus bandwidth of 1.5 MBps (12 Mbps), therefore:
64 kBps
1.5 MBps= 4.3% = 0.043
Since a regular “B” or “mini-B” connector is used in this application, the end user may plug in any type of cable up to
the maximum allowed 5 m length. Therefore, we use the worst-case length:
L
CABLE
= 5 meters
Assume I
PULLUP
= 2.2 mA. The actual value of I
PULLUP
will likely be closer to 218
μ
A, but allow for the worst-case.
USB bandwidth is shared between all the devices which are plugged into the root port (via hubs). If the application is
plugged into a USB 1.1 hub that has other devices plugged into it, your device may see host to device traffic on the
bus, even if it is not addressed to your device. Since any traffic, regardless of source, can increase the I
PULLUP
current
above the base 218
μ
A, it is safest to allow for the worst case of 2.2 mA.
Therefore:
The calculated value should be considered an approximation and additional guardband or applica-
tion-specific product testing is recommended. The transceiver current is “in addition to” the rest of the
current consumed by the PIC18F87J50 family device that is needed to run the core, drive the other I/O
lines, power the various modules, etc.
I
XCVR
=
+ I
PULLUP
(60 mA V
USB
P
ZERO
P
IN
L
CABLE
)
(3.3V 5m)
Legend:
V
USB
– Voltage applied to the V
USB
pin in volts. (Should be 3.0V to 3.6V.)
P
ZERO
– Percentage (in decimal) of the IN traffic bits sent by the PIC
device that are a value of ‘
0
’.
P
IN
– Percentage (in decimal) of total bus bandwidth that is used for IN traffic.
L
CABLE
– Length (in meters) of the USB cable. The USB 2.0 specification requires that full-speed
applications use cables no longer than 5m.
I
PULLUP
– Current which the nominal, 1.5 k
Ω
pull-up resistor (when enabled) must supply to the USB
cable. On the host or hub end of the USB cable, 15 k
Ω
nominal resistors (14.25 k
Ω
to 24.8 k
Ω
) are
present which pull both the D+ and D- lines to ground. During bus Idle conditions (such as between
packets or during USB Suspend mode), this results in up to 218
μ
A of quiescent current drawn at 3.3V.
I
PULLUP
is also dependant on bus traffic conditions and can be as high as 2.2 mA when the USB bandwidth
is fully utilized (either IN or OUT traffic) for data that drives the lines to the “K” state most of the time.
Pin =
I
XCVR
=
+ 2.2 mA = 4.8 mA
(60 mA 3.3V 1 0.043 5m)
(3.3V 5m)