《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP的多路抄表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于DSP的多路抄表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2013年第4期
苑瑋琦,楊 洋
沈陽(yáng)工業(yè)大學(xué) 視覺(jué)檢測(cè)技術(shù)研究所, 遼寧 沈陽(yáng)110870
摘要: 分析了目前抄表系統(tǒng)中存在的一些問(wèn)題,提出了一種基于DSP的多路水表號(hào)碼識(shí)別系統(tǒng),給出了系統(tǒng)的設(shè)計(jì)方案及各功能模塊實(shí)現(xiàn)過(guò)程。系統(tǒng)屬于無(wú)源遠(yuǎn)程抄表方式,采用嵌入式技術(shù)和視覺(jué)檢測(cè)技術(shù),通過(guò)對(duì)水表號(hào)碼圖片的采集及識(shí)別處理,實(shí)現(xiàn)對(duì)多路水表讀數(shù)的顯示及傳輸。實(shí)驗(yàn)證明該系統(tǒng)成本低、速度快、安全、節(jié)能、工作穩(wěn)定,可以準(zhǔn)確識(shí)別水表讀數(shù)。
中圖分類(lèi)號(hào): TP391.4
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)04-0068-04
Design and implementation of multiple meter reading system based on DSP
Yuan Weiqi, Yang Yang
Visual Ispection Technology Institute, Shenyang University of Technology, Shenyang 110870, China
Abstract: A kind of multiple recognition system for the water meter’s reading based on DSP is put forward. A design and a implementation of the main functional modules of this system are given. The system belongs to the mode of passive remote meter reading. Using the embedded technology and visual inspection technology, the system collectes the picture of water meter’s numbers and recognizes them, then displaies and transfers the readings of multiple water meters. Experiments show that the system has characteristics of lower cost, high speed, safety, energy saving and stability. It can recognize the readings of water meter accurately.
Key words : water meter; number recognition; machine vision; DSP

    現(xiàn)今的抄表方式主要有兩種,第一種方式為人工抄表,不僅效率低,而且給用戶(hù)帶來(lái)諸多不便。第二種方式是利用遠(yuǎn)傳抄表系統(tǒng)進(jìn)行抄表,市場(chǎng)上目前有兩種水表遠(yuǎn)傳系統(tǒng)部分投入試用,一種是三表(水電煤氣)遠(yuǎn)傳抄表系統(tǒng),另一種是IC卡式水表[1]。這兩種產(chǎn)品由于維護(hù)量較大,價(jià)格高,且需要實(shí)時(shí)帶電工作,易造成停電漏記等問(wèn)題,推廣有一定難度。

    本文提出了一種基于DSP的多路抄表系統(tǒng)。該系統(tǒng)以視頻解碼芯片和數(shù)字信號(hào)處理器DSP為主要核心,可實(shí)現(xiàn)對(duì)多路水表號(hào)碼的采集、識(shí)別及傳輸?shù)冗h(yuǎn)程抄表功能,每個(gè)水表讀數(shù)用時(shí)0.6 s,滿(mǎn)足實(shí)際需要。利用該系統(tǒng),抄表員不用挨家挨戶(hù)去手動(dòng)抄表,而是在一個(gè)地點(diǎn)將各用戶(hù)的水表號(hào)碼自動(dòng)抄寫(xiě),并保存在掌上電腦中。該系統(tǒng)克服了現(xiàn)有抄表系統(tǒng)的缺陷,屬于真正的直讀工作方式,而且無(wú)需24小時(shí)不間斷供電,無(wú)累計(jì)誤差,獲取水表表盤(pán)實(shí)際號(hào)碼的讀數(shù),可以方便用戶(hù)核對(duì)。   
1 系統(tǒng)工作原理
    抄表系統(tǒng)整體框圖如1所示。系統(tǒng)上電后,將固化在外部程序存儲(chǔ)器SPI中的系統(tǒng)程序下載到信號(hào)處理器內(nèi)部的隨機(jī)存儲(chǔ)器中,進(jìn)而系統(tǒng)可以完成各種初始化的操作流程。視頻解碼芯片通過(guò)I2C總線初始化后,將由圖像傳感器傳來(lái)的圖像模擬信號(hào)轉(zhuǎn)化為標(biāo)準(zhǔn)數(shù)字圖像信號(hào)送到數(shù)字信號(hào)處理器(DSP)中,然后再以DSP為主處理芯片,將采集到的圖像進(jìn)行識(shí)別處理。當(dāng)一路水表讀數(shù)識(shí)別完成后,通過(guò)多路轉(zhuǎn)換開(kāi)關(guān)切入到下一路水表進(jìn)行采集和識(shí)別,最終通過(guò)LCD液晶屏顯示識(shí)別結(jié)果,并將讀數(shù)通過(guò)射頻信號(hào)發(fā)生器傳到掌上電腦中,完成抄表功能。

 

 

