基于DSP的音频信号发生器的设计及实现毕业论文免费范文精选.docx
《基于DSP的音频信号发生器的设计及实现毕业论文免费范文精选.docx》由会员分享,可在线阅读,更多相关《基于DSP的音频信号发生器的设计及实现毕业论文免费范文精选.docx(16页珍藏版)》请在冰点文库上搜索。
![基于DSP的音频信号发生器的设计及实现毕业论文免费范文精选.docx](https://file1.bingdoc.com/fileroot1/2023-6/12/2fc7cedc-1fca-4637-b828-a5a0b22d5d01/2fc7cedc-1fca-4637-b828-a5a0b22d5d011.gif)
基于DSP的音频信号发生器的设计及实现毕业论文免费范文精选
目录
前言.................................................1
第1章系统描述........................................2
1.1系统方案选择...................................3
1.2本系统的方案...................................3
1.2.1方案系统框图...............................3
1.2.2DSK5402开发板硬件结构.....................4
1.2.3DSK5402系统概述...........................6
第2章音频信号发生器的硬件描述........................7
2.1DSP芯片........................................7
2.1.1DSP芯片特点...............................7
2.1.2C54x的引脚功能............................8
2.2串行口MCBSP...................................11
2.3主机接口......................................12
第3章音频信号发生器的外设...........................15
3.189C51芯片的描述...............................15
3.1.189C51的主要性能高如下....................15
3.1.289C51的引脚及说明........................16
3.2串口描述......................................18
3.2.1RS232接口电路............................18
3.2.2RS232通信原理............................20
3.3声卡..........................................20
第4章音频信号发生器设计的算法.......................23
4.1DDS算法简介...................................23
4.2步长计算查表..................................24
4.3DDS的特点.....................................24
第5章系统软件设计...................................26
5.1DSP程序设计...................................26I
本课题介绍了基于DSP芯片TMS320C5402实现正弦信号发生器的设计原理和实现方法。
使用TMS320C5402作为数据处理器,AT89C51作为控制器引导并控制DSP芯片。
采用直接数字合成(DDS)技术,在DSP上建立一个信号发生器,可产生指定频率(音频范围)的正弦波、方波等信号。
该信号发生器所产生的正弦波波形清晰、稳定性好,调频、调幅功能均由软件实现。
本设计主要实现正弦音频信号发生器,该系统由DDS模块、单片机控制模块、语音提示、输出运算放大模块、D/A转换模块、幅度控制模块组成。
这里介绍一种采用DSP实现的正弦信号发生器,其调幅、调频功能均由软件实现,而且有较好的可扩展性、稳定性,与计算机接口方便。
关键词:
音频信号发生器,正弦波,DSP,DDS
II
STC89C51asacontrollertoguideandcontroltheDSPchip.useTMS320C5402asadataprocessor,STC89C51asacontrollertoguideandcontroltheDSPchip.Synthesisofdirectsequence(DDS)technology,DSP,asignalgenerator,cangeneratethespecifiedfrequency(audiorange)ofthesinewave,squarewavesignal.Synthesisofdirectsequence(DDS)technology,DSP,asignalgenerator,cangeneratethespecifiedfrequency(audiorange)ofthesinewave,squarewavesignal.Thedesignofthemainsinewaveaudiosignalgenerator,thesystembytheDDSmodule,microprocessorcontrolmodule,voiceprompt,theoutputoperationalamplifiermodule,D/Aconvertermodule,ratecontrolmodule.High-speeddirect-sequencesynthesis(DDS)technique,D/Aandother
technology,cangenerateanyfrequencysinusoidalsignalandavarietyofanalogIII
anddigitalmodulationsignal.Widefrequencyrangeofthesystem,stepsmall,magnitudeandfrequencywithhighaccuracy.
KEYWORDS:
Signalgenerator,Sinetonictrainsignal,DSP,DDS
IV
前言
随着21世纪的到来,人类跨入了信息网络时代。
从计算机到移动电话,从家用娱乐使用的VCD,HDTV、多媒体电脑到军用雷达、医用CT仪器等设备,无不由各种各样的电子系统组成。
在这些电子系统中,数字化技术的应用比比皆是。
虽然不能说这个世界已经是一个数字化的世界,因为这个世界本身主要还是由模拟的信息组成的,但毫无疑问,数字信号处理(DigitalSignalProcessing,DSP)技术的飞速发展极大地提高了人们对模拟世界的把握能力。
可以毫不夸张地说,数字信号处理技术是这个时代核心的技术之一。
信号与信号处理是信息科学中近十几年来发展最为迅速的学科之一。
信号是信息的载体,所谓信息是指人类对外界事物的感知,而信号处理是指将信号从一种形式变成另一种形式,比如将信号从时域转换到频域,从模拟信号转化为数字信号等。
目前,单片机系统以价格低廉、开发环境完备、开发工具齐全、应用资料众多、功能强大且程序易于移植等优点而得到广泛应用。
同时,随着信息化进程、计算机科学与技术以及信号处理理论与方法的迅速发展,需要的数据量越来越大,对数据存储也提出了更高要求。
课题以易于集成、功耗低、体积小、重量轻、可靠性高,且易于程控,使用相当灵活为基本指导思想。
用DSP实现的正弦信号发生器,其调幅、调频功能均由软件实现,而且有较好的可扩展性、稳定性,与计算机接口方便。
硬件设计这是一个以TMS320C5402为核心DSP系统,发生波形时,DSP通过接口电路实现对波形参数的控制,产生高精度的正弦波,经模数转换后输出。
DSP芯片采用的是TI公司性价比良好的TSM320C5402。
它采用修正的增强型哈佛结构,程序和数据分开存放,内部具有8组高度并行总线,一组程序总线、3组数据总线和4组地址总线,从而保证完成并行指令操作。
IEEE1149.1标准扫描逻辑电路与能访问片内所有资源的内部扫描电路相连,因而C5402芯片能用其与专用仿真引脚来完成在线仿真。
D/A由于信号发生器的精度要求高,数模转换部分采用了AD767。
它是12位的并行数字接口芯片。
该芯片在单片内包括了输入锁存和高稳定的电压参考源。
用DSP设计的正弦信号发生器电路简单,调节方便,误差在万分之一以内,产生的波形失真度较小,而且还有进一步拓展功能,如产生三角波信号、方波信号、直流信号、调制1
信号等,从而使其能应用到更加广泛的领域中。
采用直接数字合成(DDS)技术,在DSP上建立一个信号发生器,可产生指定频率的正弦波、方波等信号。
DDS具有低成本、低功耗、高分辨率和快速转换时间等优点,一块DDS芯片中主要包括频率控制寄存器、高速相位累加器和正弦计算器三个部分。
频率控制寄存器可以串行或并行的方式装载并寄存用户输入的频率控制码;而相位累加器根据频率控制码在每个时钟周期内进行相位累加,得到一个相位值;正弦计算器则对该相位值计算数字化正弦波幅度。
DDS芯片输出的一般是数字化的正弦波,因此还需经过高速D/A转换器和低通滤波器才能得到一个可用的模拟频率信号。
通过本设计旨在掌握DSP芯片的结构、引脚定义,熟悉CCS5000开发环境;掌握DDS信号发生原理;掌握定点运算等特殊处理方法;学会编写串口控制程序。
第1章系统描述
2
1.1系统方案选择
信号发生器是产生各种电信号的设备,输出的信号应满足一定的技术要求,信号的输出频率号输出电平应在较宽的范围可调并准确定标。
由于信号发生器的普遍性和广泛性,因此它的种类繁多。
但一般应具备稳定性与准确度高,频率连续可调的特点【1】。
总体设计方案:
方案一:
使用传统的模拟电路做正弦波信号发生器,根LC震荡电路过分立元件进行设计,该方案的电路简单,所用的电路元件较少,但分辨率低,难以控制,在频率较高时难以调整,而且分立元件的噪声和分布电容问题不容易解决。
考虑在短时间内做出来的困难较大,所以不采用本方案。
方案二:
使用FPGA构造DDS。
本方案采用可编程逻辑器件以其速度高、规模大、可编程,以及有强大EDA软件支持等特性,十分适合实现DDS技术。
但是编程工作量大,由于这次设计准备的CPLD门数不够可能得不到较高质量的信号。
并且外围器件较多,容易出错。
方案三:
采用DSP芯片TMS320C5402实现正弦信号发生器的设计原理和实现方法。
该信号发生器所产生的正弦波波形清晰、稳定性好,调频、调幅功能均由软件实现【12】。
本设计主要实现正弦音频信号发生器,该系统由DDS模块、单片机控制模块、语音提示、输出运算放大模块、D/A转换模块、幅度控制模块组成。
这里介绍一种采用DSP实现的正弦信号发生器,其调幅、调频功能均由软件实现,而且有较好的可扩展性、稳定性,与计算机接口方便。
我们采用了这个方案。
1.2本系统的方案
1.2.1方案系统框图
方案系统框图如图1-1所示:
3
图1-1系统框图
各模块说明:
(1)PC为电脑,是人机交互的载体。
(2)RS232通用串口,可以与PC机、DSP,以及其它串行接口设备进行连接传送数据。
(3)单片机AT89C51单元:
系统的主控制器,控制其它模块协调。
(4)DSP要处理来自RS232和发向AIC23发送的数据,从而达到采集信息和传送声音信号的目的。
(5)AIC23B是高性能立体声音频Codec芯片,内置耳机输出放大器,内部高度集成模数转换(ADCs)和数模转换(ADCs)部件,支持单通道MIC和双通道LINEIN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。
用于语音处理,系统构成简单、功能强大。
1.2.2DSK5402开发板硬件结构
开发板硬件结构图如图1-2所示:
4
图1-2开发板硬件结构
开发板的硬件结构本次只用到串口、声卡、51单片机、DSP芯片、扬声器。
接口也在用到串口、耳机插孔。
开发板的特点:
(1)采用16位定点DSP
TMS320VC5402(100M),方便个人数字助理、语音处理(例如VoIP)、静态图象(例如指纹识别)、网络安全、DSP语音处理教学、TMS320C5000开发原型等。
(2)片上存储器
DARAM:
16K16位ROM:
4K16位
(3)片上外设
MCBPS同步串口2通道
(4)外扩SRAM,基本配置64K16位。
(5)外扩以太网10M接口,兼容NE2000。
(6)外扩微动按键。
5
(7)外扩1路RS232接口。
(8)提供上电复位、手动复位,系统可靠,稳定。
(9)标准的JTAG接口,方便调试。
1.2.3DSK5402系统概述
DSK5402系统主要分为两部分,分别为DSK5402的硬件系统和相应的测试软件。
在DSK5402的系统中主要集成了DSP、SRAM、UART、以太网、按键等,这样能够使其应用个人数字助理、语音处理(例如VOIP)、静态图象(例如指纹识别)、网络安全、DSP语音处理教学、TMS320C5000开发原型等领域。
相应的测试软件包括以下几部分:
DSP对片外SRAM操作示例,DSP对片内外设定时器0操作示例,DSP对片内外设MCBSP的操作示例,外部中断扩展示例,LED灯闪示例,TCP/IP协议栈示例。
主要技术指标:
主处理器:
TMS320VC5402,主频100M
DRAM片内:
16K16位,0等待
片外:
64K16位,15ns
ROM片内:
BOOTROM,4K16位
以太网:
1通道,兼容NE2000,最高传输速率10M
扩展McBSP:
接口电平3.3V,工作温度0--70℃
6
第2章音频信号发生器的硬件描述
2.1DSP芯片
在本次设计中主要用的硬件设备是DSP芯片。
DSP芯片普遍采用数据总线与程序总线分离的哈佛结构或改进的哈佛结构,比传统处理器的冯诺伊曼结构有更好的指令执行速度【8】。
许多DSP芯片内部都采用多总线结构,这样保证在一个机器周期内可以多次访问程序空间和数据空间。
另外它还使用流水线技术,这样可以实现多指令的并行执行。
2.1.1DSP芯片特点
TMS320VC5402是TI公司的54X系列定点DSP,具有低功耗、高性能的特点。
CPU增强的多总线结构,三条独立的16bit数据存储器总线和一条程序存储器总线;40bit运算逻辑单元(ALU),包括一个40bit的桶形移位器和两个独立的40bit累加器,17bit17bit并行乘法器;连接一个40bit的专用加法器,可用来进行非流水单周期乘/加(MAC)运算;比较、选择和存储单元(CSSU)用于Viterbi运算器的加/比较选择;指数编码器在一个周期里计算一个40bit累加器的指数值;两个地址发生器中有八个辅助寄存器和两个辅助寄存器运算单元(ARAUs);数据总线具有总线保持特性【7】。
存储器:
扩展地址模式可最大寻址到1M16bit外部程序空间,4K16bit片上ROM,16K16bit双访问片上RAM。
指令集:
支持单指令循环和块循环,存储块移动指令提供了高效的程序和数据存储器管理,支持32bit长字操作数指令,支持两个或三个操作数读指令,支持并行存储和并行加载的算术指令、条件存储指令和中断快速返回,支持定点DSPC语言编译器。
片上硬件资源:
软件可编程等待状态发生器和可编程存储单元转换,连接内部振荡器或外部时钟源的锁相环(PLL)时钟发生器,两个多通道缓冲串口(McBSPs),增强型8bit并行主机接口(HPI8),两个16bit定时器,6通道直
7
接存储器访问(DMA)控制器。
电源:
低功耗,工作电源有3.3V和1.8V(内核),用节电模式的IDLE1、IDLE2及IDLE3指令做功率控制,可禁止CLKOUT信号。
速度:
在3.3V供电(1.8V核心电压)下单周期定点指令的执行周期为10ns(100MIPS)。
仿真:
符合IEEE1149.1边界扫描逻辑标准的片内扫描仿真逻辑接口。
2.1.2C54x的引脚功能
介绍C54x的硬件结构,熟悉并掌握所用器件的硬件结构及特性是应用设计的基础。
要掌握C54x需要了解它的引脚功能,根据芯片型号和封装不同,其引脚个数有所不同。
本书以TMS320VC5402-PGE为例介绍主要引脚的名称和功能。
如图2-1,其封装为TQPF,共有144个引脚。
8
图2—1C5402引脚图
1.电源引脚:
电源电压分为两种,提供CPU核使用的核电压CVDD、提供片上外设使用的I/O电压DVDD。
CVDD(16、68、91、125、142脚),电压为+1.8V。
DVDD(4、33、56、?
5、112、130脚),电压为+3.3V。
Vss(3、14、34、40、50、57、70、76、93、106、111、128脚),接地。
2.时钟引脚:
时钟发生器由内部振荡器和锁相环PLL电路构成,可以有两种方式提供参考时钟输入。
Xl(96脚):
接外部晶体振荡器的一个引脚接地或悬空。
X2/CLKIN(97脚):
接外部晶体振荡器的另一个引脚。
PLL有两种时钟频率配置方法,硬件配置由下述三个时钟模式引脚决定:
CLKMDl(77脚),CLKMD2(78脚),CLKMD3(79脚)。
3.控制引脚:
提供控制信号,有些引脚是功能复用引脚。
RS(98脚):
振荡器工作正常的情况下,复位时此引脚至少保持2个CLKOUT周期的低电平,才能保证器件可靠复位。
MSTRB(24脚):
外部数据存储器选通信号。
PS(20脚):
外部程序存储器片选信号。
DS(21脚):
外部数据存储器片选信号。
IS(22脚):
I/O设备选择信号。
PS(20脚):
外部程序存储器片选信号。
DS(21脚):
外部数据存储器片选信号。
IS(22脚):
I/O设备选择信号。
IOSTRB(25脚):
I/O设备选通信号。
R/W(23脚):
读/写信号。
HOLD(30脚):
请求控制存储器接口信号。
HOLDA(23脚):
响应控制存储器请求信号。
MSC(26脚):
微状态完成信号。
lAQ(29脚):
中断请求信号。
IACK(61脚):
中断响应信号。
9
MP/MC(32脚):
DSP工作方式选择信号。
READY(19脚):
数据准备好信号。
4.地址引脚:
20个地址引脚可寻址1M字的外部程序空间、64K字外部数据空间、64K字的片外I/O空间。
这20个引脚是:
A0~A19,具体引脚号见图2-1。
5.数据引脚:
16个数据引脚可并行传输16位数据。
这16个引脚是:
DO~D15,具体引脚号见图2-1。
6.外部中断引脚:
一个不可屏蔽中断,4个可屏蔽中断。
NMI(63脚):
不可屏蔽中断。
INT0(64脚)、INT1(65脚)、INT2(66脚)、INT3(67脚):
可屏蔽外部中断。
7.通讯端口引脚:
包括两个串口、一个并口、两个通用I/O引脚。
8.带缓冲区同步串行接口
BFSR0(43脚)/BFSRl(44脚):
串口0/1的同步接收信号。
BDR0(45脚)/BDRl(47脚):
串口0/1的串行数据接收输入。
BCLKX0(41脚)/BCLKXl(42脚):
串口0/1的同步时钟信号。
BFSX0(53脚)/BFSXl(54脚):
串口0/1的同步发射信号。
BDX0(59脚)/BDXl(60脚):
串口0/1的串行数据发射输出,不发送信号时为高阻。
9.主机通信并行接口HPI,用于DSP与PC或其他主CPU间的通信,通过设置,这个口的8个数据引脚可以用作通用8位并行I/O.
HCS(17脚):
片选信号。
作为HPI的使能输入端,每次寻址期间必须为地电平。
HAS(13脚):
地址选通信号。
如果主机的地址和数据总线复用,则此引脚连接到主机的地址锁存端,它的下降沿锁存字节识别和主机控制信号,若主机地址与数据线分开,则此引脚高电平。
HBIL(31脚):
字节识别信号。
判断主机送来的是第一还是第二个字节。
HCNTL0(39脚)、HCNTL1(46脚):
主机控制信号。
主机通过这两个引脚信号的不同组合选择通讯控制内容。
HDSl(121脚)、HDS2(129脚):
数据选通信号,由主机控制HPI数据传
10
输。
HINT/TOUTl(51脚):
HPI向主机申请中断信号。
HRDY(55脚):
HPI已将数据准备完毕信号。
HR/W(18脚):
主机向HPI读写信号。
高电平主机读HPI,低电平主机写HPI。
10.通用I/O端口引脚:
2个软件可编程控制的通用I/O引脚。
XF(27脚):
外部标志输出端口主要用于程序向外设传输标志信息。
编程时,根据程序的要求通过此引脚的置位
(1)或清零(o),可以控制外设的工作。
BIO(31脚):
分支转移控制输入端口,主要用于监控外围设备的运行状态。
实时控制系统中,当编写循环时间要求苛刻的程序时,不允许中断干涉,此时,可以通过查询此引脚的方式控制程序的流向,以避免中断引起的失控现象。
2.2串行口MCBSP
DSP芯片在系统设计中作为数据处理器。
TM320C5402有144个引脚,主要由中央处理器、内部总线控制、特殊功能寄存器、数据存储器RAM、程序存储器OM、I/O功能扩展接口、串行口、主机通信接口HPI、定时器、中断系统等部分组成。
它有两个串行口,在本设计中我们只用其中一个,我们用并行带缓冲器多通道同步串行口MCBSP0作为从声卡到DSP芯片的数据传输通道。
MCBSP0包括串口0/1的数据接收时钟BCLKR0、串口数据接收BDR0、串口数据接收同步信号BFSR0、串口发数时钟BCLKX0、串口发数端BDX0、串口发数同步信号BFSX0。
利用缓冲区的目的是进行音效的实时处理。
系统中各模块是同时进行处理的,一部分信号正在ADC中进行转换,而另一部分信号则在DSP处理器中同时进行算法处理,即整个系统是以流水线的方式进行工作。
VC5402的MCBSP是一种同步串行接口,支持多种通信方式和SPI协议,该
11
串口可以根据设计者的不同需求进行配置,使用非常灵活。
它的主要特点如下:
全双工的串行通信;连续的发送和接收数据流功能;具有外部时钟输入或内部可编程时钟两种时钟控制方式;可独立编程的发送和接收帧同步;多通道数据传输(最多可达128个通道);可选的数据宽度:
8、12、16、20、24或32位;用于数据压缩的μ律和A律压缩扩展