[SOLVED] How to Design a Digital Camera?

Status
Not open for further replies.

mekitron

Junior Member level 3
Joined
Dec 6, 2012
Messages
31
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,296
Location
Mehran Valley
iambozdar.com
Activity points
1,514
Hello All

I am an engineering student and learning about microcontrollers these days. I am also hobbyist. I go advance than class. I want to design a digital camera myself to understand its functionality and properties (in future I want to go through with robotics). I want to design it using CPU: 328C based on 8051 MCU and CCD: OV7411.

Any one may help me here, to tell me how I start the schematic design?

Selection of these ICs is okay or not?

I want to go through Assembly Programming, will it be okay and how long it will take me to work on it?

Thank you.
 

The OV7411 is not a "digital" camera - it has an analogue output. I also suspect it is obsolete (I cannot find it on Omnivision's web site) You don't say what you want to do with the camera so it is difficult to comment on the suitability of the microcontroller. Normally I would expect a CPLD or FPGA to be necessary to capture and manipulate camera data, not a microcontroller, although you can capture data with some RAM and discrete digital logic.

Keith
 
Keith,

Thank you very much for your reply.
I just want to learn how a digital camera works that's why I want to design it myself. I want my final output to capture one photo at least. Nothing else! Furthermore, I want to know how to start its schematic and what is essential to do.

Thank you.
 

A "digital" camera would produce a digital output. While you could learn about analogue cameras and digitise the data from them, I am not sure it is worthwhile learning that nowadays. Dan Strother has a nice blog which may be of some interest, although it is mainly aimed at a stereo vision, the principles of the hardware should still be relevant. https://danstrother.com/2011/01/24/fpga-stereo-vision-project/

Keith.
 

Hello Keith,

I studied about OV7411. What do you suggest if I use any other IC (having digital output) and why I should use CPLD or FPGA? Why not a microcontroller? If I am using an OV7411 then an AD convert can be used, isn't it okay?

Thanks.
 

I think a camera with digital output is a more sensible approach. The reason you cannot use a microcontroller is the data rate, unless you find a camera with a low enough resolution or slow enough frame rate to be able to grab the data. A PAL/NTSC camera can be digitised at 4Ms/s so you can just about do that with a microcontroller if you can find a suitably slow camera. The Aptina MT9M001 can be clocked down to 1MHz so something like that may be possible.

Most microcontrollers are not very good at capturing high speed data even when the have DMA. I work mostly with PICs and wanted some bursts of fast data capture and was surprised at how slow the PIC24H/E and PIC32 microcontrollers were in doing that. It is a struggle to get much above 10Ms/s, but that could well be enough for you. A discussion here https://www.microchip.com/forums/m664299.aspx about the PIC32 may be helpful. Some of these things can only be found out by trying it. The datasheets are not always detailed enough.

In the end I managed bursts at 35Ms/s with a PIC24E (not using DMA) but I am not sure that it could manage that for a whole frame. Also bear in mind the size of RAM you will need to store a frame - it is likely to need to be external to the microcontroller. I have used frame memories in the past but I am not sure if they are so common now.

If you generate a clock from the micro (or enabled by it) to drive the camera, you can clock the data straight into a frame memory and then read it from the memory with the microcontroller at a slower rate.

Keith.
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…