DSP录音机设计课程设计

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1设计原理及内容 (1)

1.1语音编码原理 (1)

1.2设计内容 (1)

1.2.1 基本部分 (1)

1.2.2 扩展部分 (1)

2设计资源介绍 (2)

2.1多通道缓冲串行口MCBSP...................................................... .2

2.1.1 工作原理 (2)

2.1.2 相关头文件 (2)

2.2 TLC320AD50 CODEC编码译码器 (2)

2.3 存储器 (3)

2.4压扩硬件 (4)

2.5 麦克风和耳机接口 (5)

3 设计思想 (5)

3.1实验方案 (5)

4 .程序设计 (6)

4.1 程序流程图 (6)

4.2各个分块程序设计 (7)

5.程序清单 (9)

6 操作步骤和结果 (19)

7 参考文献 (20)

1.设计原理与实验内容

1.1语音编码原理:

(1)概念:语音编码一般分为两类:一类是波形编码,一类是被称为“声码器技术”的编码。PCM编码即脉冲编码调制。波形编码的最简单形式就是脉冲编码调制(Pulse code modulation),这种方式将语音变换成与其幅度成正比的二进制序列,而二进制数值往往采用脉冲表示,并用脉冲对采样幅度进行编码,所以叫做脉冲编码调制。脉冲编码调制没有考虑语音的性质,所以信号没有得到压缩。

(2)量化:脉冲编码调制用同等的量化级数进行量化,即采用均匀量化,而均匀量化是基本的量化方式。但是均匀量化有缺点,在信号动态范围较大而方差较国际上有两种非均匀量化的方法:A律和μ律,μ律是最常用的一种。在美国,7位μ律是长途电话质量的标准。而我国采用的是A律压缩,而且有标准的(3)DPCM&ADPCM:

降低传输比特率的方法之一是减少编码的信息量,这要消除语音信号中的冗余度。相邻的语音样本之间存在明显的相关性,因此对相邻样本间的差信号进行编码,便可使信息量得到压缩。因为差分信号比原语音信号的动态范围和平均能量都小。这种编码叫Differential PCM,简称DPCM,即差分脉冲编码调制。

1.2 设计内容:

1.2.1基本部分:

(1)使用DSP实现语音压缩和解压缩的基本算法,算法类型自定,例如可以采用G.711、G.729等语音压缩算法。

(2)采用A/D转换器从MIC输入口实时采集语音信号,进行压缩后存储到DSP的片内和片外RAM 存储器中,存储时间不小于10秒。

(3)存储器存满之后,使用DSP进行实时解压缩,并从SPEAKER输出口进行回放输出。(4)使用指示灯对语音存储和回放过程进行指示。

1.2.2发挥部分:

使用多种算法进行语音的压缩、存储和解压缩,比较它们之间的优缺点。

2. 设计资源介绍

2.1多通道缓冲串行口MCBSP

2.1.1工作原理

C5402 具有2 个高速的全双工同步串行口,可用来与系统中的其它C54x 器

件、编码解码器、串行A/D、D/A 转换器以及其它的串行器件直接接口。这两个串行口均为多通道缓冲串行口McBSP(Multi-channel Buffered Serial Port)。它支持全双工通信,双缓冲数据寄存器,允许连续的数据流,可以与工业标准的编/解码器、AICs 接口。支持多种方式的传输接口,如T1/E1 帧协议、MVIP 帧方式、H.100 帧方式、SCSA 帧方式、IIS 兼容设备等。可与多达128 个通道进行收发。支持传输的数据字长可以是8bit、12bit、16bit、20bit、24bit 或32bit。内置μ-律和A-律压扩硬件。其硬件结构图如左图1所示。

MCBSP接口提供了以下7个引脚信号用于与其他设

备的通讯:

DR:串行数据接收引脚,输入

DX:串行数据发送引脚,输出

CLKX:发送时钟,输入或输出,可编程

CLKR:接收时钟,输入或输出,可编程图1

FSX:发送帧同步信号,输入或输出,可编程

FSR:接收帧同步信号,输入或输出,可编程

CLKS:外部时钟,输入

2.1.2 相关头文件

在CCS 集成开发环境中,与MCBSP相关的头文件有:regs54xx.h、mcbsp54.h。在这两个头文件中,定义了MCBSP串口的寄存器资源以及使用方法。在reg54xx.h 头文件中,定义了MCBSP 中寄存器的地址和基本访问方式,以及寄存器的各个比特域和访问方法。在mcbsp54.h 头文件中,定义了与MCBSP 相关的宏函数(MACRO FUNCTIONS)和函数。Regs54xx.h、mcbsp54.h 这两个头文件是C 语言下对MCBSP 编程的基础,我们不仅可以用在5402 DSK 板的编程上,而且可以用在其它的C54X 的DSP 硬件编程上。

2.2 TLC320AD50 CODEC 编码译码器

AD50是一款SIGMA-DELTA型单片音频接口芯片。它内部集成了16位的D/A和A/D 转换器,采样速率最高可达22.05kb/s,其采样速率可通过DSP编程来设置。在DAC之前有一个插值滤波器以保证输出信号平滑和ADC之后有一个抽取滤波器以提高输入信号的信噪比。

(1)内部结构及工作原理

AD50内部有7个数据和控制寄存器,用于编程控制它们的工作状态。

寄存器0:空操作寄存器。

寄存器1:软件复位 ,软件掉电,选择16位或15位工作方式,硬件或软件二次通信请求方式的选择。

寄存器2:使能ALTDATA输入端 ,为ADC选择16/15位方式。

寄存器3:选择FS与FSD之间延迟SCLK的个数,告诉主机有几个从机被联上。

寄存器4:为输入和输出放大器选择放大器增益,选择N来设置采样频率,fs=MCLK/(128*N)或MCLK/(512*N),在MCLK输入端使能外部时钟输入并旁通内部的PLL 。

寄存器5,6:保留

(2)与AD50有关的相关头文件

在CCS 集成开发环境中,与tlc320ad50 CODEC 编译码器相关的头文件是codec.h。它位于C:\ti\c5400\dsk5402\include 目录下。在这个头文件中,定义了与ad50 CODEC 相关的枚举变量和库函数。除了可以调用codec.h 中提供的库函数之外,我们还可以利用这些枚举变量重新编写自己的codec 函数,使用枚举变量相或产生所需要的ad50 寄存器的初始化值。Codec.h 中的库函数位于函数库dsk5402.lib 和 drv5402.lib 中。函数库dsk5402.lib 和 drv5402.lib 是作为两个单独的文件,连同include 文件和头文件一起提供给用户的,如果你的应用程序中用到了其中的库函数,就需要与这两个函数库进行链接(link)dsk5402.lib 是一个主要的函数库,其内部使用了drv5402.lib 的头文件。

2.3 存储器

(1)外部数据存储器

DSK提供了64K*16位的SRAM,SRAM工作在+3V的电源电压。可以使用的外部数

相关文档
最新文档