基于TMS320VC33-150的声探测系统设计

发布者:灵感之翼最新更新时间:2006-12-07 来源: 电子设计应用关键字:CPLD  单片机  DSP 手机看文章 扫描二维码
随时随地手机看文章
引言

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

本文正是基于声探测技术原理和成熟的微电子技术, 采用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 中断号和程序装载地址对应表

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

关键字:CPLD  单片机  DSP 引用地址:基于TMS320VC33-150的声探测系统设计

上一篇:基于DSP和以太网的数据采集处理系统
下一篇:CD4051和AD595制作的温度采集仪

推荐阅读最新更新时间:2024-05-13 18:16

HPI在MCUDSP接口中的应用
  描述HPI接口的工作原理及C8051F060和TMS320VC5409(简称C5409)之间的接口电路设计,给出了HPI接口的软件设计。该系统具有设计灵活、数据传输速度快、适用于其他含有HPI接口的DSP应用系统,为开发人员提供了一种便捷稳定的数据共享、传输方式。   1TMS320VC5409的HPI-8接口   C5409的HPI-8是一个增强型8位HPI8接口,主要用来与主处理器接口。C5409内部有32K的RAM空间,除了DSP本身可以访问该RAM区域外,主机也可以通过HPI口实现对整个RAM的访问,从而实现主机与DSP的通信。HPI-8接口通过HPI控制寄存器HPIC、地址寄存器HPIA、数据寄存器HPID等3个
[单片机]
HPI在<font color='red'>MCU</font>和<font color='red'>DSP</font>接口中的应用
基于DSP处理器的UMTS Turbo MAP 解码器
  Turbo码自1993年问世以来,以其出色的性能,在工业和科研领域都引起了广泛的关注。Turbo码性能逼近(信噪比差为0.7dB或更小)由Claude E. Shannon确定的信道容限。Berrou、Glavieux和Thitimajshima最先提出了Turbo码,其结构由两个并行级联卷积编码器组成。Turbo码编码方案产生同一信息序列的两个不同交织形式的分量码。解码时,由两个MAP解码器以迭代方式对判决结果进行解码。MAP 解码算法利用接收数据和校验符号(以真实和交织形式的数据计算而来的校验位),以及其他的解码软输出(外部的)信息,得到更加可靠的判决结果。   本文将讨论在ADI Blackfin通用定点DSP处
[嵌入式]
基于<font color='red'>DSP</font>处理器的UMTS Turbo MAP 解码器
基于STM32单片机启动文件的作用和启动过程解析
一、启动文件的作用是: 1.初始化堆栈指针SP; 2.初始化程序计数器指针PC; 3.设置堆、栈的大小; 4.设置异常向量表的入口地址; 5.配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没 有外部SRAM); 6.设置C库的分支入口__main(最终用来调用main函数); 7.在3.5版的启动文件还调用了在system_stm32f10x.c文件中的 SystemInit()函数配置系统时钟,在旧版本的工程中要用户进入 main函数自己调用SystemInit()函数。 至此可以总结一下STM32的启动文件和启动过程。首先对栈和堆的大小进行定义,并在代码区的起始处建立中断向量表,其第一个表项是栈顶地址,
[单片机]
基于STM32<font color='red'>单片机</font>启动文件的作用和启动过程解析
PIC单片机电子钟程序+仿真电路
#include pic.h #define uchar unsigned char #define uint unsigned int #define CS RA5 uchar secs = 0; uchar minutes = 0; uchar hours = 0; unsigned char disbuf = {1,2,3,4,5,6,7,8}; void delay_ms(uint n) { uchar i; while(n--) { for(i=0;i 100;i++); } } void Port_Initial(void) { TRISC = 0xD7;
[单片机]
PIC<font color='red'>单片机</font>电子钟程序+仿真电路
单片机攻击的四大主要技术解析
为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓单片机加密或者说锁定功能。事实上,这样的保护措施很脆弱,很容易被破解。单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序。 单片机攻击的四大主要技术解析 2、单片机攻击技术 目前,攻击单片机主要有四种技术,分别是: (1)软件攻击 该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早
[单片机]
<font color='red'>单片机</font>攻击的四大主要技术解析
51单片机读写SD卡程序
SD卡简介 SD卡,是一种基于半导体快闪记忆器的新一代记忆设备,SD于1999年8月研制成功,其重量只有2克。但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。SD卡也很容易重新格式化,有广泛的应用领域,如音乐、电影、新闻等多媒体文件都可以方便地保存,数码相机也开始支持SD卡。SD卡容量最高能达到4GB。 SD卡在24mm 32mm 2.1mm的体积内结合了〔SanDisk〕快闪记忆卡控制与MLC(Multilevel Cell)技术和Toshiba(东芝)0.16u及0.13u的NAND技术,通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。而且它是一体化固体介质,没有任何移动部分
[单片机]
单片机小白学习之路(十一)---8x8点阵显示数字
目标:8x8点阵显示数字 和上一篇几乎一样,就是多添加几个数据 #include reg51.h //因为52.h里面有SRCLK同名关键词,所以用51,他们内核都一样可以交换使用 #include intrins.h //包含_nop_()的库 typedef unsigned int u16; typedef unsigned char u8; sbit SER=P3^4; sbit SRCLK=P3^6; sbit RCLK=P3^5; u8 ledZ ={0x01,0x91,0x91,0xff,0xff,0x91,0x91,0x01}; u8 ledF ={0x7f,0xbf,0xdf,0xef,0
[单片机]
<font color='red'>单片机</font>小白学习之路(十一)---8x8点阵显示数字
STM32等单片机程序加密有哪些方法
为了防止大家的程序不被剽窃,本文给大家分享单片机加密的方法。 另外关于解密的方法可以参考这篇文章如何解密单片机内程序? 常见加密方法 程序写保护 这种方法是最常见,也是最简单的一种。现在的MUC基本都有写保护功能,但是这种容易被人破解。 烧断数据总线 这个方法听起来不错,但有损坏的风险,同样也能破解。 软件加密 是一些防止别人读懂程序的方法,单一的这种方法不能防止别人全盘复制,须配合其他的加密算法。 添加外部硬件电路的加密方法 这个方法效果看起来比较好,但会增加成本。 芯片打磨改型 这个方法改了型号能误导,但同时也增加成本,解密者一般也能分析出来。 通过通过联网加序列号加密 通过连接网络,在你的MCU中生成一个唯一的随机长序列
[单片机]
小广播
热门活动
换一批
更多
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved