- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业实习实验报告
课题名称:基于DSP的语音录制和回放系统设计及实现
班级:电信084
姓名:刘晓敏
学号:0810930421
指导老师:刘丽杰
基于DSP的语音录制和回放系统设计及实现
一系统简介:
本系统是在TMS320VC5402 DSP开放平台下,利用CCS软件,用C语言和DSP汇编语言及两者的混合编程,实现对语音信号的录制和回放功能。其中语音编解码芯片采用TLC320AD50,实现对对语音信号的编解码,AD50和TMS320VC5402之间通过多通道缓冲串口McBSP进行通信。
二 基本理论知识概述:1、TMS320VC5402芯片简介:
TMS320VC54x芯片是一种特殊结构的微处理器,为了快速的实现数字信号处理,采用了流水线指令执行结构和相应的并行处理结构,可在一个周期类对数据进行高速的算术运算和逻辑运算。其适应于远程通道等实时嵌入式通信的需要,现在已经广泛应用于无线电通信系统中。其主要有点如下:
围绕一组程序总线、3组数据总线和4组地址总线而建立的改进哈佛结构,提高率系统的多功能性和操作灵活性。
具有高速并行和专用硬件逻辑的CPU设计,提高了芯片的新能。
具有完善的寻址方式和高度专业化指令系统,更适合与快速算法的实现和高级汇编语言程序设计的优化。
模块化结构设计,使派生器件得到快速的发展。
采用先进的IC自造工艺,降低了芯片的功耗,提高了芯片的新能。
采用先进的静态设计技术,进一步降低了功耗,使芯片具有更强的应用能力。
TMS320VC54x系列DSP芯片种类很多,但基本结构相同,主要由CPU,内部总控制器、特殊功能寄存器、数据存储器RAM、程序存储器ROM、I\O接口扩展功能、串行口、主机通信接口HPI、定时器、中断系统等十个部分组成。
2 、TLC320AD50芯片简介:
TLC320AD50芯片采用sigma-delta技术高精度低速信号变换,有两个串行同步变换通道、数模转换前的差补滤波器和模数转换后的滤波器。其它部分提供片上时序和控制功能。Sigma-delta结构可以实现高精度低速的数\模转换。芯片的各种应用软件配置可以串口编程来实现。主要包括:复位、节电模式、通信协议、串行时钟速率、信号采样速率、增益控制和测试模式。最大采样速率22.05kb/s,采样精度16bit。
3、McBSP多通道缓冲串行口:
C54x提供高速、双向、多通道缓冲串口McBSP.它可以与其它器件、编程器或其它串口通信。C54x芯片中只有三款与McBSP串口功能,分别是C5402有2个、C5410有3个,C5420有6个。
McBSP特点:
·全双共通信。
·双缓冲的发送和三缓冲接收数据存储器,允许连续的数据流。
·独立的接收、发送帧和时钟信号。
·可以直接与工业标准的编码器、模拟界面芯片(AICs)其他串行A\D、D\A器件连接并通信。
·具有外部移植时钟发生器及内部频率可编程移位时钟。
·利用A律u律压缩扩展通信。
·帧同步和时钟信号的极性可编程。
·可编程内部时钟和帧发生器。
McBSP结构:
三 硬件结构:
·该处理系统又语音输入模块、TLC320AD50模块、输入功率模块组成。语音输入模块采用偏置和差动放大技术,并经过滤波和处理后讲输入到语音编解码芯片TLC320AD50,前端输入的电压范围为-2.5V--+2.5V。经过变化后输入到AD50芯片的差动信号范围为0—5V. TLC320AD50作为主方式,通过DSP的McBSP0口进行通信。音频信号通过数模转换后输出,由于AD50输出差动信号因此首先经过运放差动放大,可以推动功率为0.4W的板载扬声器,也可以接耳机输出。
·结构框图:
四 软件结构:
(1)write程序把AD50的采用结果存放在flash中,flash映射到0x4000~0xfff数据空间。利用flash掉电数据不丢失属性,把采样的语音信号保存下来,经read程序回放。
(2)程序框图:
录制write:
回放 Read:
部分程序代码:
extern void InitC5402(void);
void main(void)
{
InitC5402();
OpenMcBSP();
Eflash();
while (1)
{
WRAD50();
}
}
五 结论:
通过本次毕业实习、我对以前所学的有关DSP基础知识有了更深一步的理解,同时也学会在真正做一个项目或者课题开放过程中查阅资料的重要性,因为很多东西真正是在你查阅资料的过程中才能学会掌握的。我也相信,本次毕业实习也将会对我以后从事本专业相关工作打下坚实的基础。
音
频
输
出
功
率
放
大
AD50
前
端
处
理
音
频
输
入
McBSP0
DSP
开始
CPU初始化
McBSP0寄存器初始化
摖出flas
文档评论(0)