0
\$\begingroup\$

We have a portable device with USB B and FTDI FT232RNL and (8 bit MCU) powered by an adapter. Thanks to the EU, we have to implement USB C in it. Our current prototype design is with USB C(replacement for the adapter), FTDI FT232RNL for usb 2.0 D+ D- communication, UTC2000 to handle USB C, MCP73833 for battery charging. Power and data is from USB C. We have a finished prototype and the USB C power supply works (1A) as well as data transfer with PC.

But we are now solving backward compatibility to USB A to PC, so that users can connect our devices to PC and use the program even if they don't have USB C connector. There is a USB C to USB A cable that has a 56 kΩ resistor Rp in it from CC to Vbus. But can't it somehow damage the PC? Without the CC pin I can't get the current I want.

We then thought of another option and that is to keep USB B for data transfer for people who don't have USB C and instead of the power connector put USB C which would also handle data, this would then require some kind of multiplexer to transfer from two USB to one MCU. But this option takes more space and components.

\$\endgroup\$
8
  • \$\begingroup\$ "Without the CC pin I can't get the current I want" - but you say your device is powered by an adaptor. Why do you need USB power as well? \$\endgroup\$
    – Finbarr
    Dec 6, 2023 at 19:50
  • \$\begingroup\$ Sorry for wrong specification, in the new design the adapter is deleted and instead of it is usb c \$\endgroup\$
    – Mavoun12
    Dec 6, 2023 at 19:58
  • 1
    \$\begingroup\$ I can't determine what the scenario or the question is. The last comment says you want to transfer power through USB-A to PC, which makes no sense. \$\endgroup\$
    – Justme
    Dec 6, 2023 at 20:01
  • \$\begingroup\$ Sorry, I misspelled that last sentence. The idea is that people who don't have USB C in their PC can connect our devices to USB A and the PC will provide power and can pass data through it. \$\endgroup\$
    – Mavoun12
    Dec 6, 2023 at 20:20
  • \$\begingroup\$ @Mavoun12 Then the question is how much current your device needs, and how did it request it over USB-B connector before? Because that hasn't changed in any way if it previously used Type-A on the laptop/PC anyway. Should work identically. Why can't you get enough current now? \$\endgroup\$
    – Justme
    Dec 6, 2023 at 20:23

1 Answer 1

2
\$\begingroup\$

Your device can't start pulling 1A directly from Type-A, that's for sure.

The FTDI chip is a USB 2.0 Full-Speed device. And as with such devices, they are not allowed to draw more than 100mA before they have requested more from host during enumeration, and gotten a permit to draw more than 100mA. If they are connected to an USB hub that does not have external power, they can never get more than 100mA. The limitation is, you cannot request more than 500mA with USB 2.0 enumeration process.

If you had an USB 3 device, when it uses USB 3 bus, it is allowed to request and get up to 900mA. But when plugged to USB2 host, you can't request and get 900mA and have to limit to USB2 500mA if you are allowed to consume it.

With your device having a Type-C connector, the adapter cable from Type-A laptop to your Type-C device will use a 56k resistor on CC wire to signal that your device is using an Type-A adapter and you need to work with Type-A current limits.

Which means again, your device as a USB2 device is not allowed to draw more than 500mA after succesful enumeration.

So you need to build your device so that it can only consume 100mA unless the enumeration process completes with the amout you requested but maximum is still 500mA. The FTDI must be configured to request up to 500mA and you have a pin that tells if enumeration is successful so you can consume it.

If the FTDI has not enumerated, but your CC controller signals that it is now OK to draw the requested current (1.5A should be possible next step just by looking at the pull-up resistance), so then you can draw 1A.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.