实时数字信号处理实验五_SPORT音频采集与播放
实时数字信号处理
基于ADSP-BF561的音频采集与播
放系统
姓名:
专业:
学号:
日期:
目录
第一章 SPORT音频采集与播放系统工作原理 ..................................... 3
1.1 TLVAIC23B音频采集与播放原理 .................................................................... 3
1.2 I2C控制总线工作原理 ...................................................................................... 3
第二章 SPORT音频采集与播放系统设计 ............................................. 5
2.1 系统硬件结构框图 ............................................................................................. 5
2.2 算法流程图设计 ................................................................................................. 5
2.2.1 Main主程序流程图设计 ............................................................................................... 5
2.2.2 AIC23B初始化流程图设计 .......................................................................................... 6
2.2.3 I2C写数据模块工作流程图设计 .................................................................................. 7
2.2.4 SPORT音频采集中断处理流程图设计 ........................................................................ 7
第三章 SPORT音频采集与播放系统实现 ............................................. 9
3.1 音频采集系统传输参数配置 ............................................................................. 9
3.1.1 AIC23B参数配置 .......................................................................................................... 9
3.1.2 SPORT串口控制器参数配置 ...................................................................................... 10
3.1.3 I2C控制总线配置 ........................................................................................................ 11
3.2音频采集系统程序实现 .................................................................................... 12
3.2.1 Main主程序实现 ......................................................................................................... 12
3.2.2 AIC23B初始化子程序实现 ........................................................................................ 12
3.2.3 SPORT音频采集中断处理子程序实现 ...................................................................... 13
3.3实验结果与分析 ................................................................................................ 13
第一章 SPORT音频采集与播放系统工作原理
1.1 TLVAIC23B音频采集与播放原理
AIC23B 是TI 公司推出的一款高性能、集成有模拟功能的立体声音频CODEC。该器件中A/D和D/A 变换器采用具有集成过取样数字内插滤波器的多位Σ-Δ技术,数字传输字长可为16、20、24和32位,取样率为8~96 kHz。它能以数字和模拟电压运行,这些电压与BF561的I/O电压是兼容的。能够实现与ADSP BF561的SPORT端口的无缝连接,使系统设计更加简单,而与I2C和SPI 总线兼容的控制接口能使AIC23 DSP编解码器作为一个单片AFE与其它处理器共同使用。内部集成有增益可调的音频输入/输出放大器,无须外部再加功放,因而也节省了电路空间,并且使得设计更加灵活。
BF561 与AIC23B的连接示意图如图1.1所示:
图1.1 硬件原理框图
在图中可以看出,ADSP BF561 与AIC23B 有两路通道进行数据交互:一路是SPORT与AIC23B的音频数据通道进行连接,实现音频数据的传输和接收;另一路是由PF模拟的I2C 协议与AIC23B进行连接,通过配置寄存器的方式实现AIC23B 的工作模式的设定。
1.2 I2C控制总线工作原理
I2C是INTER-IC串行总线的缩写,是PHILIPS公司推出的芯片间串行传输总线。它以1根串行数据线(SDA)和1根串行时钟线(SCL)实现双工同步数据传
输。具有接口线少、控制方式简化、器件封装形式小、通信速率较高等优点。
在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。I2C接口的协议里面包括设备地址信息,可以同一总线上连接多个从设备,通过应答来互通数据及命令。I2C总线是一个真正的多主机总线,总线上多个主机初始化传输,可以通过传输检测和仲裁来防止数据被破坏。
I2C总线的传输速率有限,标准模式下可达到100Kbps,快速模式下可达到400Kbps,高速模式下达到4Mbps,不能实现全双工,不适合传输很多的数据。
I2C的工作方式可分为5个部分来说明:
(1)总线数据有效性
a.I2C总线为单工总线;
b.在SCL时钟高电平时采样SDA数据,此时SDA数据必须保持稳定,跳变发生在SCL时钟低电平时刻——将高电平跳变的数据传输起始与结束条件区分出来。
(2)总线空闲条件
SCL时钟线与SDA数据线均为高电平。总线上无数据传输。
(3)总线数据传输起始和结束条件
I2C总线SCL时钟为高电平时,SDA数据线电平由高变低,数据传输开始标志;SDA数据线电平由低到高,数据传输结束标志。
(4)总线数据传输时序以及ACK应答
I2C总线数据一次传输8位,高位(MSB)在前,低位在后(LSB)。每次数据发送,从机会发送1bit应答信号(ACK)。一次数据传输有9位数据。如需要实时处理数据,则可以拉低SCL时钟线,暂停数据传输。
(5)总线读写时序
总线写时序步骤
a.主机发送8位数据:7位表示从机地址,1位表示读或者写(0表示写); b.从机应答;
c.主机发送需要操作的寄存器的地址;
d.从机应答;
e.主机发送数据;
f.结束
总线读时序步骤
前四步相同,从机应答后,主机马上发送重启动命令,继续传输主设备需要读取的寄存器地址,从机发送该地址数据。
第二章 SPORT音频采集与播放系统设计
2.1 系统硬件结构框图
系统硬件结构框图可分为三个部分,第一部分为AIC23B,第二部分为ADSP核心板,第三部分为音频播放设备。
硬件结构设计框图如下图2.1所示。
图2.1 硬件结构设计框图
2.2 算法流程图设计
2.2.1 Main主程序流程图设计
主程序流程分为四个部分:设置PLL时钟,为使用的设备提供定时;初始化程序运行空间SDRAM;初始化外设以及中断;进入程序运行代码。
流程图如下图2.2所示:
图2.2 主程序流程图
2.2.2 AIC23B初始化流程图设计
AIC23B初始化配置通过I2C总线实现。初始化流程图如下图2.3所示。
图2.3 AIC23B初始化流程图
2.2.3 I2C写数据模块工作流程图设计
本实验使用的I2C总线操作为写总线。写数据模块的算法流程图如下图2.4所示。
图2.4 I2C写总线流程图
2.2.4 SPORT音频采集中断处理流程图设计
中断处理函数的主要功能为从SPORT0串口控制器的RX端接收数据,并将其转发至SPORT0的TX端。
算法流程图如下图2.5所示。
图2.5 中断处理函数流程图
第三章 SPORT音频采集与播放系统实现
3.1 音频采集系统传输参数配置
3.1.1 AIC23B参数配置
通过外设配置函数调用AIC23B初始化函数,如下图3.1所示。
图3.1 DSP外设配置函数程序图
其中AIC23B的参数配置在Init_AIC23B_I2C()函数中实现。
初始化函数分为两个部分,配置说明在流程图中已详细说明。程序如下图
3.2、3.3所示。
图3.2 AIC23B寄存器配置程序图一
图3.3 AIC23B寄存器配置程序图二
3.1.2 SPORT串口控制器参数配置
SPORT串口控制器配置可分为两个部分。
(1)SPORT0号串口控制器初始化配置
(2)SPORT0号串口控制器启动配置
初始化配置如下图3.4所示。
图3.4 SPORT0初始化配置程序图
四个参数分别为:
(1)发送配置寄存器SPORT0_TCR1
0x4000|0x0400|0x2000:0b 0110 0100 0000 0000
配置发送类型为:选择外部发送时钟,选择通常的数据格式类型,先发送MSB,使用外部TFS,对每一个数据字都要求TFS(发送帧同步),TFS高电平有效,且TFS为数据相关。选择延迟帧同步方式,在TSCLK的上升沿驱动数据和
内部帧同步信号。在TSCLK的上升沿采用外部帧同步信号。发送禁止。
(2)发送配置寄存器SPORT0_TCR2
0x001f:0b 0000 0000 0001 1111 表示SPORT字长为32。
(3)接收配置寄存器SPORT0_RCR1
0x4000|0x0400|0x2000:0b 0110 0100 0000 0000
配置接收类型为:选择外部接收时钟,选择数据格式类型为零填充,先接收MSB,使用外部RFS,对每一个数据字都要求RFS(接收帧同步),RFS高电平有效。选择延迟帧同步方式,在RSCLK的下降沿驱动内部帧同步。在RSCLK的上升沿采样数据和外部帧同步信号。接收禁止。
(4)接收配置寄存器SPORT0_RCR2
0x001f:0b 0000 0000 0001 1111 表示SPORT字长为32。
启动配置如下图3.5所示。
图3.5 SPORT0启动配置程序图
启动时只需将发送使能与接收使能即可。
3.1.3 I2C控制总线配置
PF与I2C的端口映射如下图3.6所示。
图3.6 I2C端口映射图
PF14作为SCLK时钟线,PF15作为SDA数据线。
3.2音频采集系统程序实现
3.2.1 Main主程序实现
以算法流程图为参考,可以编写main程序,程序实现如下图3.7所示。
图3.7 主程序实现图
3.2.2 AIC23B初始化子程序实现
初始化子程序的功能为通过I2C总线配置ACI23B寄存器,并提供了两种音频输入输出方式,如下图3.8所示。
图3.8 AIC13B初始化程序实现图
3.2.3 SPORT音频采集中断处理子程序实现
在使用中断之前,需要将其初始化,即开启SPORT0的RX接收中断。如下图3.9所示。
图3.9 中断初始化程序实现图
中断处理子程序的实现只需要将接收缓冲队列的指针指向的值赋给发送缓冲队列即可。如下图3.10所示。
图3.10 中断处理程序实现图
3.3实验结果与分析
(1)实验环境
a.PC机播放音乐,通过麦克风接口输出,另一端接入BF561; b.耳机接入BF561的音频输出接口。
接口类型根据程序中定义决定,有两种形式:
a.LINE_IN与LINE_OUT
b.MIC与HEADPHONE
(2)实验结果
通过耳机实时接收到PC机播放的MP3歌曲。