《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種基于嵌入式技術(shù)的遠(yuǎn)程抄表裝置的設(shè)計與實現(xiàn)
一種基于嵌入式技術(shù)的遠(yuǎn)程抄表裝置的設(shè)計與實現(xiàn)
湯永華,張志佳,苑瑋琦
摘要: 一種能夠?qū)嶋H應(yīng)用于帶字輪號碼家用水表的遠(yuǎn)程抄表裝置的設(shè)計原理與實現(xiàn)過程。該裝置屬于無源遠(yuǎn)程抄表方式,具有低成本、快速、節(jié)能、不易損壞等特點。
關(guān)鍵詞: DSP 遠(yuǎn)程抄表 水表
Abstract:
Key words :

  摘 要: 一種能夠?qū)嶋H應(yīng)用于帶字輪號碼家用水表" title="水表">水表的遠(yuǎn)程抄表" title="遠(yuǎn)程抄表">遠(yuǎn)程抄表裝置的設(shè)計原理與實現(xiàn)過程。該裝置屬于無源遠(yuǎn)程抄表方式,具有低成本、快速、節(jié)能、不易損壞等特點。
  關(guān)鍵詞: 水表 號碼讀取 數(shù)字圖像處理 DSP 嵌入式技術(shù)


  水表是我國城市家庭必不可少的居家設(shè)施。目前,我國絕大部分城市水表抄寫的方式依然是由專人挨家挨戶抄寫,這樣不僅效率低下,而且也給住戶帶來不便。另外,也有部分地區(qū)對現(xiàn)有的住宅樓進(jìn)行改造,將住戶家中的水表集中遷到樓外一個固定的地方。但這樣做需要對住宅樓進(jìn)行較大面積的破壞,不利于樓房的壽命并嚴(yán)重影響住宅的美觀,還給用戶帶來一定的經(jīng)濟(jì)負(fù)擔(dān),特別是北方冬天寒冷的天氣容易造成水管凍結(jié)。目前,也有利用條碼、累計脈沖等方式進(jìn)行遠(yuǎn)程抄表的研究,但是因為屬于有源方式,需要另外配備電池使裝置持續(xù)工作,這樣由于電池壽命、易損壞等各方面原因給實際應(yīng)用帶來了很大限制。
  本文實現(xiàn)的利用數(shù)字圖像處理技術(shù)對水表號碼進(jìn)行無源自動抄寫記錄裝置,一方面最大限度地保護(hù)用戶住宅結(jié)構(gòu)和原有裝修,另一方面可以使抄表員不必逐一進(jìn)入用戶家中,而是集中在一個地點將用戶水表號碼自動抄寫并保存到抄表員所攜帶的存儲設(shè)備中。且?guī)资畱艟用窆靡粋€記錄裝置,因此成本非常低,不會因為安裝該裝置給用戶帶來大的負(fù)擔(dān)。本裝置以數(shù)字信號處理器(DSP)和視頻解碼器為核心,完成抄寫等功能。目前已經(jīng)實現(xiàn)的抄表裝置采用的DSP是TI公司的TMS320VC5416。實驗證明,準(zhǔn)確抄寫一個水表讀數(shù)所用時間不超過0.5s,完全能夠滿足實際應(yīng)用需要。
1 硬件結(jié)構(gòu)
  水表字輪號碼自動記錄裝置的硬件主要由五部分組成:圖像預(yù)處理模塊,圖像采集識別模塊,系統(tǒng)程序數(shù)據(jù)存儲模塊,系統(tǒng)邏輯控制模塊,號碼顯示模塊。系統(tǒng)框圖如圖1所示。


