Journal of Electrical Engineering
电气工程
, 2013, 1, 66-70
http://dx.doi.org/10.12677/jee.2013.12014
Published Online December 2013 (//www.abtbus.com/journal/jee.html)
Open Access
66
An Audio Signal Acquisition and Real-Time Playing System
Based on TMS320C5410
Ziyuan Qi
1,2*, Chao Ma3
1
Department of Artillery Engineering, Ordnance Engineering College, Shijiazhuang
2
Brigade of Equipment Trial and Training, Academy of Armored Forces Engineering, Beijing
3
Troop No.75134 of PLA, Chongzuo
Email:
*
jxxyqzy@126.com
Received: Oct. 21
st
, 2013; revised: Oct. 29th, 2013; accepted: Nov. 10th, 2013
Copyright © 2013 Ziyuan Qi, Chao Ma. This is an open access ar
ticle distributed under the Creative Commons Attribution License,
which permits
unrestricted use, distribution,
and reproduction in any medium, provided the original work is properly cited. In accordance of the Creative Commons
Attribution License all Copyrights © 2013 are reserved for Hans
and the owner of the intellectual property Ziyuan Qi, Chao Ma.All Copyright ©
2013 are guarded by law and by Hans as a guardian.
Abstract:
This paper puts forward an audio signal acquisition and real-time playing system based on TMS320C5410. It
introduces the designing methods of the whole system, the software and the hardware. The audio signal acquisition and
the real-time playing are completed with the software program. The result proves that the signals have high fidelity by
analyzing a sample.
Keywords:
Audio Signal; TMS320VC5410; Interrupt
基于
TMS320VC5410
的声信号采集与实时回放系统
齐子元
1,2*,马
朝3
1
军械工程学院火炮工程系,石家庄
2
装甲兵工程学院装备试用与培训大队,北京
3
中国人民解放军
75134部队,崇左
Email:
*
jxxyqzy@126.com
收稿日期:
2013
年10月21日;修回日期:
2013
年10月29日;录用日期:
2013
年11月10日
摘
要:本文介绍了一种基于TMS320VC5410的实时语音信号采集与实时回放系统。介绍了整个系统的总体设
计方案和软、硬件的设计。通过软件编程实现音频信号的采集与回放,并通过对一个实例效果分析,证明了本
系统所采集的信号具有高保真度。
关键词:
音频信号;TMS320VC5410芯片;中断
1.
引言
随着微电子技术和数字信号处理技术的飞速发
展,
DSP的性能价格比不断提高,越来越广泛地被应
用于各个领域,例如:语音处理、图像处理、模式识
别及工业控制等,并且已日益显示出其巨大的优越
性。在音频信号处理中常常使用
DSP来完成信号的滤
波、压缩等操作,而音频信号本身是模拟信号,这就
需要先用
ADC
把模拟的音频信号变为数字信号,送
DSP
处理之后在用DAC将其还原为模拟音频信号。
要在
DSP
系统中快速高效的实现音频信号的处理,就
必然涉及到
DSP
与ADC和
DAC
的硬件接口以及软
件编程
[1]
。随着各种数字信号处理芯片的不断出现,
*
通迅作者。
基于
TMS320VC5410
的声信号采集与实时回放系统
Open Access
67
TMS320
系列微处理器以其特有的结构特点和指令特
点使之更能适用于各种数字信号处理系统
[2]
。
关于音频处理系统前人也有一些研究,如文献
[3-5]
,他们主要从硬件电路结构上介绍,而对于软件设
计程序并未详细给出,因此,在系统较好的满足功能
性及实用性的同时,本文所设计的语音信号系采集处
理系统采用了性价比较高的
TMS320VC5410
处理器,
并给出了关键软件实现的程序。实验表明,本系统对
复杂语音信号采集处理效果较好,实现了实时性与高
保真度,并且具有较高的信噪比。
2.
采集与处理要求
但在一般情况下,男声平均大约为
500~800 HZ,
女声平均大约在
700~1000 Hz
。本系统所要采集的信
号是单声道模拟信号,根据采样定理,采样频率设为
8 KHz
,每点的精度为16位。这样就可以避免采样处
理产生的频域混叠,保证数模转换所恢复的语音信号
的保真度。为了提高信噪比,防止混叠失真和噪声干
扰,必须在
A/D
前用一个具有良好截止特性的模拟低
通滤波器对语音信号进行滤波,即加入反混叠滤波
器,与此同时,在
D/A后面也需要加入一个低通滤波
器,对重构的语音信号的高次谐波起平滑作用,以去
除高次谐波失真
[6]。
3.
系统总体方案
系统总体方案框图如图
1
所示。音频信号经过高
精度高速的
ADC
转换后得到一串数字信号,分帧输
入到波形输入缓冲区
RAM
。然后由手动控制一种或
几种处理算法将音频信号调入
TMS320C5410
的内部
进行高速运算。经过处理的音频信号,再输入到高精
度高速的
DAC
转换器中,还原成模拟的声音信号,
经功率放大电路放大输出
[7]。
利用缓冲区的目的是进行音效的实时处理。系统
中各模块是同时进行处理的,一部分信号正在
ADC
中进行转换,而另一部分信号则在
DSP处理器中同时
进行算法处理,即整个系统是以流水线的方式进行工
作。
4.
系统的硬件设计
4.1. DSP
芯片
作为
DSP家庭高性价比代表的
16位定点
DSP芯
片,
C5410
适用于语音通信等实时嵌入应用场合。与
其它
C54X
芯片一样,C5410具有高度灵活的可操作
性和高速的处理能力。其性能特点如下:操作速率可
达
100MIPS
;具有先进的多总线结构,三条16位数
据存储器总线和一条程序存储器总线;
40位算术逻辑
单元
(ALU)
,包括一个
40
位桶形移位器和两个
40位
累加器;一个
17 × 17乘法器和一个40位专用加法器,
允许
16位带
/
不带符号的乘法;具有扩展寻址方式,
最大可寻址扩展程序空间为
8 M × 16 bit;内置
16 K ×
16 bit ROM
和
64K × 16bit RAM;内置可编程等待状
态发生器、锁相环
(PLL)时钟产生器、
3个多通道缓冲
串口
(McBSPs)、一个与外部处理器通信的8位并行
HPI
口、1个16位定时器以及6通道DMA控制器且
低功耗。芯片内部
RAM
和
ROM
可根据PMST寄存
器中的
OVLY和DROM位灵活设置。这些都有利于
模拟音频
信号输入
低通
滤波器
低通
滤波器
TMS
320VC
5410
程序存储区
片外
RAM
A/D
转换器
波形输入
缓冲区
RAM
D/A
转换器
波形输出
缓冲区
RAM
模拟音频
信号输出
Figure 1. Diagram of the system overall scheme
图
1.
系统总体方案框图
基于
TMS320VC5410
的声信号采集与实时回放系统
Open Access
68
算法的优化。
C5410采用3.3 V和2.5 V电源供电,其
中
I/O
采用3.3 V电源供电,芯片的核采用2.5 V电源
供电
[2]
。
4.2. AD/DA
转换器
AD/DA
转换器采用TI公司生产TLC320AD50C
(
以下简称AD50)
,AD50是的一个16位、音频范围(采
样频率为
2 K~22.05 KHZ)、内含抗混叠滤波器和重构
滤波器的模拟接口芯片,它使用过采样
(over sampling)
的
∑-Δ
技术提供从数字至模拟
(D/A)
和模拟至数字
(A/D)
的高分辨率低速信号转换。在DAC之前有一个
插值滤波器
(interpolation filter),以保证输出信号平滑
和
ADC之后有一个抽取滤波器(decimation filter),以
提高输入信号的信噪比。
∑-Δ结构在低系统速度和低
价格下产生高分辨率的模数和数模转换。该器件的选
项和电路结构可通过串行接口进行编程。其选项包
括:复位、掉电、通信协议、串行时钟率、信号采样
率、增益控制及测试方式等。
AD50片内还包括一个
定时器
(
调整采样率和帧同步延时)和控制器(调整编
程放大增益,锁相环
PLL,主从模式)。AD50有28
脚的塑料
SOP
封装(带DW后缀)和48脚的塑料扁平
封装
(
带
PT
后缀
)
,体积较小,适应于便携设备。AD50
的工作温度范围是
0℃
~70℃,单一
5V电源供电或
5 V
和
3.3 V联合供电,工作时的最大功耗为120 mW[2]。
5.
系统的软件设计
软件部分主要包括
DSP
编程和PC编程。DSP编
程的主要任务是初始化芯片和完成音频的处理算法。
PC
编程重点则是管理
DSP操作和应用层软件编写。
PC
的编程包括
DSP接口部分和应用层编程部分。在
PC
程序的开始,与
DSP接口部分的程序先调用初始
化函数,将
DSP
程序下载到DSP(初始化程序在
DSP
中载入一个很小的自举程序,然后通过自举程序一段
一段地把全部程序载入
DSP)中。初始化完成后,与
DSP
接口部分程序再按自定义的“通信协议”在指定
位置读出
DSP
处理结果帧或DSP的请求帧,并将它
交给上一层
(应用程序
)
处理。应用程序亦通过与DSP
接口部分程序向
DSP
发出各种命令。
5.1.
主程序流程
本系统运用’
C5410
中DMA
控制器的ABU(自
动缓冲单元
)的特点,采用缓冲区半满和全满的方式产
生中断,将
DSP
去噪程序部分作为中断服务程序。主
程序首先初始化’
C5410
的
CPU
,对TLC320AD50
进行初始化,然后再初始化’
C5410
的McBSPs及
DMA
控制器。主程序中不断查询IFR,等待接收中断
发生。当串口的缓冲区半满或全满时,产生中断,开
始执行中断服务程序。直接或再经
DSP处理结束后,
将语音送到发送缓冲区,经
TLC320AD50
的
D/A口
还原出声。本文所设计的程序要完成的功能是通过麦
克风接口进行语音信号的采集并实时地通过扬声器
接口回放出来。主程序流程图如图
2所示。
5.2.
程序设计
从上面的程序流程中,我们可以看到,要完成预
定的功能,首先要初始化
DSP
的串行口和AIC,然 后
的工作就是开辟缓存区以便将输入的数据存储起来
N
DSP
处理
缓冲区半满
或全满
初始化
TLC320AD50
初始化’
C5410
串口及DAM控制器
读、写串口缓冲区
开始
初始化’
C5410
CPU
Y
Figure 2. The flow chart of main program
图
2.
主程序流程图
基于
TMS320VC5410
的声信号采集与实时回放系统
Open Access
69
等待进一步处理如滤波、
DA转换等。限于篇幅,下
面只列出了本文要实现音频回放功能的几个关键程
序段
[8]
:
TMS320VC5410
初始化:
…
LD #00H
,DP;
将立即数加载到
DP
中
STM #K_SP
,SP;将K_SP的值写入SP中,一下
类同
STM #K_ST0
,
ST0;DP=0,ARP=0
STM #K_ST1
,ST1;INTM=1,SXM=0,CMPT=0,
XF=0
RSBX XF;
置
XF=0
STM #K_PMST
,
PMST;IPTR=02,MP/MC=1,
OVLY=1
,
AV I S = 0,
; drom=1
,clkoff=1,
STM #K_SWWSR
,
SWWSR;I/O is ONE cycle
wait
STM #K_SWCR
,SWCR
STM #K_BSCR
,BSCR
STM #SPCR12
,SPSA2;POINT TO SPCR12
STM #0000H
,
SPSD2;
配置
SPCR1为0000H
STM #SPCR22
,
SPSA2 ;指向SPCR22
STM #0000H
,
SPSD2 ;
配置
SPCR2为0000H
STM #PCR2
,
SPSA2;
指向
PCR2
STM #3F6FH
,
SPS D2;0011111101101111b,设 置
BDX2=1
ST #0FFF7H
,PORT2_BUF
PORTW PORT2_BUF
,0002 H;将PORT2_BUF内
数写入
0002H地址
STM#0b
,
CLKMD
T_STATU0X: ;
该模块检查
CLKMD是否清零
LDM CLKMD
,
A;将CLKMD
加载到累加器
A
AND #01b
,
A
BC T_STATU0X
,
ANEQ;累加器A!=0,则跳到
T_STATU0X
STM #0b
,
CLKMD
…
TLC320AD50C
初始化:
…
STM # K_IMR
,IMR; ENABLE INT1 AND
BRINT0
STM #8000H
,
AR5
STM #8000H
,
AR6
STM #RBLENG
,
BK
ST #00FFH
,TEMP; EMPTY STATUS设置TEMP
ST #0FFF7H
,PORT2_BUF
ST #00FFH
,
INT1FLAG;HAVE INTERRUPT
ORM #EPTLED
,
PORT2_BUF;两者相或存到
PORT2_BUF
PORTW PORT2_BUF
,0002H; DISPLAY EMPTY
STATUS
RSBXINTM;
中断
STM #K_CLKMD
,CLKMD;设置时钟为100Mhz
WAIT#1000H
…
6.
实验结果分析
分别采用本文设计的系统和性能较好的声卡采
集一个实时的语音信号
(
采样频率设为22.05 KHZ),
语音为“北京”,并保存为
WAV
格式,然后用MATLAB
对采集的语音信号作时域和频谱分析,仿真效果如图
3
和图4
所示。其中图3
分别为利用本文设计的系统
Figure 3. Acquisition re s u l ts with the system
图
3.
本文设计的系统采集结果
基于
TMS320VC5410
的声信号采集与实时回放系统
Open Access
70
Figure 4. Acquisition resul t s with PC and soun d c a r d
图
4.用
PC
和声卡采集的结果
采集的信号的时、频域图,图
4为用PC的声卡采集
的信号的时域、频域图。
7.
结束语
本文以
TMS320VC5410
与
TLC320AD50C设计
的音频信号采集处理系统,使数据采集与信号处理同
时进行,实验表明,本系统实现了对语音信号进行无
失真采样,可以有效地用于实现音频信号的实时采集
处理,完全能满足后续语音信号处理的要求。
参考文献
(References)
[1]
周红鸥
(2011)基于DSP的音频信号采集处理系统设计.
西
南民族大学学报
(
自然科学版
),
5, 100-103.
[2]
戴明桢
,周建江(2001) TMS320C54X DSP结构、原理及应用.
北京航空航天大学出版社
,北京
.
[3]
刘勇,祝忠明,罗文渊等
(2009)基于DSP5410与TLC320AD50C
的实时音频信号处理研究
.
电子技术应用
,
5, 75-77.
[4]
肖启洋
,方元(2012)一种基于DSP的音频采集与回放系统.
计算机与现代化
,
6, 147-151.
[5]
王剑飞
,程耀瑜(2013)基于DSP的多路音频信号采集与处
理设计
.
光电技术应用
,
4, 72-75.
[6]
张雄伟,陈亮等(2003)现代语音处理技术及应用.机械工业出
版社
,
北京
.
[7]
陈明义,夏月(2002)基于DSP的语音通信系统的设计.
湖南
大学学报
(
自然科学版
),
4, 63-66.
[8]
刘益成(2002) TMS320C54X DSP应用程序设计与开发.北京
航空航天大学出版社
,北京
.
|