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

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 車載低端圖像數(shù)據(jù)采集壓縮存儲及傳輸系統(tǒng)的實現(xiàn)

          車載低端圖像數(shù)據(jù)采集壓縮存儲及傳輸系統(tǒng)的實現(xiàn)

          作者: 時間:2012-04-13 來源:網(wǎng)絡 收藏

          概述

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

          在某些需要無人控制自動監(jiān)視的場合,采用常規(guī)的圖像監(jiān)視系統(tǒng)具有一些不可避免的弊端,例如:設備體積于龐大、采購費用高、需要足夠的電源供應、無法重復錄制等等。尤其在不需要連續(xù)圖像采集的場合,常常無法采用常規(guī)的圖像監(jiān)視系統(tǒng)。根據(jù)長途汽車對上車人員進行記錄的應用要求,開發(fā)了一套基于EZ-USB的圖像數(shù)據(jù)采集及傳輸系統(tǒng)。

          本系統(tǒng)采用OmniVision公司的CMOS圖像傳感器OV7620作為采集芯片,Zoran公司的ZR36060作為數(shù)據(jù)壓縮芯片,Cypress的帶USB接口的單片機AN2131QC作為總控制芯片和USB數(shù)據(jù)傳輸芯片。由于長途汽車的乘客上下車是非連續(xù)的過程,對圖像數(shù)據(jù)的保存要求就相對較低,因而采用Hynix的NAND閃存芯片HY27UA082G1M對圖像數(shù)據(jù)進行保存。這樣不但減小功耗,還可以實現(xiàn)重復,系統(tǒng)還包括用于圖像數(shù)據(jù)緩存的FIFO。

          該圖像數(shù)據(jù)采集系統(tǒng)具有集成度高、傳輸速度快的優(yōu)點,能夠彌補常規(guī)圖像監(jiān)視系統(tǒng)的缺點,可望在的視頻圖像領域(如便攜式圖像系統(tǒng))填補空白。

          CMOS彩色圖像傳感器OV7620將CMOS光感應核與外圍支持電路集成在一起,具有可編程控制與視頻模/數(shù)混合輸出等功能,能夠消除噪聲、燈光閃爍等光電干擾,輸出清晰、穩(wěn)定的彩色圖像。OV7620的功能特點包括:單芯片1/3寸鏡頭,最大664×492像素分辨;I2C控制,標準SCCB接口;開窗功能,局部圖像輸出;輸出RGB/RawRGB/YCbCr視頻信號;自動曝光控制/自動白平衡/自動增益控制/自動亮度控制;圖像質量控制,包括顏色飽和度、銳度、伽馬校正等。

          如圖1是OV7620的內(nèi)部框圖,視頻圖像采集以后,通過模數(shù)轉換電路和控制處理后轉換為數(shù)字視頻信號輸出,視頻的控制時序由時序產(chǎn)生電路來生成,對外輸出的數(shù)字信號為圖像數(shù)據(jù)Y[7:0]和UV[7:0]。定時信號包括圖像時鐘PCLK、奇偶場信號FODD、行同步CHSYN、有效像素HREF、場同步VSYNC。由于它采用I2C的標準SCCB控制,可以采用單片機模擬SCCB總線,對圖像幀頻、曝光時間、增益控制、伽馬校正等進行控制,還可以預設圖像的分辨率、采集區(qū)域等。

          11.jpg

          JPEG編解碼芯片ZR36060是專為視頻采集與編輯應用而設計的,可以方便地實現(xiàn)對視頻信號的實時壓縮和解壓縮,其內(nèi)部框圖如圖2所示。在進行壓縮時,ZR36060接受YUV4:2:2數(shù)字視頻信號,將其編碼為JPEG碼流輸出;在解壓縮時,ZR36060接受JPEG碼流,將其解碼為YUV4:2:2數(shù)字視頻信號輸出?!?/p>

          ZR36060具有以下特點:視頻壓縮和擴展功能,對像素塊和CCIR視頻信號可實現(xiàn)高達25~30幀/秒的壓縮;靈活的數(shù)據(jù)接口,支持三種YUV視頻接口模式,即8位主模式、16位從模式和8位從模式;提供同步主模式和同步從模式兩種視頻同步方式,前者是芯片內(nèi)部產(chǎn)生所有的定時信號,后者則是芯片自己同步于一個外部的視頻源;3種不同的比特率控制模式用于靜止和運動視頻的壓縮;可以和多種常用視頻解碼器實現(xiàn)無縫連接。

          由于視頻圖像文件的數(shù)據(jù)量非常大,一副沒有經(jīng)過壓縮的8級灰度黑白視頻圖像的大小為664×492=327KB。如果不對圖像進行壓縮,其占用Flash器的空間將非常大。因而利用ZR36060的特點以及可以很方便地進行設置的特點,在本視頻采集設備上采用了該芯片。

          AN2131QC是Cypress公司開發(fā)的USB1.1協(xié)議的單片機,可以非常方便地開發(fā)USB外設。AN2131QC具有51單片機的所有特點,而且速度更快,可以使用51單片機的通用指令集。采用EZ-USB芯片的系統(tǒng)設計無需考慮端點數(shù)量、緩沖區(qū)尺寸和傳輸速度的限制。每個芯片內(nèi)嵌一個EZ—USB核,能處理絕大多數(shù)USB事務,大大簡化了程序代碼,加速了開發(fā)進程。

          22.jpg

          如圖3所示,整個圖像數(shù)據(jù)系統(tǒng)由采集、壓縮、存儲、傳輸幾個部分組成。OV7620的設定是通過基于圖像的數(shù)碼相機串行總線SCCB,在AN2131單片機中不能直接產(chǎn)生控制信號,所以必須利用AN2131QC的兩個引腳進行模擬,圖4所示是其讀寫傳輸?shù)臅r序。為了節(jié)省空間,將OV7620的輸出方式設定為16位視頻總線,但只取其中[Y7:0]的灰度圖像數(shù)據(jù)、采集視頻的同步和圖像時鐘送往ZR36060。

          33.jpg

          圖像壓縮ZR36060使用視頻同步從、8位代碼主和8位視頻總線模式,即由單片機通過8位數(shù)據(jù)總線[DATA7:0]對其內(nèi)部寄存器進行工作方式設定(初始化),視頻時鐘和同步由OV7620產(chǎn)生,ZR36060采樣同步信號與之同步,接受[Y7:0]的視頻灰度信號進行壓縮,壓縮后的JPEG圖像由[CODE7:0]輸出直接送入FIFO中緩存。

          NAND式FLASH有可能存在壞塊,這就要考慮物理地址和虛擬地址的對應問題,所以建立了一個對應關系表,并存在FLASH的頭幾個塊中,該表不斷更新,隨壞塊的增加而變化,同時還記錄了數(shù)據(jù)的保存位置。這樣在初始化時,可以直接讀取圖像數(shù)據(jù)分配情況。為了記錄FIFO的數(shù)據(jù),采用類DMA的存儲方法。單片機先從[D7:0]口輸入命令和計算的地址的串行信號,然后發(fā)出命令使能FIFO的RE輸出并計數(shù),當?shù)竭_一頁的數(shù)量512個字時,重新上述輸入過程。

          44.jpg

          對采集和壓縮芯片初始化以后,就進入對圖像數(shù)據(jù)壓縮的控制階段,并確保圖像數(shù)據(jù)保存在完好的FLASH數(shù)據(jù)塊中,延時時間到達時,將FLASH的圖像數(shù)據(jù)最舊的那個塊擦除,以確保下次保存時使用。圖像采集部分程序框圖如圖5所示。

          55.jpg

          系統(tǒng)功能介紹

          將本系統(tǒng)安裝在長途客車的上客處,當有人員經(jīng)過時,圖像和采集過程啟動,并延時3s后停止采集,同時將采集的數(shù)據(jù)壓縮后送入FLASH中保存。經(jīng)過設定,圖像的分辨率為640×480,刷新率為15幀/秒,壓縮后每幀圖像為15KB左右的MJPG的圖像數(shù)據(jù)。每次采集的圖像為15K×3×15=675KB,這樣兩塊256M×8Bit的FLASH可以記錄700~800人次的圖像數(shù)據(jù),可以滿足本圖像采集系統(tǒng)的需要。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(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); })();