I want to improve my project to be more robust, because it needs to be available 24 hours a day. Initially, my design had one microcontroller and a USB (FT232R) interface. The FT232 is 5V powered and my microcontroller is 3.3V. I was using an external regulator to supply power to the microcontroller, but, to minimize possible issues that the approach of using two voltage sources can bring, I thought to use a bus powered solution.
I read on FT232's datasheet that the basic rules for USB bus powered devices are as follows:
- On plug-in to USB, the device should draw no more current than 100mA.
- In USB Suspend mode, the device should draw no more than 2.5mA.
- A bus powered high power USB device (one that draws more than 100mA) should use one of the CBUS pins configured as PWREN# and use it to keep the current below 100mA on plug-in and 2.5mA on USB suspend.
- A device that consumes more than 100mA cannot be plugged into a USB bus powered hub.
- No device can draw more than 500mA from the USB bus.
My concerns:
Trying to satisfy this rule, I analyzed the current consumption of the microcontroller: The microcontroller is a dsPIC33EP64MC202, and it has the following current's consumption according to its datasheet:
DC Characteristics: Operating Current(IDD) at +85°C 3.3V 70 MIPS:
Typical ........................................... 41 mA
Maximum ........................................... 60 mAAbsolute Maximum Ratings:
Maximum current into VDD pin ...................... 300 mAConsidering the operating conditions, it seems to be ok to use a bus powered approach, but, I'm afraid of the absolute maximum current that it can draw and what could happens if it draws this amount of current. So, my doubt here is, should I consider a high power USB device or not? Would be safe to consider a non-high power USB device?
I read what "Suspend mode" is, I understood that the host (the computer in this case) will decrease current when there is no activity on the bus for a time greater than a few milliseconds and, afterwards, it will decrease the current until shutdown the device. Well, if this is right, I have a problem here, my device will receive a requisition via USB and, after a time, a few milliseconds, it will answer the requisition. How can I handle with this? The device can not be shut down so early in the middle of an operation
I did not understand this rule. If my device is a high power USB device, I should use one of the CBUS pins configured as PWREN# and use it to keep the current below 100mA on plug-in and 2.5mA on USB suspend. But how I will do this if my microcontroller is BUS powered? I need to configure the FT232 before mounting it on the PCB?
(4 & 5). The rule (4) is sufficient to rule (5), so, why specification on rule (5) was necessary?