作者:张德,侯志国,江丽,张向晖,罗晓松
被动声源探测定位技术是一种利用声学传声器阵列和电子装置接收运动目标的辐射噪声,以确定目标所处位置的技术。
本文正是基于声探测技术原理和成熟的微电子技术,采用 TI 公司的32位浮点 DSP 芯片TMS320VC33-150来实现声源目标的探测定位算法,并辅之以 ADC 、 CPLD 、 单片机 等器件来实现声源信号的采集、系统逻辑控制以及通信功能。对于 数字电路 的逻辑控制功能,本文选用了 Altera 公司的CPLD芯片EPM7128AETC100-10来实现。该芯片功耗低、资源丰富、内部延时固定,有助于时序逻辑 电路 的设计。本系统主要分为两部分:声探测系统数字电路的硬件实现和DSP软件设计。系统现已完成调试,运行稳定,探测效果较好。
系统功能
声探测系统通过传声器阵列获得声源目标的辐射噪声信息,通过前端模拟信号处理后,在数字电路中由DSP进行高速的声探测定位算法处理,并把获得的声源方位、速度等信息,发送给 计算机 终端进行交汇显示。
声探测系统的硬件设计
在声探测系统中,数字电路是最为关键的部分。本文以DSP、CPLD和单片机为核心器件,完成了声探测系统的数字电路的硬件设计。其数字电路框图如图1所示。
图1声探测系统的数字电路框图
经过前端处理的模拟信号由AD7865完成采样转换后,给DSP一个中断,DSP在CPLD的配合下,读取各个通道的数据并存储在片外S RAM 数据区,同时DSP对数据进行数字滤波、频谱分析,从而完成对声源目标的定位功能。
由双口RAM实现DSP和C8051F020目标信息的交换,最终通过MAX3485完成和终端的 RS -422通信。另外,DSP根据处理后的结果实现对前端 模拟电路 的增益控制。
ADC设计
被动声探测系统中对声音的相位一致性要求很高,因此,在设计中采用了具有同时采样保持功能的14位并行输出ADCAD7865。本设计中,经放大滤波处理后的6路声源目标信号通过两片AD7865实现A/D转换。本文利用DSP 定时器 的输出信号作为ADC的启动采样信号,采样转换完成后,通过ADC的BUSY信号给DSP一个中断,然后DSP进入中断处理程序,读取A/D数据,而读写信号和ADC片选信号由CPLD对DSP的读写信号和地址信号进行逻辑组合来完成。
DSP及周边电路设计
DSP的主要功能有根据采集到的数字信号的幅度来完成对前端模拟信号的自动增益控制,增益控制的级别有16、64、256、1024、4096、16384、65536共7档;对采集到的数据进行数字滤波、快速 FFT 变换以及正交变换等运算,进而完成对目标的定位、识别等运算;通过双口RAM完成和单片机的通信,以及ADC的定时启动。
DSP周边电路包括程序引导区Flash、程序运行区SRAM、数据交换区双口RAM及增益控制。Flash采用容量为1M*8b的 AMD 29LV040B构成代码存储空间;SRAM则采用容量为512K*8b的SRAM 存储器 CY7C1049-CV33,在电路中使用4片进行位扩展,从而构成512K*32位的程序运行空间;双口RAM为2K*8位的 IDT 71V321;而增益控制则采用8位CMOS锁存器来实现。
TMS320VC33-150有四个外部中断,都可以作为BootLoader的中断,因此BootLoader首选高优先级的中断,否则有可能在脱机上电加载程序时无法加载成功。因为在上电复位后,DSP执行驻留程序,根据中断级别去寻找BootLoader存储区域,如果没有把高于BootLoader中断的中断置无效,那么DSP将会根据高优先级寻找BootLoader存储区域,因而导致程序加载不成功。
此外,在设计过程中,对于一些重要的信号如#RDY、#HOLD、EDGEMODE、MCBL/#MP、#SHZ等,要根据具体设计,参照数据手册相应给予上拉或下拉处理。本设计在调试过程中因为对#HOLD信号未做处理,导致不能在线下载程序,最后通过拉高才解决。
表1中断号和程序装载地址对应表
图2DSP软件程序设计流程图
逻辑控制
本设计中采用了Altera公司的EPM7128AETC100-10来实现整个电路系统的时序管理及逻辑控制功能,主要包括ADC控制功能模块、存储器读写时序控制模块、通信 接口 时序控制模块和增益控制。并根据DSP外部存储器地址空间译码产生片选信号以及读写时序。本设计中利用 Quartus Ⅱ来完成逻辑控制仿真。
单片机电路
C8051F020单片机是完全集成的混合信号系统级 MCU ,除了具有标准8051单片机的数字外设部件外,片内还集成了 数据采集 与控制系统中常用的模拟部件和其它数字外设及功能部件。
本设计中利用C8051F020的串口实现了和计算机终端的RS-422异步串行通信,波特率为19.2Kbps;利用双口RAM完成了DSP和单片机的声源目标数据的实时交换。
在设计单片机电路时,为保证上电复位电路的可靠性,可以使用基本的RC电路和专门的 监控 集成电路 如MAX708T等,同时应该充分利用MODENVDD监视器功能。
辅助电路
DSP软件设计
DSP软件流程
整个软件基于中断方式。DSP软件设计包括了ADC的转换启动、数据采集、中断服务程序、声源信号的数字滤波、快速FFT和正交变换,以及通过频谱分析获得高分辨率空间声强分布的MUSIC算法。该声探测系统的DSP软件流程如图2所示。
DSP软件工作流程为:系统上电复位后,加载外部Flash的程序文件到外部SRAM程序区,DSP初始化各个部分后运行。程序始终查询ADC的中断信号,在获得ADC的中断后进入中断服务程序,采集后的数据存储在外部SRAM数据区,然后调用探测定位程序获取声音目标的方位等参数,并写入外部双口RAM中,供单片机读取后送到计算机终端进行融合交会。
DSP程序BootLoader
TMS320VC33-150有两种工作方式,工作方式的选择由MCBL/MP引脚决定。在本设计中,通过把MCBL/MP引脚上拉为高电平,使DSP工作在微计算机/引导装入模式或外部存储器装载方式。在Reset信号从低电平转为高电平后,TMS320VC32-150首先检查外部中断输入线电平,决定由什么地方开始引导程序,中断号和对应的开始引导地址间的关系如表1所示。本设计中使用了BOOT2方式,即在DSP复位信号由低变高后,DSP从外部存储地址400000H开始加载程序。
需要注意的是,使用外部存储器装载方式时,加载程序必须含有外部存储器的数据总 线宽 度(8位、16位或32位)、程序代码的长度、程序执行的入口地址以及存储器的等待状态数。
在把已调试成功的程序装入Flash过程中,本文采用的方法是:通过编写一个*.cmd转换文件,然后用HEX30.EXE把*.out文件转化为*.hex文件。并把生成的*.hex文件烧写入Flash中即可。当然,也可采用在线烧写的方法。
结语
基于TMS320VC33-150的声探测系统数字电路设计充分利用了TMS320VC33-150强大的浮点运算能力,很好的完成了声源目标探测定位的算法处理。同时还充分利用了CPLD的逻辑控制功能和MCU丰富的外设资源,并设计出了DSP算法和中断服务程序流程。该系统已经调试完成,并进行了充分的外场试验。结果表明,系统工作稳定,各项指标基本达到了要求。
责任编辑:gt