Using 5V AVR's with AVR-USB

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
MSchultz
Posts: 2
Joined: Fri Dec 15, 2006 7:55 am
Location: Oxnard, CA USA

Using 5V AVR's with AVR-USB

Post by MSchultz » Fri Dec 15, 2006 8:14 am

Generally speaking, is it possible to use a 5V-only rated AVR (e.g. non-L suffix device, such as ATmega8/16) in a AVR-USB design? Most of the reference designs I've looked at use a 3.5V regulator to step down the 5V USB bus voltage to provide the AVR's Vcc supply. I understand why this is the case; the USB D+/D- lines use 3(.5)V signal levels.

The ATmega16 data sheet (as well as most other 5V-only AVR's) indicates that this device is rated for a 16 MHz clock at 4.5-5.5V. It does not specify operation at lower voltages. The -L suffix variant is rated for operation down to 2.7V with a 8 MHz maximum clock. Is it the experience of those using AVR-USB that these 5V-rated devices can run at 12 MHz using a 3.5V Vcc supply ? I am assuming of course that the device will be running at an ambient temperature around 25C, and will not be subjected to temperature extremes during operation.

On a related subject, I have noted that some of the AVR-USB designs I've seen use a 2-series-diode "regulator" in series with the USB 5V bus supply, which under most 'normal' conditions would result in a 1.2-1.4V drop, for a Vcc around 3.6-3.8V. Does this design shortcut work acceptably under most conditions?

Grendel
Rank 4
Rank 4
Posts: 167
Joined: Sat Dec 16, 2006 9:53 pm
Location: Oregon, USA
Contact:

Post by Grendel » Sat Dec 16, 2006 10:00 pm

I'm using a mega8 @ 5v in my project. I put 3V3 zeners on D-/D+, changed the series Rs to 82 and the ID R to 2k2 (w/ a 4k7 to GND). Works fine 8)

christian
Objective Development
Objective Development
Posts: 1443
Joined: Thu Nov 09, 2006 11:46 am

Post by christian » Mon Dec 18, 2006 11:39 am

There is no maximum clock vs. supply voltage specification directly available from Atmel.

However, if you look at the diagrams in the electrical specification of the ATMega8, especially "Active Supply Current vs. Frequency", parametrized by supply voltage (Figure 119), you see that the supply current has at least been measured at 14 MHz and 3.3V.

For "mass production", I would recommend that you use the ATMega88 which is rated for 2.7 to 5.5V. Figure 26-3 in the Mega88 datasheet indicates the safe operating area in terms of frequency over Vcc. As you can see, the limit can be linearly interpolated.

If the interpolation specified for the Mega88 is also valid for the Mega8, you should be on the safe side.

Otherwise simply try it. AVRs have been successfully overclocked to about twice the specified clock rate. If it still works at 2.7V and 16MHz, I would assume that it works reliably at 3.3V and 12MHz.

MSchultz
Posts: 2
Joined: Fri Dec 15, 2006 7:55 am
Location: Oxnard, CA USA

Thanks for the responses

Post by MSchultz » Mon Jan 01, 2007 5:53 am

Thanks to Grendel and Christian for your responses. I'm using a ATmega168 running at 5.0V @ 12 MHz and its working just fine. I have 68 ohm series resistors on the D+/D- lines and a 1.5K pullup on D-. I like Grendel's idea to use 3.3V zeners; I will incorporate them into my design.

Guest

Post by Guest » Tue Jan 02, 2007 5:59 pm

I would recommend 3.6 V zener diodes. Simply connect the diode with 68 Ohms directly to 5 V and measure the voltate. 3.6 V types are much closer to the desired 3.3 V than 3.3 V types. That's because the nominal voltage is defined for a different current.

Faralla

Post by Faralla » Fri Feb 02, 2007 4:55 pm

Since it seems to be difficult here to get my hands on a LE35CZ I think I´ll try the method above. I don´t have too much experience in circuit design so I try to sum the previous posts up reflecting the reference design on AVR-USB Main page:
Would this be the correct replacement assuming I use a bus powered device?
Image
Maybe R2 and R3 could be changed to 82R as mentioned by Grendel, but I don´t understand his reference to an "ID R" .
Would be great if somebody could help me.

Thanks

Faralla

Obviously wrong

Post by Faralla » Fri Feb 02, 2007 6:07 pm

Sorry, I should have read a little on Zeners prior to posting the previous question. It is obviously wrong :oops:
I cannot edit it since I am only logged in as a guest.
So here is my new circuit design: Image
Questions stay the same :)

Thanks

christian
Objective Development
Objective Development
Posts: 1443
Joined: Thu Nov 09, 2006 11:46 am

Post by christian » Fri Feb 02, 2007 7:27 pm

No, that circuit is not correct. Not only the voltage for the pull-up resistor needs to be limited, it's also the signal voltage.

Please download the Automator or AVR-Doper project and look at the circuit diagram. Both project use the Zener Diode approach.

guest

atmega8

Post by guest » Fri Mar 02, 2007 9:49 am

i would like to know a very basic question.. i need the i/o port sink current atmega8 takes to build a power supply accordingly.. there is a graph in the data sheet.. so assuming i take reading at 25 degree C.. at what output voltage should i consider it.. would be considering Vcc=5V

Post Reply