求助,谁能给个ov7670的初始化参数
我的用的ov7670资料上的参数,图像显示偏暗 这个好像有问题,不过不能缺定是硬件问题还是配置问题always @ *
case (byte_cnt)
// OV7670 : VGA RGB565
0 : conf_data = 16'h3a04; //00:YUYV, 01:YVYU, 10:UYVY, 11:VYUY(CbYCrY)
1 : conf_data = 16'h40d0; //RGB565, 00-FF, RGB565(YUV下要改)
2 : conf_data = 16'h1204; //复位,VGA,RGB565 (80:YUV无彩条,82:YUV彩条,84:RGB无彩条,86:RGB彩条)
3 : conf_data = 16'h32b6; //HREF 控制(80)
4 : conf_data = 16'h1713; //HSTART 输出格式-行频开始高8位(11)
5 : conf_data = 16'h1801; //HSTOP输出格式-行频结束高8位(61)
6 : conf_data = 16'h1902; //VSTART 输出格式-场频开始高8位(03)
7 : conf_data = 16'h1a7a; //VSTOP输出格式-场频结束高8位(7b)
8 : conf_data = 16'h030a; //VREF 帧竖直方向控制(00)
9 : conf_data = 16'h0c00; //DCW使能 禁止(00)
10 : conf_data = 16'h3e00; //PCLK分频00 Normal,10(1分频),11(2分频),12(4分频),13(8分频)14(16分频)
11 : conf_data = 16'h7000; //00:Normal, 80:移位1, 00:彩条, 80:渐变彩条
12 : conf_data = 16'h7100; //00:Normal, 00:移位1, 80:彩条, 80:渐变彩条
13 : conf_data = 16'h7211; //默认 水平,垂直8抽样(11)
14 : conf_data = 16'h7300; //DSP缩放时钟分频00 Normal,10(1分频),11(2分频),12(4分频),13(8分频)14(16分频)
15 : conf_data = 16'ha202; //默认 像素始终延迟 (02)
16 : conf_data = 16'h1180; //内部工作时钟设置,直接使用外部时钟源(80)
17 : conf_data = 16'h7a20;
18 : conf_data = 16'h7b1c;
19 : conf_data = 16'h7c28;
20 : conf_data = 16'h7d3c;
21 : conf_data = 16'h7e55;
22 : conf_data = 16'h7f68;
23 : conf_data = 16'h8076;
24 : conf_data = 16'h8180;
25 : conf_data = 16'h8288;
26 : conf_data = 16'h838f;
27 : conf_data = 16'h8496;
28 : conf_data = 16'h85a3;
29 : conf_data = 16'h86af;
30 : conf_data = 16'h87c4;
31 : conf_data = 16'h88d7;
32 : conf_data = 16'h89e8;
33 : conf_data = 16'h13e0;
34 : conf_data = 16'h0000;
35 : conf_data = 16'h1000;
36 : conf_data = 16'h0d00;
37 : conf_data = 16'h1428; //
38 : conf_data = 16'ha505;
39 : conf_data = 16'hab07;
40 : conf_data = 16'h2475;
41 : conf_data = 16'h2563;
42 : conf_data = 16'h26a5;
43 : conf_data = 16'h9f78;
44 : conf_data = 16'ha068;
45 : conf_data = 16'ha103;
46 : conf_data = 16'ha6df;
47 : conf_data = 16'ha7df;
48 : conf_data = 16'ha8f0;
49 : conf_data = 16'ha990;
50 : conf_data = 16'haa94;
51 : conf_data = 16'h13ef; //
52 : conf_data = 16'h0e61;
53 : conf_data = 16'h0f4b;
54 : conf_data = 16'h1602;
55 : conf_data = 16'h1e20; //默认01,Bit水平镜像,Bit竖直镜像
56 : conf_data = 16'h2102;
57 : conf_data = 16'h2291;
58 : conf_data = 16'h2907;
59 : conf_data = 16'h330b;
60 : conf_data = 16'h350b;
61 : conf_data = 16'h371d;
62 : conf_data = 16'h3871;
63 : conf_data = 16'h392a;
64 : conf_data = 16'h3c78;
65 : conf_data = 16'h4d40;
66 : conf_data = 16'h4e20;
67 : conf_data = 16'h6900;
68 : conf_data = 16'h6b00; //旁路PLL倍频;0x0A:关闭内部LDO;0x00:打开LDO
69 : conf_data = 16'h7419;
70 : conf_data = 16'h8d4f;
71 : conf_data = 16'h8e00;
72 : conf_data = 16'h8f00;
73 : conf_data = 16'h9000;
74 : conf_data = 16'h9100;
75 : conf_data = 16'h9200;
76 : conf_data = 16'h9600;
77 : conf_data = 16'h9a80;
78 : conf_data = 16'hb084;
79 : conf_data = 16'hb10c;
80 : conf_data = 16'hb20e;
81 : conf_data = 16'hb382;
82 : conf_data = 16'hb80a;
83 : conf_data = 16'h4314;
84 : conf_data = 16'h44f0;
85 : conf_data = 16'h4534;
86 : conf_data = 16'h4658;
87 : conf_data = 16'h4728;
88 : conf_data = 16'h483a;
89 : conf_data = 16'h5988;
90 : conf_data = 16'h5a88;
91 : conf_data = 16'h5b44;
92 : conf_data = 16'h5c67;
93 : conf_data = 16'h5d49;
94 : conf_data = 16'h5e0e;
95 : conf_data = 16'h6404;
96 : conf_data = 16'h6520;
97 : conf_data = 16'h6605;
98 : conf_data = 16'h9404;
99 : conf_data = 16'h9508;
100 : conf_data = 16'h6c0a;
101 : conf_data = 16'h6d55;
102 : conf_data = 16'h6e11;
103 : conf_data = 16'h6f9f;
104 : conf_data = 16'h6a40;
105 : conf_data = 16'h0140;
106 : conf_data = 16'h0240;
107 : conf_data = 16'h13e7;
108 : conf_data = 16'h1500;
109 : conf_data = 16'h4f80;
110 : conf_data = 16'h5080;
111 : conf_data = 16'h5100;
112 : conf_data = 16'h5222;
113 : conf_data = 16'h535e;
114 : conf_data = 16'h5480;
115 : conf_data = 16'h589e;
116 : conf_data = 16'h4108;
117 : conf_data = 16'h3f00;
118 : conf_data = 16'h7505;
119 : conf_data = 16'h76e1;
120 : conf_data = 16'h4c00;
121 : conf_data = 16'h7701;
122 : conf_data = 16'h3dc2;
123 : conf_data = 16'h4b09;
124 : conf_data = 16'hc960;
125 : conf_data = 16'h4138;
126 : conf_data = 16'h5640;
127 : conf_data = 16'h3411;
128 : conf_data = 16'h3b02;
129 : conf_data = 16'ha489;
130 : conf_data = 16'h9600;
131 : conf_data = 16'h9730;
132 : conf_data = 16'h9820;
133 : conf_data = 16'h9930;
134 : conf_data = 16'h9a84;
135 : conf_data = 16'h9b29;
136 : conf_data = 16'h9c03;
137 : conf_data = 16'h9d4c;
138 : conf_data = 16'h9e3f;
139 : conf_data = 16'h7804;
140 : conf_data = 16'h7901;
141 : conf_data = 16'hc8f0;
142 : conf_data = 16'h790f;
143 : conf_data = 16'hc800;
144 : conf_data = 16'h7910;
145 : conf_data = 16'hc87e;
146 : conf_data = 16'h790a;
147 : conf_data = 16'hc880;
148 : conf_data = 16'h790b;
149 : conf_data = 16'hc801;
150 : conf_data = 16'h790c;
151 : conf_data = 16'hc80f;
152 : conf_data = 16'h790d;
153 : conf_data = 16'hc820;
154 : conf_data = 16'h7909;
155 : conf_data = 16'hc880;
156 : conf_data = 16'h7902;
157 : conf_data = 16'hc8c0;
158 : conf_data = 16'h7903;
159 : conf_data = 16'hc840;
160 : conf_data = 16'h7905;
161 : conf_data = 16'hc830;
162 : conf_data = 16'h7926;
163 : conf_data = 16'h0903;
164 : conf_data = 16'h3b42;
default: conf_data=16'hffff;
endcase
曝光值怎么调呢?有没有人指点一下? gerpayt 发表于 2013-5-18 08:24 static/image/common/back.gif
这个好像有问题,不过不能缺定是硬件问题还是配置问题
always @ *
case (byte_cnt)
谢谢啦 Zoiphy 发表于 2013-5-18 15:53 static/image/common/back.gif
曝光值怎么调呢?有没有人指点一下?
04,07,10这三个寄存器是曝光值的,不过我调高了图像就白,低了就暗,整体颜色发黄 这样啊... SET_OV7670 + 0 : LUT_DATA = 16'h3a04; //16'h3a04
SET_OV7670 + 1 : LUT_DATA = 16'h40d0;
SET_OV7670 + 2 : LUT_DATA = 16'h1204; //输出格式—QVGA 输出格式—RGB {COM7, COM7}={1,0} RGBCOM7=1 该设计使得一帧图像只采集240行(相当于只采集奇场,看时序图
SET_OV7670 + 3 : LUT_DATA = 16'h32b6; //16'h32b6
SET_OV7670 + 4 : LUT_DATA = 16'h1713; //
SET_OV7670 + 5 : LUT_DATA = 16'h1801; //
SET_OV7670 + 6 : LUT_DATA = 16'h1902; //
SET_OV7670 + 7 : LUT_DATA = 16'h1a7a; //
SET_OV7670 + 8 : LUT_DATA = 16'h030a; //
SET_OV7670 + 9 : LUT_DATA = 16'h0c00;
SET_OV7670 + 10 : LUT_DATA = 16'h3e00;
SET_OV7670 + 11 : LUT_DATA = 16'h7000; //00:Normal, 80:移位1, 00:彩条, 80:渐变彩条
SET_OV7670 + 12 : LUT_DATA = 16'h7181; //00:Normal, 00:移位1, 80:彩条, 80:渐变彩条
SET_OV7670 + 13 : LUT_DATA = 16'h7211;
SET_OV7670 + 14 : LUT_DATA = 16'h7300;
SET_OV7670 + 15 : LUT_DATA = 16'ha202;
SET_OV7670 + 16 : LUT_DATA = 16'h1180; //F(内部时钟)=F(输入时钟)/(bit+1)range :
SET_OV7670 + 17 : LUT_DATA = 16'h7a20;
SET_OV7670 + 18 : LUT_DATA = 16'h7b1c;
SET_OV7670 + 19 : LUT_DATA = 16'h7c28;
SET_OV7670 + 20 : LUT_DATA = 16'h7d3c;
SET_OV7670 + 21 : LUT_DATA = 16'h7e55;
SET_OV7670 + 22 : LUT_DATA = 16'h7f68;
SET_OV7670 + 23 : LUT_DATA = 16'h8076;
SET_OV7670 + 24 : LUT_DATA = 16'h8180;
SET_OV7670 + 25 : LUT_DATA = 16'h8288;
SET_OV7670 + 26 : LUT_DATA = 16'h838f;
SET_OV7670 + 27 : LUT_DATA = 16'h8496;
SET_OV7670 + 28 : LUT_DATA = 16'h85a3;
SET_OV7670 + 29 : LUT_DATA = 16'h86af;
SET_OV7670 + 30 : LUT_DATA = 16'h87c4;
SET_OV7670 + 31 : LUT_DATA = 16'h88d7;
SET_OV7670 + 32 : LUT_DATA = 16'h89e8;
SET_OV7670 + 33 : LUT_DATA = 16'h13e7;//白平衡8'he5手动调整增使能8'he7自动调整使能
SET_OV7670 + 34 : LUT_DATA = 16'h0000;
SET_OV7670 + 35 : LUT_DATA = 16'h1000;
SET_OV7670 + 36 : LUT_DATA = 16'h0d00;
SET_OV7670 + 37 : LUT_DATA = 16'h1428; //
SET_OV7670 + 38 : LUT_DATA = 16'ha505;
SET_OV7670 + 39 : LUT_DATA = 16'hab07;
SET_OV7670 + 40 : LUT_DATA = 16'h2475;
SET_OV7670 + 41 : LUT_DATA = 16'h2563;
SET_OV7670 + 42 : LUT_DATA = 16'h26a5;
SET_OV7670 + 43 : LUT_DATA = 16'h9f78;
SET_OV7670 + 44 : LUT_DATA = 16'ha068;
SET_OV7670 + 45 : LUT_DATA = 16'ha103;
SET_OV7670 + 46 : LUT_DATA = 16'ha6df;
SET_OV7670 + 47 : LUT_DATA = 16'ha7df;
SET_OV7670 + 48 : LUT_DATA = 16'ha8f0;
SET_OV7670 + 49 : LUT_DATA = 16'ha990;
SET_OV7670 + 50 : LUT_DATA = 16'haa94;
// SET_OV7670 + 51 : LUT_DATA = 16'h13ef; //
SET_OV7670 + 52 : LUT_DATA = 16'h0e61;
SET_OV7670 + 53 : LUT_DATA = 16'h0f4b;
SET_OV7670 + 54 : LUT_DATA = 16'h1602;
SET_OV7670 + 51 : LUT_DATA = 16'h1e01;//======16'h1e37
SET_OV7670 + 55 : LUT_DATA = 16'h5501;//亮度
SET_OV7670 + 56 : LUT_DATA = 16'h2102;
SET_OV7670 + 57 : LUT_DATA = 16'h2291;
SET_OV7670 + 58 : LUT_DATA = 16'h2907;
SET_OV7670 + 59 : LUT_DATA = 16'h330b;
SET_OV7670 + 60 : LUT_DATA = 16'h350b;
SET_OV7670 + 61 : LUT_DATA = 16'h371d;
SET_OV7670 + 62 : LUT_DATA = 16'h3871;
SET_OV7670 + 63 : LUT_DATA = 16'h392a;
SET_OV7670 + 64 : LUT_DATA = 16'h3c78;
SET_OV7670 + 65 : LUT_DATA = 16'h4d40;
SET_OV7670 + 66 : LUT_DATA = 16'h4e20;
SET_OV7670 + 67 : LUT_DATA = 16'h6900;
// SET_OV7670 + 68 : LUT_DATA = 16'h6b60;//========16'h6b60;
SET_OV7670 + 69 : LUT_DATA = 16'h7419;
SET_OV7670 + 70 : LUT_DATA = 16'h8d4f;
SET_OV7670 + 71 : LUT_DATA = 16'h8e00;
SET_OV7670 + 72 : LUT_DATA = 16'h8f00;
SET_OV7670 + 73 : LUT_DATA = 16'h9000;
SET_OV7670 + 74 : LUT_DATA = 16'h9100;
SET_OV7670 + 75 : LUT_DATA = 16'h9200;
SET_OV7670 + 76 : LUT_DATA = 16'h9600;
SET_OV7670 + 77 : LUT_DATA = 16'h9a80;
SET_OV7670 + 78 : LUT_DATA = 16'hb084;
SET_OV7670 + 79 : LUT_DATA = 16'hb10c;
SET_OV7670 + 80 : LUT_DATA = 16'hb20e;
SET_OV7670 + 81 : LUT_DATA = 16'hb382;
SET_OV7670 + 82 : LUT_DATA = 16'hb80a;
SET_OV7670 + 83: LUT_DATA = 16'h4314;
SET_OV7670 + 84: LUT_DATA = 16'h44f0;
SET_OV7670 + 85: LUT_DATA = 16'h4534;
SET_OV7670 + 86: LUT_DATA = 16'h4658;
SET_OV7670 + 87: LUT_DATA = 16'h4728;
SET_OV7670 + 88: LUT_DATA = 16'h483a;
SET_OV7670 + 89: LUT_DATA = 16'h5988;
SET_OV7670 + 90: LUT_DATA = 16'h5a88;
SET_OV7670 + 91: LUT_DATA = 16'h5b44;
SET_OV7670 + 92: LUT_DATA = 16'h5c67;
SET_OV7670 + 93: LUT_DATA = 16'h5d49;
SET_OV7670 + 94: LUT_DATA = 16'h5e0e;
SET_OV7670 + 95: LUT_DATA = 16'h6404;//镜头补偿选项3
SET_OV7670 + 96: LUT_DATA = 16'h6520;//镜头补偿选项4
SET_OV7670 + 97: LUT_DATA = 16'h6605;//位:镜头补偿选择 1:R,G和B通道
SET_OV7670 + 98: LUT_DATA = 16'h9404;//(在LCC5=1 有效) R通道镜头补偿
SET_OV7670 + 99: LUT_DATA = 16'h9508;//(在LCC5=1 有效) B通道镜头补偿
SET_OV7670 + 100 : LUT_DATA = 16'h6c0a;//
SET_OV7670 + 101 : LUT_DATA = 16'h6d55;//
SET_OV7670 + 102 : LUT_DATA = 16'h6e11;//
SET_OV7670 + 103 : LUT_DATA = 16'h6f9f;
SET_OV7670 + 104 : LUT_DATA = 16'h6a40;
SET_OV7670 + 105 : LUT_DATA = 16'h0140;
SET_OV7670 + 106 : LUT_DATA = 16'h0240;
SET_OV7670 + 107 : LUT_DATA = 16'h13e7;
SET_OV7670 + 108 : LUT_DATA = 16'h1500;
SET_OV7670 + 109 : LUT_DATA = 16'h4f80;
SET_OV7670 + 110 : LUT_DATA = 16'h5080;
SET_OV7670 + 111 : LUT_DATA = 16'h5100;
SET_OV7670 + 112 : LUT_DATA = 16'h5222;
SET_OV7670 + 113 : LUT_DATA = 16'h535e;
SET_OV7670 + 114 : LUT_DATA = 16'h5480;
SET_OV7670 + 115 : LUT_DATA = 16'h589e;
SET_OV7670 + 116 : LUT_DATA = 16'h4108;
SET_OV7670 + 117 : LUT_DATA = 16'h3f00;
SET_OV7670 + 118 : LUT_DATA = 16'h7505;
SET_OV7670 + 119 : LUT_DATA = 16'h76e1;
SET_OV7670 + 120 : LUT_DATA = 16'h4c00;
SET_OV7670 + 121 : LUT_DATA = 16'h7701;
SET_OV7670 + 122 : LUT_DATA = 16'h3dc2;
SET_OV7670 + 123 : LUT_DATA = 16'h4b09;
SET_OV7670 + 124 : LUT_DATA = 16'hc960;
SET_OV7670 + 125 : LUT_DATA = 16'h4138;
SET_OV7670 + 126 : LUT_DATA = 16'h5680;// 对比度,原值40
SET_OV7670 + 127 : LUT_DATA = 16'h3411;
SET_OV7670 + 128 : LUT_DATA = 16'h3b02;
SET_OV7670 + 129 : LUT_DATA = 16'ha489;//
SET_OV7670 + 130 : LUT_DATA = 16'h9600;
SET_OV7670 + 131 : LUT_DATA = 16'h9730;
SET_OV7670 + 132 : LUT_DATA = 16'h9820;
SET_OV7670 + 133 : LUT_DATA = 16'h9930;
SET_OV7670 + 134 : LUT_DATA = 16'h9a84;
SET_OV7670 + 135 : LUT_DATA = 16'h9b29;
SET_OV7670 + 136 : LUT_DATA = 16'h9c03;
SET_OV7670 + 137 : LUT_DATA = 16'h9d4c;
SET_OV7670 + 138 : LUT_DATA = 16'h9e3f;
SET_OV7670 + 139 : LUT_DATA = 16'h7804;
SET_OV7670 + 140 : LUT_DATA = 16'h7901;
SET_OV7670 + 141 : LUT_DATA = 16'hc8f0;
SET_OV7670 + 142 : LUT_DATA = 16'h790f;
SET_OV7670 + 143 : LUT_DATA = 16'hc800;
SET_OV7670 + 144 : LUT_DATA = 16'h7910;
SET_OV7670 + 145 : LUT_DATA = 16'hc87e;
SET_OV7670 + 146 : LUT_DATA = 16'h790a;
SET_OV7670 + 147 : LUT_DATA = 16'hc880;
SET_OV7670 + 148 : LUT_DATA = 16'h790b;
SET_OV7670 + 149 : LUT_DATA = 16'hc801;
SET_OV7670 + 150 : LUT_DATA = 16'h790c;
SET_OV7670 + 151 : LUT_DATA = 16'hc80f;
SET_OV7670 + 152 : LUT_DATA = 16'h790d;
SET_OV7670 + 153 : LUT_DATA = 16'hc820;
SET_OV7670 + 154 : LUT_DATA = 16'h7909;
SET_OV7670 + 155 : LUT_DATA = 16'hc880;
SET_OV7670 + 156 : LUT_DATA = 16'h7902;
SET_OV7670 + 157 : LUT_DATA = 16'hc8c0;
SET_OV7670 + 158 : LUT_DATA = 16'h7903;
SET_OV7670 + 159 : LUT_DATA = 16'hc840;
SET_OV7670 + 160 : LUT_DATA = 16'h7905;
SET_OV7670 + 161 : LUT_DATA = 16'hc830;
SET_OV7670 + 162 : LUT_DATA = 16'h7926;
SET_OV7670 + 163 : LUT_DATA = 16'h0903;
SET_OV7670 + 164 : LUT_DATA = 16'h3b42; ov7670测试彩条显示的正常,图像显示有点灰暗,颜色很淡,请问是哪个寄存器配置的有问题?寄存器配置如下
SET_OV7670 + 0 : LUT_DATA = 16'h3a04; //16'h3a04
SET_OV7670 + 1 : LUT_DATA = 16'h40d0;
SET_OV7670 + 2 : LUT_DATA = 16'h1204; //输出格式—QVGA 输出格式—RGB {COM7, COM7}={1,0} RGBCOM7=1 该设计使得一帧图像只采集240行(相当于只采集奇场,看时序图
SET_OV7670 + 3 : LUT_DATA = 16'h32b6; //16'h32b6
SET_OV7670 + 4 : LUT_DATA = 16'h1713; //
SET_OV7670 + 5 : LUT_DATA = 16'h1801; //
SET_OV7670 + 6 : LUT_DATA = 16'h1902; //
SET_OV7670 + 7 : LUT_DATA = 16'h1a7a; //
SET_OV7670 + 8 : LUT_DATA = 16'h030a; //
SET_OV7670 + 9 : LUT_DATA = 16'h0c00;
SET_OV7670 + 10 : LUT_DATA = 16'h3e00;
SET_OV7670 + 11 : LUT_DATA = 16'h7000; //00:Normal, 80:移位1, 00:彩条, 80:渐变彩条
SET_OV7670 + 12 : LUT_DATA = 16'h7101; //00:Normal, 00:移位1, 80:彩条, 80:渐变彩条
SET_OV7670 + 13 : LUT_DATA = 16'h7211;
SET_OV7670 + 14 : LUT_DATA = 16'h7300;
SET_OV7670 + 15 : LUT_DATA = 16'ha202;
SET_OV7670 + 16 : LUT_DATA = 16'h1180; //F(内部时钟)=F(输入时钟)/(bit+1)range :
SET_OV7670 + 17 : LUT_DATA = 16'h7a20;
SET_OV7670 + 18 : LUT_DATA = 16'h7b1c;
SET_OV7670 + 19 : LUT_DATA = 16'h7c28;
SET_OV7670 + 20 : LUT_DATA = 16'h7d3c;
SET_OV7670 + 21 : LUT_DATA = 16'h7e55;
SET_OV7670 + 22 : LUT_DATA = 16'h7f68;
SET_OV7670 + 23 : LUT_DATA = 16'h8076;
SET_OV7670 + 24 : LUT_DATA = 16'h8180;
SET_OV7670 + 25 : LUT_DATA = 16'h8288;
SET_OV7670 + 26 : LUT_DATA = 16'h838f;
SET_OV7670 + 27 : LUT_DATA = 16'h8496;
SET_OV7670 + 28 : LUT_DATA = 16'h85a3;
SET_OV7670 + 29 : LUT_DATA = 16'h86af;
SET_OV7670 + 30 : LUT_DATA = 16'h87c4;
SET_OV7670 + 31 : LUT_DATA = 16'h88d7;
SET_OV7670 + 32 : LUT_DATA = 16'h89e8;
SET_OV7670 + 33 : LUT_DATA = 16'h13e7;//白平衡8'he5手动调整增使能8'he7自动调整使能
SET_OV7670 + 34 : LUT_DATA = 16'h0000;
SET_OV7670 + 35 : LUT_DATA = 16'h1000;
SET_OV7670 + 36 : LUT_DATA = 16'h0d00;
SET_OV7670 + 37 : LUT_DATA = 16'h1428; //
SET_OV7670 + 38 : LUT_DATA = 16'ha505;
SET_OV7670 + 39 : LUT_DATA = 16'hab07;
SET_OV7670 + 40 : LUT_DATA = 16'h2475;
SET_OV7670 + 41 : LUT_DATA = 16'h2563;
SET_OV7670 + 42 : LUT_DATA = 16'h26a5;
SET_OV7670 + 43 : LUT_DATA = 16'h9f78;
SET_OV7670 + 44 : LUT_DATA = 16'ha068;
SET_OV7670 + 45 : LUT_DATA = 16'ha103;
SET_OV7670 + 46 : LUT_DATA = 16'ha6df;
SET_OV7670 + 47 : LUT_DATA = 16'ha7df;
SET_OV7670 + 48 : LUT_DATA = 16'ha8f0;
SET_OV7670 + 49 : LUT_DATA = 16'ha990;
SET_OV7670 + 50 : LUT_DATA = 16'haa94;
// SET_OV7670 + 51 : LUT_DATA = 16'h13ef; //
SET_OV7670 + 52 : LUT_DATA = 16'h0e61;
SET_OV7670 + 53 : LUT_DATA = 16'h0f4b;
SET_OV7670 + 54 : LUT_DATA = 16'h1602;
SET_OV7670 + 51 : LUT_DATA = 16'h1e01;//======16'h1e37
SET_OV7670 + 55 : LUT_DATA = 16'h5501;//亮度
SET_OV7670 + 56 : LUT_DATA = 16'h2102;
SET_OV7670 + 57 : LUT_DATA = 16'h2291;
SET_OV7670 + 58 : LUT_DATA = 16'h2907;
SET_OV7670 + 59 : LUT_DATA = 16'h330b;
SET_OV7670 + 60 : LUT_DATA = 16'h350b;
SET_OV7670 + 61 : LUT_DATA = 16'h371d;
SET_OV7670 + 62 : LUT_DATA = 16'h3871;
SET_OV7670 + 63 : LUT_DATA = 16'h392a;
SET_OV7670 + 64 : LUT_DATA = 16'h3c78;
SET_OV7670 + 65 : LUT_DATA = 16'h4d40;
SET_OV7670 + 66 : LUT_DATA = 16'h4e20;
SET_OV7670 + 67 : LUT_DATA = 16'h6900;
// SET_OV7670 + 68 : LUT_DATA = 16'h6b60;//========16'h6b60;
SET_OV7670 + 69 : LUT_DATA = 16'h7419;
SET_OV7670 + 70 : LUT_DATA = 16'h8d4f;
SET_OV7670 + 71 : LUT_DATA = 16'h8e00;
SET_OV7670 + 72 : LUT_DATA = 16'h8f00;
SET_OV7670 + 73 : LUT_DATA = 16'h9000;
SET_OV7670 + 74 : LUT_DATA = 16'h9100;
SET_OV7670 + 75 : LUT_DATA = 16'h9200;
SET_OV7670 + 76 : LUT_DATA = 16'h9600;
SET_OV7670 + 77 : LUT_DATA = 16'h9a80;
SET_OV7670 + 78 : LUT_DATA = 16'hb084;
SET_OV7670 + 79 : LUT_DATA = 16'hb10c;
SET_OV7670 + 80 : LUT_DATA = 16'hb20e;
SET_OV7670 + 81 : LUT_DATA = 16'hb382;
SET_OV7670 + 82 : LUT_DATA = 16'hb80a;
SET_OV7670 + 83: LUT_DATA = 16'h4314;
SET_OV7670 + 84: LUT_DATA = 16'h44f0;
SET_OV7670 + 85: LUT_DATA = 16'h4534;
SET_OV7670 + 86: LUT_DATA = 16'h4658;
SET_OV7670 + 87: LUT_DATA = 16'h4728;
SET_OV7670 + 88: LUT_DATA = 16'h483a;
SET_OV7670 + 89: LUT_DATA = 16'h5988;
SET_OV7670 + 90: LUT_DATA = 16'h5a88;
SET_OV7670 + 91: LUT_DATA = 16'h5b44;
SET_OV7670 + 92: LUT_DATA = 16'h5c67;
SET_OV7670 + 93: LUT_DATA = 16'h5d49;
SET_OV7670 + 94: LUT_DATA = 16'h5e0e;
SET_OV7670 + 95: LUT_DATA = 16'h6404;//镜头补偿选项3
SET_OV7670 + 96: LUT_DATA = 16'h6520;//镜头补偿选项4
SET_OV7670 + 97: LUT_DATA = 16'h6605;//位:镜头补偿选择 1:R,G和B通道
SET_OV7670 + 98: LUT_DATA = 16'h9404;//(在LCC5=1 有效) R通道镜头补偿
SET_OV7670 + 99: LUT_DATA = 16'h9508;//(在LCC5=1 有效) B通道镜头补偿
SET_OV7670 + 100 : LUT_DATA = 16'h6c0a;//
SET_OV7670 + 101 : LUT_DATA = 16'h6d55;//
SET_OV7670 + 102 : LUT_DATA = 16'h6e11;//
SET_OV7670 + 103 : LUT_DATA = 16'h6f9f;
SET_OV7670 + 104 : LUT_DATA = 16'h6a40;
SET_OV7670 + 105 : LUT_DATA = 16'h0140;
SET_OV7670 + 106 : LUT_DATA = 16'h0240;
SET_OV7670 + 107 : LUT_DATA = 16'h13e7;
SET_OV7670 + 108 : LUT_DATA = 16'h1500;
SET_OV7670 + 109 : LUT_DATA = 16'h4f80;
SET_OV7670 + 110 : LUT_DATA = 16'h5080;
SET_OV7670 + 111 : LUT_DATA = 16'h5100;
SET_OV7670 + 112 : LUT_DATA = 16'h5222;
SET_OV7670 + 113 : LUT_DATA = 16'h535e;
SET_OV7670 + 114 : LUT_DATA = 16'h5480;
SET_OV7670 + 115 : LUT_DATA = 16'h589e;
SET_OV7670 + 116 : LUT_DATA = 16'h4108;
SET_OV7670 + 117 : LUT_DATA = 16'h3f00;
SET_OV7670 + 118 : LUT_DATA = 16'h7505;
SET_OV7670 + 119 : LUT_DATA = 16'h76e1;
SET_OV7670 + 120 : LUT_DATA = 16'h4c00;
SET_OV7670 + 121 : LUT_DATA = 16'h7701;
SET_OV7670 + 122 : LUT_DATA = 16'h3dc2;
SET_OV7670 + 123 : LUT_DATA = 16'h4b09;
SET_OV7670 + 124 : LUT_DATA = 16'hc960;
SET_OV7670 + 125 : LUT_DATA = 16'h4138;
SET_OV7670 + 126 : LUT_DATA = 16'h5680;// 对比度,原值40
SET_OV7670 + 127 : LUT_DATA = 16'h3411;
SET_OV7670 + 128 : LUT_DATA = 16'h3b02;
SET_OV7670 + 129 : LUT_DATA = 16'ha489;//
SET_OV7670 + 130 : LUT_DATA = 16'h9600;
SET_OV7670 + 131 : LUT_DATA = 16'h9730;
SET_OV7670 + 132 : LUT_DATA = 16'h9820;
SET_OV7670 + 133 : LUT_DATA = 16'h9930;
SET_OV7670 + 134 : LUT_DATA = 16'h9a84;
SET_OV7670 + 135 : LUT_DATA = 16'h9b29;
SET_OV7670 + 136 : LUT_DATA = 16'h9c03;
SET_OV7670 + 137 : LUT_DATA = 16'h9d4c;
SET_OV7670 + 138 : LUT_DATA = 16'h9e3f;
SET_OV7670 + 139 : LUT_DATA = 16'h7804;
SET_OV7670 + 140 : LUT_DATA = 16'h7901;
SET_OV7670 + 141 : LUT_DATA = 16'hc8f0;
SET_OV7670 + 142 : LUT_DATA = 16'h790f;
SET_OV7670 + 143 : LUT_DATA = 16'hc800;
SET_OV7670 + 144 : LUT_DATA = 16'h7910;
SET_OV7670 + 145 : LUT_DATA = 16'hc87e;
SET_OV7670 + 146 : LUT_DATA = 16'h790a;
SET_OV7670 + 147 : LUT_DATA = 16'hc880;
SET_OV7670 + 148 : LUT_DATA = 16'h790b;
SET_OV7670 + 149 : LUT_DATA = 16'hc801;
SET_OV7670 + 150 : LUT_DATA = 16'h790c;
SET_OV7670 + 151 : LUT_DATA = 16'hc80f;
SET_OV7670 + 152 : LUT_DATA = 16'h790d;
SET_OV7670 + 153 : LUT_DATA = 16'hc820;
SET_OV7670 + 154 : LUT_DATA = 16'h7909;
SET_OV7670 + 155 : LUT_DATA = 16'hc880;
SET_OV7670 + 156 : LUT_DATA = 16'h7902;
SET_OV7670 + 157 : LUT_DATA = 16'hc8c0;
SET_OV7670 + 158 : LUT_DATA = 16'h7903;
SET_OV7670 + 159 : LUT_DATA = 16'hc840;
SET_OV7670 + 160 : LUT_DATA = 16'h7905;
SET_OV7670 + 161 : LUT_DATA = 16'hc830;
SET_OV7670 + 162 : LUT_DATA = 16'h7926;
SET_OV7670 + 163 : LUT_DATA = 16'h0903;
SET_OV7670 + 164 : LUT_DATA = 16'h3b42; 我这有C 语言的,不支持上传C文件,源码就贴出来
#include "SCCB.h"
#include "delay.h"
////////////////////////////
//功能:写OV7670寄存器
//返回:1-成功 0-失败
#define CHANGE_REG_NUM 173
unsigned char change_reg=
{
{0x3a, 0x04},
{0x40, 0xd0},
{0x12, 0x14},
{0x32, 0x80},
{0x17, 0x16},
{0x18, 0x04},
{0x19, 0x02},
{0x1a, 0x7b},//0x7a,
{0x03, 0x06},//0x0a,
{0x0c, 0x38},
{0x3e, 0x00},//
{0x70, 0x00},
{0x71, 0x00},
{0x72, 0x11},
{0x73, 0x00},//
{0xa2, 0x02},
{0x11, 0x01},
{0x7a, 0x20},
{0x7b, 0x1c},
{0x7c, 0x28},
{0x7d, 0x3c},
{0x7e, 0x55},
{0x7f, 0x68},
{0x80, 0x76},
{0x81, 0x80},
{0x82, 0x88},
{0x83, 0x8f},
{0x84, 0x96},
{0x85, 0xa3},
{0x86, 0xaf},
{0x87, 0xc4},
{0x88, 0xd7},
{0x89, 0xe8},
{0x13, 0x8f}, //0xe0},
{0x00, 0x00},//AGC
{0x10, 0x00},
{0x0d, 0x00},
{0x14, 0x10},//0x38, limit the max gain
{0xa5, 0x05},
{0xab, 0x07},
{0x24, 0x75},
{0x25, 0x63},
{0x26, 0xA5},
{0x9f, 0x78},
{0xa0, 0x68},
{0xa1, 0x03},//0x0b,
{0xa6, 0xdf},//0xd8,
{0xa7, 0xdf},//0xd8,
{0xa8, 0xf0},
{0xa9, 0x90},
{0xaa, 0x94},
{0x13, 0xe5},
{0x0e, 0x61},
{0x0f, 0x4b},
{0x16, 0x02},
{0x1e, 0x07},//0x07,
{0x21, 0x02},
{0x22, 0x91},
{0x29, 0x07},
{0x33, 0x0b},
{0x35, 0x0b},
{0x37, 0x1d},
{0x38, 0x71},
{0x39, 0x2a},//
{0x3c, 0x00},
{0x4d, 0x40},
{0x4e, 0x20},
{0x69, 0x0c},///////////////////////
{0x6b, 0x40},//PLL
{0x74, 0x19},
{0x8d, 0x4f},
{0x8e, 0x00},
{0x8f, 0x00},
{0x90, 0x00},
{0x91, 0x00},
{0x92, 0x00},//0x19,//0x66
{0x96, 0x00},
{0x9a, 0x80},
{0xb0, 0x84},
{0xb1, 0x0c},
{0xb2, 0x0e},
{0xb3, 0x82},
{0xb8, 0x0a},
{0x43, 0x14},
{0x44, 0xf0},
{0x45, 0x34},
{0x46, 0x58},
{0x47, 0x28},
{0x48, 0x3a},
{0x59, 0x88},
{0x5a, 0x88},
{0x5b, 0x44},
{0x5c, 0x67},
{0x5d, 0x49},
{0x5e, 0x0e},
{0x64, 0x04},
{0x65, 0x20},
{0x66, 0x05},
{0x94, 0x04},
{0x95, 0x08},
{0x6c, 0x0a},
{0x6d, 0x55},
{0x6e, 0x11},
{0x6f, 0x9f},//0x9e for advance AWB
{0x6a, 0x40},
{0x01, 0x40},
{0x02, 0x40},
{0x13, 0xe7},
{0x15, 0x00},
{0x4f, 0x80},
{0x50, 0x80},
{0x51, 0x00},
{0x52, 0x22},
{0x53, 0x5e},
{0x54, 0x80},
{0x58, 0x9e},
{0x41, 0x08},
{0x3f, 0x00},
{0x75, 0x05},
{0x76, 0xc5},
{0x4c, 0x00},
{0x77, 0x01},
{0x3d, 0xc2}, //0xc0,
{0x4b, 0x09},
{0xc9, 0x60},
{0x41, 0x38},
{0x56, 0x40},//0x40,change according to Jim's request
{0x34, 0x11},
{0x3b, 0x02},//0x00,//0x02,
{0xa4, 0x89},//0x88,
{0x96, 0x00},
{0x97, 0x30},
{0x98, 0x20},
{0x99, 0x30},
{0x9a, 0x84},
{0x9b, 0x29},
{0x9c, 0x03},
{0x9d, 0x4c},
{0x9e, 0x3f},
{0x78, 0x04},
{0x79, 0x01},
{0xc8, 0xf0},
{0x79, 0x0f},
{0xc8, 0x00},
{0x79, 0x10},
{0xc8, 0x7e},
{0x79, 0x0a},
{0xc8, 0x80},
{0x79, 0x0b},
{0xc8, 0x01},
{0x79, 0x0c},
{0xc8, 0x0f},
{0x79, 0x0d},
{0xc8, 0x20},
{0x79, 0x09},
{0xc8, 0x80},
{0x79, 0x02},
{0xc8, 0xc0},
{0x79, 0x03},
{0xc8, 0x40},
{0x79, 0x05},
{0xc8, 0x30},
{0x79, 0x26},
{0x09, 0x03},
{0x55, 0x00},
{0x56, 0x40},
{0x3b, 0x42},//0x82,//0xc0,//0xc2,//night mode
};
unsigned char wrOV7670Reg(unsigned char regID, unsigned char regDat)
{
startSCCB();
if(0==SCCBwriteByte(0x42))
{
stopSCCB();
return(0);
}
delay_us(100);
if(0==SCCBwriteByte(regID))
{
stopSCCB();
return(0);
}
delay_us(100);
if(0==SCCBwriteByte(regDat))
{
stopSCCB();
return(0);
}
stopSCCB();
return(1);
}
////////////////////////////
//功能:读OV7660寄存器
//返回:1-成功 0-失败
unsigned char rdOV7670Reg(unsigned char regID, unsigned char *regDat)
{
//通过写操作设置寄存器地址
startSCCB();
if(0==SCCBwriteByte(0x42))
{
stopSCCB();
return(0);
}
usleep(100);
if(0==SCCBwriteByte(regID))
{
stopSCCB();
return(0);
}
stopSCCB();
usleep(100);
//设置寄存器地址后,才是读
startSCCB();
if(0==SCCBwriteByte(0x42))
{
stopSCCB();
return(0);
}
usleep(100);
*regDat=SCCBreadByte();
noAck();
stopSCCB();
return(1);
}
//(140,16,640,480) is good for VGA
//(272,16,320,240) is good for QVGA
/* config_OV7660_window */
void OV7670_config_window(unsigned int startx,unsigned int starty,unsigned int width, unsigned int height)
{
unsigned int endx;
unsigned int endy;// "v*2"必须
unsigned int temp_reg1, temp_reg2;
unsigned char state,temp;
endx=(startx+width);
endy=(starty+height+height);// "v*2"必须
state = rdOV7670Reg(0x03, &temp_reg1 );
temp_reg1 &= 0xf0;
state = rdOV7670Reg(0x32, &temp_reg2 );
temp_reg2 &= 0xc0;
// Horizontal
temp = temp_reg2|((endx&0x7)<<3)|(startx&0x7);
state = wrOV7670Reg(0x32, temp );
temp = (startx&0x7F8)>>3;
state = wrOV7670Reg(0x17, temp );
temp = (endx&0x7F8)>>3;
state = wrOV7670Reg(0x18, temp );
// Vertical
temp = temp_reg1|((endy&0x3)<<2)|(starty&0x3);
state = wrOV7670Reg(0x03, temp );
temp = starty>>2;
state = wrOV7670Reg(0x19, temp );
temp = endy>>2;
state = wrOV7670Reg(0x1A, temp );
}
/* OV7660_init() */
//返回1成功,返回0失败
unsigned char OV7670_init(void)
{
unsigned char temp;
unsigned int i=0;
//uchar ovidmsb=0,ovidlsb=0;
// InitSCCB();//io init..
temp=0x80;
if(0==wrOV7670Reg(0x12, temp)) //Reset SCCB
{
return 0 ;
}
usleep(5000);
for(i=0;i<CHANGE_REG_NUM;i++)
{
if( 0==wrOV7670Reg(change_reg,change_reg))
{
return 0;
}
}
//OV7660_config_window(0,0,320,240);// set 240*320
// OV7670_config_window(272,16,320,240);// set 240*320
return 0x01; //ok
}
my87133521 发表于 2013-5-28 21:49 static/image/common/back.gif
ov7670测试彩条显示的正常,图像显示有点灰暗,颜色很淡,请问是哪个寄存器配置的有问题?寄存器配置如下
SET_ ...
楼主能否参照一下你的代码?我也再弄整ov7670,但没有整出来,希望能参照你的代码,邮箱:952705187@qq.com 谢谢! hyhezhen 发表于 2013-5-29 15:56 static/image/common/back.gif
我这有C 语言的,不支持上传C文件,源码就贴出来
谢谢啦,你这个参数图像正常是吧{:lol:} zjixxw 发表于 2013-5-29 20:50 static/image/common/back.gif
楼主能否参照一下你的代码?我也再弄整ov7670,但没有整出来,希望能参照你的代码,邮箱: 谢谢! ...
可以啊,不过要注重版权,呵呵,原版也不是我创作的 hyhezhen 发表于 2013-5-29 15:56 static/image/common/back.gif
我这有C 语言的,不支持上传C文件,源码就贴出来
79和c8这两个寄存器为什么要写那么多次,别且数值还不一样呢? 这是FPGA开发板上用的,
使用上面的设置,OV7670 可以正常工作,不过颜色不太鲜明,室内亮度也不是太好。
这代码也是从其他地方COPY来的。规格书上,0X79 和0XC8 都是RSVD, 不了解什么作用。
http://www.amobbs.com/thread-5488135-1-1.html 这里详细些 hyhezhen 发表于 2013-5-30 15:54 static/image/common/back.gif
这是FPGA开发板上用的,
使用上面的设置,OV7670 可以正常工作,不过颜色不太鲜明,室内亮度也不是太好。
...
那个帖子我看过了,也试过,怎么都改不好
今天才发现是硬件问题,我又重新焊了一次,颜色可以了
不过还有些问题,你看看图片帮我分析下哈
有木有可能是杜邦线的问题 hyhezhen 发表于 2013-5-30 15:54 static/image/common/back.gif
这是FPGA开发板上用的,
使用上面的设置,OV7670 可以正常工作,不过颜色不太鲜明,室内亮度也不是太好。
...
晕,忘了说问题了,就是茶杯和小人身上的绿斑,是什么情况 先查下硬件,尤其数据引脚 非常好的东西,先收下了 hyhezhen 发表于 2013-6-1 09:04先查下硬件,尤其数据引脚
已经确定是数据线问题了,下次做板子加入VGA模块就好了,不用杜邦线连接了 hyhezhen 发表于 2013-6-1 09:04先查下硬件,尤其数据引脚
远距离传输是怎么弄的,我的杜邦线就40cm都干扰这么大 sensor的连线肯定越短干扰越小
尝试弄过1米的FPC线,不行-----当然不是这个SENSOR
页:
[1]