1.1 圖像預(yù)處理模塊
  由于攝像頭輸出的是模擬視頻信號,因此在進(jìn)行識別處理前必須進(jìn)行一次預(yù)處理,并轉(zhuǎn)換為數(shù)字視頻信號[5]
  圖像預(yù)處理模塊以視頻解碼器為核心,完成對模擬攝像頭所采集的模擬圖像信號的放大、濾波、A/D轉(zhuǎn)換等預(yù)處理。同時,從全電視信號中分離出行同步信號和場同步信號。
  視頻解碼器在正常工作之前首先需要初始化,視頻解碼器的初始化工作通過I2C總線完成。其中,I2C總線的SCL和SDA分別為時鐘控制線和數(shù)據(jù)線,并分別連接到可編程邏輯器件的兩個I/O引腳,在數(shù)字信號處理器(DSP)的控制下實現(xiàn)I2C總線協(xié)議,進(jìn)而完成對視頻解碼器片上寄存器的初始化操作。
1.2 圖像采集識別模塊
  圖像采集識別模塊主要由數(shù)字信號處理器(DSP)以及必要的外圍電路組成。
  由于目前TI的DSP系列產(chǎn)品占據(jù)了國際市場的大部分份額,從供貨及性價比等方面考慮,本文采用的是價格相對較低且能滿足系統(tǒng)要求的TMS320VC5416PGE160(以下簡稱VC5416),其豐富的片上資源,如128K×16bit的片上RAM和16K×16bit的片上ROM,可以大大縮小系統(tǒng)的體積、復(fù)雜性以及成本,為系統(tǒng)運(yùn)行的穩(wěn)定性提供了保證。
  本系統(tǒng)將VC5416的HPI(主機(jī)接口)設(shè)置為GPIO(通用I/O口),分別用于檢測圖像預(yù)處理電路提供的行場同步信號、奇場標(biāo)志信號和像素時鐘信號,用以確保時序正確,從而保證所采集的號碼圖像的完整性,為后續(xù)工作提供可靠的數(shù)據(jù)源。另外利用GPIO(通用I/O口)編程控制CPLD實現(xiàn)I2C總線協(xié)議,在系統(tǒng)上電時對圖像預(yù)處理電路進(jìn)行必要的初始化,以控制所采集的號碼圖像的大小、位置、轉(zhuǎn)換速度,同時保證號碼圖像的質(zhì)量等。
1.3 系統(tǒng)程序數(shù)據(jù)存儲模塊
  要實現(xiàn)系統(tǒng)脫機(jī)運(yùn)行和保證系統(tǒng)掉電不丟失,最好將編譯好的軟件程序燒制到VC5416的片上ROM中,這樣既可以減小系統(tǒng)體積和成本,也有利于提高系統(tǒng)性能。本系統(tǒng)在實驗過程中,為調(diào)試方便采用外擴(kuò)1片映射到數(shù)據(jù)空間的Flash ROM來進(jìn)行脫機(jī)運(yùn)行的調(diào)試工作。Flash ROM在數(shù)據(jù)空間的映射地址從0x8000~0xFFFF。系統(tǒng)上電時,利用VC5416的Bootloader將Flash中的程序?qū)隫C5416的內(nèi)RAM中,然后將其屏蔽。
1.4 系統(tǒng)邏輯控制模塊
  系統(tǒng)采用了1片復(fù)雜可編程邏輯器件(CPLD)。該器件在系統(tǒng)中起到全局邏輯控制作用,使整個系統(tǒng)可以在DSP的統(tǒng)一管理和控制下協(xié)調(diào)工作。
1.5 號碼顯示模塊
  當(dāng)一幅號碼圖像的識別過程結(jié)束后,DSP TMS320VC5416還需通過驅(qū)動電路在數(shù)碼管LED上顯示識別結(jié)果。驅(qū)動電路采用的是最常用的LED驅(qū)動器MAX7219[2][4]。
2 軟件設(shè)計
  軟件主要包括圖像預(yù)處理電路的初始化程序、DSP的初始化程序、紙幣號碼圖像采集與識別程序、號碼顯示譯碼程序以及上電引導(dǎo)程序等。本文簡要介紹編寫的幾個主要程序。
