FPGARelated.com
Forums

CMOS camera w/ USB2 -- crazy?

Started by GB September 7, 2003
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