资源描述
基于DSP芯片的音频信号的分析器的设计
摘要
DSP 技术在音频处理领域的应用越来越广。目前,在很多语音处理系统中都用到了语音分析模块,采集现场的声音并进行频谱分析。语音处理系统的实时性、功耗、体积、以及对语音信号的保真度都是很影响系统性能的关键因素。因此,音频信号的分析器的设计是非常必要的。
本设计采用的高速TMS320C5416DSP芯片,最高频率能达到160MIPS,能够很好的解决系统的实时性;采用的数字编解码芯片TLV320AIC23(以下简称AIC23)具有16~32位采样精度,采样频率范围从8kHz~96kHz。因此,该音频编解码芯片与TMS320C5416DSP的结合是可移动数字音频录放系统、现场语音分析系统的理想解决方案。
本文首先介绍了基于TMS320C5416DSP芯片的语音分析系统的工作原理,给出了整体设计方案和工作框图,然后给出了系统的硬件设计方案; 接着介绍了基于TMS320C5416DSP芯片的语音录放系统的软件设计。
在整个设计过程中,我们采用了TLV320AIC23DSP芯片为核心音频录放接口器件,结合TMS320C5416DSP芯片,语音数据存储FLASH存储器等进行了硬件设计。软件部分则采用模块化的设计方法,用C语言来实现。
该语音录放器的设计能够完成语音采集,存储,滤波,频谱分析,基本实现了语音分析功能。
关键词:TMS320C5416,TLV320AIC23,DSP,语音分析
THE DESIGN OF SPEECH ANALYSOR BASED ON TMS320C5416 DSP CHIP
ABSTRACT
The use of DSP technology in the field of audio processing is increasingly wider. At present, many speech processing systems are used in speech-analysis module, acquisition scene speech and stored for speech-process. Speech-processing System with real-time, power consumption, size, and the speech signal fidelity is a key factor which is affecting system performance. Therefore, speech recording and playing design is very necessary.
The design of high-speed chip used TMS320C5416 DSP, the maximum frequency can reach 160 MIPS , which is a good solution to the real-time system; the figures used in the codec chip TLV320AIC23 (hereinafter referred AIC23) is 16 ~ 32 Sampling precision, sampling frequency’s range from 8kHz~96kHz. Therefore, The Audio Decoder Chip and the combination TMS320C5416 DSP Mobile Digital Speech-analysis System Speech Acquisition scene, is the ideal solution.
This paper firstly introduces the Speech-analysis of principle based on TMS320C5416 DSP chip, given the overall design of the plan and diagram, and then gives the system hardware design program; Secondly Speech-analysis System software design based on TMS320C5416 DSP chip .
Throughout the design process, we used TLV320AIC23 DSP core chips for audio-recording device interface, TMS320C5416 DSP combination of chips, Speech Data Storage Flash memory, and so on the hardware design. Software is a modular design method, the C language to achieve.
The speech recording of the design is to complete speech acquisition, storage, filtering, spectrum-analysis. The basic realization of the Speech-analysis function
KEY WORDS:TMS320C5416,TLV320AIC23,DSP,Speech-analysis
目录
前言 .1
第1章 语音分析的技术方案及硬件电路设计 .2
1.1语音分析器的性能指标和硬件方案 .2
1.1.1 语音分析器的性能指标 .2
1.1.2 硬件设计方案 .3
1.2语音分析系统的硬件电路设计 .4
1.2.1 TMS320C5416DSP数字信号处理接口电路模块 .5
1.2.2 TLV320AIC23语音采集、回放接口电路模块 .9
1.2.3语音数据存储接口电路模块 .12
1.2.4 音频接口电路模块 .13
1.2.5 电源接口电路模块 .15
第2章 语音分析器的应用软件设计 .17
2.1 语音分析器应用软件系统的设计方案 .17
2.2 主程序模块 .17
2.3 语音分析模块的程序设计 .20
2.3.1 MCBSP的初始化 .20
2.3.2 AIC23 的初始化 .22
结论 .27
参考文献 .27
致谢 .31
附录 33
前 言
DSP处理速度快,功耗低,性能好,基于TMS320C5416DSP芯片的语音存储容量大,具有很好的通信音质等特点,因此被广泛应用于很多领域中。
本设计实现的语音分析系统具有如下优点:
1.音频数据占用资源少
2.音质通信级
3.开发难度低
4.语音芯片与DSP接口电路简单
5.体积小
在论文完成过程中,我首先在图书馆查阅相关书籍研究如何进行基于TMS320C5416DSP芯片的语音录放器的方案设计,然后对系统内部所需要的各个模块进行设计并对芯片做了详细研究;其次参阅相关资料在计算机和实验板上进行应用软件的设计、编程与调试,然后在老师指导下进行硬件与软件的联合调试;最后自己对毕业设计资料进行整理,总结,完成毕业设计论文。
在整个设计过程中,本文首先介绍了基于TMS320C5416DSP芯片的语音录放系统的工作原理,给出了整体设计方案和工作框图,然后给出了系统的硬件设计方案;在硬件设计中,我们采用了TLV320AIC23DSP芯片为核心音频录放接口器件,结合TMS320C5416DSP芯片,语音数据存储FLASH存储器等基本完成了语音录放器硬件的设计过程;最后介绍了基于TMS320C5416DSP芯片的语音录放系统的软件设计,软件部分主要是在CCS环境下用C语言编程实现。将外部输入的模拟语音信号,经由高保真语音芯片AIC23进行采样后保存在外扩存储器存储空间中,然后这些存储的数字语音信号经过DSP带缓冲串口MCBSP 2 读入DSP,经过FIR数字低通滤波器滤除语音信号中高频部分及其它噪声,最后对这些语音信号的FFT变换。
该语音分析器的设计能够完成语音采集,播放,存储,频谱分析,基本实现了语音分析功能。随着技术的进步,TMS320C5416DSP与TLV320AIC23的结合的语音编码方案将会有更好的应用前景。
第1章 语音分析器的技术方案及硬件电路设计
在当今的数字化时代背景下,DSP已成为通信、计算机、消费类电子产品等领域的基础器件,是集成电路中发展最快的电子产品,并成为电子产品更新换代的决定因素。DSP芯片已经被广泛地应用于当今技术革命的各个领域,而且DSP技术也正以极快的速度被应用在通信、电子系统、信号处理系统等许多领域中。
基于TMS320C5416DSP芯片的语音分析器的设计系统的主要功能对语音信号进行采样滤波后FFT变换,然后观察其频谱分布。通过该分析器可观察到语音信号频谱特征的观察,从而为语音的编解码,压缩,解压缩,语音编码,语音识别语音合成,语音增强等实时语音处理方法的实现及参数的选取提供依据。
本系统是一个数字信号处理系统,是电子技术、信号处理技术与计算技术相结合的产物,也是一个软硬件结合的系统。
1.1语音分析器的性能指标和硬件方案
1.1.1 语音分析器的主要性能
本设计实现的语音录放器具有如下主要性能:
1.由于语音信号的频率范围为300Hz-3400Hz(人说话声音)或20Hz-20kHz(音乐,占音频信号全频率),根据采样定理,为保证信息不失真,确定系统的采样频率为8KHz或96kHz;
2.结合系统采用的TMS320C5416芯片处理速度以及信号采样频率的要求,采用TLV320AIC23DSP芯片作为系统的A/D转换芯片;
3.根据上述技术指标确定TMS320C5416系统的外围接口方式。
本设计实现的语音分析系统具有如下优点:
1.音频数据占用资源少
2.音质通信级高
3.开发难度低
4.语音芯片与DSP 接口电路简单
5.体积小
1.1.2 硬件设计方案
DSP 技术在音频处理领域的应用越来越广。目前,在很多语音处理系统中都用到了语音分析模块,采集现场的声音并存储起来对语音信号的频谱特征进行观察,为确定最佳的语音压缩的方法和参数的选择提供依据。语音处理系统的实时性、功耗、体积、以及对语音信号的保真度都是很影响系统性能的关键因素。
本系统用DSP芯片TMS320C5416与音频编解码芯片TLV320AIC23 实现硬件接口和软件设计, 并在此硬件基础上实现语音信号的采集、播放、存储、回放。本系统包括音频采集、DSP对语音信号的处理、Flash存储三部分。系统结构如图1-1所示:
图1-1 总体设计图
TMS320C5416作为主芯片实现语音信号采集、存储和各模块之间的通信等控制,其主要功能有:上电自举,将采集压缩后的音频信号存储在Flash中。AIC23的语音信号输入可以是麦克输入也可以是线路输入,这可以通过配置寄存器选择。当能过麦克输入人的说话声时,综合人声的频率、数据量大小的要求,采样频率不需要太高,设定为8KHz比较合适。实验证明,在这个采样频率下能清晰地采集、回放人的说话声,并且具有较好的保真度。当输入为音乐或歌曲的线路输入时,为了保证音质不失真,采样频率可以设定为96KHz。
在总体设计图中,AIC23是一种高性能的立体声音频Codec芯片作为从设备,主要完成输入语音信号的A/D转换,语音采样编解码及滤波处理,该芯片构成简单,功能强大;TMS320C5416DSP芯片有三个MCBSP(多通道缓冲串口) ,MCBSP0和MCBSP1可完成对AIC23的控制,MCBSP0为语音数据接口,完成语音数据的交换—数据发送与接收,MCBSP1为数据控制接口,主要对AIC23写控制字;语音数据存储模块选用Flash存储器,它是一种可在线进行电擦写可快速访问,掉电后信息不会丢失的非易失性存储器,具有可靠性稳定性,低成本低功耗,高密度大容量可达几个GB,抗震性,尺寸小重量轻等多种先进特性,烧录技术以Flash闪存为载体进行读取和存储。
该系统的工作原理是:语音信号通过话筒从线路或麦克输入口输入音频信号送到AIC23中,AIC23控制芯片内寄存器,使输入的音频信号进行A/D转换,一方面将转换得到的数字语音信号送到TMS320C5416DSP的Flash存储器暂存起来,每收够一帧就调用语音压缩程序进行编码,编码后得到的数据被TMS320C5416DSP送到Flash存储器存储起来;另一方面调用语音滤波和FFT变换程序对语音数字信号进行分析。放音时,先从Flash存储器中读出压缩数据送到DSP中,TMS320C5416DSP调用解压缩程序还原出语音信号,还原后的语音信号通过耳机发送出来。
1.2 语音分析系统的硬件电路设计
本设计采用的高速TMS320C5416DSP芯片(该芯片的用途和优点及结构功能在后面的器件选择中有详细阐述),最高频率能达到160MIPS,能够很好的解决系统的实时性;采用的数字编解码芯片TLV320AIC23(该芯片的用途和优点及结构功能也在后面的器件选择中有详细阐述,以下简称AIC23)具有16~32位采样精度。因此,该音频编解码芯片与TMS320C5416DSP的结合是可移动数字音频录放系统、现场语音采集系统的理想解决方案。语音分析器的具体实现原理图见附录。
TMS320C5416有3个MCBSP (多通道缓冲串口)。可以方便地利用其中2个MCBSP完成对AIC23的控制和通信。AIC23芯片是一个可编程芯片,内部有11个16位寄存器,控制接口具有SPI和I2C工作方式,这两种工作方式由MODE引脚(MODE为串行接口输入模式选择引脚)来选择,即:MODE=0为I2C模式;MODE=1为SPI模式。
AIC23有独立的控制接口和数据接口,控制口用于接收控制器的命令字,数据接口与DSP完成语音数据的交换。AIC23的工作时钟由外接的一个11.2896M的晶振提供。DSP的工作时钟是由12M外部晶振提供。本系统用到了利用C5416DSP的MCBSP0和MCBSP1,分别与AIC23 的控制和数据接口相连。C5416DSP与AIC23的接口电路如图1-2所示。
图1-2 TMS320C5416DSP与TLV320AIC23的接口电路框图
1.2.1 TMS320C5416DSP数字信号处理接口电路模块
系统采用的主芯片是TI 公司的一款16位定点DSP:TMS320C5416(以下简称C5416),主要是考虑到C5416片内具有128K*16位的内部RAM,这对提高系统总体性能和集成度有很大的帮助。另外C5416还具有3个MCBSP多通道缓冲串口,该串口与SPI器件兼容,提供多达128个发送和接收通道。与其他C54xDSP芯片一样C5416具有功耗低、运算速率高、性价比高的优点。另外C5416具有如下特点:当核电压为1.6伏特时的工作频率可达到160MIPS;能访问64K数据存储空间、64K I/O空间、以及192K程序存储空间。
TMS320C5416作为主芯片实现语音信号采集、存储和各模块之间的通信等控制,其主要功能有:上电自举,读取键盘值并初始化音频编码芯片和液晶屏,控制AIC23并通过液晶屏显示AIC23 的工作状态,将采集压缩后的音频信号存储在Flash 中。
TMS320C5416通过以下引脚与TLV320AIC23连接。BCLKX0/BCLKX1:缓冲串口0和1的发送时钟,用于对来自缓冲串行口发送移位 寄存器和传送至数据发送引脚的数据进行定时;BDX0/BDX1:缓冲串行口数据发送端,来自缓冲串行口发送移位寄存器中的数据经该引脚串行发送;BFSX0/BFSX1:用于发送输出的帧同步脉冲;BDR0: 缓冲串行口数据接收端;BFSR0: 用于接收输入的帧同步脉冲;X2/CLKIN:由晶振接到内部振荡器的输入引脚。
TMS320C5416与FLASH存储器连接时,DSP采集到的32位语音数据通过外部数据总线的低8位分4次,从左声道的高8位到右声道的低8位依次写入Flash。
DSP提供工作时钟由外接的一个晶振提供,DSP的工作时钟是5倍频后的时钟:56.488M。
TMS320C5416主电路模块电路如图1-3所示。
1.C5416DSP芯片的总线结构
DSP芯片的基本特点是采用了哈佛总线结构,C5416DSP芯片的结构是以8组16位总线为核心,形成了支持高速指令执行的硬件基础。8组总线分为1组程序总线,3组数据总线和4组地址总线。
2.C5416DSP芯片的中央处理器
中央处理器CPU是DSP器件的核心部件,它的性能直接关系到DSP器件的性能。为了满足处理速度的要求,TMS320C5416DSP芯片的CPU采用了流水线指令执行结构和相应的并行结构设计,使其能在一个指令周期内,高速地完成多项算术运算。
CPU的基本组成如下:40位算术逻辑运算单元(ALU);2个40位累加器(ACCA,ACCB);1个支持16—30位移位的桶形移位寄存器;乘法器—加法器单元(MAC);比较选择和存储单元(CSSU);指数编码器;CPU状态和控制寄存器。
3.C5416DSP芯片的存储空间结构
TMS320C5416DSP芯片共有192千字的可寻址存储空间。这192千字的存储空间分为3个独立的可选择空间,分别为:64千字的程序存储空间;64千字的数据存储空间;64千字的I/O空间。所有的TMS320C5416DSP芯片都包括内部随机存储器(RAM)和只读存储器(ROM)。内部随机存储器RAM又分为单寻址RAM(SARAM)和双寻址RAM(DARAM)两种类型。
通常,SARAM和DARAM被映射到数据存储空间用来存储数据,也可以映射到程序空间用来存储程序代码。TMS320C5416DSP芯片的并行结构和内部随机存储器RAM的双寻址能力,可使CPU在任何一个给定的机器周期内同时执行4次存储器操作,包括1次取指,2次读操作数和1次写操作数。
4.C5416DSP芯片的片内外设电路
为了满足数据处理的需要,TMS320C5416DSP芯片提供了必要的片内外部设备。这些外部设备主要包括:通用I/O引脚;定时器;时钟发生器;主机接口HPI;串行通信接口;软件可编程等待状态发生器;可编程分区转换逻辑。
5.C5416DSP芯片的系统控制
TMS320C5416DSP芯片的系统控制是由程序计数器(PC),硬件堆栈,PC相关的硬件,外部复位信号,中断,状态寄存器和循环计数器(RC)等组成的。
6.TMS320C5416DSP芯片的外部总线
TMS320C5416DSP芯片的外部总线具有很强的系统接口能力,可与外
部存储器以及I/O设备相连,能对64K字的数据存储空间,64K字的程序存储空间,以及64K字的I/O空间进行寻址。独立的空间选择信号DS,PS和IS允许进行物理上分开的空间选择。接口的外部数据准备输入信号(READY)与片内软件可编程等待状态发生器一道,可以使处理器与各种不同速度的存储器和I/O设备连接。接口的保护方式能使外设对TMS320C5416DSP芯片的外部总线进行控制,使外部设备可以访问程序,数据和I/O空间的资源。
C5416DSP芯片是一种特殊结构的微处理器,为了快速实现数字信号处理运算,采用了流水线指令结构和相应的并行处理结构,可在一个周期内对数据进行高速的算术运算和逻辑运算。C5416采用先进的哈佛结构,具有片内存储器、中断、串口、并口等丰富的资源,加上高度专业化的指令系统,使C5416具有很高的性价比,已经广泛应用于通信、语音处理、图像处理、仪器仪表等无线电通信系统中。
1.2.2 TLV320AIC23语音采集及回放接口电路模块
从适应语音信号频率、满足实时性、降低成本、简化设计的要求出发,本系统选择TLV320AIC23。AIC23是一种高性能的立体声音频Codec芯片作为从设备,主要完成输入语音信号的A/D转换,语音采样编解码及滤波处理,该芯片构成简单,功能强大。
AIC23工作电压3.3 伏特,能在数字和模拟电压下工作,与TMS320C5416 的I/O 电压相兼容,其控制接口和数字接口与DSP 的MCBSP 端口能够无缝连接。AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma- delta 过采样技术(Sigma- delta一般用于ADC中,是高精度的A/D转换器,该转换器的特点是将绝大多数的噪声从动态转移到阻态),可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。
TLV320AIC23通过以下引脚与TMS320C5416连接。BCLK:I2S(一种AIC23的数字音频接口支持的通用的音频格式)串行数据传输时钟,当AIC23为主模式时BCLK由AIC23产生并提供给DSP,频率为主时钟的1/4,当从模式时由DSP产生;DIN: I2S格式串行数据输入端,送入立体声DAC;DOUT: I2S格式串行数据输出端,由立体声ADC产生;LRCIN/LRCOUT: I2S格式数据输入/出帧同步信号;SCLK:控制端口移位时钟;SDIN:控制端口串行数据输入,用来传输配置AIC23内部寄存器数据;/CS:控制端口输入和地址锁存选择端,在SPI控制模式下,作为数据锁存控制端,在I2C模式下,定义外设的7位地址;XTI/MCLK:晶体或外部时钟输入端,AIC23内部时钟由它产生。
AIC23的工作时钟由外接的一个11.2896M的晶振提供,TLV320AIC23从电路模
块电路如图1-4所示。
图1-4 TLV320AIC23从电路模块电路
1.AIC23的管脚及外围接口
(1) 数字音频接口:主要管脚为
BCLK-数字音频接口时钟信号(bit时钟),当AIC23为从模式时(通常情况),该时钟由DSP产生;AIC23为主模式时,该时钟由AIC23产生;
LRCIN-数字音频接口DAC方向的帧信号(I2S模式下word时钟)
LRCOUT-数字音频接口ADC方向的帧信号
DIN-数字音频接口DAC方向的数据输入
DOUT-数字音频接口ADC方向的数据输出
这部分可以和DSP的McBSP(Multi-channel buffered serial port,多通道缓存串口)无缝连接,唯一要注意的地方是McBSP的接收时钟和AIC23的BCLK都由McBSP的发送时钟提供。
(2) 麦克风输入接口:主要管脚为
MICBIAS-提供麦克风偏压,通常是3/4 AVDD
MICIN-麦克风输入
(3)LINE IN输入接口:主要管脚为
LLINEIN-左声道LINE IN输入
RLINEIN-右声道LINE IN输入
(4) 耳机输出接口:主要管脚为
LHPOUT-左声道耳机放大输出
RHPOUT-右声道耳机放大输出
LOUT-左声道输出
ROUT-右声道输出
(5) 配置接口:主要管脚为
SDIN-配置数据输入
SCLK-配置时钟
DSP通过该部分配置AIC23的内部寄存器,每个word的前7bit为寄存器地址,后9bit为寄存器内容。
(6) 其他:主要管脚为
MCLK-芯片时钟输入(12.288M、11.2896M、18.432M、16.9344M)
VMID-半压输入,通常由一个10U和一个0.1U电容并联接地
MODE-芯片工作模式选择,Master或者Slave
CS-片选信号(配置时有效)
CLKOUT-时钟输出,可以为MCLK或者MCLK/2
2.AIC23的控制接口
AIC23有两个数字接口,其一是由CS(控制信号)、SDIN(信号数据输入)、SCLK(信号时钟)和MODE(模式)构成的数字控制接口,通过它将芯片的控制字写入AIC23,从而控制AIC23功能;另一组是由LRCIN(左右声控制输入)、DIN(数据输入)、LROUT(左右声输出)、DOUT(数据输出)和BLCK(时钟)组成的数字音频接口,AIC23的数字音频信号从这个接口接收或发出。
AIC23内部还包含两个A/D、D/A 变换器,其字长可以是16、20、24、32,同时AIC23内部的时钟可以通过XTI(晶振时钟输入)、XTO(时钟输出)和外接晶振构成时钟,也可以由外部直接输入时钟信号。AIC23内部还包含有MIC偏置电路,使用外接MIC无需外置偏置电路。
1.2.3语音数据存储接口电路模块
考虑到存储器芯片的容量、系统供电、以及对语音信号的读取速率,本系统采用了具有32M*8位存储空间的Flash。录音系统和放音系统的语音数据均存储在Flash存储器上。Flash存储器是一种可在线进行电擦写可快速访问,掉电后信息不会丢失的非易失性存储器,具有可靠性稳定性,低成本低功耗,高密度大容量可达几个Gb,抗震性,尺寸小重量轻等多种先进特性,烧录技术以Flash闪存为载体进行读取和存储。本次设计的Flash存储模块电路如图1-5所示:
图1-5 Flash存储模块电路
Flash 以容量大价格低的优势被广泛应用在便携式设备中,同时Flash存储器在写入时需要复杂的操作命令,这样确保了数据写入的正确性。Flash有8位I/O 端口,地址、命令字以及数据复用这8位I/O 端口。它采用复杂的操作顺序来区分地址、命令、数据信息。DSP采集到的32位语音数据通过外部数据总线的低8位分4次,从左声道的高8位到右声道的低8位依次写入Flash。
1.2.4 音频接口电路模块
AIC23有独立的控制接口和数据接口,控制口用于接收控制器的命令字,数据接口与DSP完成语音数据的交换。
语音信号通过话筒从麦克或线路输入口输入音频信号送到AIC23中,其中麦克输入电路和线路输入模块电路分别如图1-6,1-7所示。
图1-7线路输入模块电路
MCBSP1接AIC23 的控制接口,AIC23提供SPI和I2C两种控制接口方式,该器件的模式终端状态(MODE)决定了控制接口的形式。本设计将MODE引脚接高选择SPI方式,SPI模式的特点是只在片选信号有效时锁存进数据,由于也是同步串口,所以通过配置MCBSP为Clock Stop Mode(时钟在帧信号有效时产生,其他时间没有时钟信号)可以无缝与AIC23连接。这时,MCBSP的帧信号连接SPI的CS信号,时钟和数据信号与SPI一一对应。这种连接只需MCBSP设置的寄存器,使用比较简单可靠。
DSP与AIC23的数据交换是通过串口0实现的,其中MCBSP多通道缓冲串口数据的接收是通过三级缓冲完成的,即引脚DR上的数据先到达移位寄存器RSR,当收到一个满字之后数据被装载到数据接收寄存器RBR中,最后数据才被拷贝到接收数据寄存器DRR中。DSP通过串口0 接收AIC23采集的语音数字信号,并且在回放模式下,通过串口将语音信号传送给AIC23。这时音频芯片为主器件,给DSP提供帧同步和时钟信号。
语音信号经还原后由耳机输出或线路输出,其中耳机输出模块电路和线路输出模块电路分别如图1-8,1-9所示。
图1-8耳机输出模块电路
图1-9线路输出模块电路
DSP模式下的数据传输时序如图1-10所示:
图1-10 DSP模式下的数据传输时序
由DSP模式下的数据传输时序图可看出,在帧同步信号(LRCIN/LRCOUT)作用下,串行口先传送左声道数据再传送右声道数据,C5416的MCBSP口每接收一个字,内部会自动产生一个中断信号通知DSP保存数据,为下一步数据处理做好准备,同时DSP通过MCBSP口向AIC23发送数据,经过D/A转换就可以回放语音信号。
1.2.5 电源接口电路模块
TMS320C5416DSP芯片采用低电压设计,并且采用双电源供电,即内核电源CVDD和I/O电源DVDD。I/O电源采用3.3V电源供电,而内核电源采用1.6V供电,降低内核电源的目的是为了降低功耗。由于TMS320C5416DSP芯片采用双电源供电,使用时需要考虑它们的加电次序。在理想情况下,DSP芯片上的两个电源应该同时加电,但在有些场合很难做到。若不能做到同时加电,应先对DVDD加电,然后再对CVDD加电,同时要求DVDD电压不超过CVDD电压2V。这个加电次序主要依赖于芯片内部静电保护电路,内部保护电路如图1-11所示。
图1-11 内部静电保护电路
从图中可以看出,DVDD电压不超过CVDD电压2V,即用4个二极管降压,而CVDD电压不超过DVDD电压0.5 V,即一个二极管降压,否则有可能损坏芯片。产生3.3V和1.6V电压的电路分别如图1-12,1-13所示。
图1-12产生3.3V电源电路
图1-13 产生1.6V的电源电路
第2章 语音录放器的应用软件设计
2.1 语音录放器应用软件系统的设计方案
本语音录放系统的软件开发环境是TI 公司的DSP集成开发环境CCS2.0。CCS提供了软件开发、程序调试和系统仿真环境。CCS不但能支持汇编语言,而且还支持C/C++语言进行软件开发,因此本语音录放系统的软件采用C语言混合编写,主程序和子程序用C语言编写。这样,既容易进行调试,又可以提高软件的执行效率,可达到充分利用DSP芯片的软硬件资源。
本系统主要是将现场采集到的语音,即系统采集现场的线路输入信号或麦克语音信号,并存储在Flash中,Flash中的语音信号经由滤波后的语音信号被播放出来同时进行FFT快速离散傅立叶变换。
2.2 主程序模块
语音信号通过话筒从线路或麦克输入口输入音频信号送AIC23中,AIC23控制芯片内寄存器,使输入的音频信号进行A/D转换,将A/D转换得到的数字语音信号经由数字低通滤波器滤波后送到TMS320C5416DSP的Flash存储器暂存起来,放音时,先从Flash存储器中读出数据通过耳机发送出来。
主程序模块语音处理工作过程是:首先对系统进行初始化,主要包括CPU的时钟频率初始化、AIC23的初始化、MCBSP的初始化、语音缓冲区和工作变量的初始。
主程序模块如图2-1所示
开始
初始化
CPU频率
AIC23
初始化语音缓冲区
初始化工作变量
循环等待
主程序模块
语音分析子程序处理过程是:首先初始化TLV320AIC23为语音采集状态,然后读取语音录音数据放入数据缓冲区,调用FIR程序对采样数据进行滤波,接着将数字语音数据存入FLASH存储器,储存后的数据通过耳机发送出来,另一方面进行FFT变换。该子程序模块流程如下:
开始
读取语音数据
数据满吗?
存入FLASH存储器
FIR滤波
FFT变换
保存于缓冲区
语音数据输出到MCBSP0
中断结束
滤波器子程序的实现分为以下两个过程:
1. 滤波器系数的设计
使用设计标准频率响应的基于窗函数的FIR滤波器,可以实现加窗线性相位FIR数字滤波器设计。
语法: b=fir1 (n , Wn , ‘ftype’);
b=fir1 (n , Wn , ‘ftype’ , ‘window’);
其中,n为滤波器的阶数,Wn为滤波器的截止频率,ftype参数用来决定滤波器的类型,当期为high时,可设计高通滤波器,stop时可以设计带阻滤波器。Window用来指定滤波器采用窗函数类型,其默认值为汉明窗(本程序中使用的是汉明窗)。利用matlab得到系数放在数组FH[n]中存放。
2. 循环缓冲区法实现滤波
对于N级FIR滤波器,在数据存储器中开辟一个N单元的缓冲区,用来存放最新的N个输入样本。从最新的样本开始取数,读完最后一个样本后,输入最新样本来代替最老样本,而其它数据位置不变,具体是通过子程序init for fir()来实现。
用滤波器系数乘以保存的N-1个输入值和当前输入值并求和,这一过程是通过子程序函数fir()实现的。
FIR滤波子程序模块流程如下:
FIR滤波
用滤波器系数乘以保存的N-1个输入值和当前输入值并求和
返回计算结果
FFT 算法的实现主要分为三个步骤:
1. 实现输入数据的比特反转,输入数据的比特翻转实际上就是将输入数据进行位码倒置,以便在整个运算后的输出序列是一个自然序列。
2. 实现N点复数FFT,这一过程的实现分为三个功能块,即第一级蝶形运算、第二级蝶形运算、第三级蝶形运算乃至log2N级蝶形运算。对于任何一个2的整数幂N=2m,总可以通过M次分解到2点的DFT计算。通过这样的M次分解,可构成M(log2N)级迭代计算,每级由N/2个蝶形运算组成。
3. 功率普计算,即计算X(k)=X(n) WNnk ,X(k)一般是由实部和虚部组成。因此计算功率普时,只需将FFT变换好的数据,按照实部和虚部求它们的平方和即可。
FFT子程序流程图如下:
按照编码逆序排列输入序列
用蝶形算法计算
计算功率谱
返回计算结果
FFT
2.3 语音录放模块程序设计
2.3.1 MCBSP的配置
TMS320C5416提供的MCBSP口是一种高速、双向、多通道带缓冲的串行接口。它可以与其他C54xDSP器件、编码器或其他串行接口器件通信。MCBSP的硬件部分是基于标准串行接口的。
AIC23的控制口主要是为了接收DSP的控制字,因此这里DSP MCBSP1作为主器件。AIC23有许多可编程特性,其内部有11个9位可编程控制寄存器,DSP通MCBSP1来访问这些控制寄存器。SDIN为串行数据输入端,它接收DSP串行数据,数据字长16位,其中高7位为地址信息,低9位为AIC23的命令字。SCLK为控制端口串行数据时钟输入,DSP串口的采样率发生器对CPU时钟分
展开阅读全文