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
00038 #include "board.h"
00039
00040 #define OV7740_SLAVE_ADDRESS 0x21
00041 #define OV7740_PIDH_ADDRESS 0x0A
00042 #define OV7740_PIDL_ADDRESS 0x0B
00043 #define OV7740_PIDH 0x77
00044 #define OV7740_PIDL 0x40
00045 #define OV7740_PID_VER_MASK 0xFFF0
00046
00047
00048
00049
00050 const sensorReg_t ov7740_yuv_vga[] = {
00051 {0x12, 0x80},
00052
00053 {0x55, 0x40},
00054 {0x11, 0x02},
00055
00056 {0x12, 0x00},
00057 {0xd5, 0x10},
00058 {0x0c, 0x12},
00059 {0x0d, 0x34},
00060 {0x17, 0x25},
00061 {0x18, 0xa0},
00062 {0x19, 0x03},
00063 {0x1a, 0xf0},
00064 {0x1b, 0x89},
00065 {0x22, 0x03},
00066 {0x29, 0x18},
00067 {0x2b, 0xf8},
00068 {0x2c, 0x01},
00069 {0x31, 0xa0},
00070 {0x32, 0xf0},
00071 {0x33, 0xc4},
00072 {0x35, 0x05},
00073 {0x36, 0x3f},
00074 {0x04, 0x60},
00075 {0x27, 0x80},
00076 {0x3d, 0x0f},
00077 {0x3e, 0x80},
00078 {0x3f, 0x40},
00079 {0x40, 0x7f},
00080 {0x41, 0x6a},
00081 {0x42, 0x29},
00082 {0x44, 0x22},
00083 {0x45, 0x41},
00084 {0x47, 0x02},
00085 {0x49, 0x64},
00086 {0x4a, 0xa1},
00087 {0x4b, 0x40},
00088 {0x4c, 0x1a},
00089 {0x4d, 0x50},
00090 {0x4e, 0x13},
00091 {0x64, 0x00},
00092 {0x67, 0x88},
00093 {0x68, 0x1a},
00094
00095 {0x14, 0x28},
00096 {0x24, 0x3c},
00097 {0x25, 0x30},
00098 {0x26, 0x72},
00099 {0x50, 0x97},
00100 {0x51, 0x1f},
00101 {0x52, 0x00},
00102 {0x53, 0x00},
00103 {0x20, 0x00},
00104 {0x21, 0xcf},
00105 {0x50, 0x4b},
00106 {0x38, 0x14},
00107 {0xe9, 0x00},
00108 {0x56, 0x55},
00109 {0x57, 0xff},
00110 {0x58, 0xff},
00111 {0x59, 0xff},
00112 {0x5f, 0x04},
00113 {0xec, 0x00},
00114 {0x13, 0xff},
00115
00116 {0x80, 0x7f},
00117 {0x81, 0x3f},
00118 {0x82, 0x32},
00119 {0x83, 0x01},
00120 {0x38, 0x11},
00121 {0x84, 0x70},
00122 {0x85, 0x00},
00123 {0x86, 0x03},
00124 {0x87, 0x01},
00125 {0x88, 0x05},
00126 {0x89, 0x30},
00127 {0x8d, 0x30},
00128 {0x8f, 0x85},
00129 {0x93, 0x30},
00130 {0x95, 0x85},
00131 {0x99, 0x30},
00132 {0x9b, 0x85},
00133
00134 {0x9c, 0x08},
00135 {0x9d, 0x12},
00136 {0x9e, 0x23},
00137 {0x9f, 0x45},
00138 {0xa0, 0x55},
00139 {0xa1, 0x64},
00140 {0xa2, 0x72},
00141 {0xa3, 0x7f},
00142 {0xa4, 0x8b},
00143 {0xa5, 0x95},
00144 {0xa6, 0xa7},
00145 {0xa7, 0xb5},
00146 {0xa8, 0xcb},
00147 {0xa9, 0xdd},
00148 {0xaa, 0xec},
00149 {0xab, 0x1a},
00150
00151 {0xce, 0x78},
00152 {0xcf, 0x6e},
00153 {0xd0, 0x0a},
00154 {0xd1, 0x0c},
00155 {0xd2, 0x84},
00156 {0xd3, 0x90},
00157 {0xd4, 0x1e},
00158
00159 {0x5a, 0x24},
00160 {0x5b, 0x1f},
00161 {0x5c, 0x88},
00162 {0x5d, 0x60},
00163
00164 {0xac, 0x6e},
00165 {0xbe, 0xff},
00166 {0xbf, 0x00},
00167
00168 {0x0f, 0x1d},
00169 {0x0f, 0x1f},
00170 {0xFF, 0xFF}
00171 };
00172
00173
00174
00175
00176
00177
00178
00179
00180 const sensorReg_t ov7740_qvga_yuv[] = {
00181 {0x12, 0x80},
00182
00183 {0x55 ,0x40},
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194 {0x11, 0x01},
00195
00196
00197 {0x12 ,0x00},
00198 {0xd5 ,0x10},
00199 {0x0c ,0x12},
00200 {0x0d ,0x34},
00201 {0x17 ,0x25},
00202 {0x18 ,0xa0},
00203 {0x19 ,0x03},
00204 {0x1a ,0xf0},
00205 {0x1b ,0x89},
00206 {0x22 ,0x03},
00207 {0x29 ,0x18},
00208 {0x2b ,0xf8},
00209 {0x2c ,0x01},
00210 {0x31 ,0xa0},
00211 {0x32 ,0xf0},
00212 {0x33 ,0xc4},
00213 {0x35 ,0x05},
00214 {0x36 ,0x3f},
00215
00216 {0x04 ,0x60},
00217 {0x27 ,0x80},
00218 {0x3d ,0x0f},
00219 {0x3e ,0x80},
00220 {0x3f ,0x40},
00221 {0x40 ,0x7f},
00222 {0x41 ,0x6a},
00223 {0x42 ,0x29},
00224 {0x44 ,0x22},
00225 {0x45 ,0x41},
00226 {0x47 ,0x02},
00227 {0x49 ,0x64},
00228 {0x4a ,0xa1},
00229 {0x4b ,0x40},
00230 {0x4c ,0x1a},
00231 {0x4d ,0x50},
00232 {0x4e ,0x13},
00233 {0x64 ,0x00},
00234 {0x67 ,0x88},
00235 {0x68 ,0x1a},
00236
00237 {0x14 ,0x28},
00238 {0x24 ,0x3c},
00239 {0x25, 0x30},
00240 {0x26, 0x72},
00241 {0x50, 0x97},
00242 {0x51, 0x7e},
00243 {0x52, 0x00},
00244 {0x53, 0x00},
00245 {0x20, 0x00},
00246 {0x21, 0x23},
00247
00248
00249
00250
00251
00252
00253
00254
00255 {0x38, 0x14},
00256
00257 {0xe9, 0x00},
00258 {0x56, 0x55},
00259 {0x57, 0xff},
00260 {0x58, 0xff},
00261 {0x59, 0xff},
00262 {0x5f, 0x04},
00263 {0xec, 0x00},
00264 {0x13, 0xff},
00265
00266 {0x80, 0x7f},
00267 {0x81, 0x3f},
00268 {0x82, 0x32},
00269 {0x83, 0x01},
00270 {0x38, 0x11},
00271 {0x84 ,0x70},
00272 {0x85, 0x00},
00273 {0x86, 0x03},
00274 {0x87, 0x01},
00275 {0x88, 0x05},
00276 {0x89, 0x30},
00277 {0x8d, 0x30},
00278 {0x8f, 0x85},
00279 {0x93, 0x30},
00280 {0x95, 0x85},
00281 {0x99, 0x30},
00282 {0x9b, 0x85},
00283
00284 {0x9c, 0x08},
00285 {0x9d, 0x12},
00286 {0x9e, 0x23},
00287 {0x9f, 0x45},
00288 {0xa0, 0x55},
00289 {0xa1, 0x64},
00290 {0xa2, 0x72},
00291 {0xa3, 0x7f},
00292 {0xa4, 0x8b},
00293 {0xa5, 0x95},
00294 {0xa6, 0xa7},
00295 {0xa7, 0xb5},
00296 {0xa8, 0xcb},
00297 {0xa9, 0xdd},
00298 {0xaa, 0xec},
00299 {0xab, 0x1a},
00300
00301 {0xce, 0x78},
00302 {0xcf, 0x6e},
00303 {0xd0, 0x0a},
00304 {0xd1, 0x0c},
00305 {0xd2, 0x84},
00306 {0xd3, 0x90},
00307 {0xd4, 0x1e},
00308
00309 {0x5a, 0x24},
00310 {0x5b, 0x1f},
00311 {0x5c, 0x88},
00312 {0x5d, 0x60},
00313
00314 {0xac, 0x6e},
00315 {0xbe, 0xff},
00316 {0xbf, 0x00},
00317
00318
00319
00320 {0x31, 0x50},
00321 {0x32, 0x78},
00322 {0x82, 0x3f},
00323
00324 {0x0f ,0x1d},
00325 {0x0f ,0x1f},
00326 {0xFF, 0xFF}
00327
00328 };
00329
00330 const sensorOutput_t ov7740_output_vga =
00331 {0, VGA, YUV_422_8_BIT, 1, 640, 480, ov7740_yuv_vga};
00332
00333 const sensorOutput_t ov7740_output_qvga =
00334 {0, QVGA, YUV_422_8_BIT, 1, 320, 240, ov7740_qvga_yuv};
00335
00336 extern const sensorProfile_t ov7740Profile =
00337 {
00338 SENSOR_COMS,
00339 SENSOR_TWI_REG_BYTE_DATA_BYTE,
00340 OV7740_SLAVE_ADDRESS,
00341 OV7740_PIDH_ADDRESS,
00342 OV7740_PIDL_ADDRESS,
00343 OV7740_PIDH,
00344 OV7740_PIDL,
00345 OV7740_PID_VER_MASK,
00346 &ov7740_output_vga,
00347 &ov7740_output_qvga,
00348 0,
00349 0,
00350 0,
00351 0,
00352 0
00353 };