00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #include "board.h"
00038
00039 #define OV2640_SLAVE_ADDRESS 0x21
00040 #define OV2640_PIDH_ADDRESS 0x0A
00041 #define OV2640_PIDL_ADDRESS 0x0B
00042 #define OV2640_PIDH 0x26
00043 #define OV2640_PIDL 0x40
00044 #define OV2640_PID_VER_MASK 0xFFF0
00045
00046
00047
00048
00049
00050
00051 const sensorReg_t ov2640_yuv_qvga[] = {
00052 {0xff, 0x01},
00053 {0x12, 0x80},
00054 {0xff, 0x00},
00055 {0x2c, 0xff},
00056 {0x2e, 0xdf},
00057 {0xff, 0x01},
00058 {0x3c, 0x32},
00059 {0x11, 0x00},
00060 {0x09, 0x02},
00061 {0x04, 0x28},
00062 {0x13, 0xe5},
00063 {0x14, 0x48},
00064 {0x2c, 0x0c},
00065 {0x33, 0x78},
00066 {0x3a, 0x33},
00067 {0x3b, 0xfb},
00068 {0x3e, 0x00},
00069 {0x43, 0x11},
00070 {0x16, 0x10},
00071 {0x39, 0x02},
00072 {0x35, 0x88},
00073 {0x22, 0x0a},
00074 {0x37, 0x40},
00075 {0x23, 0x00},
00076 {0x34, 0xa0},
00077 {0x36, 0x1a},
00078 {0x06, 0x02},
00079 {0x07, 0xc0},
00080 {0x0d, 0xb7},
00081 {0x0e, 0x01},
00082 {0x4c, 0x00},
00083 {0x4a, 0x81},
00084 {0x21, 0x99},
00085 {0x24, 0x3a},
00086 {0x25, 0x32},
00087 {0x26, 0x82},
00088 {0x5c, 0x00},
00089 {0x63, 0x00},
00090 {0x5d, 0x55},
00091 {0x5e, 0x7d},
00092 {0x5f, 0x7d},
00093 {0x60, 0x55},
00094 {0x61, 0x70},
00095 {0x62, 0x80},
00096 {0x7c, 0x05},
00097 {0x20, 0x80},
00098 {0x28, 0x30},
00099 {0x6c, 0x00},
00100 {0x6d, 0x80},
00101 {0x6e, 0x00},
00102 {0x70, 0x02},
00103 {0x71, 0x94},
00104 {0x73, 0xc1},
00105 {0x3d, 0x34},
00106 {0x5a, 0x57},
00107 {0x4f, 0xbb},
00108 {0x50, 0x9c},
00109 {0xff, 0x00},
00110 {0xe5, 0x7f},
00111 {0xf9, 0xc0},
00112 {0x41, 0x24},
00113 {0xe0, 0x14},
00114 {0x76, 0xff},
00115 {0x33, 0xa0},
00116 {0x42, 0x20},
00117 {0x43, 0x18},
00118 {0x4c, 0x00},
00119 {0x87, 0xd0},
00120 {0x88, 0x3f},
00121 {0xd7, 0x03},
00122 {0xd9, 0x10},
00123 {0xd3, 0x82},
00124 {0xc8, 0x08},
00125 {0xc9, 0x80},
00126 {0x7c, 0x00},
00127 {0x7d, 0x02},
00128 {0x7c, 0x03},
00129 {0x7d, 0x48},
00130 {0x7d, 0x48},
00131 {0x7c, 0x08},
00132 {0x7d, 0x20},
00133 {0x7d, 0x10},
00134 {0x7d, 0x0e},
00135 {0x90, 0x00},
00136 {0x91, 0x0e},
00137 {0x91, 0x1a},
00138 {0x91, 0x31},
00139 {0x91, 0x5a},
00140 {0x91, 0x69},
00141 {0x91, 0x75},
00142 {0x91, 0x7e},
00143 {0x91, 0x88},
00144 {0x91, 0x8f},
00145 {0x91, 0x96},
00146 {0x91, 0xa3},
00147 {0x91, 0xaf},
00148 {0x91, 0xc4},
00149 {0x91, 0xd7},
00150 {0x91, 0xe8},
00151 {0x91, 0x20},
00152 {0x92, 0x00},
00153 {0x93, 0x06},
00154 {0x93, 0xe3},
00155 {0x93, 0x05},
00156 {0x93, 0x05},
00157 {0x93, 0x00},
00158 {0x93, 0x02},
00159 {0x93, 0x00},
00160 {0x93, 0x00},
00161 {0x93, 0x00},
00162 {0x93, 0x00},
00163 {0x93, 0x00},
00164 {0x93, 0x00},
00165 {0x93, 0x00},
00166 {0x96, 0x00},
00167 {0x97, 0x08},
00168 {0x97, 0x19},
00169 {0x97, 0x02},
00170 {0x97, 0x0c},
00171 {0x97, 0x24},
00172 {0x97, 0x30},
00173 {0x97, 0x28},
00174 {0x97, 0x26},
00175 {0x97, 0x02},
00176 {0x97, 0x98},
00177 {0x97, 0x80},
00178 {0x97, 0x00},
00179 {0x97, 0x00},
00180 {0xc3, 0xed},
00181 {0xa4, 0x00},
00182 {0xa8, 0x00},
00183 {0xc5, 0x11},
00184 {0xc6, 0x51},
00185 {0xbf, 0x80},
00186 {0xc7, 0x10},
00187 {0xb6, 0x66},
00188 {0xb8, 0xa5},
00189 {0xb7, 0x64},
00190 {0xb9, 0x7c},
00191 {0xb3, 0xaf},
00192 {0xb4, 0x97},
00193 {0xb5, 0xff},
00194 {0xb0, 0xc5},
00195 {0xb1, 0x94},
00196 {0xb2, 0x0f},
00197 {0xc4, 0x5c},
00198 {0xc0, 0xc8},
00199 {0xc1, 0x96},
00200 {0x86, 0x1d},
00201 {0x50, 0x00},
00202 {0x51, 0x90},
00203 {0x52, 0x18},
00204 {0x53, 0x00},
00205 {0x54, 0x00},
00206 {0x55, 0x88},
00207 {0x57, 0x00},
00208 {0x5a, 0x90},
00209 {0x5b, 0x18},
00210 {0x5c, 0x05},
00211 {0xc3, 0xed},
00212 {0x7f, 0x00},
00213 {0xda, 0x04},
00214 {0xe5, 0x1f},
00215 {0xe1, 0x67},
00216 {0xe0, 0x00},
00217 {0xdd, 0xff},
00218 {0x05, 0x00},
00219 {0xff, 0x01},
00220 {0x11, 0x01},
00221 {0xff, 0x01},
00222 {0x12, 0x40},
00223 {0x17, 0x11},
00224 {0x18, 0x43},
00225 {0x19, 0x00},
00226 {0x1a, 0x4b},
00227 {0x32, 0x09},
00228 {0x4f, 0xca},
00229 {0x50, 0xa8},
00230 {0x5a, 0x23},
00231 {0x6d, 0x00},
00232 {0x3d, 0x38},
00233 {0x39, 0x12},
00234 {0x35, 0xda},
00235 {0x22, 0x1a},
00236 {0x37, 0xc3},
00237 {0x23, 0x00},
00238 {0x34, 0xc0},
00239 {0x36, 0x1a},
00240 {0x06, 0x88},
00241 {0x07, 0xc0},
00242 {0x0d, 0x87},
00243 {0x0e, 0x41},
00244 {0x4c, 0x00},
00245 {0x48, 0x00},
00246 {0x5B, 0x00},
00247 {0x42, 0x03},
00248 {0xff, 0x00},
00249 {0xe0, 0x04},
00250 {0xc0, 0x64},
00251 {0xc1, 0x4B},
00252 {0x8c, 0x00},
00253 {0x86, 0x1D},
00254 {0xd3, 0x82},
00255 {0xe0, 0x00},
00256 {0xff, 0x00},
00257 {0xc0, 0x64},
00258 {0xc1, 0x4B},
00259 {0x8c, 0x00},
00260 {0x86, 0x3D},
00261 {0x50, 0x89},
00262 {0x51, 0xC8},
00263 {0x52, 0x96},
00264 {0x53, 0x00},
00265 {0x54, 0x00},
00266 {0x55, 0x00},
00267 {0x5a, 0x50},
00268 {0x5b, 0x3C},
00269 {0x5c, 0x00},
00270 {0xd3, 0x04},
00271 {0xFF, 0x00},
00272 {0xE0, 0x04},
00273 {0xE1, 0x67},
00274 {0xD7, 0x01},
00275 {0xDA, 0x00},
00276 {0xD3, 0x82},
00277 {0xE0, 0x00},
00278 {0xFF, 0xFF}
00279 };
00280
00281 const sensorReg_t ov2640_yuv_vga[] = {
00282 {0xff, 0x01},
00283 {0x12, 0x80},
00284 {0xff, 0x00},
00285 {0x2c, 0xff},
00286 {0x2e, 0xdf},
00287 {0xff, 0x01},
00288 {0x3c, 0x32},
00289 {0x11, 0x00},
00290 {0x09, 0x02},
00291 {0x04, 0x28},
00292 {0x13, 0xe5},
00293 {0x14, 0x48},
00294 {0x2c, 0x0c},
00295 {0x33, 0x78},
00296 {0x3a, 0x33},
00297 {0x3b, 0xfb},
00298 {0x3e, 0x00},
00299 {0x43, 0x11},
00300 {0x16, 0x10},
00301 {0x39, 0x02},
00302 {0x35, 0x88},
00303 {0x22, 0x0a},
00304 {0x37, 0x40},
00305 {0x23, 0x00},
00306 {0x34, 0xa0},
00307 {0x36, 0x1a},
00308 {0x06, 0x02},
00309 {0x07, 0xc0},
00310 {0x0d, 0xb7},
00311 {0x0e, 0x01},
00312 {0x4c, 0x00},
00313 {0x4a, 0x81},
00314 {0x21, 0x99},
00315 {0x24, 0x3a},
00316 {0x25, 0x32},
00317
00318
00319
00320 {0x26, 0xF3},
00321 {0x5c, 0x00},
00322 {0x63, 0x00},
00323 {0x5d, 0x55},
00324 {0x5e, 0x7d},
00325 {0x5f, 0x7d},
00326 {0x60, 0x55},
00327 {0x61, 0x70},
00328 {0x62, 0x80},
00329 {0x7c, 0x05},
00330 {0x20, 0x80},
00331 {0x28, 0x30},
00332 {0x6c, 0x00},
00333 {0x6d, 0x80},
00334 {0x6e, 0x00},
00335 {0x70, 0x02},
00336 {0x71, 0x94},
00337 {0x73, 0xc1},
00338 {0x3d, 0x34},
00339 {0x5a, 0x57},
00340 {0x4f, 0xbb},
00341 {0x50, 0x9c},
00342
00343 {0xff, 0x00},
00344 {0xe5, 0x7f},
00345 {0xf9, 0xc0},
00346 {0x41, 0x24},
00347 {0xe0, 0x14},
00348 {0x76, 0xff},
00349 {0x33, 0xa0},
00350 {0x42, 0x20},
00351 {0x43, 0x18},
00352 {0x4c, 0x00},
00353 {0x87, 0xd0},
00354 {0x88, 0x3f},
00355 {0xd7, 0x03},
00356 {0xd9, 0x10},
00357 {0xd3, 0x82},
00358 {0xc8, 0x08},
00359 {0xc9, 0x80},
00360 {0x7c, 0x00},
00361 {0x7d, 0x02},
00362 {0x7c, 0x03},
00363 {0x7d, 0x48},
00364 {0x7d, 0x48},
00365 {0x7c, 0x08},
00366 {0x7d, 0x20},
00367 {0x7d, 0x10},
00368 {0x7d, 0x0e},
00369 {0x90, 0x00},
00370 {0x91, 0x0e},
00371 {0x91, 0x1a},
00372 {0x91, 0x31},
00373 {0x91, 0x5a},
00374 {0x91, 0x69},
00375 {0x91, 0x75},
00376 {0x91, 0x7e},
00377 {0x91, 0x88},
00378 {0x91, 0x8f},
00379 {0x91, 0x96},
00380 {0x91, 0xa3},
00381 {0x91, 0xaf},
00382 {0x91, 0xc4},
00383 {0x91, 0xd7},
00384 {0x91, 0xe8},
00385 {0x91, 0x20},
00386 {0x92, 0x00},
00387 {0x93, 0x06},
00388 {0x93, 0xe3},
00389 {0x93, 0x05},
00390 {0x93, 0x05},
00391 {0x93, 0x00},
00392 {0x93, 0x02},
00393 {0x93, 0x00},
00394 {0x93, 0x00},
00395 {0x93, 0x00},
00396 {0x93, 0x00},
00397 {0x93, 0x00},
00398 {0x93, 0x00},
00399 {0x93, 0x00},
00400 {0x96, 0x00},
00401 {0x97, 0x08},
00402 {0x97, 0x19},
00403 {0x97, 0x02},
00404 {0x97, 0x0c},
00405 {0x97, 0x24},
00406 {0x97, 0x30},
00407 {0x97, 0x28},
00408 {0x97, 0x26},
00409 {0x97, 0x02},
00410 {0x97, 0x98},
00411 {0x97, 0x80},
00412 {0x97, 0x00},
00413 {0x97, 0x00},
00414 {0xc3, 0xed},
00415 {0xa4, 0x00},
00416 {0xa8, 0x00},
00417 {0xc5, 0x11},
00418 {0xc6, 0x51},
00419 {0xbf, 0x80},
00420 {0xc7, 0x10},
00421 {0xb6, 0x66},
00422 {0xb8, 0xa5},
00423 {0xb7, 0x64},
00424 {0xb9, 0x7c},
00425 {0xb3, 0xaf},
00426 {0xb4, 0x97},
00427 {0xb5, 0xff},
00428 {0xb0, 0xc5},
00429 {0xb1, 0x94},
00430 {0xb2, 0x0f},
00431 {0xc4, 0x5c},
00432 {0xc0, 0xc8},
00433 {0xc1, 0x96},
00434 {0x86, 0x1d},
00435 {0x50, 0x00},
00436 {0x51, 0x90},
00437 {0x52, 0x18},
00438 {0x53, 0x00},
00439 {0x54, 0x00},
00440 {0x55, 0x88},
00441 {0x57, 0x00},
00442 {0x5a, 0x90},
00443 {0x5b, 0x18},
00444 {0x5c, 0x05},
00445 {0xc3, 0xed},
00446 {0x7f, 0x00},
00447 {0xda, 0x04},
00448 {0xe5, 0x1f},
00449 {0xe1, 0x67},
00450 {0xe0, 0x00},
00451 {0xdd, 0xff},
00452 {0x05, 0x00},
00453 {0xC2, 0x08 | 0x04 | 0x02},
00454
00455 {0xff, 0x01},
00456 {0x11, 0x01},
00457 {0xff, 0x01},
00458 {0x12, 0x40},
00459 {0x17, 0x11},
00460 {0x18, 0x43},
00461 {0x19, 0x00},
00462 {0x1a, 0x4b},
00463 {0x32, 0x09},
00464 {0x4f, 0xca},
00465 {0x50, 0xa8},
00466 {0x5a, 0x23},
00467 {0x6d, 0x00},
00468 {0x3d, 0x38},
00469 {0x39, 0x12},
00470 {0x35, 0xda},
00471 {0x22, 0x1a},
00472 {0x37, 0xc3},
00473 {0x23, 0x00},
00474 {0x34, 0xc0},
00475 {0x36, 0x1a},
00476 {0x06, 0x88},
00477 {0x07, 0xc0},
00478 {0x0d, 0x87},
00479 {0x0e, 0x41},
00480 {0x4c, 0x00},
00481 {0x48, 0x00},
00482 {0x5B, 0x00},
00483 {0x42, 0x03},
00484 {0xff, 0x00},
00485
00486 {0xe0, 0x04},
00487 {0xc0, 0x64},
00488 {0xc1, 0x4B},
00489 {0x8c, 0x00},
00490 {0x86, 0x1D},
00491 {0xd3, 0x82},
00492 {0xe0, 0x00},
00493
00494 {0xff, 0x00},
00495 {0xc0, 0x64},
00496 {0xc1, 0x4B},
00497 {0x8c, 0x00},
00498 {0x86, 0x3D},
00499 {0x50, 0x00},
00500 {0x51, 0xC8},
00501 {0x52, 0x96},
00502 {0x53, 0x00},
00503 {0x54, 0x00},
00504 {0x55, 0x00},
00505 {0x5a, 0xA0},
00506 {0x5b, 0x78},
00507 {0x5c, 0x00},
00508 {0xd3, 0x04},
00509 {0xFF, 0x00},
00510 {0xE0, 0x04},
00511 {0xE1, 0x67},
00512 {0xD7, 0x01},
00513 {0xDA, 0x00},
00514 {0xD3, 0x82},
00515 {0xE0, 0x00},
00516 {0xFF, 0xFF}
00517 };
00518
00519 const sensorOutput_t ov2640_output_qvga =
00520 {0, QVGA, YUV_422_8_BIT, 1, 320, 240, ov2640_yuv_qvga};
00521
00522 const sensorOutput_t ov2640_output_vga =
00523 {0, VGA, YUV_422_8_BIT, 1, 640, 480, ov2640_yuv_vga};
00524
00525 const sensorProfile_t ov2640Profile = {
00526 SENSOR_COMS,
00527 SENSOR_TWI_REG_BYTE_DATA_BYTE,
00528 OV2640_SLAVE_ADDRESS,
00529 OV2640_PIDH_ADDRESS,
00530 OV2640_PIDL_ADDRESS,
00531 OV2640_PIDH,
00532 OV2640_PIDL,
00533 OV2640_PID_VER_MASK,
00534 {&ov2640_output_qvga,
00535 &ov2640_output_vga,
00536 0,
00537 0,
00538 0,
00539 0,
00540 0}
00541 };