06-08-2011 06:33 AM
I'm going to modify the Camera_Buffer_Demo by adding a second OV9715 camera sensor.
I think that the pcore's chain starting from the "camera_in" module should be simply
duplicated and also in the source code should be necessary just a little modifications.
However I'm not sure if I could use a single "sg_i2c_controller" module for
the initialization of both cameras.
By reading the source code it seems to me that using a single instance of the given controller should be enough.
Is anyone working on a double camera design so that solved this question?
Solved! Go to Solution.
06-08-2011 07:23 AM
You are correct.
To add a second camera input, you will need to repeat the entire camera video processing pipeline from "camera_in".
You will use the same "sg_i2c_controller" to communicate with both cameras.
You need to cofigure the I2C mux to select which camera you will communicate with (one at a time).
I have EDK projects showing this with a anaglyph demo.
Which version of EDK are you using ?
06-08-2011 09:07 AM
I'm using the 12.2 version of the
EDK in order to implement a circuit
for 3d disparity map calculation. It would be very useful to
get a reference design already configured to
setup two cameras.
Thank you very much for your help.
06-08-2011 09:28 AM
Please take a look at the following (undocumented & unofficial) design:
File name: IVK_EDK_3D_Camera_Demo_12_2_20101015.zip
Website link: https://avnet.egnyte.com/h-s/20110608/c2c0480975f7
Look at the system.mhs file to see the two "camera_in" processing pipelines.
In this design, the two camera inputs are stored to memory, and the 3D (anaglyph) processing is applied at the output.
One thing to note is that there are 4 video DMA pcores.
These pcores use up all the four B32 ports on the MCB,
so there are no ports left to connect the MicroBlaze to the DDR3 memory.
For control/configuration, the camera is selected in the top level menu, in file ivk_top.c
Look at the ivk_camera.c/.h to see how the camera menu has been changed to accept a new parameter which specifies which camera is selected.
Look at the ivk_processing.c/.h to see how the processing menu has been changed to accept a new parameter which specifies which camera is selected.
Hope this helps !
07-11-2012 09:40 AM
I am compiling this project under ISE 14.1. After updating the cores to compatible version in the EDK, the project successfully builds and I can export to SDK.
In the SDK, I'm able to pull in the repositories (both the IVKProcessorIPLib and the project-specific anaglyph and video_gen pcores), create the hardware specification, BSP, and new empty Xilinx C Project. Once I drag&drop the source code into the empty app's src directory in the SDK, the SDK automatically starts compiling, but fails with the error
I tried increasing the size of the memory block but the Spartan-6 chip on the IVK board is limited to 64Kbytes. I can shorten print statements and the like, but that only makes a small dent in memory requirements.
Any suggestions for how to reduce the .rodata data segment so it fits in the 64K block?
07-11-2012 09:44 AM
There is no magic here ... if it doesn't fit, it doesn't fit.
Either you try to strip down the software (application and/or drivers)
or put the application in external DDR3 memory.
07-11-2012 01:35 PM
Just wondering what would have pushed it over the top if it fit fine with the original ISE 12.2 tools. I haven't changed a thing.
I'll try whittling it down and post results here if successful.