8 years, 10 months ago.

Arduino/ATmega/ATTiny85 or 74HC595?

Looking for some thoughts, maybe some calculations on throughput of an option I'm looking at.

Essentially I want to transmit a stream of data - small frames - basically with a rather wide shift register. A frame would look like this, transmitted one bit after another: 4 bytes: Sync word 4 bytes: ID 1 byte: Battery 1 byte: Sequence# (1-255) 1 byte: CRC8-1 (sync+ID+battery+sequence) 1 byte: CRC8-2 (ID+Battery+sequence)

Giving a 12 byte frame, manchester coded.

Here is the datesheet of 74HC595 :http://www.componentschip.com/details/Texas-Instruments/74HC595D.html

This would just be piped out in such a way that you can fill a 12 byte buffer on a receiver, and when your first 4 bytes matches a particular value, you know you have a full frame in the buffer, and can process it. b0-32 might be something like AACC3355.

It's complicated by wanting to do CRC8 on the data as it comes through. If we were using shift registers, I suppose it would be easy enough to not only connect the highest bit (let's call it b95) to the antenna but also connect all the outputs to whatever is driving the CRC8 calculation.

On the other hand, writing code to do this rather than having to have a perfect circuit with either 12 74HC595s feeding in to each other, or some other similar component that supports a very wide shift register, might be much easier using AVR. My concern however is whether a device like an ATTiny85 would be able to keep up on the transmit side (on the receive side it's not a problem, I can offload processing.

By doing the RF this way, the main other issue I then need to just take care of is ensuring the transmitter is synchronized to the receiver - which I can do via an active field - the same field can be used to activate the tranmitter, turning it in to a transponder. At a later state if I can run up a prototype of this, I'll be looking to pay someone to come up with a quick, very small prototype direction antenna.

Anyhow, after thoughts on this. Are AVR micros likely to be fast enough to handle this?

Be the first to answer this question.