国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CMOS攝像頭視頻采集控制器

2015-11-17 12:33:09惠為君
電腦知識(shí)與技術(shù) 2015年24期
關(guān)鍵詞:控制器

惠為君

摘要:介紹了OV7725原理、配置寄存器及SCCB時(shí)序。在此基礎(chǔ)上,基于FPGA實(shí)現(xiàn)了OV7725控制器設(shè)計(jì),給出了設(shè)計(jì)的代碼結(jié)構(gòu)。在QUARTUSII13.0平臺(tái)上完成了代碼設(shè)計(jì)和下載。結(jié)果表明,該設(shè)計(jì)是成功的。

關(guān)鍵詞:OV7725; VERILOG;FPGA;控制器

中圖分類號(hào):TN911 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào):1009-3044(2015)24-0130-02

The Sdram Controller Based of FPGA

HUI Wei-jun

(Yan Cheng institute of technology, Yancheng 224051,China)

Abstract: The principle 、configuration registers and SCCB time sequence are introduced in this paper. Based on this,the design of OV7725 controller based on FPGA is realized, the code structure of the design is given as well as. Design code is completed and downloaded on QUARTUSII13.0 platform. The results shows that the design is successful.

Key words: ov7725; verilog; FPGA ; controller

OV7725是豪威的一款CMOS攝像頭,具有成本低、靈敏度高等特點(diǎn),在視頻圖像采集系統(tǒng)中,得到廣泛應(yīng)用。目前,各種CMOS攝像頭雖然感光效果等有所差異,但是其開發(fā)流程差不多,就是通過對(duì)攝像頭寄存器的配置,使攝像頭按照配置參數(shù)要求采集視頻圖像。

OV7725一共有172個(gè)寄存器,用于工作模式的配置。由于寄存器眾多,配置參數(shù)需要通過SCCB總線傳輸。因此,有必要設(shè)計(jì)控制器實(shí)現(xiàn)OV7725的參數(shù)配置。

1 OV7725功能

通過SCCB協(xié)議,對(duì)OV7725配置。然后,在時(shí)鐘驅(qū)動(dòng)下,感光元件對(duì)圖像進(jìn)行采樣,采樣信號(hào)在12bit的A/D轉(zhuǎn)換后,通過DSP進(jìn)行相關(guān)圖像處理,輸出符合配置要求的10bit視頻數(shù)據(jù)。

2 OV7725配置寄存器

OV7725的配置寄存器有172個(gè)。在傳感器正常工作之前,這些寄存器必須進(jìn)行配置,否則,不能得到預(yù)期畫質(zhì)的圖像。當(dāng)然,這些寄存器中的大部分可以采用默認(rèn)值,不需要重新配置參數(shù)。

部分寄存器地址及描述如表 1所示。

這些寄存器的參數(shù)決定了視頻流的格式和畫質(zhì)。寄存器的配置順序是任意的,各個(gè)寄存器配置的先后順序?qū)Y(jié)果沒有影響。

3 SCCB協(xié)議

SCCB協(xié)議稱為串行相機(jī)控制總線,是I2C協(xié)議的簡(jiǎn)化版本。SCCB接口提供了兩條總線:一條串行數(shù)據(jù)總線SDA,一條時(shí)鐘總線SCL。SCCB不支持多字節(jié)讀寫。在SCCB讀周期,主機(jī)發(fā)送完寄存器地址后,必須發(fā)送總線停止條件。因此在Verilog實(shí)現(xiàn)SCCB時(shí)序時(shí)候,SCL引腳始終設(shè)為輸出方式,SCCB寫周期直接使用I2C的寫周期時(shí)序,讀周期要加一個(gè)總線停止條件。

圖1所示SCCB讀寫時(shí)序。其工作過程如下:

A.總線處于空閑狀態(tài),SCL和SDA都為高電平時(shí)。

B.空閑狀態(tài)下,SDA上電平被拉低,啟動(dòng)SCCB總線。

C.主機(jī)傳輸從機(jī)的7位地址和讀/寫控制信號(hào)

D.SDA上傳輸數(shù)據(jù)信號(hào)。SCL為高電平期間,SDA上電平保持穩(wěn)定,SCL為低電平期間,允許SDA狀態(tài)改變。

數(shù)據(jù)按位傳輸,和時(shí)鐘同步。數(shù)據(jù)為一個(gè)字節(jié),MSB在前,LSB在后。在LSB后面,主機(jī)釋放SDA,由從機(jī)發(fā)出應(yīng)答信號(hào)。

E.SCL高電平期間,SDA出現(xiàn)上升沿,一次數(shù)據(jù)傳輸停止。

4 OV7725配置查找表

設(shè)計(jì)模塊對(duì)寄存器配置。定義16BIT寄存器型向量config_data,根據(jù)地址取得各個(gè)寄存器的配置值,傳到SCCB協(xié)議總線控制器,實(shí)施對(duì)OV7725的配置。配置數(shù)據(jù)設(shè)計(jì)成用CASE語(yǔ)句實(shí)現(xiàn)的查找表。

case(config_adder)