2 系統(tǒng)硬件設(shè)計(jì)
    系統(tǒng)硬件設(shè)計(jì)主要包括圖像采集及識(shí)別模塊、多路轉(zhuǎn)換模塊、人機(jī)接口模塊及數(shù)據(jù)傳輸模塊四個(gè)部分。
2.1 圖像采集及識(shí)別模塊
    圖像采集及識(shí)別模塊主要是由圖像傳感器、視頻解碼芯片及DSP組成。該模塊主要功能是將圖像的模擬信號(hào)轉(zhuǎn)換成DSP可接收得數(shù)字信號(hào),并在DSP內(nèi)完成對(duì)數(shù)字圖像的采集及識(shí)別過(guò)程。
    系統(tǒng)中,圖像傳感器采用傳統(tǒng)的CMOS攝像頭,安放在水表表盤(pán)正上方。該傳感器通過(guò)一根電源線和一根視頻線與主處理板相連,輸出水表圖像的模擬信號(hào)。
    視頻解碼芯片主要采用Philips公司的SAA7113H芯片。它可以將圖像傳感器輸出的模擬信號(hào)經(jīng)過(guò)放大、濾波、A/D轉(zhuǎn)換等過(guò)程[2]轉(zhuǎn)換成數(shù)字信號(hào)送入DSP中。同時(shí),它可從視頻信號(hào)中分離出場(chǎng)同步信號(hào)和行同步信號(hào),用于對(duì)圖像的采集。
    SAA7113H芯片在上電后,必須由前端處理器DSP通過(guò)I2C串行總線對(duì)其內(nèi)部寄存器進(jìn)行初始化設(shè)置后,才能工作在系統(tǒng)所需狀態(tài)。I2C總線有兩條線路:串行數(shù)據(jù)線SDA和串行時(shí)鐘線SCL。系統(tǒng)設(shè)計(jì)中,將這兩條總線分別與DSP中的兩個(gè)I/O口相連,由軟件編程來(lái)模擬實(shí)現(xiàn)I2C總線的通信,完成對(duì)SAA7I13H寄存器的初始化操作。
    考慮到DSP的性?xún)r(jià)比和市場(chǎng)應(yīng)用的份額,本系統(tǒng)采用的DSP為T(mén)MS329VC5509A,這款芯片屬于TI公司DSP中的5000系列。該芯片雖為定點(diǎn)運(yùn)算,但運(yùn)算速度及精度基本可以滿(mǎn)足本系統(tǒng)的需要,而且價(jià)格較為低廉。TMS320VC5509A的CPU的主時(shí)鐘能夠最高工作在200 MHz,有128 K×16 bit隨機(jī)讀寫(xiě)存儲(chǔ)器(16-bit words RAM)和32 K×16 bit只讀存儲(chǔ)器(16-bit words  ROM)[3]。
    由于TMS329VC5509A中可直接用于控制的I/O口較少,所以在系統(tǒng)設(shè)計(jì)中,將DSP上多通道緩沖串口1(MCBSP1)中的CLKR1和CLKX1引腳配置成通用I/O口,與視頻解碼器的行場(chǎng)輸出相連,用來(lái)檢測(cè)數(shù)字圖像信號(hào)的得行信號(hào)和場(chǎng)信號(hào),以保證采集時(shí)信號(hào)時(shí)序的正確和圖像的完整。MCBSP0中的DX0引腳配置成通用I/O口,為SAA7113H芯片提供使能信號(hào)。由于DSP 5000系列中沒(méi)有專(zhuān)門(mén)用于接收數(shù)字圖像信號(hào)的VP接口,所以在本系統(tǒng)中,圖像的數(shù)據(jù)信號(hào)是從DSP中的外部存儲(chǔ)接口(EMIF)的8根并行數(shù)據(jù)線D0~D7傳入DSP中的,并儲(chǔ)存在DSP內(nèi)部的內(nèi)存空間,整個(gè)的圖像的識(shí)別過(guò)程在DSP內(nèi)部進(jìn)行。DSP與視頻解碼芯片SAA3113H的邏輯連接圖如圖2所示。

