avr-chat
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [avr-chat] will an avr be fast enough...


From: Robert Dunn
Subject: RE: [avr-chat] will an avr be fast enough...
Date: Fri, 3 Jun 2005 13:18:40 +1200

Whilst Im by no means an expert, 

720KB/s is 5.76Mbit/s which is a lot of data for a little
microcontroller to handle assuming a 20MHz clock. 20MIPS that's under 4
instructions per bit, or 27 instructions between bytes recieved, which
isnt a lot of time to do much. 

Assuming a minimum of the 10bits x 16 channels x 20kHz that's still
3.2Mbit/s (400kB/s) which is alot of data to handle at 20MIPS, around 50
instructions between bytes received. 

Given that not all instructions are 1 cycle, Id say you would be hard
pressed to handle that with one AVR, but there are plenty of other
people on this list who probably have a much better idea than I do.

Robert Dunn
 
Electrical Engineer
 
Computer Engineering Ltd
Room 1, Ground Floor
Ports of Auckland Building
Sunderland Street
Auckland
New Zealand
 
Mobile: +64 21 701317
Office: +64 9 3794836


-----Original Message-----
From: Curtis Maloney [mailto:address@hidden 
Sent: Friday, 3 June 2005 12:30
To: Reza Naima
Cc: address@hidden
Subject: Re: [avr-chat] will an avr be fast enough...


Reza Naima wrote:
> So, I'm working on a project where I'll be taking data from an MAX1031

> 16-channel 10-bit SPI based A2D and need to stream the data out via an

> infrared link.  The max SPI clock of the MAX1031 is 10mhz, and I need 
> a sampling rate of around 20khz/channel.  Will any of the AVRs (I know

> there's a new small 20mhz one out) be fast enough to read the data, 
> and a checksum byte, and somehow modulate an IR LED?  The reciever 
> will be in close proximity, but going through a layer of opaque 
> material.  It can be configured that minimal outside light reaches the
receiver.
> 

FYI - There's also a few Mega series AVRs at 20MHz now.
(I wonder what happened to the 24MHz parts that showed up briefly on the
Atmel 
web site :)

Assuming it takes you 3bytes to issue a "read all channels" request,
plus 2bytes 
per channel, your bandwidth on the SPI is looking like:

20kHz * ( 16channels * 2B reply + 3B request + 1B chk ) = 720KB/s

So, nothing too scary there, so long as you don't need to do masses of 
processing on the data.

Depending on the modulation scheme you want for your IR, the timers can 
alleviate a lot of CPU load.  If you're wanting to use IRDA, there are
cheap 
external chips that can do the modulation for you, straight from your
UART, from 
people like Microchip, Zilog, and Vishay.

If you haven't decided on your IR scheme, yet, you might want to look at
a 
remote control demodulator on the receiver (like a Sharp IS1U60) which
gives a 
TTL output for the presence/absence of a 38kHz IR signal.  Then you can
OOK 
modulate your UART output with a timer pin set to 38kHz.. I don't
remember the 
chip number, but there are some 8ping chips with and gates with driver 
transistors... ideal for this use.

Of course, my calculations have been wrong before on this list.. :P

--
Curtis Maloney


_______________________________________________
AVR-chat mailing list
address@hidden http://lists.nongnu.org/mailman/listinfo/avr-chat




reply via email to

[Prev in Thread] Current Thread [Next in Thread]