I bought some FT230X (FT230XS) USB-USART bridge chip recently for a new design. FT230X is not only cheaper than the traditional FT232RL, but also offers a new fancy “USB charger detection” function. This interests me because I’m quickly running out of desk space and power socket. I wish the new device to be solely powered by USB and/or battery.
Designing a proper USB powered device is no simple task, this is because:
- If the device needs more the 100mA current, it is only allowed to draw that amount after requesting from host during USB enumeration. Some USB hosts, for example the down stream port on a bus-powered USB hub, is only able to provide maximum 100mA. So the device must be intelligent enough to differentiate the host types.
- USB sleep mode current limitation must be considered as well.
- I also wish the device to operate autonomously without a PC. That means it must accept power from “dummy” USB hosts such as a USB charger.
Clearly point (3) conflicts with points (1) and (2) because USB charger cannot be enumerated and does not have sleep mode. And this is why I’m interested in FT230XS’s “USB charger detection” function.
A thorough test is still needed. According to the datasheet, FT230XS supports detection of battery charger which conforms to the USB BC1.2 specification. AFAIK many USB chargers, notably those made by Apple, are not BC1.2 compatible. Whether FT230XS can detect those chargers is not specified in the datasheet.
A quick background about USB power supply and USB charging: the original USB specification limits the USB downstream current to 500mA (after enumeration). However 500mA is too low to charge battery powered devices such as a smartphone. BC1.2 was then specified, which introduced “Charging Downstream Port (CDP)” and “Decicated Charging Port (DCP)”. A DCP internally shorts “D+” and “D-” together. When DCP is detected, the device may draw as much as 1.8A from the port. Identification for CDP is much complicated and outside the scope of my interest (because I have no CDP compliant host), more readings can be found here.
For more detail: FT230X charger detection investigation
This Post / Project can also be found using search terms:
- ft230x arduino