AnsweredAssumed Answered

Aptina MT9M114 config registers Finboard

Question asked by ZYJEAN on Apr 10, 2014
Latest reply on May 5, 2014 by Suraj

Hello.

 

I have a Finboard and I'm trying to get VGA frames @60 fps since in my implementation (robotics) this is very crucial, in the examples provided from Analog Devices all the selectable modes in adi_mt9m114_img_cfg.c are at @30 fps, since the board supports 720p @30 fps it wouldn't be a problem processing VGA frames @60 fps in terms of resources (also in the MT9M114 datasheet Aptina states that the sensor can provide up to 75 fps in VGA resolution), in the same file (adi_mt9m114_img_cfg.c) they suggest using the DevWare application from Aptina to get the register values, so I tried to create an account to download the software but in the registering process they rejected the NDA (non disclosure agreement) and now I'm stuck in some burocratic process and can't get the software. I wonder if you could provide me the register configurations for the Aptina MT9M114 sensor to get VGA frames @60 fps.

 

Also I'm currently using the VideoLoopbackYUV example to learn the basis of the Blackfin processor and I don't know if besides modifying the config registers I need to modify other portions of the project. I appreciate all the help you could provide to me. Sorry for the bad English.

 

Best Regards

 

Javier Rodríguez

 

Portion of the code that I think that needs to be modified but I don't wich values I need to alter:

/*! Register configuration for VGA 30 Frames per second with 2x2 binning . */
ADI_MT9M114_REG ADI_MT9M114_RegConf_VGA[ADI_MT9M114_IMAGE_CFG_ARRAY_SIZE] = {

{ 0x98Eu, 0x1000u, 2u }, //set XDMA to logical addressing
{ 0xC800u, 0x0000u, 2u }, //cam_sensor_cfg_y_addr_start = 0
{ 0xC802u, 0x0000u, 2u }, //cam_sensor_cfg_x_addr_start = 0
{ 0xC804u, 0x03CDu, 2u }, //cam_sensor_cfg_y_addr_end = 973
{ 0xC806u, 0x050Du, 2u }, //cam_sensor_cfg_x_addr_end = 1293
{ 0xC80Cu, 0x0001u, 2u }, //cam_sensor_cfg_row_speed = 1
{ 0xC80Eu, 0x01C3u, 2u }, //cam_sensor_cfg_fine_integ_time_min = 451
{ 0xC810u, 0x03F7u, 2u }, //cam_sensor_cfg_fine_integ_time_max = 1015
{ 0xC812u, 0x0500u, 2u }, //cam_sensor_cfg_frame_length_lines = 1280
{ 0xC814u, 0x04E2u, 2u }, //cam_sensor_cfg_line_length_pck = 1250
{ 0xC816u, 0x00E0u, 2u }, //cam_sensor_cfg_fine_correction = 224
{ 0xC818u, 0x01E3u, 2u }, //cam_sensor_cfg_cpipe_last_row = 483
{ 0xC826u, 0x0020u, 2u }, //cam_sensor_cfg_reg_0_data = 32
{ 0xC834u, 0x0330u, 2u }, //cam_sensor_control_read_mode = 816
{ 0xC854u, 0x0000u, 2u }, //cam_crop_window_xoffset = 0
{ 0xC856u, 0x0000u, 2u }, //cam_crop_window_yoffset = 0
{ 0xC858u, 0x0280u, 2u }, //cam_crop_window_width = 640
{ 0xC85Au, 0x01E0u, 2u }, //cam_crop_window_height = 480
{ 0xC85Cu, 0x03u, 1u }, //cam_crop_cropmode = 3
{ 0xC868u, 0x0280u, 2u }, //cam_output_width = 640
{ 0xC86Au, 0x01E0u, 2u }, //cam_output_height = 480
{ 0xC878u, 0x00u, 1u }, //cam_aet_aemode = 0
{ 0xC88Cu, 0x1E00u, 2u }, //cam_aet_max_frame_rate = 7680
{ 0xC88Eu, 0x1E00u, 2u }, //cam_aet_min_frame_rate = 7680
{ 0xC914u, 0x0000u, 2u }, //cam_stat_awb_clip_window_xstart = 0
{ 0xC916u, 0x0000u, 2u }, //cam_stat_awb_clip_window_ystart = 0
{ 0xC918u, 0x027Fu, 2u }, //cam_stat_awb_clip_window_xend = 639
{ 0xC91Au, 0x01DFu, 2u }, //cam_stat_awb_clip_window_yend = 479
{ 0xC91Cu, 0x0000u, 2u }, //cam_stat_ae_initial_window_xstart = 0
{ 0xC91Eu, 0x0000u, 2u }, //cam_stat_ae_initial_window_ystart = 0
{ 0xC920u, 0x007Fu, 2u }, //cam_stat_ae_initial_window_xend = 127
{ 0xC922u, 0x005Fu, 2u } //cam_stat_ae_initial_window_yend = 95
};

Outcomes