Reply
Contributor
Posts: 11
Registered: ‎02-01-2012

AES-ACC-OV9517-G Module Info

I would like to receive information about the 1MP camera module (part number AES-ACC-OV9517-G). Do you have a datasheet and electrical schematic for it? I am planning to use the camera with the Zedboard. Are there any easy way to connect the camera to the board without the "dual camera"-adapter board? In this project there is no need for two cameras or multiplexing of the signals.

Avnet Employee (Super Contributor)
Posts: 102
Registered: ‎07-07-2009

Re: AES-ACC-OV9517-G Module Info

The OmniVision OV9715 image sensor datasheet can be obtained from the OmniVision web site.

 

OmniVision OV9715 Image Sensor – datasheet request form

 

www.ovt.com/support/datasheet.php

 

For connection to ZedBoard, you may be able to use standard male-male header pins to connect via the multiple PMOD ports.  Start by inspecting the Dual Image Sensor FMC schematic and the OV9715 datasheet.

Regular Visitor
Posts: 8
Registered: ‎02-25-2013

Re: AES-ACC-OV9517-G Module Info

What is interesting is that:

 

There are two kind of datasheet "CMOS" and "Image Processor" you can choose when you request on Omnivision website.

 

What I need is the datasheet tell me what kind of register I need to write to via SCCB.

 

So what kind of data sheet I shall request?

 

GG

Avnet Employee (Star Contributor)
Posts: 471
Registered: ‎04-16-2009

Re: AES-ACC-OV9517-G Module Info

GG,

 

Specify "CMOS", which indicates that you are asking for a "CMOS image sensor".

 

If you specify the OV9715 for the Part Number, they will know which sensor you are asking for.

 

Mario.

Regular Visitor
Posts: 8
Registered: ‎02-25-2013

Re: AES-ACC-OV9517-G Module Info

Dear Mario

 

Now I have the:

 

 

1)Dual Image Sensor FMC module and

2)Omnivision 1MP image sensor (ov9571)

3)Virtex-6 ML605 board

 

What I am trying to do now is:

 

1)Recieve the pixel from the sensor and output via HDMI or DVI.

2)Configure the camera as 640*480@60fps or 1280*800@30fps so as the output resolution.

 

Is there any pure verilog or VHDL reference design I can use?

 

I tried to study the IVK_DVI_Video_Processing_Demo but I can not find what exactly the addr and value of the reg to be

written via IIC or SCCB from the sw source code.

 

And where I can find this info? From the library? drivers?

 

(I do have the datasheets of the PCA9546, CDCE925, TFP410, XC62FP, yet I do not feel like I will go through them all to figure out).

 

Best regards,

GG

 

Regular Visitor
Posts: 8
Registered: ‎02-25-2013

Re: AES-ACC-OV9517-G Module Info

BTW Mario,

 

Because of the version problem, I cannot look into the reference desing about SP6 industrial image processing kit. No mention I am using ML605 instead.

 

I have written a two-wire-SCCB/IIC verilog module instead to configure the OV9715 camera which is mounted on the FMC-IMAGEOV LPC daughter card. The behaiveral simulation looks fine. But I do not know what to write to the registers.

 

Would you be kind to send me the files (v,vhd,c,h,etc.) that contains the information of the address of the registers and data to be written to these registers on the FMC-IMAGEOV and even the AES-ACC-OV9517-G (Camera)?

 

Best regards,

 

G G

Avnet Employee (Star Contributor)
Posts: 471
Registered: ‎04-16-2009

Re: AES-ACC-OV9517-G Module Info

The IVK_Camera_Frame_Buffer_Demo ref design contains all the I2C configuration that you are looking for.

 

Specifically, look in the following source file:

   ivk_camera.c

 

Regards,

 

Mario.

Regular Visitor
Posts: 8
Registered: ‎02-25-2013

Re: AES-ACC-OV9517-G Module Info

Thank you for the reply.

 

Yes I found the files with the registers.

 

Reanounce my goal is: migrate the camera_frame_buffer demo to the ml605 board.

 

My up-to-date progress is: the SDK programm is error free.

 

The issue is: I got 1280X809 or 640X809 instead of 1280x720 or 640X480 from the  resolution = ivk_vres_detect(); (After camera is detected and ivk_cameraX_config).

 

What might be the problem of the issue here?

 

FYI, I use ov9715 instead of ov9710 in this project. Does it matter in this issue?

 

Thank you for your reply ahead.

 

Aaron

Avnet Employee (Star Contributor)
Posts: 471
Registered: ‎04-16-2009

Re: AES-ACC-OV9517-G Module Info

Aaron,

 

This result gives me the impression that the I2C configuration to crop the image down to 720 did not occur correctly.

Can you confirm that the 1280x720 I2C config code was sent to the image sensor ?

 

Can you confirm what the synchronization signals look like in ChipScope ?

Does the "active_video" signal have a width of 809 cycles ?

 

Regards,

 

Mario.

Regular Visitor
Posts: 8
Registered: ‎02-25-2013

Re: AES-ACC-OV9517-G Module Info

Hi AlbertaBeef

 

This is the original i2c register code:

 

