文獻標(biāo)識碼: A
文章編號: 0258-7998(2014)02-0023-04
數(shù)字信號處理器DSP(Digital Signal Processor)是一種具有特殊結(jié)構(gòu)的微處理器,具有較高的主頻以及擁有強大且高效的硬件資源。在硬件結(jié)構(gòu)方面,DSP具有更多的數(shù)據(jù)總線和地址總線,并行處理數(shù)據(jù)的能力更為強大,已廣泛應(yīng)用于圖像處理、通信技術(shù)、網(wǎng)絡(luò)設(shè)備、儀器儀表和家電等領(lǐng)域。液晶顯示屏以其顯示直觀、便于操作等特點被用作各種便攜式系統(tǒng)的顯示終端。隨著信息技術(shù)應(yīng)用的日益普及,對嵌入式網(wǎng)絡(luò)通信技術(shù)的需求越來越大,對可靠性及信息流量的要求也越來越高。以目前的技術(shù),TCP/IP是被廣泛支持的一種協(xié)議,在嵌入式設(shè)備中實現(xiàn)TCP/IP協(xié)議,可以很方便地將設(shè)備接入網(wǎng)絡(luò)中,實現(xiàn)PC與DSP間大數(shù)據(jù)量的快速數(shù)據(jù)交互。
本文設(shè)計的非接觸多光譜手成像系統(tǒng)顯示與數(shù)據(jù)接口可將在非接觸多光譜條件下采集到的手掌靜脈、掌紋和掌形三模態(tài)圖像顯示在液晶顯示屏上,并通過以太網(wǎng)接口以TCP/IP協(xié)議在PC和DSP之間進行通信。本設(shè)計為非接觸手多模態(tài)信息融合識別技術(shù)搭建了理想的硬件平臺。
1 系統(tǒng)總體硬件結(jié)構(gòu)
構(gòu)建合理準確的硬件結(jié)構(gòu)能夠使采集到的圖像很好地呈現(xiàn)在顯示屏上,并將圖片數(shù)據(jù)通過以太網(wǎng)傳到PC上,而且能提高識別的準確度和速度,從而提高系統(tǒng)的整體性能。本系統(tǒng)硬件結(jié)構(gòu)由光源子系統(tǒng)、圖像采集模塊、DSP數(shù)據(jù)處理識別模塊、語音提示模塊以及液晶顯示模塊、以太網(wǎng)接口模塊等組成。
圖1為系統(tǒng)總體框圖。此系統(tǒng)為非接觸多光譜式手成像系統(tǒng),被測試者水平自然伸出手掌即可進行采集。由GPIO口發(fā)出光源控制信號來控制470 nm的可見光藍光和850 nm的近紅外光源,以完成多光譜條件下對手部信息的采集。由圖像傳感器采集到圖像數(shù)據(jù)存在SDRAM中;由EDMA將數(shù)據(jù)搬到視頻輸出口VP0的FIFO中輸出至編碼芯片;經(jīng)過編碼芯片對信號進行D/A轉(zhuǎn)換,輸出模擬信號并送入液晶屏,使手部信息在顯示器上實時顯示。同時,將采集到的手圖像數(shù)據(jù)經(jīng)EMAC,由物理層芯片(PHY)對數(shù)據(jù)進行處理后送至RJ45,最后在PC上完成注冊等相關(guān)工作。
2 實時顯示電路的設(shè)計
實時顯示電路主要依靠DM642來完成。前端圖像采集模塊采集到的數(shù)據(jù)由DM642的VP口輸出數(shù)字信號,經(jīng)過編碼芯片轉(zhuǎn)換成模擬信號接顯示屏進行顯示。圖2為系統(tǒng)實時顯示電路的框圖。
2.1 編碼芯片SAA7121H初始化
編碼芯片選用Philips公司一款較簡單的D/A轉(zhuǎn)換芯片SAA7121H,將數(shù)字視頻信息轉(zhuǎn)換成場頻為50 Hz的全電視模擬信號。MP0~MP7的視頻數(shù)據(jù)引腳輸入數(shù)據(jù)為BT.656格式的數(shù)字視頻信號,經(jīng)過SAA7121H芯片內(nèi)的數(shù)據(jù)管理模塊分離出Y、Cb、Cr信號,然后送到片內(nèi)相應(yīng)的數(shù)/模轉(zhuǎn)換模塊,將數(shù)字視頻信號轉(zhuǎn)換為復(fù)合視頻信號,最后由CVBS或者Y、C輸出[1]。
本系統(tǒng)通過DM642的GP14和GP15模擬I2C總線時序,對SAA7121H的功能寄存器進行配置。將SAA7121H芯片引腳SA拉低,即設(shè)備地址為0x88。SAA7121H內(nèi)部有128個寄存器:26H~2EH為狀態(tài)寄存器,用于設(shè)置寬屏顯示模式和奇偶場編碼使能等;3AH~5FH為工作方式寄存器,控制色度信號增益;61H用于設(shè)置輸出制式及每行像素個數(shù);62H~66H用于設(shè)置載波實時控制使能及載波頻率;6BH~6EH用于設(shè)置行/場同步信號的輸出;75H用于調(diào)整同步信號;70H~74H、76H~79H、7EH~7FH與廣播信號有關(guān)。
(1)在獲得U、V信號時要考慮白電平到黑電平之間的范圍,因為白電平與黑電平的差值定義了增益的大小,其中最暗的程度是0 IRE,最亮的程度是100 IRE。事實上畫面中亮度低于7.5 IRE的地方基本上已經(jīng)顯示不出細節(jié)了,看上去就是一片黑色,將黑電平設(shè)為7.5 IRE時,就可以去掉一些信號成分,從而在一定程度上簡化電路結(jié)構(gòu)。本設(shè)計將黑電平設(shè)為7.5 IRE,則white to black=92.5 IRE(即白電平與黑電平之間的差值為92.5 IRE);同步脈沖通常為零值以下的40 IRE,因此白色信號的峰峰值(正最高值100 IRE 減去負最高值-40 IRE)應(yīng)該等于140 IRE,即white to sync=140 IRE。
(2)地址為6BH的RCV端口控制寄存器。
PRCV2、PRCV1:判斷RCV2、RCV1引腳有效極性,即輸入是在上升沿還是下降沿時有效,本設(shè)計中采用上升沿有效。
ORCV2、ORCV1:通過置0或者1來控制RCV2、ORCV1用作輸入還是輸出引腳。本設(shè)計中該兩位置0,RCV2、RCV1用作行場信號的輸入引腳。
CBLF:判斷RCV2是否提供水平同步信號。
TRCV2:水平同步信號是來自RCV1、RCV2。
SRCV11和SRCV10:定義RCV1的類型。
在本設(shè)計中,把TRCV2位設(shè)為1,因為行同步信號是由RCV2提供的。由于采用場同步輸出的方式,所以SRCV11和SRCV10設(shè)置為00,該寄存器是0x20。
(3)通過設(shè)置奇偶場中的有效行來確定顯示圖片的大小,SAA7121H寄存器地址為7AH的First active line寄存器和地址為7CH的MSB vertical寄存器中的第4位FAL8決定第一個有效行的位置;地址為7BH的Last active line寄存器和地址為7CH的MSB vertical寄存器中的第6位LAL8決定最后一個有效行的位置。
通過配置完SAA7121H寄存器,將輸入視頻BT.656格式的數(shù)字信號轉(zhuǎn)換成為NTSC視頻制式,掃描方式為隔行掃描,圖像大小為640×480,使其輸出滿足本設(shè)計的要求。
2.2 VP口與編碼芯片SAA7121H硬件連接
TMS320DM642的視頻口亦可配置為視頻輸出口[2],通過視頻編碼芯片把BT.656格式的視頻數(shù)據(jù)轉(zhuǎn)化為NTSC制式的視頻信號。SAA7121H的8條數(shù)據(jù)線MP[7:0]與VPORT的10根數(shù)據(jù)線中的高8位依次對應(yīng)連接VPORT0_D[9:2];SAA7121H的輸入時鐘信號LLC的頻率為27 MHz,引腳LCC與VPORT的VP0_CLK0相連,控制VPORT的數(shù)據(jù)顯示節(jié)奏;SAA7121H的控制信號RCV1和RCV2與VPORT的VPORT1_CTL1、VPORT1_CTL0連接。圖3為顯示接口電路硬件連接圖。
2.3 液晶顯示模塊
顯示器主要用于顯示身份識別的結(jié)果以及手成像過程的實時顯示,最終使人機界面融為一體。要使顯示屏正確顯示圖像以及識別結(jié)果,在使用前需要對液晶顯示模塊進行初始化的操作。初始化內(nèi)容主要包括選擇數(shù)據(jù)的傳輸接口(VGA接口或A/V接口)、顯示器的亮度調(diào)整、工作和顯示窗口大小的設(shè)定等。本設(shè)計中采用A/V數(shù)據(jù)接口,顯示模式調(diào)為NTSC制式,寬屏顯示。
3 以太網(wǎng)數(shù)據(jù)接口
選擇用以太網(wǎng)接口來實現(xiàn)數(shù)據(jù)傳輸功能。DM642內(nèi)部集成了增強型網(wǎng)絡(luò)存取控制器(EMAC),但沒有提供物理層接口,所以需要外接一片物理層芯片(PHY)完成物理層功能,從而實現(xiàn)網(wǎng)絡(luò)操作和數(shù)據(jù)交互等功能。圖4所示為以太網(wǎng)接口部分整體框圖。
3.2 物理層芯片LXT971ALC
由于DM642內(nèi)部沒有提供物理層接口,所以外接一片物理層芯片LXT971ALC實現(xiàn)物理層操作功能。LXT971ALC是Intel公司推出的網(wǎng)絡(luò)通信接口電路,它符合IEEE標(biāo)準,直接支持10 Mb/s和100 Mb/s雙絞線應(yīng)用。該電路提供的MII接口能很好地符合10/100 MACs,支持全雙工操作[4],在全雙工模式下,可以同時實現(xiàn)發(fā)送和接收[5]。
根據(jù)IEEE802.3協(xié)議,100 Mb/s以太網(wǎng)物理層分為3個功能子層,分別為:物理編碼子層(PCS)、物理介質(zhì)連接子層(PMA)和物理介質(zhì)相關(guān)子層(PMD)。物理層芯片LXT971ALC實現(xiàn)了以上各層的功能,芯片的硬件功能框圖如圖6所示。
3.3 EMAC與物理層芯片LXT971ALC硬件連接
由于EMAC沒有集成網(wǎng)口的物理層,因此,必須與外部的物理層和鏈路層芯片組成網(wǎng)口傳輸硬件電路。在LXT971ALC與網(wǎng)口RJ-45之間使用網(wǎng)絡(luò)隔離變壓器,主要有兩個作用:(1)傳輸數(shù)據(jù),它把PHY送出來的差分信號用差模耦合的線圈耦合濾波以增強信號,并且通過電磁場的轉(zhuǎn)換耦合到不同電平的連接網(wǎng)線的另外一端;(2)隔離網(wǎng)線連接的不同網(wǎng)絡(luò)設(shè)備間的不同電平,以防止不同電壓通過網(wǎng)線傳輸損壞設(shè)備。除此之外,網(wǎng)絡(luò)隔離變壓器還能對設(shè)備起到一定的防雷保護作用。
當(dāng)DM642有數(shù)據(jù)需要發(fā)送時,首先通過MTXEN引腳使能TX_EN信號,然后通過DM642的EDMA搬移待發(fā)數(shù)據(jù),從DM642的SDRAM中,通過發(fā)送總線MTXD[3:0]傳輸?shù)絃XT971ALC內(nèi),經(jīng)LXT971ALC內(nèi)部邏輯,將封裝數(shù)據(jù)發(fā)送到以太網(wǎng)上。發(fā)送時鐘TX_CLK由LXT971A產(chǎn)生。當(dāng)發(fā)送過程有沖突產(chǎn)生時,沖突檢測信號COL置高,狀態(tài)指示信號CRS置高,DM642收到?jīng)_突信息并進行相應(yīng)的處理,以保證數(shù)據(jù)傳輸按照網(wǎng)絡(luò)協(xié)議正常工作。當(dāng)DM642接收數(shù)據(jù)時,RX_DV數(shù)據(jù)接收端在數(shù)據(jù)有效時置高,提示DM642按照LTX971ALC產(chǎn)生的時鐘RX_CLK從數(shù)據(jù)接收總線MRXD[3:0]上接收數(shù)據(jù)。當(dāng)數(shù)據(jù)接收發(fā)生錯誤時,出錯信號MRXER置高,隨后DM642按照與PHY的協(xié)議進行處理。MDIO模塊的時鐘信號MDCLK和數(shù)據(jù)信號MDIO用于LXT971ALC芯片控制參數(shù)的寫入和讀取。EMAC/MDIO與LTX971ALC的硬件連接如圖7所示。
3.4 數(shù)據(jù)分包
本設(shè)計主要是在DM642和PHY之間實現(xiàn)TCP/IP傳輸協(xié)議。TCP/IP通常被認為是一個4層協(xié)議系統(tǒng),包括鏈路層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。傳輸層上的協(xié)議主要是傳輸控制協(xié)議 TCP(Transmission Control Protocol)和用戶數(shù)據(jù)報協(xié)議UDP(User Datagram Protocol)。兩種協(xié)議的主要區(qū)別如表1所示。
通過分析,本設(shè)計中在DM642與PC之間的通信采用UDP協(xié)議。由以太網(wǎng)的物理特性確定數(shù)據(jù)幀的長度必須在46~1 500 B之間,1 500 B被稱為鏈路層的MTU(最大傳輸單元),即網(wǎng)絡(luò)層IP數(shù)據(jù)報的長度限制。因為IP數(shù)據(jù)報的首部為20 B,UDP數(shù)據(jù)報的首部8 B,所以UDP數(shù)據(jù)報的數(shù)據(jù)區(qū)最大長度為1 472 B。這1 472 B就是可以使用的字節(jié)數(shù)。當(dāng)發(fā)送的UDP數(shù)據(jù)大于1 472 B時,發(fā)送方IP層就需要分片,把數(shù)據(jù)報分成若干片,使每一片都小于MTU。
具體設(shè)計中要根據(jù)傳輸?shù)臄?shù)據(jù)量大小來決定分多少次傳輸,即需要多少個UDP發(fā)送包。因為本設(shè)計是要用網(wǎng)絡(luò)來傳輸圖像數(shù)據(jù),發(fā)送的圖像為640×480點陣的256色的灰度圖像,圖像大小為307 200 B,而UDP每個數(shù)據(jù)包大小不能超過1 472 B,所以一幅圖像分成200個數(shù)據(jù)包傳輸,前219個數(shù)據(jù)包中圖像數(shù)據(jù)部分長度為1 400 B,第220個數(shù)據(jù)包中圖像數(shù)據(jù)部分長度為600 B,不足1 400 B的部分補充0。
4 語音模塊
語言模塊主要負責(zé)對操作者進行功能及操作提示。采用WT588D-U語音芯片作為主控核心,利用電腦通過USB接口將事先編輯好的語音片斷下載到語音模塊中[6]。本設(shè)計的音頻輸出為PWM驅(qū)動揚聲器,控制模式選為一線串口模式,即用一根數(shù)據(jù)線發(fā)送數(shù)據(jù),通過不同的占空比發(fā)送不同的數(shù)據(jù)。可以實現(xiàn)控制語音播放、停止、音量調(diào)節(jié)和直接觸發(fā)語音等功能。在發(fā)送數(shù)據(jù)時,直接發(fā)送地址數(shù)據(jù)便可觸發(fā)播放語音。高電平與低電平數(shù)據(jù)占空比1:3即代表數(shù)據(jù)位0,高電平與低電平數(shù)據(jù)位占空比為3:1代表數(shù)據(jù)位1[7],如圖8所示。
5 結(jié)果與分析
本文介紹了在TMS320DM642嵌入式硬件平臺上實現(xiàn)手圖像實時顯示以及利用網(wǎng)絡(luò)進行視頻傳輸?shù)南到y(tǒng)設(shè)計過程,實物如圖9所示。實踐表明,該系統(tǒng)完全可以實現(xiàn)實時顯示和數(shù)據(jù)傳輸?shù)墓δ埽倚阅芊€(wěn)定。通過嵌入相應(yīng)的融合處理和識別算法,可以完成對用戶的身份識別。
參考文獻
[1] Philips Semiconductor.SAA7121 digital video encoder(Con DENC)[Z].1997.
[2] TMS320C64x DSP video port/VCXO interpolated control (VIC) port reference guide[EB/OL].(2007-06-11)[2013-10-14].http://www.ti.com.cn.
[3] TMS320C6000 DSP EMAC_MDIO module reference guide[EB/OL].(2004-03-xx)[2013-10-14].http://www.ti.com.cn.
[4] Intel.LXT971A single-port 10/100 Mbps PHY transceiver[EB/OL].(2005-10-25)[2013-10-14].http://www.intel.com.
[5] 王暉,周巧娣,章雪挺,等.基于LWIP的海洋數(shù)據(jù)采集與傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(18):26-29.
[6] 湯永華,苑瑋琦.基于6416和FPGA的手部三模態(tài)識別裝置設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(10):15-18.
[7] 廣州唯創(chuàng)電子有限公司.WT588D 語音芯片使用資料[EB/OL].(2012-10-18)[2013-10-14].http://www.w1999c.com/UploadFiles/201096102114349.pdf.