2.2 多路轉(zhuǎn)換模塊
    由于系統(tǒng)最終要實(shí)現(xiàn)多路水表讀數(shù)的采集與識(shí)別,所以在圖像傳感器與視頻解碼芯片之間設(shè)計(jì)了一個(gè)多路轉(zhuǎn)換開(kāi)關(guān),如圖3所示。該開(kāi)關(guān)主要采用芯片CD4051實(shí)現(xiàn),可用于圖像模擬信號(hào)的輸入、輸出。CD4051相當(dāng)于一個(gè)單刀八擲開(kāi)關(guān),可實(shí)現(xiàn)1路對(duì)8路的雙向輸入和輸出。開(kāi)關(guān)接通哪一通道,由其控制引腳所輸入的3位地址碼ABC來(lái)決定,本系統(tǒng)中地址碼由DSP的I/O口提供。目前用于調(diào)試的系統(tǒng)僅采用1個(gè)CD4051開(kāi)關(guān),可實(shí)現(xiàn)8路水表圖像的采集和識(shí)別。根據(jù)實(shí)際需要,利用多個(gè)該芯片的組合,可擴(kuò)展實(shí)現(xiàn)對(duì)16、32、64等多路水表的抄錄。

2.3 人機(jī)接口模塊
    整個(gè)系統(tǒng)的人機(jī)操作接口包括一個(gè)3×4鍵盤(pán)和LCD顯示屏兩部分,以方便用戶(hù)對(duì)系統(tǒng)的操作和觀察。通過(guò)人機(jī)接口,可實(shí)現(xiàn)對(duì)水表的多路采集識(shí)別、單路采集識(shí)別、多路數(shù)據(jù)傳輸、單路數(shù)據(jù)傳輸、結(jié)果顯示等控制功能。系統(tǒng)中,LCD液晶顯示屏采用NEC公司的μPD161621P系列,鍵盤(pán)設(shè)計(jì)采用傳統(tǒng)矩陣鍵盤(pán)電路,這兩個(gè)部分都是通過(guò)DSP外擴(kuò)可編程邏輯器件(CPLD)實(shí)現(xiàn)。
2.4 數(shù)據(jù)傳輸模塊
    水表號(hào)碼識(shí)別結(jié)束后,需要將數(shù)據(jù)進(jìn)行傳輸并保存。數(shù)據(jù)傳輸模塊包括232接口﹑射頻信號(hào)發(fā)生器和掌上電腦三部分。232接口是DSP通過(guò)CPLD和MAX232芯片擴(kuò)展實(shí)現(xiàn)。射頻信號(hào)發(fā)生器是一個(gè)集成模塊,3.3 V電源供電,是DSP和掌上電腦之間數(shù)據(jù)傳輸?shù)募~帶。水表數(shù)據(jù)通過(guò)232接口傳入射頻信號(hào)發(fā)生器中,并自動(dòng)以射頻信號(hào)的形式發(fā)射出去,傳輸速度為9 600波特率。掌上電腦可以視為一個(gè)射頻信號(hào)接收器,其內(nèi)核為ARM7,通過(guò)編程,可接收射頻信號(hào)發(fā)生器傳來(lái)的數(shù)據(jù)并保存。這樣抄表人員只需拿著掌上電腦就可接收各個(gè)水表的數(shù)據(jù)。
3 系統(tǒng)軟件設(shè)計(jì)
    系統(tǒng)軟件設(shè)計(jì)主要包括DSP初始化程序、視頻解碼芯片初始化程序、號(hào)碼采集程序和號(hào)碼識(shí)別程序四部分。
3.1 DSP初始化程序
    DSP初始化程序主要通過(guò)對(duì)DSP相應(yīng)功能寄存器的賦值,來(lái)實(shí)現(xiàn)對(duì)系統(tǒng)的初始化操作,以滿(mǎn)足系統(tǒng)工作時(shí)的要求。主要包括以下操作:
    (1)配置時(shí)鐘發(fā)生器的寄存器CLKMD,地址為0x1C00,對(duì)其賦值為0x2813,使系統(tǒng)工作在192 MHz頻率下。
    (2) 配置DSP中CMD文件,分配內(nèi)存空間。中斷向量表定義在0x200,程序存儲(chǔ)空間為0x2300~0x0ff0,數(shù)據(jù)存儲(chǔ)空間為0x12200~0x40000。圖像定義在固定的地址0x22200下,以方便調(diào)試時(shí)對(duì)采集的圖片進(jìn)行查看。
    (3) 配置DSP狀態(tài)寄存器ST1,地址為0x0003,設(shè)置值為0x6900,關(guān)閉系統(tǒng)可屏蔽中斷。
    (4) 將DSP中EMIF控制寄存器設(shè)置為與Synchronous Sdram相連接的模式,并且將EMIF工作模式寄存器EBSR(地址為0x6C00)的Parallel Port位置為0,代表當(dāng)前工作狀態(tài)為DATA EMIF MODE[4],為圖像數(shù)據(jù)信號(hào)采集做好相關(guān)配置。
