摘要:针对疲劳检测算法中大数据量、高速传输、复杂运算的实际需要,设计了以SAA7115为视频采集A/D、DSP TMS320DM642为核心处理器、SAA7105为视频输出D/A,并以FPGA控制输出来实现增强显示功能的实时视频处理系统。该系统采用双摄像头控制采集数据,可以满足多路视频的实时采集、处理、显示需求,可以作为疲劳检测算法、视频处理和图像处理的硬件平台。
关键词:TMS320DM642;疲劳检测;EDDDS;FPGA;OSD
驾驶员疲劳、睡眠不足是引发严重交通事故的重要诱因之一。统计表明,由于疲劳/瞌睡造成的交通事故在交通事故总数中占7%左右,在严重交通事故中占40%,而在重型卡车和高速路上的交通事故中则占到35%左右。因此许多国家对司机在驾驶中的“瞌睡”检测的研究非常重视。为了适应多媒体通信的发展,美国德州仪器公司推出了新一代数字多媒体处理器TMS320DM642(以下简称DM642)。它是TMS320C6000家族中性能最高的定点DSP,基于C64x CPU核,具有极强的处理能力、高度的灵活性和可编程性,同时又集成了音视频和网络通信等外设,特别适用于多媒体通信应用。DM642可广泛应用于基于IP的音视频传输、数字视频记录、机器视觉、医学成像、安全监视、数字相机等领域。针对疲劳检测算法中要求精确定位人眼并要求提高精度的人眼图像的需求,笔者改进了前期设计平台,采用双CCD摄像头捕获驾驶员红外滤波后的头部图像来实现疲劳检测算法,一个摄像头定位人脸,一个摄像头定位人眼,建立了以DM642为核心处理器的实时图像采集、处理和显示平台。
1 TMS320DM642简介
TMS320DM642建立在C64x DSP核基础上,采用德州仪器公司开发的第二代高性能超长指令字结构VelociT1.2TM,其每个乘法在每个时钟周期内可执行2个16x16位的乘法或4个8x8位的乘法。TMS320DM642内含6个算术逻辑单元,在每个时钟周期内都可执行2个16位或4个8位的加减、比较、移动等运算。在600MHz的时钟频率下,DM642每秒可以进行24亿次16位的乘累加或48亿次8位的乘累加。这样强大的运算能力,使得DM642可以进行实时的多视频处理和图像处理。DM642还在C64x的基础上增加了很多外围设备和接口。其主要的结构特征如下:
●600MHz/4800MIPS的工作频率;
●两级缓存结构;
●64bit EMIF;
●64个EDMA通道;
●3个可配置的视频接口,可以和视频输入、输出或传输流输入无缝连接;
●VCXO内插控制端口(VIC);
●多通道音频串行端口(McASP);
●两个多通道有缓存的串口(McBSP);
●3个32bit通用定时器;
●用户可配置的16bit或32bit的主端口接口(HPT16/HPT32);
●66MHz 32bit PCI接口;
●10/100Mbps以太网(EMAC);
●MDIO模块
2 疲劳检测系统概述
本设计系统的目的是检测驾驶员是否疲劳,以避免因疲劳造成的交通事故。根据疲劳检测算法中要精确定位人眼的要求,笔者对前期设计的系统进行了改进,采用了双摄像头采集数据。EDDDS系统结构如图1所示。由图1可以看出,主要包括以下设备:
(1)两个红外线敏感的黑白CCD摄像机,在800"900nm处有较高的灵敏度。
(2)红外线带通滤波器。中心频率为850nm,半带宽为12nm,峰值通透率为83%。
(3)红外光源。发光二极管的中心频率为850nm,功率是10nW。
(4)云台控制其中的一个摄像头来跟踪人眼。
构成DDDS时还应注意以下几点:
(1)安装的红外光源应和摄像机成一定的角度,以消除由于光源与摄像机距离过近造成“红眼”现象,影响测量效果。
(2)应使用固定波长的红外光才能通过的红外带通滤光片,以滤除可见光影响,使白天和晚上成像效果相差不大。
(3)使用黑白的红外摄像机,在800"900nm处有最好的成像效果。红外光线对人的视觉没有干扰。
(4)使用两个摄像头,一个定位人的脸,一个定位人的眼睛。这样可以获取更高分辨率的人眼图像。
获取较好的头部图像和人眼图像是后续处理的保证,以上的方案会获取亮瞳孔效果,这对眼睛的精确定位有极大的帮助。有了较好的图像效果后就可以对图像进行采集和处理。
3 疲劳检测系统的电路实现
3.1 总体框图
疲劳检测实时采集处理系统由图像采集、图像处理和图像输出模块构成。基本的工作原理是先由CCD采集经过红外滤波的连续的模拟信号,并经过图像采集模块中的A/D转换,变成数字图像信号,然后再由图像处理模块对数字图像信号进行运算处理,主要包括图像的处理、图像分割、特征提出、识别等算法的实现和通过输出模块显示期望结果及报警等。系统结构框图如图2所示。
实时图像处理系统设计的难点是如何在有限的时间内完成大量图像数据的处理。从人的视觉理论分析,只有图像处理系统的处理速度达到每秒25帧以上时才能达到实时的效果,即要求实时图像处理系统必须在40nm内完成对一帧图像的运算处理,才能保证图像的实时性。TMS320DM642强大的功能可以很好地满足上述要求。
3.2 图像采集模块设计
在系统设计中,使用的图像采集设备是CCD摄像头。由于CCD摄像头输出的信号为模拟信号,不能被DSP直接处理,因此选用Philips公司的SAA7115型图像解码器来完成图像的数字化以及同步水平和垂直同步等信号的分离。SAA7115是惟一可提供双9位低噪音、2x过抽样模拟到数字转换的视频解码器。SAA7115的信噪比为10"15dB,是同类产品中视频解码性能最高的。图像采集模块的电路图如图3所示。
TMS320DM642使用所有的三个视频端口,为了扩展功能,设计时把视频端口0和视频端口1用作输入端口,视频端口2用作显示端口。可再分的视频端口0和视频端口1用作捕获输入端口,并连接到SAA7115H解码器。捕获端口1通过一个RCA类型的视频插座和一个4针的低噪声S-Video接口连接到视频源。输入的必须是合成的视频源,如DVD Player或视频相机。SAA7115可通过TMS320DM642的I2C总线进行编程,并且可以连接所有的主要合成视频标准,例如NTSC、PAL和SECAM,这些都可以通过解码器的内部寄存器进行适当的编程。SAA7115的输入晶振频率为24.576MHz,实际工作频率为13.5MHz。在PAL制式下,一行最多能采集720点(不包括行消隐信号),一帧最多采集625行(包括场消隐信号)。SAA7115有多种功能供用户选择,功能的选定可以通过对寄存器的设置来完成。由于系统的研究对头是256级灰度图像,其输入信号采用PAL制式,因此结构系统处理的速度的具体要求,对SAA7115作如下配置:
(1)格式采用4:2:2 YUV信号机制,只取Y(亮度)信号。
(2)分辨率为512x256像纱或者256x256像素。
3.2 图像处理模块设计
TMS320DM642的结构特片给设计带来了很大的自由空间。在图像处理模块中,可以扩展数据存储器和程序、存储器。TMS320DM642的EMIF(外部寄存器端口)有4个独立的可设定地址的区域,称为芯片使能空间(CE0-CE3)。当Flash和FPGA映射到CE1时,
SDRAM占据CE0。CE3的一部分被配置给OSD功能的同步操作和扩展的FPGA中的其他同步寄存器操作。本系统合并形成了一个64bit长的外部存器端口,将地址空间分割成了4个芯片使能区,允许对地址空间进行8bit、16bit、32bit和64bit的同步或不同步的存取,并且使用了芯片使能区CE0、CE1和CE3。CE0被发送给64bit的SDRAM总线,CE1被8bit的Flash和FPGA功能使用,CE3被设置成同步功能。
(1)SDRAM寄存器端口
在CE0空间连接了64bit的SDRAM总线。选取2片MT48LC4M32B2来构成SDRAM。这32M的SDRAM空间用来存储程序、数据和图像处理中间结果等信息。总线由外部PLL驱动设备控制,在133MHz的最佳运行状态下运行。SDRAM的刷新由TMS320DM642自动控制。
(2)Flash寄存器接口
本系统扩展4M的Flash,映射在CE1空间的低位。Flash寄存器选用4MX8的AM29LV033C。Flash寄存器主要用来导入装载和存储FPGA的配置信息。CE1空间被配置成8bit,Flash寄存器也是8bit。由于CE1的可利用地址空间小于Flash的空间,所以利用FPGA可产生3个扩展页。这些扩展的线形地址通过FPGA的Flash基础寄存器进行定义,复位后的默认值是000。Flash寄存器端口如图4所示。
(3)FPGA异步寄存器端口
本系统采用Xilinx XC2S300E系列FPGA来实现视频增强和其他的一些连带功能。在默认模式下,FPGA通过TMS320DM642的视频端口2输出视频到SAA7115。视频编码器FPGA有10个定位在CE1空间高位的异步存储寄存器。这些寄存器可实现OSD控制寄存器、DMA Threshold LSB寄存器、DMA Threshold MSB寄存器、中断状态寄存器、中断使能寄存器、GPIO方位寄存器、GPIO状态寄存器、LED寄存器和Flash Page寄存器。
(4)FPGA同步寄存器端口
FPGA在CE3地址空间开设同步寄存器。这些寄存器主要实现ODS功能和一些连接。
以上设计方案解决了视频处理中需要大量的数据存储空间和程序存储空间的问题。假如要求图像分辨率为640x480像素,每个采样点的灰度层为8位,则1帧单色图像所占的存储空间为1MB,如果处理算法涉及到n帧图像,存储空间就为n倍。在疲劳检测算法中需要存储前后2帧图像,那么32M的数据存储器足够使用而且可以做一些算法上的扩展。图像处理模块框图如图5所示。
3.4 图像显示模块设计
TMS320DM642的视频端口2用来驱动视频编码器。它通过FPGA发送以实现高级功能(如OSD)。该端口在默认方式下直接通过视频连接到SAA7105视频编码器。这个编码器可以进行RGB、HD合成视频及NTSC、PAL复合视频的编码,也可对依靠SAA7105内部寄存器进行编程的S-Video进行编码。SAA74105的内部编程寄存器通过DM642的I2C总线进行配置。图像显示模块框图如图6所示。
HDTV、FPGA提供增强的时钟,对于OSD功能,FPGA提供了FIFOs,将视频端口2的数据与FIFOs端口的数据进行混合。FPGA的FIFOs在通过CE3空间的同步模式下,通过TMS320DM642的EMIF进行存取。
3.5 云台控制模块
采用通用的异步串口,接口标准可以由软件配置为RS232/RS422/RS485,可以方便控制云台。双重的UART寄存器被映射在DM642的CE1空间的高位,随同PGA异步寄存器一起。每一个UART,A和B产生8位的地址。DM642将CE1空间配置成为8位存取。表1显示了地址值。
表1 UART地址
UART
地址
A
0x90080000-0x90080007
B
0x90080008-0x9008000F
UART A通过MAX3243 RS-232驱动缓冲,发送到9针D型插针,UART B通过MAX3243 RS232驱动缓冲,发送到5X2双排插针。针脚数和其相应的信号对应于个人计算机上的标准双排DB-9连接器。
4 结束语
实现疲劳检测是交通部门和驾驶员非常迫切的需求。本文设计的基于TMS320DM642的疲劳检测系统改进了笔者前期设计的系统,采用了云台控制其中一个摄像头来捕捉人眼的图像,提高了人眼图像的分辨率,使之能更好的适合疲劳检测算法的实现。在硬件性能方面,本系统具有结构紧凑、调节灵活、可靠性高、实时性强的特点,为实现视频处理算法提供了一个硬件平台。
引用地址:改进的基TMS320DM642的疲劳检测系统
小广播
热门活动
换一批
更多
最新应用文章
更多热门文章
更多每日新闻
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
更多往期活动
11月16日历史上的今天
厂商技术中心