EmbeddedRelated.com
Forums

CMOS camera to USB

Started by cerbero85 November 1, 2010
In article <wsCdnQNlQoTe3bbQnZ2dnUVZ_h2dnZ2d@giganews.com>, cerbero85
@n_o_s_p_a_m.gmail.com says...
> > Hi, all. > > I changed the project for the university and now I have some time to > continued this (for my personal interest). > > The specifications of the camera are summarized below: > > - 400x400 pixel > - 30FPS > - output 10/8bit (I decide to use only 8bit) > - the output format is RAW (the software make the color interpolation) > > So the one frame have a 400x400x1byte = 160KByte (RAW Image) > > At 30fps that is 4.8MByte per second = 38.4Mbps
For a monochrome image yes.
> My goal is find a chip that send the camera's frame to the pc over
USB2.0 If nothing else look at USB slave device micros or even FTDI FT42232H or whatever their latest offering is as this has a FIFO interface and claims to be able to acheive full 480Mbps data rates.
> . > For this I understand (thanks Paul and linnix) that is not possible send > directely the frame to USB for the time latency. > > So I need a buffer (FIFO or DRAM). > > > I have read some tutorial of usb protocol, but I don't understand very > well. > > If I use the USB in Full Speed (12Mbps) isochronous mode, a device can send > a maximum of 1023 Bytes during a "frame" (each "frame" is 1ms).
Look at USB 2 and High Speed (480 Mbps), in whic the frame time is somewhat quicker.
> > The camera produce data to 160 KByte, so the job of the buffer is store the > data and then sent it to the usb in packets of 1023 Byte each 1ms, is > right??
Yes that is teh job of the FIFO. But you will get behind and not acheive 30fps at 12Mbps USB.
> > In your opinion why some projects (for example CMUcam and AVRcam) use the > RS232 connector for connect the camera to a pc and not usb?
USB was not around for the original CMUcam most of these cameras cannot achieve 30fps. -- Paul Carpenter | paul@pcserviceselectronics.co.uk <http://www.pcserviceselectronics.co.uk/> PC Services <http://www.pcserviceselectronics.co.uk/fonts/> Timing Diagram Font <http://www.gnuh8.org.uk/> GNU H8 - compiler & Renesas H8/H8S/H8 Tiny <http://www.badweb.org.uk/> For those web sites you hate
Paul skrev:
> In article <wsCdnQNlQoTe3bbQnZ2dnUVZ_h2dnZ2d@giganews.com>, cerbero85 > @n_o_s_p_a_m.gmail.com says... >> Hi, all. >> >> I changed the project for the university and now I have some time to >> continued this (for my personal interest). >> >> The specifications of the camera are summarized below: >> >> - 400x400 pixel >> - 30FPS >> - output 10/8bit (I decide to use only 8bit) >> - the output format is RAW (the software make the color interpolation) >> >> So the one frame have a 400x400x1byte = 160KByte (RAW Image) >> >> At 30fps that is 4.8MByte per second = 38.4Mbps > > For a monochrome image yes. > >> My goal is find a chip that send the camera's frame to the pc over > USB2.0
You can do this with a modern ARM processor, like the AT91SAM9G45. It has both High Speed USB as well as a camera interface. You can get a SAM9G45 CPU module from www.ronetix.at.
> > If nothing else look at USB slave device micros or even FTDI FT42232H or > whatever their latest offering is as this has a FIFO interface and > claims to be able to acheive full 480Mbps data rates. > >> . >> For this I understand (thanks Paul and linnix) that is not possible send >> directely the frame to USB for the time latency. >> >> So I need a buffer (FIFO or DRAM). >> >> >> I have read some tutorial of usb protocol, but I don't understand very >> well. >> >> If I use the USB in Full Speed (12Mbps) isochronous mode, a device can send >> a maximum of 1023 Bytes during a "frame" (each "frame" is 1ms). > > Look at USB 2 and High Speed (480 Mbps), in whic the frame time is > somewhat quicker. > >> The camera produce data to 160 KByte, so the job of the buffer is store the >> data and then sent it to the usb in packets of 1023 Byte each 1ms, is >> right?? > > Yes that is teh job of the FIFO. But you will get behind and not acheive > 30fps at 12Mbps USB. >> In your opinion why some projects (for example CMUcam and AVRcam) use the >> RS232 connector for connect the camera to a pc and not usb? > > USB was not around for the original CMUcam most of these cameras cannot > achieve 30fps. > >
-- Best Regards Ulf Samuelsson These are my own personal opinions, which may or may not be shared by my employer Atmel Nordic AB
Paul skrev:
> In article <wsCdnQNlQoTe3bbQnZ2dnUVZ_h2dnZ2d@giganews.com>, cerbero85 > @n_o_s_p_a_m.gmail.com says... >> Hi, all. >> >> I changed the project for the university and now I have some time to >> continued this (for my personal interest). >> >> The specifications of the camera are summarized below: >> >> - 400x400 pixel >> - 30FPS >> - output 10/8bit (I decide to use only 8bit) >> - the output format is RAW (the software make the color interpolation) >> >> So the one frame have a 400x400x1byte = 160KByte (RAW Image) >> >> At 30fps that is 4.8MByte per second = 38.4Mbps > > For a monochrome image yes. > >> My goal is find a chip that send the camera's frame to the pc over > USB2.0
You can do this with a modern ARM processor, like the AT91SAM9G45. It has both High Speed USB as well as a camera interface. You can get a SAM9G45 CPU module from www.ronetix.at.
> > If nothing else look at USB slave device micros or even FTDI FT42232H or > whatever their latest offering is as this has a FIFO interface and > claims to be able to acheive full 480Mbps data rates. > >> . >> For this I understand (thanks Paul and linnix) that is not possible send >> directely the frame to USB for the time latency. >> >> So I need a buffer (FIFO or DRAM). >> >> >> I have read some tutorial of usb protocol, but I don't understand very >> well. >> >> If I use the USB in Full Speed (12Mbps) isochronous mode, a device can send >> a maximum of 1023 Bytes during a "frame" (each "frame" is 1ms). > > Look at USB 2 and High Speed (480 Mbps), in whic the frame time is > somewhat quicker. > >> The camera produce data to 160 KByte, so the job of the buffer is store the >> data and then sent it to the usb in packets of 1023 Byte each 1ms, is >> right?? > > Yes that is teh job of the FIFO. But you will get behind and not acheive > 30fps at 12Mbps USB. >> In your opinion why some projects (for example CMUcam and AVRcam) use the >> RS232 connector for connect the camera to a pc and not usb? > > USB was not around for the original CMUcam most of these cameras cannot > achieve 30fps. > >
-- Best Regards Ulf Samuelsson These are my own personal opinions, which may or may not be shared by my employer Atmel Nordic AB
On Jan 10, 12:13=A0pm, Ulf Samuelsson <u...@a-t-m-e-l.com> wrote:
> Paul skrev: > > > > > In article <wsCdnQNlQoTe3bbQnZ2dnUVZ_h2dn...@giganews.com>, cerbero85 > > @n_o_s_p_a_m.gmail.com says... > >> Hi, all. > > >> I changed the project for the university and now I have some time to > >> continued this (for my personal interest). > > >> The specifications of the camera are summarized below: > > >> - 400x400 pixel > >> - 30FPS > >> - output 10/8bit (I decide to use only 8bit) > >> - the output format is RAW (the software make the color interpolation) > > >> So the one frame have a 400x400x1byte =3D 160KByte (RAW Image) > > >> At 30fps that is 4.8MByte per second =3D 38.4Mbps > > > For a monochrome image yes. > > >> My goal is find a chip that send the camera's frame to the pc over > > USB2.0 > > You can do this with a modern ARM processor, like the AT91SAM9G45. > It has both High Speed USB as well as a camera interface. >
Yes, that will work. Just want to point out that this is a 400MHz processor in 324 balls BGA.
On Mon, 10 Jan 2011 11:22:11 -0600, cerbero85 wrote:

> Hi, all. > > I changed the project for the university and now I have some time to > continued this (for my personal interest). > > The specifications of the camera are summarized below: > > - 400x400 pixel > - 30FPS > - output 10/8bit (I decide to use only 8bit) - the output format is RAW > (the software make the color interpolation) > > So the one frame have a 400x400x1byte = 160KByte (RAW Image) > > At 30fps that is 4.8MByte per second = 38.4Mbps > > > My goal is find a chip that send the camera's frame to the pc over > USB2.0 . > For this I understand (thanks Paul and linnix) that is not possible send > directely the frame to USB for the time latency. > > So I need a buffer (FIFO or DRAM).
A small FPGA + SRAM (or SDRAM) + USB PHY would work, but not the easiest solution to implement without prior experience.
On Mon, 10 Jan 2011 12:55:53 -0800 (PST), linnix 
<me@linnix.info-for.us> wrote:
> On Jan 10, 12:13&#4294967295;pm, Ulf Samuelsson <u...@a-t-m-e-l.com> wrote: > > Paul skrev: > > > In article <wsCdnQNlQoTe3bbQnZ2dnUVZ_h2dn...@giganews.com>,
cerbero85
> > > @n_o_s_p_a_m.gmail.com says... > > >> Hi, all. > > > > >> I changed the project for the university and now I have some
time to
> > >> continued this (for my personal interest). > > > > >> The specifications of the camera are summarized below: > > > > >> - 400x400 pixel > > >> - 30FPS > > >> - output 10/8bit (I decide to use only 8bit) > > >> - the output format is RAW (the software make the color
interpolation)
> > > > >> So the one frame have a 400x400x1byte = 160KByte (RAW Image) > > > > >> At 30fps that is 4.8MByte per second = 38.4Mbps > > > > > For a monochrome image yes. > > > > >> My goal is find a chip that send the camera's frame to the pc
over
> > > USB2.0
> > You can do this with a modern ARM processor, like the AT91SAM9G45. > > It has both High Speed USB as well as a camera interface.
> Yes, that will work. Just want to point out that this is a 400MHz > processor in 324 balls BGA.
That is why I provided a link to a DIMM Module w flash and DRAM Ulf -- Best Regards, Ulf Samuelsson