SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
User avatar
By roach
#10840
Well, for this experiment, I'll be using my trusty ATmega128 at 16MHz. At roughly one instruction per clock cycle, I'll probably buffer the data, and process during idle time...
By Philba
#10847
Kuroi Kenjin wrote:Any PIC with the right clock speed can do up to 10Mb/sec (aka 10MHz). Handling all the data.. dunno, depends on how efficient the design and code is.
well, I'd like to see that code. You'll need to read the port, store the data, increment location, test end condition, loop back - that's 6 clocks right there and then there's the bank issue and getting the data to the PC. like I said, I'd like to see that code.
By Philba
#10849
NateW wrote:It might be easier than you think...

http://www.google.com/search?q=xbox+usb+controller
to read USB data with a uC? This is about about reading the stream of data coming out of the transceiver.

I've thought about it and I'm pretty sure that 1Mhz thing is the sampling frequency. I'd bet the actual data rate is much lower. This is a $30 device we're talking about, after all.
User avatar
By roach
#10853
Philba wrote:'ve thought about it and I'm pretty sure that 1Mhz thing is the sampling frequency. I'd bet the actual data rate is much lower. This is a $30 device we're talking about, after all.
I guess the only way to find out the actual data rate is to scope the receiver in action. As you said, if it's Manchester encoded, the signal can clock itself at a (probably) much lower rate. Even if the rate is a little high, I can buffer it. We're not talking about a real-time, mission-critical system here, after all. I just want to control a robot :)
By Kuroi Kenjin
#10854
Well... a 10Mbps SPI communications usually don't have continuous back to back transmissions more than a few bytes at a time. So as roach pointed out.. it shouldn't be to hard to buffer the data and process it later. I didn't say it would be easy, just possible assuming a fast enough system clock.

16MHz/MIPs might be enough to do just that. I'm assuming the controller chip is the master in this relationship?... this maybe where a really good optimizing compiler or inline assembly would help.
By samlittlewood
#10855
Having done some more searching, it looks like there is a really rather small number of rf parts used for these wireless controllers:

1) Signia SGN5210 modules several versions marked 6,7,8.2, all seem to be pin compatible - GND & VDD on pins 5 & 6.

2) Signia SGN5210 modules with different pinout, GND 1 & 11, VDD 2 - the one that started this discussion.

3) Nordic nRF2401 modules - Pretty much exactly as sold by Sparkfun, but with varying pinouts - grab the datasheet, trace the pins and you are good to go.

4) Unkown COB part on a module that looks very like the Signia modules, but has a different set of signals - recognizable by having the feed on the PIF antenna at an angle, a large printed inductor and bieng fed from a 13.842Mhz xtal. Mad Catz have electronics for both this and the Signia modules, and either can appear in the same packaging.

5) 'TITAN DDS' modules - unknow COB part

6) rfwave RFW102 modules - datasheets available.

...) Various other parts - Cypress Wireless USB, TI, Phillips, Chipcon

If you can find a controller off the shelf that is using the nordic or rfwave modules, then you are in really good shape - well documented and, having used the 2401, very easy. However, round here, all the available controllers use (1) or (4) from above, so I grabbed one for research. (20 quid - funny looks from the shop staff as I tried to peer thru' the translucent plastic)

(My interest in this is that I am have built some RF trancievers for my own projects - using chipcon 2500, and it would be useful to make comparisons)

TTFN

SamL
User avatar
By roach
#10857
While I'm hesitant to come right out and name the brand, I can tell you it rhymes with "Gip Hear" : )

Don't know if this narrows things down a bit...
By Philba
#10865
I don't care what the brand is but can't understand why you don't want to say the name. It's not like you are doing anything wrong.

Sam, you are an amazing guy - thanks for finding all that info. do you have a sense of the possible range of these guys. I assume that the microstrip antenna basically sucks and replacing it with a decent matched antenna in a reasonable orientation would make a big difference. Is it reasonable to assume that the range will be similar to the nordic chipsets?

And kirin, this is not about spi - it's a master clocked protocol so it doesn't matter what speed the master runs at. the transciever is the slave. the issue is the datastream rate on the other data pin.
By Kuroi Kenjin
#10874
I'm probably missing something, but if a micro can handle a 10 Mbps bit stream then a 1 Mbps bitstream should be no problem as long as the master (micro it seems in this case) can generate it from the clock frequency.

Anyways, it just sort of confused me to see:
bad news because you might have to deal with a 1 Mbit/S stream of data which is probably more than a micro could handle.
(BTW, dunno if it was intentional, but kirin is giraffe (hehe), assuming the same language Kuroi Kenjin is from... aka Japanese.)
User avatar
By roach
#10880
Kuroi Kenjin wrote:BTW, dunno if it was intentional, but kirin is giraffe (hehe)
I though kirin was a brand of beer?
By Philba
#10885
kirin is a beer and I'm an idiot. does it really mean giraffe in Nihongo?

sorry, don't know what I was thinking.

and I still doubt there's a PIC or AVR that could handle a raw 1 Mbit stream (i.e. bit banged). maybe with a little extra hardware like a fifo or shift reg or something. don't forget, this isn't just about capturing data, its about doing something with that data.
By SOI_Sentinel
#10888
Ok, you're thinking bit banged. I don't know the clock cycles on an Atmel, but I'd think you'd be able to capture and store a bit of data in 8 cycles.

Now, if I REALLY WANTED to catch this, I'd grab a MCU with dual SPI hardware (something similar has already been suggested). Configure both as slave, connect both clocks to the suspected clock line, connect each data line to a slave. There, you can catch both sides of the conversation at up to 10Mbps.

I know with PICs one trick I could use to do this is to use an interrupt and two IO pins. Lets say Port A , port B, and the external interrupt is PortC. Upon interrupt trigger (configurable low or high), shift data in the Port A and B latches one. After 7 shifts, transfer to RAM instead, restart cycle. I don't know AVR IO interfacing yet to know if this would work. Something I remember read tells me "no".
By Kuroi Kenjin
#10890
Ah ok... you're thinking bit banged or raw data handling. Then you're right, that would get really hairy. I wouldn't even dream of going that fast without at least a hardware SPI, and a 20+ MHz oscillator.

Oh yeah! That's right there is a brand of bear called Kirin.... I just had sushi the night before too... and I remember a hanging lobster blow-up with a bottle in its claw with that written on it. According to my dictionary, yup, its giraffe. Most people look at my pseudonym with a funny look. Those who know me really well, know I have a thing for Japanese culture... (FYI, Kuroi Kenjin is "Black Sage".. my first D&D 3rd ed. character I played)
By samlittlewood
#10896
Philba wrote: ... do you have a sense of the possible range of these guys. I assume that the microstrip antenna basically sucks and replacing it with a decent matched antenna in a reasonable orientation would make a big difference. Is it reasonable to assume that the range will be similar to the nordic chipsets?
I think you will see >10 metres as they stand - I don't know enough about antenna design to predict the results of any changes, but certainly from the datasheet numbers it _should_ be able to get the same sort of results as the 2401. The data rate will have to come down, but that is how the other parts get their headline sensitivity/rates.

TTFN

SamL