2.1 圖像預(yù)處理電路的初始化程序
  圖像預(yù)處理電路的初始化主要通過設(shè)置視頻解碼器相應(yīng)的寄存器實現(xiàn)。視頻解碼器片上寄存器的讀寫通過I2C總線協(xié)議的形式完成。首先,由DSP輸出控制信號,分別用于對應(yīng)I2C總線的數(shù)據(jù)線(SDA)和時鐘線(SCL)。然后,根據(jù)I2C總線協(xié)議,編程實現(xiàn)對視頻解碼器片上寄存器的訪問。
  系統(tǒng)對視頻解碼器的寄存器設(shè)置如表1所示。


  由于DSP的I2C總線實現(xiàn)程序比較繁瑣,所以本文沒有列出程序清單。
2.2 DSP的初始化程序設(shè)計
  該程序主要通過對必要的DSP存儲器映射寄存器(MMR)賦值,使其工作在系統(tǒng)要求的狀態(tài),主要包括以下操作:
  (1)將處理器模式狀態(tài)寄存器(PMST)設(shè)置為0xAC,使中斷向量表重定位到0x0080,并且允許訪問片上ROM,同時將片上雙尋址RAM0~3(DARAM0~3)映射到程序空間的0x0080~0x7FFF,將雙尋址RAM4~7(DARAM4~7)映射到數(shù)據(jù)空間的0x8000~0xFFFF。
  (2)時鐘方式寄存器(CLKMD)設(shè)置為0x97F7,使程序正常運(yùn)行在160MHz的最高工作頻率下。
  (3)軟件等待狀態(tài)寄存器(SWWSR)設(shè)置為0x0000,使數(shù)據(jù)、程序和I/O空間的訪問都工作在零等待狀態(tài)。
  (4)狀態(tài)寄存器1(ST1)設(shè)置為0x6980,以滿足C程序運(yùn)行的需要,同時禁止所有可屏蔽中斷。
2.3 水表號碼圖像采集與識別程序
  水表號碼圖像采集程序的設(shè)計思路為通過采用通用I/O口(GPIO)對圖像預(yù)處理電路轉(zhuǎn)換產(chǎn)生的行、場同步信號以及像素時鐘等的查詢,將圖像數(shù)據(jù)準(zhǔn)確地存儲到指定的存儲空間[3]。


  每個水表號碼的大小約為50×70,即3500個像素,水表字符框的高度為88個像素,考慮到水表字輪經(jīng)常出現(xiàn)上下兩個字符各出現(xiàn)一部分的情況(圖2右側(cè)的數(shù)字6、7部分),因此每個字符需要采集保存的實際高度應(yīng)為字符框的高度,即88個像素。而字符間距為60~70個像素,如圖3所示。目前,僅對水表后四位數(shù)字進(jìn)行采集便基本能滿足需要,如果直接對圖像進(jìn)行采集和保存,則一幅水表號碼圖像需要400×88,即35200(35.2K)個像素。但是系統(tǒng)本身的存儲空間非常有限,可用數(shù)據(jù)空間只有40KB左右,而識別算法在運(yùn)行過程中還需要隨時開辟相當(dāng)數(shù)量的存儲空間來存儲臨時變量和中間結(jié)果,因此不能直接對圖像進(jìn)行保存。
  在設(shè)計采集程序時需要對讀入的圖像數(shù)據(jù)進(jìn)行選擇性的存儲,盡量只保存水表字輪號碼體部分,而號碼體之間的冗余數(shù)據(jù)則盡量舍棄,以節(jié)省存儲空間。根據(jù)水表字輪的特點,在數(shù)據(jù)采集過程中通過軟件處理去除相鄰數(shù)字間冗余信息后保存的圖像如圖2所示。
  目前采用的識別程序是一種基于結(jié)構(gòu)法的識別算法,是根據(jù)數(shù)字本身結(jié)構(gòu)上所存在的特點編寫的。本識別算法大體可分為定位、預(yù)處理、識別、結(jié)果輸出四部分。
  定位時,應(yīng)用號碼本身紋理特性,即水平和垂直投影均有較明顯的峰谷峰性質(zhì)。首先進(jìn)行水平投影,定位上下邊界,縮小圖片面積;然后垂直投影,定位每個字符的左右邊界。預(yù)處理時,采用適當(dāng)濾波算法,濾除由污跡和采集芯片造成的噪聲;區(qū)域分割過程中,為提高速度,在光照一定的情況下,采用固定閾值分割。
  識別時,依據(jù)水平垂直穿線次數(shù)和航程面積,以及定位框的高寬比等多種特征的信息融合技術(shù),利用分叉判定樹對數(shù)字進(jìn)行識別。例如,數(shù)字1水平穿線均為1次,垂直高度遠(yuǎn)大于水平寬度。
  針對水表字輪號碼隨時都有上下兩個號碼各出現(xiàn)一部分的情況,可采用相鄰兩個號碼間的結(jié)構(gòu)特點進(jìn)行區(qū)分。
