改進(jìn)的基TMS320DM642的疲勞檢測(cè)系統(tǒng)
關(guān)鍵詞:TMS320DM642;疲勞檢測(cè);EDDDS;FPGA;OSD
駕駛員疲勞、睡眠不足是引發(fā)嚴(yán)重交通事故的重要誘因之一。統(tǒng)計(jì)表明,由于疲勞/瞌睡造成的交通事故在交通事故總數(shù)中占7%左右,在嚴(yán)重交通事故中占40%,而在重型卡車(chē)和高速路上的交通事故中則占到35%左右。因此許多國(guó)家對(duì)司機(jī)在駕駛中的“瞌睡”檢測(cè)的研究非常重視。為了適應(yīng)多媒體通信的發(fā)展,美國(guó)德州儀器公司推出了新一代數(shù)字多媒體處理器TMS320DM642(以下簡(jiǎn)稱(chēng)DM642)。它是TMS320C6000家族中性能最高的定點(diǎn)DSP,基于C64x CPU核,具有極強(qiáng)的處理能力、高度的靈活性和可編程性,同時(shí)又集成了音視頻和網(wǎng)絡(luò)通信等外設(shè),特別適用于多媒體通信應(yīng)用。DM642可廣泛應(yīng)用于基于IP的音視頻傳輸、數(shù)字視頻記錄、機(jī)器視覺(jué)、醫(yī)學(xué)成像、安全監(jiān)視、數(shù)字相機(jī)等領(lǐng)域。針對(duì)疲勞檢測(cè)算法中要求精確定位人眼并要求提高精度的人眼圖像的需求,筆者改進(jìn)了前期設(shè)計(jì)平臺(tái),采用雙CCD攝像頭捕獲駕駛員紅外濾波后的頭部圖像來(lái)實(shí)現(xiàn)疲勞檢測(cè)算法,一個(gè)攝像頭定位人臉,一個(gè)攝像頭定位人眼,建立了以DM642為核心處理器的實(shí)時(shí)圖像采集、處理和顯示平臺(tái)。
1 TMS320DM642簡(jiǎn)介
TMS320DM642建立在C64x DSP核基礎(chǔ)上,采用德州儀器公司開(kāi)發(fā)的第二代高性能超長(zhǎng)指令字結(jié)構(gòu)VelociT1.2TM,其每個(gè)乘法在每個(gè)時(shí)鐘周期內(nèi)可執(zhí)行2個(gè)16x16位的乘法或4個(gè)8x8位的乘法。TMS320DM642內(nèi)含6個(gè)算術(shù)邏輯單元,在每個(gè)時(shí)鐘周期內(nèi)都可執(zhí)行2個(gè)16位或4個(gè)8位的加減、比較、移動(dòng)等運(yùn)算。在600MHz的時(shí)鐘頻率下,DM642每秒可以進(jìn)行24億次16位的乘累加或48億次8位的乘累加。這樣強(qiáng)大的運(yùn)算能力,使得DM642可以進(jìn)行實(shí)時(shí)的多視頻處理和圖像處理。DM642還在C64x的基礎(chǔ)上增加了很多外圍設(shè)備和接口。其主要的結(jié)構(gòu)特征如下:
●600MHz/4800MIPS的工作頻率;
●兩級(jí)緩存結(jié)構(gòu);
●64bit EMIF;
●64個(gè)EDMA通道;
●3個(gè)可配置的視頻接口,可以和視頻輸入、輸出或傳輸流輸入無(wú)縫連接;
●VCXO內(nèi)插控制端口(VIC);
●多通道音頻串行端口(McASP);
●兩個(gè)多通道有緩存的串口(McBSP);
●3個(gè)32bit通用定時(shí)器;
●用戶(hù)可配置的16bit或32bit的主端口接口(HPT16/HPT32);
●66MHz 32bit PCI接口;
●10/100Mbps以太網(wǎng)(EMAC);
●MDIO模塊
2 疲勞檢測(cè)系統(tǒng)概述
本設(shè)計(jì)系統(tǒng)的目的是檢測(cè)駕駛員是否疲勞,以避免因疲勞造成的交通事故。根據(jù)疲勞檢測(cè)算法中要精確定位人眼的要求,筆者對(duì)前期設(shè)計(jì)的系統(tǒng)進(jìn)行了改進(jìn),采用了雙攝像頭采集數(shù)據(jù)。EDDDS系統(tǒng)結(jié)構(gòu)如圖1所示。由圖1可以看出,主要包括以下設(shè)備:
(1)兩個(gè)紅外線敏感的黑白CCD攝像機(jī),在800~900nm處有較高的靈敏度。
(2)紅外線帶通濾波器。中心頻率為850nm,半帶寬為12nm,峰值通透率為83%。
(3)紅外光源。發(fā)光二極管的中心頻率為850nm,功率是10nW。
(4)云臺(tái)控制其中的一個(gè)攝像頭來(lái)跟蹤人眼。
構(gòu)成DDDS時(shí)還應(yīng)注意以下幾點(diǎn):
(1)安裝的紅外光源應(yīng)和攝像機(jī)成一定的角度,以消除由于光源與攝像機(jī)距離過(guò)近造成“紅眼”現(xiàn)象,影響測(cè)量效果。
(2)應(yīng)使用固定波長(zhǎng)的紅外光才能通過(guò)的紅外帶通濾光片,以濾除可見(jiàn)光影響,使白天和晚上成像效果相差不大。
(3)使用黑白的紅外攝像機(jī),在800~900nm處有最好的成像效果。紅外光線對(duì)人的視覺(jué)沒(méi)有干擾。
(4)使用兩個(gè)攝像頭,一個(gè)定位人的臉,一個(gè)定位人的眼睛。這樣可以獲取更高分辨率的人眼圖像。
獲取較好的頭部圖像和人眼圖像是后續(xù)處理的保證,以上的方案會(huì)獲取亮瞳孔效果,這對(duì)眼睛的精確定位有極大的幫助。有了較好的圖像效果后就可以對(duì)圖像進(jìn)行采集和處理。
3 疲勞檢測(cè)系統(tǒng)的電路實(shí)現(xiàn)
3.1 總體框圖
疲勞檢測(cè)實(shí)時(shí)采集處理系統(tǒng)由圖像采集、圖像處理和圖像輸出模塊構(gòu)成。基本的工作原理是先由CCD采集經(jīng)過(guò)紅外濾波的連續(xù)的模擬信號(hào),并經(jīng)過(guò)圖像采集模塊中的A/D轉(zhuǎn)換,變成數(shù)字圖像信號(hào),然后再由圖像處理模塊對(duì)數(shù)字圖像信號(hào)進(jìn)行運(yùn)算處理,主要包括圖像的處理、圖像分割、特征提出、識(shí)別等算法的實(shí)現(xiàn)和通過(guò)輸出模塊顯示期望結(jié)果及報(bào)警等。系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
實(shí)時(shí)圖像處理系統(tǒng)設(shè)計(jì)的難點(diǎn)是如何在有限的時(shí)間內(nèi)完成大量圖像數(shù)據(jù)的處理。從人的視覺(jué)理論分析,只有圖像處理系統(tǒng)的處理速度達(dá)到每秒25幀以上時(shí)才能達(dá)到實(shí)時(shí)的效果,即要求實(shí)時(shí)圖像處理系統(tǒng)必須在40nm內(nèi)完成對(duì)一幀圖像的運(yùn)算處理,才能保證圖像的實(shí)時(shí)性。TMS320DM642強(qiáng)大的功能可以很好地滿(mǎn)足上述要求。
3.2 圖像采集模塊設(shè)計(jì)
在系統(tǒng)設(shè)計(jì)中,使用的圖像采集設(shè)備是CCD攝像頭。由于CCD攝像頭輸出的信號(hào)為模擬信號(hào),不能被DSP直接處理,因此選用Philips公司的SAA7115型圖像解碼器來(lái)完成圖像的數(shù)字化以及同步水平和垂直同步等信號(hào)的分離。SAA7115是惟一可提供雙9位低噪音、2x過(guò)抽樣模擬到數(shù)字轉(zhuǎn)換的視頻解碼器。SAA7115的信噪比為10~15dB,是同類(lèi)產(chǎn)品中視頻解碼性能最高的。圖像采集模塊的電路圖如圖3所示。
TMS320DM642使用所有的三個(gè)視頻端口,為了擴(kuò)展功能,設(shè)計(jì)時(shí)把視頻端口0和視頻端口1用作輸入端口,視頻端口2用作顯示端口。可再分的視頻端口0和視頻端口1用作捕獲輸入端口,并連接到SAA7115H解碼器。捕獲端口1通過(guò)一個(gè)RCA類(lèi)型的視頻插座和一個(gè)4針的低噪聲S-Video接口連接到視頻源。輸入的必須是合成的視頻源,如DVD Player或視頻相機(jī)。SAA7115可通過(guò)TMS320DM642的I2C總線進(jìn)行編程,并且可以連接所有的主要合成視頻標(biāo)準(zhǔn),例如NTSC、PAL和SECAM,這些都可以通過(guò)解碼器的內(nèi)部寄存器進(jìn)行適當(dāng)?shù)木幊?。SAA7115的輸入晶振頻率為24.576MHz,實(shí)際工作頻率為13.5MHz。在PAL制式下,一行最多能采集720點(diǎn)(不包括行消隱信號(hào)),一幀最多采集625行(包括場(chǎng)消隱信號(hào))。SAA7115有多種功能供用戶(hù)選擇,功能的選定可以通過(guò)對(duì)寄存器的設(shè)置來(lái)完成。由于系統(tǒng)的研究對(duì)頭是256級(jí)灰度圖像,其輸入信號(hào)采用PAL制式,因此結(jié)構(gòu)系統(tǒng)處理的速度的具體要求,對(duì)SAA7115作如下配置:
(1)格式采用4:2:2 YUV信號(hào)機(jī)制,只取Y(亮度)信號(hào)。
(2)分辨率為512x256像紗或者256x256像素。
3.2 圖像處理模塊設(shè)計(jì)
TMS320DM642的結(jié)構(gòu)特片給設(shè)計(jì)帶來(lái)了很大的自由空間。在圖像處理模塊中,可以擴(kuò)展數(shù)據(jù)存儲(chǔ)器和程序、存儲(chǔ)器。TMS320DM642的EMIF(外部寄存器端口)有4個(gè)獨(dú)立的可設(shè)定地址的區(qū)域,稱(chēng)為芯片使能空間(CE0-CE3)。當(dāng)Flash和FPGA映射到CE1時(shí),SDRAM占據(jù)CE0。CE3的一部分被配置給OSD功能的同步操作和擴(kuò)展的FPGA中的其他同步寄存器操作。本系統(tǒng)合并形成了一個(gè)64bit長(zhǎng)的外部存器端口,將地址空間分割成了4個(gè)芯片使能區(qū),允許對(duì)地址空間進(jìn)行8bit、16bit、32bit和64bit的同步或不同步的存取,并且使用了芯片使能區(qū)CE0、CE1和CE3。CE0被發(fā)送給64bit的SDRAM總線,CE1被8bit的Flash和FPGA功能使用,CE3被設(shè)置成同步功能。
(1)SDRAM寄存器端口
在CE0空間連接了64bit的SDRAM總線。選取2片MT48LC4M32B2來(lái)構(gòu)成SDRAM。這32M的SDRAM空間用來(lái)存儲(chǔ)程序、數(shù)據(jù)和圖像處理中間結(jié)果等信息??偩€由外部PLL驅(qū)動(dòng)設(shè)備控制,在133MHz的最佳運(yùn)行狀態(tài)下運(yùn)行。SDRAM的刷新由TMS320DM642自動(dòng)控制。
(2)Flash寄存器接口
本系統(tǒng)擴(kuò)展4M的Flash,映射在CE1空間的低位。Flash寄存器選用4MX8的AM29LV033C。Flash寄存器主要用來(lái)導(dǎo)入裝載和存儲(chǔ)FPGA的配置信息。CE1空間被配置成8bit,Flash寄存器也是8bit。由于CE1的可利用地址空間小于Flash的空間,所以利用FPGA可產(chǎn)生3個(gè)擴(kuò)展頁(yè)。這些擴(kuò)展的線形地址通過(guò)FPGA的Flash基礎(chǔ)寄存器進(jìn)行定義,復(fù)位后的默認(rèn)值是000。Flash寄存器端口如圖4所示。
(3)FPGA異步寄存器端口
本系統(tǒng)采用Xilinx XC2S300E系列FPGA來(lái)實(shí)現(xiàn)視頻增強(qiáng)和其他的一些連帶功能。在默認(rèn)模式下,F(xiàn)PGA通過(guò)TMS320DM642的視頻端口2輸出視頻到SAA7115。視頻編碼器FPGA有10個(gè)定位在CE1空間高位的異步存儲(chǔ)寄存器。這些寄存器可實(shí)現(xiàn)OSD控制寄存器、DMA Threshold LSB寄存器、DMA Threshold MSB寄存器、中斷狀態(tài)寄存器、中斷使能寄存器、GPIO方位寄存器、GPIO狀態(tài)寄存器、LED寄存器和Flash Page寄存器。
(4)FPGA同步寄存器端口
FPGA在CE3地址空間開(kāi)設(shè)同步寄存器。這些寄存器主要實(shí)現(xiàn)ODS功能和一些連接。
以上設(shè)計(jì)方案解決了視頻處理中需要大量的數(shù)據(jù)存儲(chǔ)空間和程序存儲(chǔ)空間的問(wèn)題。假如要求圖像分辨率為640x480像素,每個(gè)采樣點(diǎn)的灰度層為8位,則1幀單色圖像所占的存儲(chǔ)空間為1MB,如果處理算法涉及到n幀圖像,存儲(chǔ)空間就為n倍。在疲勞檢測(cè)算法中需要存儲(chǔ)前后2幀圖像,那么32M的數(shù)據(jù)存儲(chǔ)器足夠使用而且可以做一些算法上的擴(kuò)展。圖像處理模塊框圖如圖5所示。
3.4 圖像顯示模塊設(shè)計(jì)
TMS320DM642的視頻端口2用來(lái)驅(qū)動(dòng)視頻編碼器。它通過(guò)FPGA發(fā)送以實(shí)現(xiàn)高級(jí)功能(如OSD)。該端口在默認(rèn)方式下直接通過(guò)視頻連接到SAA7105視頻編碼器。這個(gè)編碼器可以進(jìn)行RGB、HD合成視頻及NTSC、PAL復(fù)合視頻的編碼,也可對(duì)依靠SAA7105內(nèi)部寄存器進(jìn)行編程的S-Video進(jìn)行編碼。SAA74105的內(nèi)部編程寄存器通過(guò)DM642的I2C總線進(jìn)行配置。圖像顯示模塊框圖如圖6所示。
HDTV、FPGA提供增強(qiáng)的時(shí)鐘,對(duì)于OSD功能,F(xiàn)PGA提供了FIFOs,將視頻端口2的數(shù)據(jù)與FIFOs端口的數(shù)據(jù)進(jìn)行混合。FPGA的FIFOs在通過(guò)CE3空間的同步模式下,通過(guò)TMS320DM642的EMIF進(jìn)行存取。
3.5 云臺(tái)控制模塊
采用通用的異步串口,接口標(biāo)準(zhǔn)可以由軟件配置為RS232/RS422/RS485,可以方便控制云臺(tái)。雙重的UART寄存器被映射在DM642的CE1空間的高位,隨同PGA異步寄存器一起。每一個(gè)UART,A和B產(chǎn)生8位的地址。DM642將CE1空間配置成為8位存取。表1顯示了地址值。
表1 UART地址
UART |
地址 |
A |
0x90080000-0x90080007 |
B |
0x90080008-0x9008000F |
UART A通過(guò)MAX3243 RS-232驅(qū)動(dòng)緩沖,發(fā)送到9針D型插針,UART B通過(guò)MAX3243 RS232驅(qū)動(dòng)緩沖,發(fā)送到5X2雙排插針。針腳數(shù)和其相應(yīng)的信號(hào)對(duì)應(yīng)于個(gè)人計(jì)算機(jī)上的標(biāo)準(zhǔn)雙排DB-9連接器。
4 結(jié)束語(yǔ)
實(shí)現(xiàn)疲勞檢測(cè)是交通部門(mén)和駕駛員非常迫切的需求。本文設(shè)計(jì)的基于TMS320DM642的疲勞檢測(cè)系統(tǒng)改進(jìn)了筆者前期設(shè)計(jì)的系統(tǒng),采用了云臺(tái)控制其中一個(gè)攝像頭來(lái)捕捉人眼的圖像,提高了人眼圖像的分辨率,使之能更好的適合疲勞檢測(cè)算法的實(shí)現(xiàn)。在硬件性能方面,本系統(tǒng)具有結(jié)構(gòu)緊湊、調(diào)節(jié)靈活、可靠性高、實(shí)時(shí)性強(qiáng)的特點(diǎn),為實(shí)現(xiàn)視頻處理算法提供了一個(gè)硬件平臺(tái)。