CMOS camera w/ USB2 -- crazy?

We have a CMOS (1.3 mpixel) camera based on TI TMS320DM642 DSP (4000 MIPS)
with USB 2.0 connectivity. Changing it to your sensor should be
straightforward, since the sensor is on its own board.

Contact me at rich@XXapollo-image.com; take out the "XX" and I will give you
the password to our web site.

"GB" <donotspam_grantbt@jps.net> wrote in message
news:fNH6b.2542$PE6.510@newsread3.news.pas.earthlink.net...
Hi,

I'm a firmware guy pulled into a project well out of my area of
expertise. My boss wants to build (essentially) a digital camera
using an image sensor chip (1600x1200) and output it's data
"as fast as possible" using USB2.0. His initial concept, being
that I'm a firmware guy, was to use a "really fast micro."
Normally the company is involved with small 8-bitter micro
projects, so you can see I'm well out of my normal bounds.

Now this seems like a pretty big stretch to me... and I don't see
how it can be done without the speed of hardware (the image
chips all seem to have clock speeds in the tens of MHz and the
USB2 transfer rate is 480Mbps (theor.). Do aspects of this
project require an FPGA to keep the data "as fast as possible?"
If we use and FPGA for camera-to-RAM and then use a
micro for the USB2 part, what kind of fast micros can
move data at that rate?

Also, this is something that I am sure we will have to contract
out, so if you have any past experience with this, please let
me know your thoughts (and if you are available).

Thanks!
 
Should be good - burst rate is listed at 480, but fast wide SCSI had
burst rates like this - what is the sustained transfer rate - still not
really documented.

http://www.cypress.com/cfuploads/img/products/CY7C68013.pdf is a good
chip for doing this, I think.

Tell me how it turns out

Andrew

Neil Franklin wrote:

Andrew Paule <lsboogy@qwest.net> writes:



USB (even at 12Mbs is too slow
for this stuff ( a 1Mpixel at 8 bit will require 2/3 sec + overhead to
empty one frame) - tell you boss it sounds cool, but you need 1394
(firewire) or SCSI to do this worth a DS.



According to the Subject: line he is intending to use USB2.

That is 480MBit/s, according to http://www.usb.org/faq/ans2#q1 .

Should be fast enough.


--
Neil Franklin, neil@franklin.ch.remove http://neil.franklin.ch/
Hacker, Unix Guru, El Eng HTL/BSc, Programmer, Archer, Blacksmith
- hardware runs the world, software controls the hardware
code generates the software, have you coded today?
 
Andrew

No problem.

james



On Thu, 11 Sep 2003 11:51:09 -0500, Andrew Paule <lsboogy@qwest.net>
wrote:

Sorry - no offense meant.

Andrew

james wrote:

This is not my project. It's GB's project.

Still you can not build hardware around an unknown sensor. You have to
pick an imager and then build the hardware/firmware around it.

james


On Wed, 10 Sep 2003 20:57:32 -0500, Andrew Paule <lsboogy@qwest.net
wrote:



Use the micro to set up the packets in an FGPA/ASIC under isocronous
control, and stream them out from there, if you can deal with the low
data/frame rates - I used to build large format (4 x 5 and hasseblad)
camera digital inserts using big CCD's - USB (even at 12Mbs is too slow
for this stuff ( a 1Mpixel at 8 bit will require 2/3 sec + overhead to
empty one frame) - tell you boss it sounds cool, but you need 1394
(firewire) or SCSI to do this worth a DS. If you simply want to capture
one frame and empty it - consider dumping it to RAM and then out from
there. Leaving stuff on a sensor - CCD or CMOS (yes CCD's are CMOS,
both n and p type are built) results in large dark currents that make
them unusable. At 2/3 second, well depth will be a large consideration
here - electrons like to move around.

Andrew

james wrote:



On Sun, 07 Sep 2003 15:03:39 GMT, "GB" <donotspam_grantbt@jps.net
wrote:





Hi,

I'm a firmware guy pulled into a project well out of my area of
expertise. My boss wants to build (essentially) a digital camera
using an image sensor chip (1600x1200) and output it's data
"as fast as possible" using USB2.0. His initial concept, being
that I'm a firmware guy, was to use a "really fast micro."
Normally the company is involved with small 8-bitter micro
projects, so you can see I'm well out of my normal bounds.

Now this seems like a pretty big stretch to me... and I don't see
how it can be done without the speed of hardware (the image
chips all seem to have clock speeds in the tens of MHz and the
USB2 transfer rate is 480Mbps (theor.). Do aspects of this
project require an FPGA to keep the data "as fast as possible?"
If we use and FPGA for camera-to-RAM and then use a
micro for the USB2 part, what kind of fast micros can
move data at that rate?

Also, this is something that I am sure we will have to contract
out, so if you have any past experience with this, please let
me know your thoughts (and if you are available).

Thanks!





^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1600x 1200 is essentially a 2 megapixel camera!

1) First step is to determine what the camera is going to be used for!

Terrestial or astronomical or video photography

2) Pick an imager! Either Sony, TI, Kodak, or Panasonic to name a few.

3) From the Imager specs you can derive how fast the data can be
clocked out of the imager. Most imagers will transfer the image area
into a serial register one line at a time. How fast this is depends on
how fast you can clock the serial register. Transfer speeds differ


from vendor to vendor.


4) Then build the circuitry around the imager based on its ability to
transfer the full image as fast as you want and that meet your cost
goals.

Again depending on what you determine as reasonably fast will effect
the cost of the imager along with its size. Another consideration will
be the speed of the ADC. That can slow things down also. Even if you
can clock the serial register of the imager out at 20Mhz rate, if the
ADC sasmple rate is 10 MHz that is as fast as you can get the pixel
data out.

IF your imager's max clock frequency for the serial register is 20
MHz., you can clock a 1600 pixel row out in about 80 uS. Or the whole
image area out of the chip in about 100 mS. So your microC or FPGA
will have to read the ADC once every 50 nS or so during the readout
period.

There are some CPU cores as well as USB cores that can drop into an
FPGA. You can build a large FIFO or add onboard flash to store the
picture.

It is not crazy at all in fact it is quite doable. The two key items
in a digital camera is the imager and the ADC. All the rest is digital
hardware that is well suited for an ASIC or FPGA.


james
 
"GB" <donotspam_grantbt@jps.net> schrieb im Newsbeitrag
news:fNH6b.2542$PE6.510@newsread3.news.pas.earthlink.net...
Hi,

I'm a firmware guy pulled into a project well out of my area of
expertise. My boss wants to build (essentially) a digital camera
using an image sensor chip (1600x1200) and output it's data
"as fast as possible" using USB2.0.
{some text removed}

Also, this is something that I am sure we will have to contract
out, so if you have any past experience with this, please let
me know your thoughts (and if you are available).

Thanks!
You might consider using a FPGA-board (Xilinx Spartan-II) with integrated
USB-2 interface (Cypress).
You can find a list of boards on
http://www.optimagic.com/boards.html

The USB-2 FPGA board I made (USB2FPGA), comes with schematics.
You can use it to build your own hardware if you like. If you dont want to
buy it, you can load the schematics from
http://www.cesys.com/english/Ebene2/download.htm

Here you find information about the board itsself:
http://www.cesys.com/english/Ebene3/USB2FPGA.htm

-> If you need help connecting your CCD to the board please contact me.

-Manfred, CESYS GmbH
mkraus-at-cesys-dot-com
 

Welcome to EDABoard.com

Sponsor

Back
Top