對(duì)于大多數(shù)自來(lái)水公司來(lái)說(shuō),人工抄表是一項(xiàng)工作量巨大的上作,而且在抄表過(guò)程中由于抄表不到位,私自調(diào)表改讀數(shù)等人為因素造成的水損是全部水損的主要部分。市場(chǎng)上目前有兩種水表遠(yuǎn)傳系統(tǒng)投入使用:一種是IC卡式水表,它采用的是先付費(fèi)后使用的原則,避免了水費(fèi)糾紛現(xiàn)象;另一種是三表(水電煤氣)遠(yuǎn)傳抄表系統(tǒng),這種自動(dòng)抄表系統(tǒng)采用電信號(hào)將水表讀數(shù)傳到戶外查表間或物業(yè)管理辦公室。這兩種產(chǎn)品由于價(jià)格較高,維護(hù)量較大,且需帶電上作,易造成停電漏記,推廣有一定難度。國(guó)外的全電子式流量表雖然計(jì)量精度高,使用方便,但價(jià)格昂貴,不適合我國(guó)國(guó)情。而針對(duì)水表盤(pán)字輪號(hào)碼識(shí)別的硬件裝置目前國(guó)內(nèi)還未見(jiàn)報(bào)道。水表號(hào)碼識(shí)別關(guān)鍵在于有準(zhǔn)確的數(shù)據(jù)采集和可靠的通訊條件。本文進(jìn)行了基于DSP硬件電路的水表盤(pán)字輪號(hào)碼讀取研究,即在硬件采集器中完成對(duì)水表盤(pán)字輪號(hào)碼的采集與識(shí)別。
1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)采用Omnivision公司的CMOS數(shù)字圖像傳感器OV7620采集水表盤(pán)字輪號(hào)碼圖像,并選用TI公司的TMS320VC5416芯片對(duì)采集到的水表號(hào)碼進(jìn)行識(shí)別處理,最終將識(shí)別后的水表號(hào)碼圖像在LCD上顯示,即在硬件采集器中完成圖像識(shí)別。
水表盤(pán)字輪號(hào)碼讀取的研究分為三大部分:水表盤(pán)號(hào)碼采集模塊、水表盤(pán)號(hào)碼圖像處理識(shí)別模塊及水表盤(pán)號(hào)碼顯示模塊。本系統(tǒng)工作過(guò)程是圖像傳感器經(jīng)過(guò)DSP初始化之后,將輸入的模擬視頻信號(hào)經(jīng)過(guò)必要的預(yù)處理,輸出標(biāo)準(zhǔn)的數(shù)字視頻信號(hào),同時(shí)產(chǎn)生場(chǎng)同步信號(hào)、行同步信號(hào)和像素時(shí)鐘信號(hào)等。系統(tǒng)初始化后,采用查詢同步信號(hào)的方式將數(shù)字圖像保存到數(shù)據(jù)存儲(chǔ)器中。通過(guò)數(shù)字圖像傳感器OV7620采集水表盤(pán)字輪號(hào)碼,然后在以DSP芯片為主的硬件電路中進(jìn)行識(shí)別處理。最終通過(guò)LCD直觀地顯示出水表號(hào)碼。同時(shí)可采用并口方式將原始圖像傳到計(jì)算機(jī)中,作為識(shí)別后的圖像的參考。圖1為水表盤(pán)字輪號(hào)碼讀取系統(tǒng)的原理框圖。
2 系統(tǒng)實(shí)現(xiàn)
首先將數(shù)字傳感器OV7620的攝像頭安裝在字輪盤(pán)垂直上方(采集鏡頭朝下),將采集到的號(hào)碼圖像存儲(chǔ)在DSP內(nèi)部的RAM中,然后利用DSP的BOOTLOAD功能將號(hào)碼識(shí)別程序下載到DSP內(nèi)部高速的RAM中,并利用采集圖像的回掃時(shí)間識(shí)別水表號(hào)碼,最終在LCD上 顯示識(shí)別后的號(hào)碼圖像。
2.1 圖像采集模塊
OV7620屬于電平觸發(fā),當(dāng)DSP上電時(shí)設(shè)置為高,BOOTLOADER結(jié)束時(shí)/OVCE有效(它是通過(guò)隔離芯片菲利普公司的74ALVCH16245來(lái)實(shí)現(xiàn)的)。系統(tǒng)加電復(fù)位后,先由DSP的HPI口產(chǎn)生IIC總線信號(hào)來(lái)對(duì)OV7620工作寄存器進(jìn)行初始化,然后OV7620即可開(kāi)始按要求輸出圖像信號(hào),包括行同步信號(hào)HREF、場(chǎng)同步信號(hào)VSYNC、像素時(shí)鐘信號(hào)PCLK和數(shù)字圖像信號(hào)。本系統(tǒng)數(shù)據(jù)輸出只采集OV7620低8位(Y7—Y0)亮度數(shù)據(jù),目的是減少數(shù)據(jù)的處理量。
本系統(tǒng)采用SCCB編程模式完成對(duì)OV7620的初始化,即將DSP的HPI口設(shè)置為GPIO口來(lái)模擬SCCB總線協(xié)議,將HPI中的HD2連接SIO_D,HD3連接SIO_C,通過(guò)軟件編程模擬SCCB總線協(xié)議。配置的具體方法是在寫(xiě)寄存器過(guò)程中先發(fā)送OV7620的ID地址,然后發(fā)送寫(xiě)數(shù)據(jù)的目地寄存器地址,接著是要寫(xiě)的數(shù)據(jù),從而實(shí)現(xiàn)采集過(guò)程起始點(diǎn)的精確控制。
兩線SCCB功能框圖如圖2所示。
本系統(tǒng)采用VSYNC的上升沿表示一幀新的圖像的到來(lái),水平同步信號(hào)HREF高時(shí)開(kāi)始有效數(shù)據(jù)采集,用PCLK上升沿的到來(lái)表明數(shù)據(jù)的產(chǎn)生,且每來(lái)一個(gè)上升沿系統(tǒng)就傳輸一位數(shù)據(jù),在HREF為高期間系統(tǒng)共傳輸640位數(shù)據(jù)。也就是說(shuō):在一幀圖像中,即VSYNC為高電平期間,HREF會(huì)出現(xiàn)480次高電平。而下一個(gè)VSYNC信號(hào)上升沿到來(lái)則表明分辨率640×480的圖像采集過(guò)程的結(jié)束。各個(gè)同步信號(hào)的極性選擇通過(guò)設(shè)置OV7620對(duì)應(yīng)的寄存器完成。
2.2 圖像處理模塊
2.2.1 硬件
映射存儲(chǔ)器的配置受到5416外部管腳MP/MC以及處理器模式狀態(tài)寄存器PMST的控制,因此水文所采用的方案足MP/MC=0且OVLY=1的情況。其中OVLY為16位寄存器PMST的第5位,當(dāng)5416上電硬復(fù)位且MP/MC=0時(shí),片上物理ROM會(huì)映射程序存儲(chǔ)器的FF00~FFFF地址范圍內(nèi),芯片自動(dòng)調(diào)用片上ROM中固化的Boot loader程序。在MP/MC=0,OVLY=1模式下,實(shí)際能訪問(wèn)的存儲(chǔ)區(qū)是很有限的,5416的ROM區(qū)基本上保留給DSP芯片本身,DARAM區(qū)同時(shí)被映射到程序映射存儲(chǔ)區(qū)(PROGRAM區(qū))和數(shù)據(jù)映射存儲(chǔ)區(qū)(DATA區(qū))上相同的地址范圍上。本系統(tǒng)在軟件方面所需的存儲(chǔ)空間中水表號(hào)碼圖大約占8KB,程序約4KB(并利用了OV7620的開(kāi)窗處理功能)。鑒于5416的片上資源和本系統(tǒng)的需要,外擴(kuò)了一個(gè)FLASH(利用DSP5416的BOOTLOAD功能)。
FLASH39VF400的16值數(shù)據(jù)線與DSP5416的16位數(shù)據(jù)線對(duì)應(yīng)相連,并將它的片選(/DS)和讀寫(xiě)信號(hào)(R/W)與DSP的對(duì)應(yīng)信號(hào)相連,以此實(shí)現(xiàn)BOOTLOADER功能。根據(jù)DSP系統(tǒng)程序加載的特點(diǎn),將FLASH地址為0X8000~0XFFFF的存儲(chǔ)區(qū)在程序下載的過(guò)程中映射到DSP的數(shù)據(jù)空間。
2.2.2 硬件電路中的軟件設(shè)計(jì)
本系統(tǒng)將采用DSP所兼容的C語(yǔ)言進(jìn)行系統(tǒng)的軟什開(kāi)發(fā),包括對(duì)信號(hào)處理芯片DSP及數(shù)字傳感器OV7620的初始化等沒(méi)計(jì),并用TI公司的開(kāi)發(fā)工具CC-Studio完成系統(tǒng)的軟件調(diào)試工作。本系統(tǒng)在調(diào)試過(guò)程中將根據(jù)采集到圖像的實(shí)際情況來(lái)調(diào)整軟件程序。水表號(hào)碼識(shí)別的難點(diǎn)在于字輪進(jìn)位不完整時(shí)的識(shí)別處理,與平面識(shí)別數(shù)字的區(qū)別在于字輪上數(shù)字是在翻動(dòng)的,因此幾個(gè)碼盤(pán)進(jìn)位一半時(shí)容易出錯(cuò)。住識(shí)別過(guò)程中,有時(shí)在視窗中出現(xiàn)的數(shù)字可能是半個(gè)或是三分之一等情況,這種狀態(tài)下,識(shí)別原則為:一個(gè)視窗中出現(xiàn)兩個(gè)數(shù)字,如出現(xiàn)的數(shù)字平面大于二分之一,則識(shí)別為該數(shù)字;如兩數(shù)字均為二分之一時(shí)要根據(jù)用戶的具體要求來(lái)確定以上面的還是以下面的數(shù)字為準(zhǔn)。由于實(shí)際采集到的圖像與傳統(tǒng)的攝像機(jī)拍到的號(hào)碼圖像在清晰度上又有差別,增加了識(shí)別的難度,因此在識(shí)別前的預(yù)處理很重要,如去掉白色噪聲點(diǎn)。由于本文采集的圖像是針對(duì)灰度圖的,所以在二值化處理中根據(jù)灰度直方圖選取閾值,有利于提高水表號(hào)碼的識(shí)別率。
2.3 號(hào)碼顯示模塊
VC5416只有兩個(gè)通用I/O口,即BIO和XF。本系統(tǒng)對(duì)主機(jī)通信并行接口HPI和多路緩沖串行接口 McBSP進(jìn)行配置用作通用I/O,即本系統(tǒng)的數(shù)據(jù)采集和數(shù)據(jù)輸出都是利用I/O口實(shí)現(xiàn)的。在顯示部分,將DSP的多路緩沖串口改為通用I/O 口,設(shè)計(jì)了一種低功耗的液晶顯示電路,并編輯了液晶驅(qū)動(dòng)程序。
本系統(tǒng)采用金鵬電子公司生產(chǎn)的3.3V電源的OCM12232-4點(diǎn)陣型液晶顯示模塊,橫向有122個(gè)點(diǎn),縱向有32點(diǎn)。它可以顯示兩行16×16的點(diǎn)陣字符,可同時(shí)顯示中文字符和英文字母。
由于該點(diǎn)陣型液晶不帶字庫(kù),故先編寫(xiě)0~9的字庫(kù)實(shí)現(xiàn)了字符的顯示。且對(duì)OCM12232內(nèi)部?jī)蓚€(gè)控制器SED1520進(jìn)行寫(xiě)命令或數(shù)據(jù)的操作,住驅(qū)動(dòng)程序部分設(shè)定了顯示起始位置、上下行、字符寬度等參量。
3 試驗(yàn)結(jié)果
采集圖像的條件:OV7620的開(kāi)窗為200×40mm,光源為普通的白熾燈。
圖3的結(jié)果發(fā)現(xiàn)在5cm左右的物距下采集到的號(hào)碼圖像很模糊且只能采集到2~3個(gè)號(hào)碼,同時(shí)發(fā)現(xiàn)OV7620采集圖像不是沿垂直方向采集,而是傾斜一定角度采集的。
圖4根據(jù)圖3的情況,適當(dāng)調(diào)整了鏡頭焦距及水表和鏡頭之間的物距,并調(diào)整了光源的亮度。這樣采集到的圖像較前次清晰且可采集到3~4個(gè)號(hào)碼。
圖5所采集到的圖像有光斑,其原因是水表盤(pán)表面的突起引起的,因此光源的照射位置對(duì)采集到圖像的質(zhì)量有很大的影響。
以上試驗(yàn)結(jié)果表明,明亮、穩(wěn)定、均勻的光源很重要,這樣才能將被測(cè)物與背景明顯地區(qū)分開(kāi)來(lái)。更重要的是適當(dāng)調(diào)整焦距,圖5是在適當(dāng)?shù)慕咕嗪凸庠戳炼认碌玫降慕Y(jié)果。
本文成功地完成了用CMOS圖像傳感器OV7620采集水表盤(pán)字輪號(hào)碼。實(shí)驗(yàn)結(jié)果表明采集到的號(hào)碼圖像達(dá)到了預(yù)期的效果。本系統(tǒng)將進(jìn)一步完善識(shí)別顯示程序并完成系統(tǒng)的最終目標(biāo)——在硬件采集器中完成號(hào)碼圖像的識(shí)別顯示。該設(shè)計(jì)將加快自動(dòng)抄表的進(jìn)程,從而克服手工抄表的種種弊端。本設(shè)計(jì)也適用于其他號(hào)碼圖像的采集識(shí)別。
責(zé)任編輯:gt
-
傳感器
+關(guān)注
關(guān)注
2552文章
51288瀏覽量
755148 -
芯片
+關(guān)注
關(guān)注
456文章
51019瀏覽量
425399 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
39文章
6200瀏覽量
113831
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論