3 裝置設(shè)計過程中主要解決的技術(shù)問題
  (1)圖像采集部分采用的是將視頻解碼器數(shù)字?jǐn)?shù)據(jù)輸出直接與DSP的數(shù)據(jù)線相連,而不是通常采用的在兩者之間增加一個FIFO(先入先出存儲器)進(jìn)行數(shù)據(jù)緩存的方法。對電路進(jìn)行這樣的處理不僅節(jié)省了一個FIFO成本,更主要的是降低了系統(tǒng)復(fù)雜度,提高了裝置的工作效率。但這樣就相應(yīng)增加了圖像數(shù)據(jù)采集軟件的設(shè)計難度。因為數(shù)字?jǐn)?shù)據(jù)的輸出速度為13.5MHz,像素時鐘為27MHz,而DSP工作頻率為160MHz,DSP要實現(xiàn)對一個像素數(shù)據(jù)的讀取首先要查詢各種同步信號,然后才能讀取一個數(shù)據(jù),而且在讀取數(shù)據(jù)時也要耗費(fèi)多個時鐘周期。此問題經(jīng)過不斷的軟件優(yōu)化和調(diào)試得到了解決。
  (2)視頻解碼器初始化所需的I2C總線的實現(xiàn)問題,較常用的方式是利用現(xiàn)成的帶I2C總線模塊的單片機(jī)實現(xiàn)。所采用的DSP本身沒有I2C總線模塊,設(shè)計時也沒有增加一個帶I2C模塊的單片機(jī)方式,而利用DSP的HPI(主機(jī)接口)口控制CPLD,模擬實現(xiàn)了I2C總線協(xié)議。
  (3)針對水表字輪號碼存在相鄰號碼各出現(xiàn)一部分的情況,編寫了專門的處理軟件。
  (4)遠(yuǎn)程抄表,采用在每家住戶水表內(nèi)密封一個2cm×2cm×2cm的模擬攝像頭,并利用一根電源線和一根信號線與主處理板相連。這樣,主處理板可以對相連的所有用戶水表逐一進(jìn)行抄表記錄。
  所開發(fā)的基于圖像處理和嵌入式技術(shù)的遠(yuǎn)程抄表裝置樣機(jī)已經(jīng)完成,目前運(yùn)行穩(wěn)定,正確讀取率99%以上。特別對于上下兩個水表字輪號碼各出現(xiàn)一部分的情況識別比較準(zhǔn)確,識別結(jié)果可通過LED直觀顯示。
參考文獻(xiàn)

[1] 美國德州儀器(TI).TMS320VC5416 fixed-point digital signal processor data manual.Literature Number:SPRS095K, March 1999-Revised September 2003.www.TI.com.
[2] 傘宏力,樊寧.一種用單片機(jī)驅(qū)動線陣CCD的方法[J].沈陽工業(yè)大學(xué)學(xué)報,2005,(1)
[3] YUAN W Q,ZHENG Ch Q.Paper currency recognition system based on DSP.International Electronic Elements,2004.
[4] HUANG X M.The gathering and display system for digital image real-time.Study for computer,1997,(2)
[4] 張健,顏華,董玉巖,等.電容層析成像投影數(shù)據(jù)的采集 系統(tǒng)設(shè)計[J].沈陽工業(yè)大學(xué)學(xué)報,2006,(1)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。