EmbeddedRelated.com
Forums

interfacing rabbit 4000 with camera through I2C interface.

Started by ikra...@gmail.com December 18, 2010
Hi,
I am Raj. I have been trying to find out how to interface my camera with rabbit 4000. MY camera support i2c. I know port D6 and D7 are needed to be used as SCL and SDA. Also, voltage and ground ports can be connected. I am tring to know which port should be used as data port. I think Port A is ideal but I will appreciate if some one has any suggestions. Also do I need to make any other connection except these connections.( My camera has Href, VSYNC, DRIVER_in etc.).
--- In r..., ikrajs@... wrote:
>
> Hi,
> I am Raj. I have been trying to find out how to interface my camera with rabbit 4000. MY camera support i2c. I know port D6 and D7 are needed to be used as SCL and SDA. Also, voltage and ground ports can be connected. I am tring to know which port should be used as data port. I think Port A is ideal but I will appreciate if some one has any suggestions. Also do I need to make any other connection except these connections.( My camera has Href, VSYNC, DRIVER_in etc.).
>
Hi Raj

I am doing something similar. This is not so simple a task as just connecting a camera up to a Rabbit as generally the Rabbit cannot keep up with the speed of the data. Maybe it's posible with assembly code but I don't think so. I am using a FIFO video buffer made by Averlogic, AL440B as an interface between the Rabbit and the camera. This allows you to capture a full frame of data from the camera at high speed and then slowly clock that frame of data into the Rabbit.
I can share a schematic if you're interested when I've done that part. What sort of camera are you thinking of using ?

Regards
Ian

Hi Raj

As I mentioned, I am using the FIFO from Averlogic to buffer a single frame. I too am only interested in a single frame, not a stream or video. I don't think it will be easy to get the data straight from the camera into flash without some sort of controller or FPGA. I am using Port A of the Rabbit to read in the data from the FIFO which can be done at a much slower clock rate and easily done by the Rabbit. I am looking at using an SD card to hold the frame data as I don't think there is enough memory available to store a frame. Even with jpg compression, I estimate a single frame of 1600x1200 resolution to be between 400k bytes and 550k in size. I am using the 5600W.
I have the developer's guide if you want it for the Aptina MT9D131. Please send me your email address. I haven't looked too much at the registers but I have a file of some known register settings that others have had working. Happy to share these too.
The camera uses SCCB which is very similar to I2C and again with the Rabbit shouldn't be too hard to get going. I have the Aptina headboard schematics from the development kit which I have used to help with the schematic design and voltages etc.

It is not easy to interface to this camera. Others have had success with other processors. There is a thread on the Sparkfun forum if you search on MT9D131 but it hasn't had much activity of late.

Regards
Ian