Choices for low cost CCD interface - AVR, ARM, FPGA, ...

Go To Last Post
6 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

This might not be the best place to post this, but you're insights have always been so helpfull here it is worth a try ;-)

I want to start a research project requiring a low cost CCD reading interface.
So far I don't know what control technology to choose from.

I have quite some experience with AVRS, but they seems too slow for this, regarding CCD reading speed and interface to computer...
No experience with ARMs to tell if they are fast enough for this...
FPGAs make good candidates, but require some HDL knowledge I miss... So I will probably have to find a freelance to help me.

I believe project requirements are not that huge :

-Linear RGB CCD clock generation and 3xADC reading
-Control of reading speed / exposure time.
-At least 3000x3 pixels sensor with 16 bits precision data, no processing required - only raw data.
-Position sense and recorded evey N line of data. (probably using an encoding wheel)
-Interface to PC, could be any... PCI, USB, Ethernet
(could even be direct write to external HD)
-Speed shouldn't be too slow, but it's more cost driven than speed driven.

I think the 16 bits analog interface can be challenging, but I have time to experiment on this.

So far I could make a proof of concept using an AVR, but it severly limits the speed at which I can read the sensor, not even talking about the interface.

ARMs might be a good solution, but I have never programmed one and have no clue about the differences in performance between the numerous devices available on the market.

FPGA seems the perfect choice despite the fact I must learn a HDL, but I have no clue how cost effective it can be.

If you have random thoughts on this, I would be pleased to read them ;-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How fast is the data coming in? For proof of concept, something like the xmos cpu should have more than enough grunt to take care of things. See www.xmos.com

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I thought of suggesting XMOS, as well. They can replace FPGAs in many applications, and are programmed in XC or C.

Leon Heller G1HSM

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I believe I can live with USB 2 bulk transfer speed that is about 20MBytes/sec.

Wow, that's an amazing chip... I vaguely remember reading something about it quite some time ago...

Definitely something I wouldn't have considered myself...
Can the chip do USB bulk mode ?
I also see ethernet but limited to 100Mbits...
I can probably live with that if it can sustain constant throughtput.
Do you have any ideas on how many cores I would need ?

Thanks for your feeback.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It does high-speed USB (480 Mbit/s) in software. I don't think that anyone has written the software for full-speed USB, though.

100 Mbit/s Ethernet is the fastest speed most PCs will handle.

It's impossible to say how many cores would be needed, but additional chips can be added if more computing power is required. An application can be prototyped on a four-core device, and ported to a smaller chip when it is working.

Leon Heller G1HSM

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Be sure not to get mesmerised by specs! Do you really expect to be able to sustain 1Gbit/s on gigabit ethernet? By the time you packet the data in tcp/ip, then the speed of your cpu comes into question, then there's also the real world aspects of networking that will slow things down even further. Similarly with USB, there's overheads that will degrade to expected data rate you'll actually be able to achieve.

Another suggestion might be something like the Panda/Eagleboard. It has a big slab of ram, DSP, Linux, ethernet, USB etc.