Xuint8 ov9710_1280x721_cropped[18][2]=
{
// 1280x720 (cropped)
0x17, 0x25, // HSTART => [7:0] = HSTART[10:3]
0x18, 0xA2, // AHsize => [7:0] = AHsize[10:3]
0x19, 0x01, // VSTART => [7:0] = VSTART[9:2]
0x1A, 0xCA, // AVsize => [7:0] = AVsize[9:2]
0x03, 0x0A, // REG03 => [3:2] = AVsize[1:0]
// [1:0] = VSTART[1:0]
// VSTART[9:0] = 0x006 = 6
// AVsize[9:0] = 0x32A = 810
0x32, 0x07, // REG32 => [2:0] = HSTART[2:0]
// [5:3] = AHsize[2:0]
// HSTART[10:0] = 0x12F = 303 (?)
// AHsize[10:0] = 0x510 = 1296 (?)
0x98, 0x00, // DSP_CTRL_2 => [7:0] = pre_out_hoff[7:0]
0x99, 0x27, // DSP_CTRL_3 => [7:0] = pre_out_voff[7:0]
0x9A, 0x00, // DSP_CTRL_4 => [5:4] = pre_out_voff[9:8]
// [2:0] = pre_out_hoff[10:8]
// pre_out_hoff[10:0] = 0x000 = 0
// pre_out_voff[ 9:0] = 0x027 = 39 (ie. 40 - 1)

0x57, 0x01, // REG57 => [4:2] = HSIZE[2:0]
// [1:0] = VSIZE[1:0]
0x58, 0xB4, // REG58 => [7:0] = VSIZE[9:2]
0x59, 0xA0, // REG69 => [7:0] = HSIZE[10:3]
// VSIZE[ 9:0] = 0x2D1 = 721
// HSIZE[10:0] = 0x500 = 1280
0x4C, 0x13, // RSVD => ??
0x4B, 0x36, // RSVD => ??
0x3D, 0x3C, // RENDL =>
0x3E, 0x03, // RENDH =>
// REND = 0x033C = 828
0xBD, 0xA0, // YAVG_CTRL_0 => [7:0] = yavg_winh = 160
0xBE, 0xB4 // YAVG_CTRL_1 => [7:0] = yavg_winv = 180
};

 

From which I got the 1280x809

 

This is the modified code based on the default values on ov9715 datasheet

 

Xuint8 ov9710_1280x721_cropped[18][2]=
{
// 1280x720 (cropped)
0x17, 0x26, // HSTART => [7:0] = HSTART[10:3]
0x18, 0xA2, // AHsize => [7:0] = AHsize[10:3]
0x19, 0x01, // VSTART => [7:0] = VSTART[9:2]
0x1A, 0xC8, // AVsize => [7:0] = AVsize[9:2]
0x03, 0x02, // REG03 => [3:2] = AVsize[1:0]
// [1:0] = VSTART[1:0]
// VSTART[9:0] = 0x006 = 6
// AVsize[9:0] = 0x32A = 810
0x32, 0x01, // REG32 => [2:0] = HSTART[2:0]
// [5:3] = AHsize[2:0]
// HSTART[10:0] = 0x131 = 305 (?)
// AHsize[10:0] = 0x510 = 1296 (?)
0x98, 0x00, // DSP_CTRL_2 => [7:0] = pre_out_hoff[7:0]
0x99, 0x00, // DSP_CTRL_3 => [7:0] = pre_out_voff[7:0]
0x9A, 0x00, // DSP_CTRL_4 => [5:4] = pre_out_voff[9:8]
// [2:0] = pre_out_hoff[10:8]
// pre_out_hoff[10:0] = 0x000 = 0
// pre_out_voff[ 9:0] = 0x000 = 0//39 (ie. 40 - 1)

0x57, 0x01, // REG57 => [4:2] = HSIZE[2:0]
// [1:0] = VSIZE[1:0]
0x58, 0xC8, // REG58 => [7:0] = VSIZE[9:2]
0x59, 0xA0, // REG69 => [7:0] = HSIZE[10:3]
// VSIZE[ 9:0] = 0x321 = 801
// HSIZE[10:0] = 0x500 = 1280
0x4C, 0x13, // RSVD => ??
0x4B, 0x36, // RSVD => ??
0x3D, 0x3C, // RENDL =>
0x3E, 0x03, // RENDH =>
// REND = 0x033C = 828
0xBD, 0xA0, // YAVG_CTRL_0 => [7:0] = yavg_winh = 160
0xBE, 0xC8 // YAVG_CTRL_1 => [7:0] = yavg_winv = 200
};

 

From which I got 1280X800 (ov9715 says it supports 1280X800 wxga and 640x400)

 

I am not sure the following imfo indicates that the registers are written as programmed (modified version):

 

I2C[0x30] : [FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01601726
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01601726
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x016018A2
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x016018A2
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01601901
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01601901
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01601AC8
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01601AC8
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01600302
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01600302
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01603201
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01603201
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01609800
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01609800
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01609900
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01609900
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01609A00
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01609A00
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01605701
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01605701
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x016058C8
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x016058C8
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x016059A0
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x016059A0
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01604C13
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01604C13
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01604B36
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01604B36
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01603D3C
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01603D3C
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x01603E03
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x01603E03
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x0160BDA0
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x0160BDA0
+[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_req = 0x0160BEC8
[FMC_IMAGEOV_I2C_CONTROLLER] fmc_iic_sg_write : cmd_rsp = 0x0160BEC8

 

If the answer is yes, then the question is why the original code cannot gives me 720p resolution?

 

And what are the active h/v size? h/v size? yavg win h/v? ( the registers related values)

 

I may need some time to work on chipscope but if you can lookinto what I just post I would be appriciate.

 

Regards,

 

Aaron