Forums

cmos image sensor to usb

Started by momaley79 September 28, 2007
Hello,
  I'm working on a personal project where I'd like to basically make my
own webcam from scratch.  I am looking for a camera in the VGA/15fps
range.  The most important factor in my design is form factor.  I'd like
to make it as "pencil-like" as possible.  For example, I basically want
something like this:
http://www.aurora-optical.com/modules/CM036U%20Preliminary%208-8-07.pdf
from Aurora Optical, but I want to be able to put the sensor on a flex
circuit and have the processor/USB chip behind the sensor.  Can anybody
out there help point me in the right direction?  I have a EE background,
but no experience with image sensors or USB.  I've looked at the OV511 USB
bridge, but in general, I haven't found much documentation on a complete
sensor-to-USB solution.  Would this be a relatively straightforward
design?  In other words, if I want my own "thin" form factor, what
components do I need to go from sensor-to-USB as easily as possible?  Are
there any good resources on "howto build a webcam?"  I've looked, but I
haven't found much.

Thanks in advance!
Mike


On Sep 28, 7:42 am, "momaley79" <momale...@yahoo.com> wrote:

this:http://www.aurora-optical.com/modules/CM036U%20Preliminary
%208-8-07.pdf
> from Aurora Optical, but I want to be able to put the sensor on a flex > circuit and have the processor/USB chip behind the sensor. Can anybody
Webcams are built as essentially two-chip solutions. Both chips are application-specific; one is the image sensor, and the other is an "image processor". ST for instance makes both classes of part. The image processor has hardware that acquires the image sensor data, processes it (basically, handles the fact that it's really a monochrome sensor with a Bayer or similar filter on top of it), then compresses to JPEG data one stripe at a time. It also has the USB magic in it. It is fairly challenging to connect a raw image sensor directly to a general-purpose microcontroller. High-speed interfacing, precision timing and a lot of memory are required, because if you're doing everything in software you have no time to acquire-convert-compress a stripe at a time; you have to grab the whole raw image, process it en bloc, and compress it en bloc.