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