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