Datasheet
2012 Microchip Technology Inc. DS30575A-page 547
PIC18F97J94 FAMILY
27.6.4 USB TRANSCEIVER CURRENT
CONSUMPTION
The USB transceiver consumes a variable amount of
current depending on the characteristic impedance of
the USB cable, the length of the cable, the V
USB3V3
supply voltage and the actual data patterns moving
across the USB cable. Longer cables have larger
capacitances and consume more total energy when
switching output states.
Data patterns that consist of “IN” traffic consume far
more current than “OUT” traffic. IN traffic requires the
PIC
®
MCU to drive the USB cable, whereas OUT traffic
requires that the host drive the USB cable.
The data that is sent across the USB cable is NRZI
encoded. In the NRZI encoding scheme, ‘0’ bits cause
a toggling of the output state of the transceiver (either
from a “J” state to a “K” state or vise versa). With the
exception of the effects of bit stuffing, NRZI encoded ‘1’
bits do not cause the output state of the transceiver to
change. Therefore, IN traffic consisting of data bits of
value, ‘0’, cause the most current consumption, as the
transceiver must charge/discharge the USB cable in
order to change states.
More details about NRZI encoding and bit stuffing can
be found in the “USB 2.0 Specification”, Section 7.1,
although knowledge of such details is not required to
make USB applications using the PIC18F97J94 family
of microcontrollers. Among other things, the SIE handles
bit stuffing/unstuffing, NRZI encoding/decoding and
CRC generation/checking in hardware.
The total transceiver current consumption will be
application-specific. However, to help estimate how
much current actually may be required in full-speed
applications, Equation 27-1 can be used.
See Equation 27-2 to know how this equation can be
used for a theoretical application.
EQUATION 27-1: ESTIMATING USB TRANSCEIVER CURRENT CONSUMPTION
I
XCVR
=
+ I
PULLUP
(4
0 mA • V
USB
3
V
3
• P
ZERO
• P
IN
• L
CABLE
)
(3.3V • 5
m)
Legend: VUSB3V3 – Voltage applied to the VUSB3V3 pin in volts (should be 3.0V to 3.6V).
P
ZERO – Percentage (in decimal) of the IN traffic bits sent by the PIC
®
MCU 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.