which AVR to use?

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
Drools
Posts: 15
Joined: Thu Dec 11, 2008 11:17 pm

which AVR to use?

Post by Drools » Fri Feb 13, 2009 5:03 pm

I was wondering what the smallest core size and minimal I/O lines that I can use to run the AVR-USB software. I'm not sure if I'm asking it correctly but I'm looking for the smallest chip Atmel makes that will run the AVR-USB software. I didn't notice a link to tested and verified chips, could someone post it here?

Thanks everyone.

Tilex
Posts: 8
Joined: Mon Jan 05, 2009 4:47 am
Contact:

Post by Tilex » Fri Feb 13, 2009 6:16 pm

You may use the Attiny45 as shown in the Project "EasyLogger" http://www.obdev.at/products/avrusb/easylogger.html

That AVR is DIL-8 : Vcc, GND and 6 I/O Pins.
If you use the internal RC-Oscillator and put two pins on the USB-Port, you
still have 4 I/O-Pins for general purpose left.

The flash size is 4k.

Unfortunately I can't tell you for sure, how big the smallest core is.
But if I remember correctly my version of the project "PowerSwitch"*
needs atm 1792 Bytes of flash size. I think you can barely stay under that size so it seems that you need at least an AVR with 2k flash or more -- but better ask the pros here. I don't know everything so far ;)

(*http://www.obdev.at/products/avrusb/powerswitch.html)

Tilex,
bye

Drools
Posts: 15
Joined: Thu Dec 11, 2008 11:17 pm

Post by Drools » Fri Feb 13, 2009 6:25 pm

Fantastic thank you very much. I'm looking at having 2 VARs one for just doing the USB stuff and one for everything else. I will need more than 6 I/O lines, 10 would be the minimum with no room for scaling.

Tilex
Posts: 8
Joined: Mon Jan 05, 2009 4:47 am
Contact:

Post by Tilex » Fri Feb 13, 2009 6:34 pm

I'm currently using an atmega8.
It usually has 23 I/O Pins.
I'm using an external 16 Mhz Quartz.
Three Pins are reserverd for USB: one for triggering the interrupt
(I think the attiny45 may need this third pin, too, so it has only 3 pins left)
the other two pins are DATA+ and DATA-
In my case that's PB0 and PB1.

Resulting in 17 free I/O-Pins.
(not 18, because PC6 is used for reset and not as I/O-Pins).

Bye,
Tilex

Drools
Posts: 15
Joined: Thu Dec 11, 2008 11:17 pm

Post by Drools » Fri Feb 13, 2009 7:36 pm

I'm very familiar with the m8. My project currently uses the m168 which is the next gen after the m8. I love the m8 and intend to do all my project programming on it however it is over 5 dollars at Digikey so I'm looking for a part that would just handle the USB stuff and be less expensive than the m168. I'm thinking I can monitor the 10 pins on the m168 with the smaller less expensive part and leave the m168 for the critical timing app I need.

Thanks
Brent

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

Post by Grendel » Fri Feb 13, 2009 8:54 pm

Take a look at the Tiny461.

Drools
Posts: 15
Joined: Thu Dec 11, 2008 11:17 pm

Post by Drools » Fri Feb 13, 2009 10:50 pm

Thank you very much the Tiny461 looks like a contender. Has anyone used one VAR to monitor the port(s) on another?

Habicht

Post by Habicht » Sun Feb 15, 2009 8:08 pm

connecting two avrs is not that hard, you have several options:
uart (connect tx-rx and rx-tx), SPI, or some self defined protocol using some port pins. so the minimum to connect two avr is one line i would say.

for avrusb you need at least two lines not three. You can use the int0 line as data line as well. You just have to define it in usbdrv.h, so there is no need to use three lines. If you want to use only two lines the second has to be on the same port as int0 pin (obvious if you take a look at usbdrv.h)

yours,
Habicht

Post Reply