3.2 視頻解碼器初始化
    該程序主要是對(duì)SAA7113H芯片進(jìn)行初始化操作,對(duì)其片上功能寄存器的讀寫(xiě)完全按照I2C總線協(xié)議形式完成。通信時(shí),采用I2C工作模式中的從接收模式,DSP作為主設(shè)備,視頻解碼器作為從設(shè)備(地址為0x4A),數(shù)據(jù)傳輸采用8位尋址數(shù)據(jù)格式。由于程序比較繁瑣,本文沒(méi)有列出具體程序清單。SAA7113H主要功能寄存器配置[5]如表1所示。

3.3 號(hào)碼采集程序
    一幅圖像的視頻信號(hào)分為場(chǎng)信號(hào)和行信號(hào)。場(chǎng)信號(hào)為一幀圖像到來(lái)的標(biāo)志,行信號(hào)為圖像每行像素到來(lái)的標(biāo)志。號(hào)碼采集程序的主要思路就是通過(guò)對(duì)視頻信號(hào)中行信號(hào)﹑場(chǎng)信號(hào)的查詢(xún),將圖像準(zhǔn)確地存入到DSP的內(nèi)存空間中。采集程序流程圖如圖4所示。

3.4 號(hào)碼識(shí)別程序
    號(hào)碼識(shí)別算法主要采用傳統(tǒng)的模板匹配法。模板為0~9單字符模板,每個(gè)大小為67×31,字符部分為1,背景部分為0,存儲(chǔ)在DSP內(nèi)部的存儲(chǔ)空間。將待識(shí)別字符與10個(gè)相應(yīng)模板進(jìn)行匹配運(yùn)算,找出匹配度最好一組,輸出相應(yīng)數(shù)值,即為待識(shí)別號(hào)碼。
    識(shí)別程序中,半字符的識(shí)別是該段程序的難點(diǎn),編寫(xiě)了相應(yīng)的處理算法,具體思路如下:對(duì)于分割后的單字符圖像,首先要進(jìn)行整字符和半字符的判別,其依據(jù)為二值化后的半字符圖像,會(huì)有3~4行連續(xù)的白像素點(diǎn),而整字符則沒(méi)有。利用這一特點(diǎn),可以進(jìn)行整、半字符的判斷,進(jìn)而生成相應(yīng)模板,完成匹配識(shí)別。例如當(dāng)待識(shí)別字符為整字符時(shí),進(jìn)行匹配時(shí)所用的0~9單字符模板不變。當(dāng)待識(shí)別字符為半字符時(shí),需計(jì)算待識(shí)別字符中,上下字符分別占整體圖像的比例大小,利用這一比例和0~9單字符模板,生成10個(gè)新的半字符模板,完成模板匹配識(shí)別。相應(yīng)匹配過(guò)程和程序流程圖分別如圖6、圖7所示。

4 實(shí)驗(yàn)結(jié)果
    目前,該系統(tǒng)的調(diào)試樣機(jī)已經(jīng)完成,系統(tǒng)運(yùn)行穩(wěn)定,識(shí)別率達(dá)99%以上。利用該系統(tǒng)可完成多路水表讀數(shù)識(shí)別、單路水表讀數(shù)識(shí)別、多路水表數(shù)據(jù)傳輸、單路水表數(shù)據(jù)傳輸,水表讀數(shù)顯示等功能。
    本文設(shè)計(jì)了一種基于DSP的多路抄表系統(tǒng),可實(shí)現(xiàn)對(duì)多路、單路水表讀數(shù)的遠(yuǎn)程自動(dòng)抄錄,針對(duì)水表中出現(xiàn)的半字符情況,給出了相應(yīng)的識(shí)別方法。雖然系統(tǒng)現(xiàn)在還不夠完善(如識(shí)別速度略慢),但它的設(shè)計(jì)為日后系統(tǒng)的優(yōu)化提供了一定基礎(chǔ),為今后抄表方式提供了一個(gè)新的參考方向。
參考文獻(xiàn)
[1] 王靜爽,曹爾曄. 智能IC卡水表電控系統(tǒng)[J].電子技術(shù)應(yīng)用,2002,28(5):16-17.
[2] 溫賀平, 戴青云, 劉志鑫. 利用 I2C總線實(shí)現(xiàn) DSP對(duì)SAA7113H的配置[J]. 儀器儀表用戶(hù),2009(11):91-92.
[3] 美國(guó)德州儀器(TI). TMS320VC5509A fixed-point digital signal processor[Z]. 2000.
[4] 陳泰紅,任勝杰,魏宇.手把手教你學(xué)DSP[M]. 北京: 北京航空航天大學(xué)出版社, 2011.
[5] Philips Semiconductors. SAA7113H 9 bit video input processor[Z]. 1999.

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