general AVR-USB timing questions

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
iphi
Rank 2
Rank 2
Posts: 68
Joined: Mon Jun 25, 2007 11:37 am

general AVR-USB timing questions

Post by iphi » Sun Sep 28, 2008 2:01 pm

Hi,

I have a few questions concerning the ObDev AVR-USB solution regarding computing capability:

1. How much AVR computing capacity is required if the device is in idle mode, i.e. no data transfered, just keeping the USB connection to the host alive?
I suppose, the AVR gets USB work with every frame, i.e. once every millisecond, correct? How many clocks will the AVR be busy then?

2. Is there a chance to obtain a firmware for 18 MHz crystal clock, just to get as much AVR computing power as possible?

Regards, Tom

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

Post by christian » Thu Oct 09, 2008 4:38 pm

If the interrupt is wired to D+, there is only activity when data is actually requested or transferred. If you connect it to D-, you get a couple of cycles every 1 ms frame.

Other than that, note that interrupt endpoints are polled and that you have to call usbPoll() in regular intervals.

Bulk endpoints (which are forbidden for low speed devices anyway) are polled aggressively so that more than 90% of the AVR's CPU time is spent in the interrupt.

Post Reply