English
Language : 

PIC16LF1454 Datasheet, PDF (322/418 Pages) Microchip Technology – 14/20-Pin Flash, 8-Bit USB Microcontrollers with XLP Technology
PIC16(L)F1454/5/9
EQUATION 26-1: ESTIMATING USB TRANSCEIVER CURRENT CONSUMPTION
IXCVR = (60 mA • VUSB3V3 • PZERO • PIN • LCABLE) + IPULLUP
(3.3V • 5m)
Legend:
VUSB3V3:
PZERO:
PIN:
LCABLE:
IPULLUP:
Voltage on the VUSB3V3 pin in volts.
For F devices, VUSB3V3 = 3.3V supplied from the internal regulator, VDD  3.6V.
For LF devices, VUSB3V3 is supplied by VDD 3.0  VDD 3.6.
Percentage of the IN traffic bits sent by the PIC® device that are a value of ‘0’.
Percentage of total bus bandwidth that is used for IN traffic.
Length (in meters) of the USB cable. The USB 2.0 specification requires that full-speed applications
use cables no longer than 5m.
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.
IPULLUP 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.
EXAMPLE 26-2: CALCULATING USB TRANSCEIVER CURRENT†
For this example, the following assumptions are made about the application:
• 3.3V will be applied to VUSB3V3 and VDD, 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, PZERO = 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
Pin = 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:
LCABLE = 5 meters
Assume IPULLUP = 2.2 mA. The actual value of IPULLUP 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 IPULLUP
current above the base 218 A, it is safest to allow for the worst-case of 2.2 mA.
Therefore:
IXCVR = (60 mA • 3.3V • 1 • 0.043 • 5m) + 2.2 mA = 4.8 mA
(3.3V • 5m)
The calculated value should be considered an approximation and additional guardband or application-specific prod-
uct testing is recommended. The transceiver current is “in addition to” the rest of the current consumed by the
microcontroller.
DS41639A-page 322
Preliminary
 2012 Microchip Technology Inc.