How to know I’m not drawing too much current for the 3.3V supply

cortex-m3currentesdusbvoltage-regulator

Continuing my learning expedition, I've decided to use the LM3S5R36-IQR80-C3 ARM Cortex-M3 MPU, to try and learn to build my own little experiment PCB, almost like the Teensy 3.0. The idea is to learn the entire process of designing the PCB from scratch.

I've come up with the following circuit so far, working on ESD protection for the USB port, as well as the 3.3V supply for the Vdd pins on the ARM chip.

I'm a hobbyist, so I have no electronics degree or background, so I'm using the datasheets for the ESD array I selected, as well as the voltage regulator, to hopefully get a steady 3.3V voltage supply from the 5V USB Vbus.

Here's my circuit so far (if it's broken, it's coz I had no help, except Google) :

My ARM circuit board

I'm not sure if I can ask here whether the circuit looks right or not, I am looking for some constructive criticism, however. So feel free to comment, or refer me to a site where I can have my circuit scrutinized by the community.

More, importantly, let me state my actual question…

My next step is to start connecting the 3.3V supply from the regulator, to the ARM chip's Vdd and Vddc pins to the 3.3V supply. The thing I want to know is, how I can be sure I am not pulling too much current through the regulator or the USB 5V Vbus. The last thing I want is to sit with a bunch of scorched spares and a broken USB port on my Mac.

There are 4 Vdd and 4Vddc pins, so I understand I can get the 3.3V to each pin, by simply connecting them to the supply in parallel. This however, depending on the resistance the chip causes between the 3.3V and GND, makes it tricky, and I'm not sure how to go about making sure I don't draw too much current.

I guess it comes down to how much current the ARM chip sinks, but I'm not sure how to effectively work this out.

I hope my question makes, sense, feel free to edit to clarify it.

Best Answer

Technically For USB, you should typically draw no more than 100mA, unless you're enumerating the device and specifically asking to draw higher current. According to the spec, you can enumerate yourself and request up to 500mA in USB 2.0 spec. However, these limitations are rarely enforced physically, meaning that usually you will be able to draw until some circuitry in the PC limits you. So, in general, less than 500mA is safe.

The voltage regulator you chose is an older regulator that has very little short circuit protection, reverse voltage protection, overheating protection, etc. I suggest you select a more modern part that can do what you need and includes all of these things. Note that the microcontroller will likely need direct connection to the USB VCC. Selecting the 3.3V regulator, you need to take into account primarily output current and dissipation (Aside from the obvious fixed voltage output and a Vin that includes 5V), although for 500mA it's not that big of a concern.

Your circuit needs a fuse as well. Select a fast acting fuse. Also, I didn't see the typical ferrite bead and decoupling capacitors that are usually added. Your microcontroller likely needs direct connection to 5V bus to be able to operate with USB, so check the reference circuit for the part you're using.

Finally, if you're that worried about your Mac at first, power the board using some AC to 5V converter like the ones used for charging phones. Measure the current and make sure that the it's ok. Also, always measure whether there's a short circuit between the USB Bus VCC and GND before connecting it to anything.

The ARM processor you're using will be much less than the limit. Look at its datasheet on page 1013, it tells you that at 80MHz fully running it is 90mA. Add the extra stuff and GPIOs to it and USB is plenty.