《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于TMS320VC33-150的声探测系统设计
基于TMS320VC33-150的声探测系统设计
摘要: 本文介绍了一种基于TMS320VC33-150的声探测系统设计,重点论述了如何利用CPLD、单片机等器件实现DSP外围硬件电路设计和逻辑控制功能,以及DSP软件设计,最终完成了探测定位的算法处理,并实现了声源定位功能。
关键词: DSP TMS320VC33 CPLD Bootloader
Abstract:
Key words :

引言

被动声源探测定位技术是一种利用声学传声器阵列和电子装置接收运动目标的辐射噪声,以确定目标所处位置的技术。

本文正是基于声探测技术原理和成熟的微电子技术, 采用TI公司的32位浮点DSP芯片TMS320VC33-150来实现声源目标的探测定位算法,并辅之以ADC、CPLD、单片机等器件来实现声源信号的采集、系统逻辑控制以及通信功能。对于数字电路的逻辑控制功能,本文选用了Altera公司的CPLD芯片EPM7128AETC100-10来实现。该芯片功耗低、资源丰富、内部延时固定,有助于时序逻辑电路的设计。本系统主要分为两部分:声探测系统数字电路的硬件实现和DSP软件设计。系统现已完成调试,运行稳定,探测效果较好。
  
系统功能

声探测系统通过传声器阵列获得声源目标的辐射噪声信息,通过前端模拟信号处理后,在数字电路中由DSP进行高速的声探测定位算法处理,并把获得的声源方位、速度等信息,发送给计算机终端进行交汇显示。

声探测系统的硬件设计

在声探测系统中,数字电路是最为关键的部分。本文以DSP、CPLD和单片机为核心器件,完成了声探测系统的数字电路的硬件设计。其数字电路框图如图1所示。

                           声探测系统的数字电路框图
                                        图1 声探测系统的数字电路框图

经过前端处理的模拟信号由AD7865完成采样转换后,给DSP一个中断,DSP在CPLD的配合下,读取各个通道的数据并存储在片外SRAM数据区,同时DSP对数据进行数字滤波、频谱分析,从而完成对声源目标的定位功能。

由双口RAM实现DSP和C8051F020目标信息的交换,最终通过MAX3485完成和终端的RS-422通信。另外,DSP根据处理后的结果实现对前端模拟电路的增益控制。

ADC设计

被动声探测系统中对声音的相位一致性要求很高,因此,在设计中采用了具有同时采样保持功能的14位并行输出ADC AD7865。本设计中,经放大滤波处理后的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的AMD29LV040B构成代码存储空间;SRAM则采用容量为512K*8b的SRAM存储器CY7C1049-CV33,在电路中使用4片进行位扩展,从而构成512K*32位的程序运行空间;双口RAM为2K*8位的IDT71V321;而增益控制则采用8位 CMOS锁存器来实现。

TMS320VC33-150有四个外部中断,都可以作为BootLoader的中断,因此BootLoader首选高优先级的中断,否则有可能在脱机上电加载程序时无法加载成功。因为在上电复位后,DSP执行驻留程序,根据中断级别去寻找BootLoader存储区域,如果没有把高于BootLoader中断的中断置无效,那么DSP将会根据高优先级寻找BootLoader存储区域,因而导致程序加载不成功。

此外,在设计过程中,对于一些重要的信号如#RDY、#HOLD、EDGEMODE、MCBL/#MP、#SHZ等,要根据具体设计,参照数据手册相应给予上拉或下拉处理。本设计在调试过程中因为对#HOLD信号未做处理,导致不能在线下载 程序,最后通过拉高才解决。

  表1 中断号和程序装载地址对应表
中断号和程序装载地址对应表

                                     DSP软件程序设计流程图

                                              图2 DSP软件程序设计流程图

逻辑控制

本设计中采用了Altera公司的EPM7128AETC100-10来实现整个电路系统的时序管理及逻辑控制功能,主要包括ADC控制功能模块、存储器读写时序控制模块、通信接口时序控制模块和增益控制。并根据DSP外部存储器地址空间译码产生片选信号以及读写时序。本设计中利用QuartusⅡ来完成逻辑控制仿真。

单片机电路

C8051F020单片机是完全集成的混合信号系统级MCU,除了具有标准8051单片机的数字外设部件外,片内还集成了数据采集与控制系统中常用的模拟部件和其它数字外设及功能部件。

本设计中利用C8051F020的串口实现了和计算机终端的RS-422异步串行通信,波特率为19.2Kbps;利用双口RAM完成了DSP和单片机的声源目标数据的实时交换。

在设计单片机电路时,为保证上电复位电路的可靠性,可以使用基本的RC电路和专门的监控集成电路如MAX708T等,同时应该充分利用MODEN VDD监视器功能。

辅助电路

辅助电路包括晶振、看门狗、电压基准电路以及DC/DC电源模块。DSP时钟采用了15MHz晶振,经DSP内部5倍频后达到TMS320VC33-150的最快运行速度,同时采用20MHz晶振作为单片机的时钟源;本设计中通过采用MAX706看门狗芯片实现了对DSP的掉电监控和程序跑飞的复位功能;电压基准电路则利用了TPS767D318来为整个系统提供+3.3V和+1.8V电源;DC/DC电源模块完成外接+12V~+5V的高效转换。

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算法和中断服务程序流程。该系统已经调试完成,并进行了充分的外场试验。结果表明,系统工作稳定,各项指标基本达到了要求。

此内容为AET网站原创,未经授权禁止转载。