0: config_data = {8'h1C, 8'h7F};

1: config_data = {8'h1D, 8'hA2};

2: config_data = {8'h12, 8'h80 };

3: config_data = { 8'h3d, 8'h03}

4: config_data = { 8'h15, 8'h02}

.....

67: config_data = {8'h8c, 8'he8};

68 : config_data = {8'h8d, 8'h20};

69: config_data = {8'h0e, 8'h65};

default : {8'h1C, 8'h7F};

endcase

5 SCCB總線讀寫模塊

用狀態(tài)機(jī)實(shí)現(xiàn)SCCB讀寫功能。根據(jù)寫時(shí)序,設(shè)計(jì)寫SCCB狀態(tài)如下:W_IDLE、W_START、W_ID_ADDER、W_ACK1、W_REG_ADD、W_ACK2、W_REG_DATA、W_ACK3、W_STOP。

狀態(tài)機(jī)由三ALWAYS過程實(shí)現(xiàn),其中,狀態(tài)選擇過程周期實(shí)現(xiàn)上述狀態(tài)的選擇和轉(zhuǎn)換。其主要代碼結(jié)構(gòu)如下:

case(current_state)

W_IDLE: if(_config_adder < 8'd2)

next_state = W_START1;

if(_config_adder< _config_size)

next_state = W_START;

W_START:

next_state = W_ID_ADDER;

…….

R_REGDATA: //5'd6

next_state = W_ACK3;

W_ACK3: //5'd7

next_state = W_STOP;

W_STOP: //5'd8

next_state = W_IDLE;

如下代碼結(jié)構(gòu)實(shí)現(xiàn)狀態(tài)輸出,即從配置模塊中讀取器件ID地址、數(shù)據(jù)等,寫入配置寄存器。

W_START: begin

sdat_out <= 1'b0; //數(shù)據(jù)被拉低

stream_cnt <= 0;

wdata<=_config_data[23:16]; end

W_ID_ADDRER:begin

stream_cnt <= stream_cnt + 1'b1;

sdat_out<=wdata[3'd7 - stream_cnt];end

W_ACK1:begin

stream_cnt <= 0;

wdata <= SCCB_config_data[15:8];

……

wdata是8位向量,存儲(chǔ)待傳輸數(shù)據(jù)。空閑狀態(tài)下,數(shù)據(jù)線是高電平。W_START狀態(tài)下,數(shù)據(jù)線被拉低,開始傳輸數(shù)據(jù),器件地址裝載向量wdata。在W_ID_ADDRER狀態(tài),器件地址由sdat_out串行輸出。在從機(jī)響應(yīng)階段,wdata向量裝載寄存器地址,待傳輸。依此類推,傳輸寄存器地址、寄存器配置數(shù)據(jù)等。

6 SCCB控制器

設(shè)計(jì)頂層模塊OV7725_TOP,實(shí)例化上述模塊。得到如圖2所示的RTL圖。

引腳cmos_clk和cmos_sdt分別作為SCCB總線的時(shí)鐘和數(shù)據(jù)線使用,實(shí)現(xiàn)對(duì)OV7725的讀寫功能。

7 結(jié)束語(yǔ)

在掌握OV7725配置寄存器的地址、作用的基礎(chǔ)上,根據(jù)SCCB時(shí)序,設(shè)計(jì)控制器實(shí)現(xiàn)對(duì)OV7725寄存器的配置,使得OV7725能按照要求輸出視頻流格式和畫質(zhì)?;赒UARTUS13.0平臺(tái),實(shí)現(xiàn)控制器設(shè)計(jì)。

參考文獻(xiàn):

[1] 龍?jiān)谠疲?武斌. DVI數(shù)字視頻圖像數(shù)據(jù)的實(shí)時(shí)截取方法[J]. 電視技術(shù),2010,34(2):32-33.

[2] 夏宇聞. Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M]. 北京航空航天大學(xué)出版社,2008.

[3] 李江輝,王景存. 基于FPGA 的視頻采集與顯示系統(tǒng)設(shè)計(jì)[J].電視技術(shù),2011,13(35):20-21

猜你喜歡
控制器
工商業(yè)IC卡控制器改造為物聯(lián)網(wǎng)控制器實(shí)踐
基于DSP的復(fù)合跟蹤控制器的設(shè)計(jì)
模糊PID控制器設(shè)計(jì)及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
紅獅控制 PID控制器PXU系列
4V三輸出同步降壓型控制器
永定县| 沙洋县| 耿马| 澜沧| 威信县| 永定县| 兴仁县| 瑞金市| 长武县| 克山县| 文昌市| 秦皇岛市| 罗源县| 沙坪坝区| 香河县| 抚顺市| 平和县| 都昌县| 常宁市| 胶南市| 朝阳市| 方正县| 乌兰察布市| 公安县| 曲周县| 渭源县| 长武县| 许昌市| 安新县| 乐昌市| 喀喇沁旗| 屏东县| 望奎县| 遂宁市| 岳普湖县| 吴江市| 会昌县| 石城县| 东宁县| 新绛县| 合阳县|