采用DSP芯片TMS320实现雷达式生命探测功能
引言 雷达式生命探测仪是以非接触方式获取墙壁、废墟等不透明障碍物后生命体微动信息的探测系统。其基本原理是:首先发射特定形式的电磁波,当电磁波照射到人体后,其回波信号被人体运动(心跳、呼吸、走动)所调制而产生多普勒频率,而后采用一定的硬件电路和软件算法,从检测到的多普勒频率中提取人体的生命特征参数,最终判别出人体有/无、动/静、数量等状态信息。雷达式生命探测仪应用广泛,特别是近年来由于世界各地大型自然灾害的频发和恐怖犯罪活动的猖獗,更使雷达式生命探测仪日益受到重视。而由于生命探测仪的应用环境复杂多变,因此对它提出了外观小型化、便携化和检测智能化、实时化的要求。信号处理系统是生命探测仪的重要组成部分。
本课题的研究采用功能强大的高速浮点数字信号处理器(DSP)TMS320C6711B来完成大量复杂运算,以减小设备体积和功耗。从软件和硬件两方面入手,解决实时检测和操作携带方便的问题。
1 系统设计方案
信号处理系统分为模拟信号处理系统和数字信号处理系统两个子系统。系统的主体是由DSP芯片和A/D转换芯片组成,如图1所示。其中A/D主要完成模拟信号到数字信号的转换,DSP芯片则用于完成数字信号的分析、处理以及控制。系统中的前端预处理部分主要完成对I/Q信号的调制解调、A/D转换、部分实时数字信号处理、处理后数据的传输,以及接收和处理后端发来的命令(包括信号放大倍数、A/D的采样率、数字信号处理过程中参数的选择等)。系统的后端则主要用于控制和显示,完成人机交互功能。DSP外扩的FLASH完成boot loader,上电启动后DSP自动从FLASH中加载程序到DSP内部RAM中运行,外扩的SDRAM用于DSP进行算法处理时暂存数据。
![]()
2 硬件电路设计
2.1 DSP芯片选择
设计DSP应用系统,选择DSP是非常重要的一个环节,只有选择好了DSP才能进一步设计外围电路。根据本系统设计中所提出的硬件电路集成度高、体积小、功耗低和实时检测显示的要求和满足小波变换、FFT、谐波分解、维格纳分布多种复杂算法的需要,选用Tl公司新型C6000系列高性能浮点DSPTMS320C6711B作为系统的信号处理开发平台。其主要特点有:片内8个并行的处理单元,可分为相同的两组。它的体系结构采用超长指令字(VLIW)结构,单指令字长为32b,8个指令组成一个指令包,总字长为8×32=256 b。芯片内部设置了专门的指令分配模块,可以将256 b的指令包同时分配到8个处理单元,并由8个单元同时运行。由于芯片的最高时钟频率可以达到150 MHz,当片内的8个处理单元同时运行时,芯片的最大处理能力可以达到2 400 MIPS(每秒百万条指令)。此外,TMS320C6711B还有32 b的EMIF总线,有4个空间,每个空间均可与SDRAM,SBSRAM和异步外设实现无缝接口。
2.2 DSP外围电路设计
系统的外围电路由复位电路、时钟电路、电源电路、内存扩展电路等几个部分组成,其外围电路组成框图如图2所示。
DSP的复位电路一般由电源芯片提供,TI公司的大多数电源芯片都提供复位信号到DSP。使用电源芯片提供复位信号可以省去专门的复位电路。此外,也可以在电源芯片相应引脚上连接复位按键,提供手动复位功能。电源芯片复位信号可以自动监测电源的电压情况。本系统设计中采用电源芯片复位电路。
由于TMS820C6711B内核可以运行到150 MHz,而外设最高只能运行在100 MHz,故TMS320C6711B的外部时钟由系统产生从ECLKIN引脚引入,ECLK0UT输出,而不采用自身的150 MHz两分频的ECLKOUT2输出,从而提高外部存储器的存取效率。系统电源由外部变压器提供,变压器输出+5 V,经过电源调整芯片产生系统所需要的两种电压+3.3 V和+1.8 V。电路采用PT6932(Plug-in Power Modules)方案,PT6932提供双电源输出(3.3 V和1.22/1.5 V),其输出电压可以由输出匹配电阻调整,1.5 v可以升至1.8 V,同时其双电压的上电和掉电顺序内部受控,可以满足TMS320C6711B的供电顺序要求。 内存扩展采用2片外围数据存储器和1片128K×8 b的FLASH,其中数字存储芯片选用由两片4M×16 b宽度SDRAM组成单CE空间32 b宽SDRAM类型,FLASH芯片则选用MBM29LV800TA。 2.3 A/D转换电路
A/D转换采用高分辨率的模数转换芯片AD7707,由于其外部模拟输入信号的电压范围为±5 V,所以选择高电压模拟输入通道AIN3作为模拟信号输入端。AD7707的时钟信号由外围有源时钟芯片提供,数字信号输入端DIN直接与DSP串行数据输出端DX相连。其数字信号输出端DOUT直接与DSP的串行数据输入端BDR相连。串行时钟信号SCLK直接与DSP的串行口发送时钟信号、串行口接收时钟信号CLKX相连,如图3所示。
3 系统软件设计
3.1 系统软件流程图
该系统软件的设计参考雷达波生命参数检测系统软件设计要求,利用TI的综合开发调试软件CCS完成软件的编写调试。软件主要完成非接触生命信号的采集、分析和处理,最后传送至液晶显示器进行显示。软件的流程如图4所示,软件一开始首先屏蔽所有可屏蔽中断,然后对DSP进行初始化,包括状态寄存器、矢量表以及MeBSP串行口的初始化,并对AD7707进行初始化。然后打开中断,等待外部中断。在中断服务程序中读取经过数模转换后的数据,并对数据进行处理、发送HPI中断,让外部MCU通过HPI接口读取数据,显示输出。
![]() 3.2 初始化
初始化是设定系统工作状态的重要步骤,只有正确进行初始化,才能保证芯片的正确运行。系统初始化包括DSP的McBSP初始化和AD7707的初始化两个部分。
DSP上电复位以后各寄存器都处于一个预先确定的数值状态。上电时刻,系统上电复位,寄存器复位到初试值。McBSP通过3个16位寄存器SPCRl(串行口接收控制寄存器1)、SPCR2(串行口接收控制寄存器2)、PCR(引脚控制寄存器)来配置。接收和发送操作的各种参数通过接收和发送控制寄存器RCRl(接收控制寄存器1)、RCR2(接收控制寄存器2)、XCRl(发送控制寄存器1)、XCR2(发送控制寄存器2)。
AD7707的初始化主要是完成各寄存器的初始化。包括设定输入信号通道、信号采样频率、采样增益、输入时钟源等。
3.3 数字信号处理流程
数字信号处理分为两个大的模块,一路经小波变换后对信号做时域处理;另一路根据回波信号的特征,设计各种数字信号处理算法,并在软件程序设置合适的门限值,根据门限软件来完成人体有/无、动/静、数量等状态信息的识别,并做频域处理。
对于数字信号处理部分,先设计一低通滤波器去除高频干扰信号(截止频率要高于人体运动的频率,一般设置为50 Hz),通过小波变换的小波分解提取出低频通道的有用信号(呼吸、心跳信号),而高频通道分解出来的信号一般是系统噪声,采用直接置零的方法将其去除,然后再进行小波重构,恢复低频通道分解的呼吸、心跳信号,并将其在界面上进行实时的时域波形显示,其时域处理流程如图5所示。对于人体运动的信号由于其频率大约在15~35 Hz之间,信号经过低通滤波器之后,直接对其进行傅里叶变换,取模;对于人体的呼吸信号,它的频率一般小于2 Hz,因此对信号使用小波变换处理后,采用较低的采样频率,然后进行积累抽样、FFT、取模;根据实验,如果人体处于静止状态,其呼吸路与体动路的信号能量比在1.5~20之间,如果处于运动状态,呼吸路与体动路的信号能量比则在O.1~0.6之间,所以选择γ=1作为判断人体动静状态的门限阈值,如果两路信号的能量比值γ>1为静止或无人状态,γ<1为运动状态,并实时显示频域;如果γ>1,则对信号进行谐波频率的估计。在X波段,人体呼吸和心跳的多普勒频率大约在O.2~1 Hz范围内,如果谐波频率估计值f在O.2~1之间,为有人静止状态,反之为无人状态,并实时显示频域;在判定为有人之后,进一步用维格纳分布和统计模式识别的方法对人体的数量进行确定,实时显示频域和维格纳分布。整个过程如图6所示。
![]() 判断处理后的结果直接被界面显示软件来调用,进行单路数据的频域或时域的实时显示,并可以保存、打印数据。
|