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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式車牌識別系統(tǒng)的硬件電路設(shè)計

          嵌入式車牌識別系統(tǒng)的硬件電路設(shè)計

          作者: 時間:2012-07-30 來源:網(wǎng)絡(luò) 收藏

          摘要:基于數(shù)字信號處理器(DSP)TMS320VC5416和復(fù)雜可編程邏輯器件(CPLD)的設(shè)計,利用視頻處理芯片SAA7111作為視頻A/D,在CPLD的控制下將采集到的圖像數(shù)據(jù)寫入幀存儲器中,DSP對圖像數(shù)據(jù)進(jìn)行實時分析處理。采用“乒乓”存儲結(jié)構(gòu),實現(xiàn)了圖像數(shù)據(jù)的采集和處理的并行運行。結(jié)果通過串口傳到上位機或者保存在E2PROM中,實現(xiàn)了脫機、聯(lián)機工作,在實時高速圖像處理中有廣泛的工程技術(shù)應(yīng)用前景。
          關(guān)鍵詞:圖像采集;SAA7111;乒乓存儲;識別

          汽車牌照的自動識別技術(shù)在公共安全、交通管理、軍事等領(lǐng)域有著重要的應(yīng)用價值。一般車牌識別系統(tǒng)多基于攝像機一圖像采集卡一計算機,圖像理解和處理算法全部以軟件方式實現(xiàn)。這種計算機參與大量工作的系統(tǒng)應(yīng)用場合受到很大限制,室外惡劣復(fù)雜環(huán)境下應(yīng)用極為不便。隨著圖像處理技術(shù)的發(fā)展,數(shù)字信號處理器不斷更新及其處理能力不斷的提高和大規(guī)模集成電路的迅速發(fā)展,使圖像采集處理系統(tǒng)的實現(xiàn)成為可能。為此提出了一種基于通用DSP和CPLD的車牌識別系統(tǒng),實現(xiàn)對車牌的實時識別,可脫機(計算機)工作,也可與PC機相連接,將識別結(jié)果傳給PC機,PC機只需要完成后期管理而不需要進(jìn)行大量的實時數(shù)據(jù)處理。在實時高速圖像處理系統(tǒng)中(汽車牌照自動識別技術(shù)、流水線產(chǎn)品質(zhì)量監(jiān)控等領(lǐng)域)有廣泛的工程技術(shù)應(yīng)用前景。

          1 系統(tǒng)功能
          視頻A/D在DSP的控制下將攝像頭拍攝到的包含車牌信息的視頻圖像轉(zhuǎn)換為固定格式的數(shù)字信號,在CPLD的控制下存儲為512×512的圖像到幀存儲器組中,DSP對采集到的圖像數(shù)據(jù)進(jìn)行識別處理,將識別到的車牌號碼保存,結(jié)果可以保存在E2POM中,適用于脫機運行,或者保存在內(nèi)部緩存中,然后實時地通過串口將識別結(jié)果傳到PC機中進(jìn)行后期管理。其中幀存儲器組采用兩片SRAM,存儲器SRAM1和SRAM2組成乒乓存儲結(jié)構(gòu),用來存儲數(shù)字圖像和供DSP讀取數(shù)據(jù)進(jìn)行圖像處理,兩組存儲器輪換存儲,實現(xiàn)圖像數(shù)據(jù)采集和處理的并行運行??偩€的切換控制機制、前端視頻數(shù)據(jù)采集的控制單元在CPLD內(nèi)完成,系統(tǒng)的功能框圖如圖1所示。

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

          a.JPG

          a.JPG

          2 系統(tǒng)設(shè)計
          2.1 DSP單元
          DSP器件是該識別系統(tǒng)的處理核心。對于該車牌識別系統(tǒng)來說,實際是對每一幀圖像(可看作是靜態(tài)圖像)進(jìn)行識別處理,同時所處理的圖像占內(nèi)存容量很大。因此這對DSP的尋址能力以及片內(nèi)快速RAM的容量有很大的要求,綜合考慮需要滿足的系統(tǒng)性能要求和成本,采用TI的TMS 320C5416,該芯片具有6.25 ns的指令周期,具有128K×16 b的片內(nèi)RAM,能夠?qū)ぶ房偣?M×16 b的存儲空間,具有3個可作為通用I/O口的多通道緩沖串行口,可用于對視頻A/D的控制和E2PROM的對寫。該芯片完全能夠完成所要求的工作,而且具有很高的性價比。
          2.2 視頻輸入接口
          本文研究的采集識別系統(tǒng)首先是要對前端攝像機所輸出的全電視信號進(jìn)行A/D轉(zhuǎn)換,得到量化精度為8位的數(shù)字圖像數(shù)據(jù)。而全電視信號中除了包含圖像信號之外,還包括了行同步信號、行消隱信號、場同步信號、場消隱信號以及槽脈沖信號、前均衡脈沖、后均衡脈沖等,而且還存在不同的圖像制式。傳統(tǒng)的電視信號的解碼采用模擬的方法設(shè)計制造復(fù)雜、調(diào)試?yán)щy。Philips公司的SAA7111A將這些非常復(fù)雜的視頻A/D轉(zhuǎn)換電路以及對不同制式的解碼電路集成到了一起,為視頻信號的數(shù)字化應(yīng)用提供了極大的方便。
          SAA7111內(nèi)部包含2路模擬處理通道,可以選擇視頻源并可抗混疊濾波,同時還可以進(jìn)行模/數(shù)變換、自動嵌位、自動增益控制、時鐘產(chǎn)生、多制式解碼等,另外還可對亮度、對比度和飽和度進(jìn)行控制。SAA7111芯片中的場同步信號VREF、行同步信號HREF、奇偶場信號ODD、像素時鐘信號CREF都由管腳直接引出,從而省去了以往時鐘同步電路的設(shè)計,其可靠性也大大提高。SAA7111可輸出多種格式的數(shù)據(jù),本系統(tǒng)采用CCIR601的16位格式(Y:U:V=4:2:2),即輸出的16位總線的高8位總線輸出亮度信號,低8位總線輸出色度信號。SAA7111的功能控制是由I2C總線控制的,本系統(tǒng)使用DSP的McBSP,工作在通用I/O的方式,模擬I2C總線時序,完成對SAA7111的在線控制。
          2.3 視頻數(shù)據(jù)控制接口
          視頻數(shù)據(jù)控制接口是整個圖像采集系統(tǒng)的控制核心,其控制著幀存儲器的地址,對采樣的控制以及幀存儲器的切換以及與SAA7111,DSP之間的接口。主要根據(jù)SAA7111輸出的同步信號產(chǎn)生幀存器的地址信號和讀寫、片選等控制信號。系統(tǒng)采集的圖像大小為512×512像素。SAA7 111 PAL制式的圖像分辨率為720×572,因此采集時要斬頭去尾,以避開場消隱信號、行消隱信號和部分有效圖像信號,只采集整個有效圖像的中間部分。SAA7111輸出時鐘信號包括CREF,LLC和LLC2,其中CREF可作為像素同步時鐘頻率13.5 MHz,用來作為地址發(fā)生器的時鐘;HREF為行同步信號,其高電平表示一行有效像素,為720個CREF周期;VREF為場同步信號,其低電平表示場消隱信號,為26行,高電平為有效圖像信號,單場為286行;ODD為奇偶場標(biāo)志信號,ODD=1為奇數(shù)場,ODD=0為偶數(shù)場。

          b.JPG


          圖2為一行圖像采集和一場(奇場)圖像采集時的同步信號時序圖。HREF作為無效行和有效行計數(shù)器的使能信號,通過在行有效期間對CREF進(jìn)行計數(shù),在中間512個時鐘內(nèi)使能地址發(fā)生器的遞增。在VREF信號的上升沿,對HREF進(jìn)行計數(shù),每場有效圖像的前4行,加上每場的26行消隱信號,視為無效圖像信號,在無效信號之后的256行,圖像信號為有效采集圖像信號,視頻轉(zhuǎn)換接口控制這256行數(shù)據(jù)的轉(zhuǎn)換和存儲。采集完256行,等待下一個場同步信號的到來,按同樣方式對偶場圖像進(jìn)行采集。以上工作都由CPLD來完成。
          2.4 幀存儲器
          車牌識別系統(tǒng)對實時性要求很高,為此本系統(tǒng)的幀存儲器采用兩級存儲器乒乓存儲的結(jié)構(gòu),使前端采集存儲數(shù)據(jù)和后端DSP處理數(shù)據(jù)同時進(jìn)行。同時每一級存儲器中將奇偶場分開存儲,以便在高速運動車輛進(jìn)行識別的場合只取其中一場進(jìn)行處理,幀存儲器結(jié)構(gòu)如圖3所示。

          c.JPG


          整個幀存儲器組的工作過程如下:系統(tǒng)初始化完成后由DSP啟動前端采集,此時SAA7111的數(shù)據(jù)輸出(VPO)與SRAM1的數(shù)據(jù)總線(DB1)連通,地址發(fā)生器產(chǎn)生地址總線(AGB)控制SRAM1的地址總線(AB1),將采集到的數(shù)據(jù)依次保存在SRAM1中;同時DSP數(shù)據(jù)總線(DDB)與SRAM2的數(shù)據(jù)總線(DB2)連通,DSP的地址總線(DDB)控制SRAM2的地址總線(AB2),使SRAM2處在DSP的存儲器空間中,以省去數(shù)據(jù)傳輸,提高系統(tǒng)的實時性。
          當(dāng)一幀圖像采集完成后,總線切換邏輯進(jìn)行總線切換,使總線連接關(guān)系轉(zhuǎn)換到如下連接關(guān)系:DAB-AB1,DDB-DB1,VPO-DB2,AGB-AB2,完成總線的切換,此時SRAM1處在DSP的存儲器空間中,由DSP對SRAM1中的數(shù)據(jù)進(jìn)行識別處理,前端采集到的數(shù)據(jù)在視頻數(shù)據(jù)控制接口的控制下存放到SRAM2中。整個系統(tǒng)在DSP處理完當(dāng)前幀數(shù)據(jù)和前端另一幀數(shù)據(jù)采集完畢后就進(jìn)行總線切換。

          d.JPG


          在本系統(tǒng)中,所采用的CCIR601格式的數(shù)據(jù)的一幀圖像容量大小為512×512×2×8b=256K×16b。所以,本系統(tǒng)采用兩片CY7C1041(256K× 16 b)作為幀存儲器SRAMl和SRAM2,在CPLD的控制下,分別將亮度信號和色度信號放在數(shù)據(jù)的高8位和低8位,奇偶場數(shù)據(jù)分別放在存儲器的高、低地址段,存儲器中的數(shù)據(jù)存儲格式如圖4所示。系統(tǒng)的總線控制邏輯和地址發(fā)生器都在CPLD中實現(xiàn)。
          2.5 串行通信接口及E2PROM存儲器
          本系統(tǒng)通過對DSP進(jìn)行擴展異步串口,完成向計算機傳送識別結(jié)果。TI公司的TL16C550是一種可由軟件設(shè)定16 B或64 B的FIFO,最高可達(dá)1 Mb/s的波特率(波特率可編程),具有可編程串行數(shù)據(jù)發(fā)送格式的異步串行通信芯片,可以很方便地與DSP接口。本設(shè)計就是采用異步通信芯片來擴展5416的串口,然后通過MAX232進(jìn)行電平轉(zhuǎn)換完成與PC機串口的通信。接口電路如圖5所示。

          e.JPG


          E2PROM主要完成對識別車牌號碼進(jìn)行存儲,實現(xiàn)系統(tǒng)的脫機運行功能。E2PROM采用Microchip的24FC512,其具有64K×8 b存儲空間,即可以存儲約8 000個車牌記錄,利用I2C接口與主機進(jìn)行通信,本系統(tǒng)通過將DSP的串口McBSP1設(shè)置成通用I/O口模擬I2C總線完成對24FC512的數(shù)據(jù)讀寫。

          3 結(jié)語
          本系統(tǒng)針對車牌識別系統(tǒng)的特點采用CPLD與DSP相結(jié)合設(shè)計實現(xiàn)了高速實時的嵌入式車牌識別系統(tǒng)。所設(shè)計的系統(tǒng)采用兩幀輪換存儲的方式,消除了DSP的等待時間,使采集系統(tǒng)和處理系統(tǒng)可以獨立工作;圖像存儲器直接映射到DSP的內(nèi)存空間,使DSP可以直接對圖像數(shù)據(jù)進(jìn)行處理,為實時圖像處理節(jié)省了時間。該系統(tǒng)采用大規(guī)模集成芯片SAA 7111A和CPLD,使系統(tǒng)集成度高,可靠性好,成本低,速度快,接口方便,并且可修改及重復(fù)編程,也可用于其他的高速實時圖像處理系統(tǒng)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();