<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的表具數字圖像采集系統(tǒng)設計

          基于單片機的表具數字圖像采集系統(tǒng)設計

          —— 推動實現智能建筑
          作者: 時間:2010-10-23 來源:電子產品世界 收藏

            系統(tǒng)存儲器接口

          本文引用地址:http://www.ex-cimer.com/article/113798.htm

            CMOS圖像傳感器OV7670支持整幀圖像讀取模式,VGA圖像速率最高達30幀/s,為了實現OV7670與之間傳輸速率匹配,首先將內部時鐘與時鐘同步,然后通過設置OV7670內部寄存器對系統(tǒng)內部時鐘速率分頻來降低圖像數據速率,使OV7670采集圖像數據的速度滿足的要求。由于表具數字圖像數據量比較大,而AT89LV51 單片機,其內部只有128byte隨機存儲器,要完成對表具數字圖像的采集、存儲和處理是遠遠不夠的,所以在硬件電路上擴展了外部數據存儲器,通過數據存儲器的存儲空間和存儲速度,在OV7670和單片機之間建立起數據傳送中樞,實現表具數字圖像的采集、存儲和處理,其硬件連接電路如圖3所示,BS62LV256存儲器地址低8位通過鎖存器與單片機P0口連接,同時P0口也是圖像數據輸出口,存儲器地址高7位以及存儲器片選端與單片機P2口連接,單片機通過控制片外數據存儲器讀寫控制端完成數據的存儲[3]。

            系統(tǒng)軟件設計

            在本系統(tǒng)設計中,通過圖像傳感器OV7670攝像頭的SCCB總線接口配置攝像頭,通過控制攝像頭的場同步信號(VSYNC),行同步信號(HREF)以及像素時鐘信號(PCLK)開中斷,開始表具圖像數據采集,將這些數據傳送到外部數據存儲器中,當一幀完成后,關閉所有中斷,等待采集下一幀圖像。

            本系統(tǒng)采用查詢VSYNC的下降沿表示一幀圖像的開始,水平同步信號HREF高時開始有效數據采集。在水平同步信號HREF高電平期間,PCLK上升沿的到來表示像素數據的產生,PCLK每來一個上升沿系統(tǒng)就傳輸一位像素數據[4~5]。OV7670同步信號時序如圖4所示。

            單片機通過控制圖像傳感器OV7670攝像頭的SCCB總線接口配置攝像頭,本系統(tǒng)設置OV7670為黑白工作模式,分辨率為80×60,控制OV7670以一幀圖像讀取模式,采用此模式傳輸時,以像素時鐘信號(PCLK)為頻率自動傳輸完一幀圖像后停止。在軟件設計開始,將圖像存儲設置成外部數據存儲方式,此時OV7670數據總線為三態(tài),準備發(fā)送數據。

            當圖像采集開始按鍵按下時,開中斷準備進入數據采集,單片機監(jiān)測場同步信號(VSYNC)的變化,其為高時OV7670 數據準備完畢,變低時開始發(fā)送。HREF為水平同步信號,以其上升沿開始,輸出有效數據。PCLK為像素同步信號,下降沿更新數據,上升沿為數據穩(wěn)定期。用來存儲圖像的外部數據存儲器的使能信號CE和寫信號WE及讀信號RE以及地址信號ADDRESS都是由單片機來產生。

            由于在數據輸出時,PCLK上升沿信號穩(wěn)定,而數據存儲器是在WR上升沿將數據寫入,因此可以在場同步信號(VSYNC)有效后(VSYNC=0) 采用像素時鐘信號(PCLK)作為寫信號WE。同時設計一個計數器中斷,在場同步信號(VSYNC)有效后,以行同步信號(HREF)的下降沿為觸發(fā)沿對一幀圖像每一行計數,并取其輸出作為數據存儲器的地址信號ADDRESS。這樣在HREF的下降沿更新地址信號,接著在行同步信號(HREF)和像素時鐘信號(PCLK)上升沿存儲數據。

            系統(tǒng)圖像傳感器OV7670的初始化主要包括配置各種寄存器,利用單片機I/O口產生I2C總線信號,實現對OV7670各種寄存器的設置以及對圖像傳感器的行場同步信號,開窗及掃描格式的確定[6]??梢苑謩e設置輸出格式,縮放/DCW使能,像素時鐘分頻,水平、垂直采樣,輸出順序等。

            由于AT89LV51工作在11.0592MHz,而OV7670的工作時鐘頻率為10~24MHz,所以需要對0V7670的輸入時鐘進行分頻來降低OV7670的工作頻率,進而降低像素時鐘,這通過設置0V7670時鐘速率控制寄存器(CLKRC)為0xBF,設置通用寄存器7為0x12,用以控制采集圖像輸出格式為QVGA圖像大小為320×240;設置SCALING_DCWCTR寄存器為0x33,用以控制輸出圖像數據水平、垂直4抽樣;設置通用寄存器3為0x0c,用以控制縮放/DCW使能,設置通用寄存器14為0x13,用以控制像素時鐘4分頻,設置TSLB寄存器為 0x01,用以控制當分辨率改變時,傳感器自動設置窗口。設置具體的程序如下:

            #include “sccb.h”

            void initial_OV7670(void)

            {

            write_addSCCB(0x11,0xbf);

            //系統(tǒng)時鐘64分頻

            write_addSCCB(0x3e,0x13);

            //PCLK 4分頻

            write_addSCCB(0x12,0x10);

            //輸出格式QVGA

            write_addSCCB(0x72,0x33);

            //水平,垂直4抽樣

            write_addSCCB(0x0c,0x0c);

            //縮放/DCW使能

            write_addSCCB(0x3a,0x01);

            //當分辨率改變時,

            傳感器立即自動設置窗口

            }

          c語言相關文章:c語言教程


          存儲器相關文章:存儲器原理


          攝像頭相關文章:攝像頭原理
          數字濾波器相關文章:數字濾波器原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();