基于异构多核体系的汽车远程监控系统设计
扫描二维码
随时随地手机看文章
摘要:本文提出了基于异构多核体系的汽车远程监控系统设计方法,利用双Nios II处理器实现系统的控制和图像处理,同时设计了硬件协处理器模块实现图像预处理和压缩工作,采用GPRS无线网络发送监控信息。有效提高了系统的采集、处理、压缩和传送速度,实现了对远程汽车的实时监控。
关键词:异构多核;Nios II;Sobel;运动目标检测;JPEG;通用无线分组业务
0 引言
随着汽车日益家庭化,汽车被盗事件屡屡发生,据不完全统计,我国每年汽车被盗数目达十万之多。针对现有汽车监控防盗系统存在的噪声污染、误报率高、不稳定、功耗高等缺点,本设计提出一种基于异构多核体系的汽车远程监控系统,采用两块Nios II软核作为主处理器构成双核系统,将硬件DSP处理IP作为双核系统的协处理器,构成异构多核的嵌入式系统。采用高精度CMOS摄像头采集被监控区域的视频图像,通过VGA实时进行输出监控,同时对图像数据进行一系列处理,判断监控区域是否有异物闯入。从而降低误报率的同时,进一步提高了监控系统的稳定性和实时性。
1 设计方案
系统采用Altera公司提供的DEl开发平台,检测传感器组包括:震动、加速度倾角传感器,完成对汽车监控系统中的加速度、倾角、震动能量参数的测量。CMOS图像传感器完图像的采集工作,经FPGA图像预处理后于VGA口实时监控,经JPEG编码器将图像进行压缩。采用双核Nios II进行系统控制和图像处理运动目标检测。射频模块完成GPRS无线通信,将图像数据以及监控信息通过GPRS网络发送到监控中心和用户手机。其系统硬件框图如图l所示。
2 系统硬件设计
2.1 异构多核体系
在设计中,由于有大量的实时图像数据运算,一块CPU的计算速度无法满足要求,甚至出现错误结果,这里采用两块NIOS II构成双核系统,同时设计硬件DSP处理IP作为双核系统的协处理器,共同完成任务。
Nios II Corel作为主控核,运行UCOS II操作系统,管理所有任务的调度工作,完成汽车传感器的采集、加速度倾角震动的计算、短信彩信的发送等。Nios II Core2作为辅助核,完成采集连续两帧的视频图像,并进行实时运动目标检测算法。双核之间的通信通过Mailbox IP核共享On Chip Memory实现。同时设计Sobel算子边界检测硬件图像预处理模块和JPEG图像压缩IP作为双核系统的协处理器,构成异构多核的嵌入式系统。结构框图如图2所示。由于SDRAM作为视频图像的缓存,这里将Corel运行于SRAM。Core2运行于Flash,读写数据和堆栈存储于SRAM中。
2.2 汽车传感器采集板设计
汽车传感器信号采集板采用AD公司的加速度传感器ADXL202AQC,用于对汽车的X/Y方向加速度、倾角以及震动值进行测量,传感器采集系统框图如图3所示。ADXL202AQC采用MEMS工艺制作,是一种低价格、低功耗、单芯片集成双轴加速度传感器,3~5.25V单电源供电,工作电流小于6mA,可以测量0~5kHz、±2g范围内的动态或静态加速度,60Hz时分辨率为2mg,可以数字、模拟信号形式输出。
ADXL202AQC采集双轴加速度值,通过Xout、Yout输出数字量,以和加速度值对应的不同占空比方波输出,将这两路数字信号通过PIO口采集入SOPC系统,通过Timer X、Timer Y定时器计算出精确的加速度值,NiosII Corel对两个加速度值和重力加速度值确定三维空间的加速度倾角值。
同时通过Xfilt、Yfilt输出加速度的模拟信号量,通过带通滤波器将信号范围控制在10~200Hz,微小的震动量可以通过,经放大、ADC转换通过PIO口采集入SOPC系统,处理器对这些值进行计算,得到震动幅值。
2.3 图像的采集、处理与压缩
系统的图像采集用Terasic公司的TRDB-D5M摄像头,实际像素2592H×1944V,颜色阵列为RGB(红绿蓝)模式,最大数据传送速度为96MHz时钟下96Mb/s,VGA(640×480)输出帧率可达70f/s,内置12位ADC转换器,3.3V单电源供电,I/O口电压范围1.7~3.1v。完全满足系统要求,系统将摄像头采集的信号经过Soble算子边缘检测预处理,同时通过VGA口实时监控,然后将图像数据送Nios IICore2进行运动目标检测,当监控区域内检测到运动目标后,对图像进行JPEG压缩便于GPRS的数据发送。下面对各模块加以介绍。
2.3.1 Sobel算子边缘检测预处理
图像边缘往往携带一幅图像的大部分信息,是图像最基本的特征之一。图像边缘检测是图像处理、图像分析、模式识别以及计算机视觉的基本步骤,其结果的正确性和可靠性将直接影响到机器视觉系统对客观事物的理解。本系统采用经典的Sobel算子边缘检测算法,将图像像素的左右、上下领域的灰度加权,根据在边缘点处达到极值这一原理进行边缘检测。该算法处理的数据量大,通过软件程序实现将比较慢,无法满足实时性要求,本系统用Verilog设计硬件模块实现该功能。将CMOS摄像头采集的图像进行预处理,其边缘检测结果送VGA实时监控(如图4所示),同时图像数据交NiosⅡCore2进行计算。设计中需要3×3的像素块和大量乘加运算,这里用到Altem公司的Megafuncation)库,如ALTSHIFT_TABS移位寄存器对三行像素进行缓冲,然后将各条缓冲线送入ALTMULT ADD乘加块。
2.3.2 运动目标检测模块
视频图像是三维图像的二维投影,当三维图像发生变化时二维图像也会发生相应的变化,通过对连续帧间的变化进行实时计算,当有运动目标时会引起帧差。系统中采用10级帧差法,可以根据对检测灵敏度的要求设置报警级别,同时对监控区的不同范围采用不同的权值,以提高运动目标的判断准确度。由于实行帧差算法要求很高的实时性,对连续采集的大量图像信号要即时处理,否则影响测试结果,系统中用处理器NIOS II Core2单独完成这份工作。用SDRAM作为摄像头采集的图像信号缓存,这里采用Teraisc公司提供的4 PortsSDRAM Controller-IP核,将CMOS摄像头采集经转换的RGB信号以16位存储于SDRAM中。在SDRAM中存储连续的两帧图像信号,通过4 Ports SDRAM Controller IP的两个输出Port(端口)同时传输给NIOS II Core2处理。其中的一个输出Port再接VGA口。图像存储关系如图5所示。
2.3.3 JPE6图像压缩IP核设计
为了便于GPRS的图像传输,需要对图像进行压缩,这里采用JPEG压缩标准对图像进行压缩,用Verflog设计JPEG图像压缩DSP模块作为系统的协处理器,并挂接于系统Avalon总线。JPEG标准中压缩算法的步骤包括二维DCT、量化、熵编码等。其编码过程框图如图6所示。
在设计编码器时先对图像进行分块,对RGB信号进行YCbCr转换,YCbCr信号进行2D-DCT转换并同时进行ZigZag扫描将二维数据转换为系数连续相关的一维数据,根据JPEG组织提供的量化表对数据进行量化压缩,最后对量化结果进行VLC编码和Haffman编码得到压缩结果。其中核心的部分是2D-DCT转换,这里介绍其设计过程:离散余弦变换是一种正交变换,2D-DCT的变换公式如下:
系统采用矩阵乘法,查找系数表和矩阵转置的方法实现2D-DCT。在设计过程中多次用到Altera提供的Megafuncation库:ALTMULT_ADD乘加运算、LPM_ADD_SUB交替加减运算、ALTSHIFT_TABS移位寄存器等加速设计。这里以《Image and Video CompressionStandard))中给出的测试矩阵RAW作为输入,MATLAB的计算结果和Modelsim的时序仿真结果如图7所示,结果表明误差在l左右,完全满足系统要求。
图7 2D-DCT_Z的MATLAB计算结果和Modelsim时序仿真结果比较
2.4 GPRS无线通信模块
GPRS是一种基于GSM的新型移动分组数据承载业务,其最高速率可达到170kb/s。GPRS允许业务用户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源,能够确保分组模式数据应用的成本效益和网络资源的有效利用。系统通过GPRS无线通信模块发送中文短信和彩信,采用SIMCOM公司的SIM300Z芯片。当系统检测的加速度倾角或震动能量超过所设定的阈值时,将计算值以短信发送给用户。当系统检测到运动目标时,先发送短信提示,随后将压缩的JPG图片以彩信发送到客户端。
3 系统软件设计
3.1 系统的软件层
系统的驱动程序都是基于HAL层的方式编写,包括:GPRS通信模块的驱动、检测传感器驱动、DMA驱动、JPEG编码器驱动、CCD控制器驱动。主核NlOS II Corel上运行UC/OS II完成多任务的调度,PPP协议栈完成网络传输功能。所有应用程序在操作系统的管理下工作,包括对检测传感器信号的采集应用程序、GPRS通信功能、图像传感器配置与采集、图像数据处理分析存储等。其软件层图如图8所示。
3.2 UC/OS ll操作系统的多任务设计
为保证系统软件的实时性,在Nios II Corel上运行UCOSⅡ实时操作系统,同时方便地管理系统多任务运行。这里设计7个任务和两个中断,任务以及中断间的通信通过信号量、邮箱、全局变量等实现。任务及中断间的关系如图9所示。
Taskl:X/Y方向加速度、倾角信号采集计算及判断;
Task2:震动能量信号的采集计算及判断:
Fask3:运动目标检测结果采集;
Task4:X/Y方向加速度、倾角提示短信发送:
Task5:震动能量提示短信发送;
Task6:运动目标检测结果短信发送;
Task7:JPG彩信发送:
ISR1:Nios II Core2发送来检测到运动目标消息;
ISR2:JPEG编码完成:
4 结束语
本方案通过汽车传感器采集板采集信号,计算出X/Y方向加速度、倾角、震动能量,当超过所设定阈值时通过GPRS无线模块发送信息给客户端。CMOS摄像头D5M完成视频图像的采集,做Sobel算子边缘检测图像预处理,通过VGA实时输出监控。对连续两帧的信号做运动目标检测,当检测到运动异物时以短信提示用户,同时拍摄下此时的照片,对照片进行JPEG图像压缩,进行GPRS彩信发送与客户端。其设计特点为实时性强、误报率低、传输速度快、稳定性好等,具有很好的实用性。