声强测试系统中DSP和ADC的接口电路
摘 要:本文简述了TMS320C5409与MAX125之间的硬件接口设计和软件编程方法及其在声强测试系统中的应用。
引言
随着“绿色设计”的兴起和人们对环境保护的意识增强,噪声控制已成为现代工业发展的一项重大任务。而低噪产品设计很大程度上依赖于声强测量。通过测量分析,可以了解产生振动和噪声的原因,从而找到降低噪声的有效途径。过去的声强测试系统中,一般基于单片机技术,数据处理能力差、可扩展空间小,只能实现时域分析。近年来,随着信息处理技术的飞速发展,DSP在电子信息、仪器仪表等高科技领域得到了广泛的运用。它具备特有的哈佛结构、多级流水线、硬件乘法器等特征,所以运算速度很快。如果将它运用于声强 测试系统中可实现实时频谱分析,提高测试的精度。而MAX125是内部集成采样保持电路和多路选通电路的ADC芯片,最多能实现4个通道的模拟信号同步采样,非常适合多通道声强数据采集系统。
声强测试系统中的ADC模块
声强测试中,噪声信号的频率为20Hz~20KHz,且要求系统进行高精度多通道并行采样。根据这方面的要求选择MAXIM公司的MAX125。它是高速2x4通道同步采样14位逐次比较型A/D转换器芯片,内部集成采样保持电路。在4通道工作模式下,ADC芯片最高可以支持76KHz的高速采样。所以即使在4通道同时采样的情况下,它也可以满足声强数据采集的要求。同时,模拟电路十分简单,抗干扰能力强、精度也高。
声强测试系统中的DSP
声强测试系统要进行实时信号分析,要求有较高运算速度,同时信号处理也需要较大缓存空间。在各种算法中,FFT变换是基础,也最占时间,所以我们可用FFT验证DSP速度是否符合要求。在FFT变换中,N点复数做FFT变换约需要2N×Log2N次实数乘法运算和3N×Log2N实时加法运算。如果选择TI公司的TMS320VC5409,它的乘法和加法都是单周期指令,取N=1024,不计内存访问和其它时间,则一次FFT所需时间为:10×5120×10ns约0.512ms。按4通道76KSPS的采样频率计算,1024点的采样时间约为3.333ms,可见该DSP速度足以满足要求。所以本系统选用TI公司的16位定点DSP—TMS320VC5409 (TI公司产品)。重要的是它片内具有32×16bit内部RAM,这对提高声强测试系统的整体性能有很大的帮助。
图1 声强测试系统结构框图
图2 MAX125与C54的接口电路
声强测试系统中MAX125与TMS320VC5409的接口
图1为声强测试系统的结构简图,图中多路声强信号在MAX125中实现A/D转换后,采样结果通过中断方式输入DSP中进行运算处理(FFT变换、相关分析、功率谱分析等),处理结果由USB接口送至主控计算机存储和显示。CPLD实现模块接口控制逻辑,包括地址跟随、数据锁存等功能,8254则为MAX125等提供时钟信号,便于上位机对时钟信号的控制。
MAX125与TMS320C54的接口电路示图2,在系统中,多路声强模拟信号分别接MAX125的CH1A-CH4A和CH1B-CH4B通道上,MAX125实现A/D转换后通过接口读入TMS320C54进行信号处理。MAX125与TMS320C54之间的接口设计主要要考虑两个问题:3V和5V混合逻辑的设计:C54的外围工作电压为3.3V,而它的外围器件包括MAX125一般工作在5V,必须为DSP和外围芯片设计一个安全可*的接口;速度匹配问题:MAX125的时序要求两次读操作之间的延迟时间不小于40nS, TMS320C54的指令执行周期为10nS.所以,DSP读写A/D时必须解决速度匹配问题。
如图2所示,C54的数据总线挂有一个SN74LVT1645A,它是TI公司的3.3V和5V双向收发器, SN74LVT1645A可以看作两个8位收发器或一个16位收发器。收发的方向由两个方向控制引脚(DIR)控制。这样在数据总线上既可为DSP提供驱动5V数字电路的能力,也可为DSP提供5V信号读入的保护。所以使用SN74LVT1645A可以为DSP扩展多个外设提供可*的接口,解决了3.3V和5V混合逻辑设计问题。TMS320VC54X与慢速器件接口可采用硬件或软件的方法插入等待状态。软件的方法插入等待状态的 方法是通过TMS320C54X内部一个软件等待状态寄存器实现的,它最多插入7可等待状态,非常方便。通过分析在与MAX125接口中最多插入三个等待状态即可,所以在接口中我们采用了软件插入等待周期的方法。时钟信号CLK和启动转换信号由可编程计数器/定时器8254为MAX125提供,8254则由上位机通过USB接口控制,从而上位机可以通过USB接口控制MAX125的采样频率。高速译码器SN74AHCT138用于产生MAX125所需的读写信号、和片选信号,简化了电路结构。TMS320VC54和MAX125之间采了中断控制的工作方式,在MAX125每完成一次A/D转换以后,它通过中断通知TMS320VC54读取数据,在MAX125进行A/D转换时,它不受MAX125的影响,这样提高了TMS320VC54的工作效率。
MAX125与TMS320VC54接口程序
下面给出了MAX125中4通道采样的接口程序,程序中采用中断方式读取数据。将MAX125的端口作为TMS320VC54扩展的外部存储单元。
MAX125端口占用的地址空间为:
工作方式编程地址ADIN=8000;
获取转换结果的地址ADOUT=800C
ADIN .set 8000h
ADOUT .set 800Ch
DSPIN .set 0800h ;0800h为DSP内部
数据缓存区间的首地址
中断矢量程序
int2: B INT
NOP
NOP
.space 13*4*16
接口初始化程序
_c_int00:
LD #0,DP ;设置页指针
STM #3000h,SP ;设置堆栈指针
SSBX INTM ;关闭所有中断
STM #0F4BFh,SWWSR ;设置等待
发生器
ST #3h,ADIN ;设置B组四通道
采样
STM #0F6FFh,SWWSR ;设置等待
发生器
STM #0FFFFh,IFR ;清除中断标志
寄存器
STM #0004h,IMR ;开放中断2
RSBX INTM ;开放所有中断
中断子程序
INT PSHM AR3
PSHM AR2
PSHM AR0 ;保护现场
STM #1,ARO
STM #2048,BK
STM #ADOUT,AR2
STM #DSPIN,AR3
RPT #3
MVDD *AR2,*AR3+0% ;
四次读操作
POPM AR0
POPM AR2
POPM AR3 ;恢复现场
RETE
.end
程序设计中要注意下面的问题:
MAX125的时序要求两次读操作之间的延迟时间不小于40nS,而TMS320VC5409的指令执行周期为10nS。所以,TMS320VC5409读写A/D时必须插入等待周期.在进行存储器写操作时,TMS320VC5409需两个机器周期;在进行存储器读操作时,TMS320VC5409只需一个机器周期。由此可以得出,在MAX125与TMS320VC5409的接口中,对MAX125的写操作至少需要插入两个机器周期;读操作时至少需要插入三个周期。
结语
本接口电路简单、成本低廉,充分利用了MAX125的多同道A/D转换功能和TMS320VC5409较强的数据处理能力,满足了多同道声强测量的要求。
|