




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于CCS和DSK5402板的音频采集和回放程序设计The programming of audio collection and return based on CCS and DSK5402 board江苏徐州中国矿业大学信息与电气工程学院(221008) 宋军,顾永建摘要:为了给程序设计作下基础,本文首先介绍了TI公司的TMS320C5402和AIC(模拟接口电路)芯片TLC320AD50C的特点,最后着重介绍了利用DSK板上的TMS320C5402和TLC320AD50C实现音频采集并实时回放的软件设计过程,并利用CCS进行了模拟。 关键字:DSP TMS320C5
2、402 AIC DSK CCS TMS320VC5402(以下简称C5402)是TI(德州仪器)公司1999年10月推出的性价比极高(目前批量价格约人民币40元)的定点数字信号处理器(DSP)。指令执行速率高达100MIPS,已经广泛用于实时语音处理、个人数字助理(PDA)和数字无线通信等嵌入式系统。TLC320AD50C(简称AD50)是TI公司生产的SIGMA-DELTA型单片音频接口芯片(AIC)。而DSK板是TI公司的一种DSP仿真/开发板,本文着重介绍了利用CCS在DSK板上进行实时语音处理的软件设计过程。 1.C5402及其多通道缓冲串口 C5402硬
3、件优点。改进的哈佛结构解决了冯诺伊曼(Von-Neumann)结构中高速数据传输时的传输通道上的瓶颈现象;内部多总线结构保证在一个机器周期内可以多次访问程序空间和数据空间;指令执行时的多重流水线结构将指令周期降低到了最小值;多处理单元可以在一个指令周期内同时进行运算,而这种结构恰好满足了数字信号处理中的一些特殊要求如FIR、IIR、FFT等运算。尤为值得一提的是C5402的软件特点,7种有效灵活的寻址方式,仅为10ns的指令执行周期,还有一些特殊的运算指令更好地满足了数字信号处理中特有的运算需要。 C5402具有高速的,全双工串行口,可用来与系统中的其他C54x器件,编码解码器,串行
4、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-律压扩硬件。 McBSP在结构上可以分为一个数据通道和一个控制通道。如图1所示:&
5、#160;数据通道完成数据的发送和接收。控制通道完成的任务包括内部时钟的产生,帧同步信号产生,对这些信号的控制以及多通道的选择等。控制通道还负责产生终端信号送往CPU,产生同步事件通知DMA控制器。 图1 McBSP的结构象51/96系列单片机一样,对C5402串行口的操作也是通过设置各控制寄存器来进行的。这些控制寄存器有串行口控制寄存器SPCR1/2;接收控制寄存器RCR1/2;发送控制寄存器XCR1/2;多通道寄存器MCR1/2等。需要注意的是,要对某一控制寄存器寻址,只能采用加子地址寻址方式。 2. AD50的一般说明 AD50是一款SIGMA-DELTA型
6、单片音频接口芯片(AIC)。它内部集成了16位的D/A和A/D转换器,采样速率最高可达22.05kb/s,其采样速率可通过DSP编程来设置。在DAC之前有一个插值滤波器以保证输出信号平滑和ADC之后有一个抽取滤波器以提高输入信号的信噪比。 AD50内部有7个数据和控制寄存器,用于编程控制它们的工作状态。 寄存器0:空操作寄存器。 寄存器1: 软件复位 软件掉电 选择16位或15位工作方式
7、160; 硬件或软件二次通信请求方式的选择 寄存器2:使能ALTDATA输入端 为ADC选择16/15位方式 寄存器3:选择FS与FSD之间延迟SCLK的个数 告诉主机有几个从机被联上 寄存器4:为输入和输出放大器选择放大器增益 选择N来设置采样频率,fs=MCLK/(128*N)或MCLK/(512*N)
8、60;在MCLK输入端使能外部时钟输入并旁通内部的PLL 寄存器5,6:保留 AD50与C5402之间的数据传送采用串行方式,包括两种传输模式:16位和15+1位传输模式。15+1位模式时,其中的D0位表示二次通信。它们各自的时序如下: 注:A,16位或15位工作方式是通过控制寄存器2来编程实现的。 B,M/S用来表明15位的数据是来自主机还是从机。 C,最高位MSB(D15)在SCLK第一个周期的下降沿稳定,最低位(D0,M/S)在SCLK第16个
9、周期的下降沿稳定。 图 2 仅有首次通信时的ADC通道时序注:A,二次通信时的M/S位(DS15)用于表明在设置了读位后寄存器数据(地址和内容)是来自主机还是从机。在寄存器读期间,DS7-DS0位是指定寄存器的内容,在寄存器写期间,DS7-DS0为0。 图3 有首次通信和二次通信的ADC通道时序 AD50的数据传输模式和采样速率都可以通过DSP对其控制寄存器的编程来实现,因此,在许多场合下,AD50都作为DSP的AIC来实现音频处理。 3.CCS和DSK CCS(Code Composer Studio)为TI公司的DSP集成开发环境。它提供了
10、环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译链接、调试和数据分析等工作。与TI提供的早期软件开发工具相比,利用CCS能够加快软件开发进程,提高工作效率。 CCS一般工作在两种模式下:软件仿真器和与硬件开发板相结合的在线编程。前者可以脱离DSP芯片,在PC机上模拟DSP的指令集与工作机制,主要用于前期算法实现和调试。后者实时运行在DSP芯片上,可以在线编制和调试应用程序。 DSK板是一块需要外部提供+5VDC电源的独立的开发板,在板线性电压调整器提供1.8VDC的DSP内核电压,3.3VDC数字和5VDC模拟电压。它提供低功耗的
11、、标准的、独立的C54X系列开发平台,允许用户为C54X系列DSP评估和开发应用程序。DSK板上的核心当然就是100MHz的C5402 DSP,还有两片AD50,它们占用了DSP的两个McBSP,其中的一片是本文用到的即用于采集外部音频信号(使用McBSP1),另一片则与标准电话线相接口(使用McBSP0)。 值得一提的是DSK板的在板接口十分丰富,有25针并行接口,9针串行接口,JTAG仿真口,电话 DAA接口,麦克风/扬声器 接口,还有扩展接口用于扩展存储器和外围电路。这些接口极大地方便了DSP开发者的在板开发。本文所涉及的程序设计是通过25针的并行口将主机和DSK板连接起来的。
12、 4.软件设计 本文所设计的程序要完成的功能是通过麦克风接口进行语音信号的采集并实时地通过扬声器接口回放出来。 4.1 通信格式的研究 AD50C有两种通信格式:首次通信和二次通信。 首次通信格式的16位都用来传输数据。ADC的数据长度由寄存器2的D4位决定。启动和复位后默认值为15+1位模式,最后一位用于请求二次通信(D0:0表示无操作,1表示请求二次通信)。当然,二次通信也可以由硬件的FC引脚产生,本文不作讨论。下图为首次通信的数据格式: 图4 首次通信的数据格式二次通信则用来初始化和设置AD50C的内部寄存器的值。二次通信时DS
13、P可通过向DIN写入寄存器的值,也可以从DIN读出寄存器的值。二次通信的数据格式如下: 图4 二次通信的数据格式由图可以看出,DS13位控制读写,DS128为寄存器的地址,DS70为寄存器的值。系统复位后,必须通过DSP的DX口向AD50C的DIN写数据以初始化各控制寄存器,如AD转换只用到寄存器1,寄存器2和寄存器4。 4.2 程序流程 图5示出了CCS配置的主程序源文件(.c或.asm)的设计流程 图5 主程序设计流程当然,要使用CCS在DSK板上运行某个程序,光有源文件的主程序(.c或.asm)是不够的,还需要配置中断向量表(.asm)和命令链接文
14、件(.cmd),在一些特殊的场合还需要配置其他的文件。主程序当然是整个程序的核心,它的作用涉及数据的读/写和具体的处理过程以及中断的设置、寄存器的配置等;中断向量表主要作用是告知程序中断跳转的位置,显而易见,如果在主程序中已经设置,则不再需要配置中断向量表;命令链接文件(.cmd)的主要作用是分配存储空间,比如存储器的第0页分配作程序空间,第1页分配作数据空间,以及各个段将要放在哪儿(如.text段放在数据空间),这个文件对每个工程来说都是必须的。 4.3 程序设计 从上面的程序流程中,我们可以看到,要完成预定的功能,首先要初始化DSP的串行口和AIC,然后的工作就是开辟缓
15、存区以便将输入的数据存储起来等待进一步处理如滤波、DA转换等。限于篇幅,下面只列出了本文要实现音频回放功能的几个关键程序段。 一主程序: 在程序中要定义诸多的变量以及所需要包含的头文件和库文件在此略。 5.CCS运行结果 待程序设计好之后,将其添加到一个新建的工程里编辑、调试,直到编译、构建通过并生成.out文件,然后装载.out文件。这样就可以运行了。为了验证程序是否已正常运行,可以在麦克风/扬声器接口分别接上话筒和小音箱,在对着话筒说话时,将可以从小音箱中听到。同时,也可以在CCS中打开观察窗口、寄存器窗口以及图形显示窗口。下图为音频输入时某一时刻的图形显示和寄存器的值。 图6. CCS运行窗口事实上,在程序调试过程中经常会遇到这样或那样的问题,一般的方法是采用单步执行的方式来调试。而且,由于DSP本身的特点,从一开始就需要认识到开发过程的复杂性。 参考文献 1戴明桢 周建江TMS320C54xDSP结构、原理及应用北航出版社 2001.11 2韩少华 陈健 傅丰林多路音频模拟接口芯片TLV320AIC10 与DSP串行通信的设计与实现电子产品世界2002/9B 3TMS320C54x DSP Ap
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 植物组织培养技术在植物生物材料加工中的应用前景报告
- 统计初级考试试题及答案
- 智能网联汽车的市场前景试题及答案
- 社交媒体对家具设计的影响研究试题及答案
- 智能物流在农村电商中的应用试题及答案
- 班组长履职报告
- 泰安英语考编试题及答案
- 水利工程与土木的关系试题及答案
- 文化产业发展专项资金2025年申请与政策环境分析报告
- 矿洞游戏测试题及答案
- 社区获得性肺炎(1)护理病历临床病案
- GB/T 35428-2024医院负压隔离病房环境控制要求
- 新《建筑节能》考试复习题库(浓缩500题)
- 安徽省合肥市科大附中2025年第二次中考模拟初三数学试题试卷含解析
- 2024年7月中央电大本科《法律文书》期末考试试题及答案
- 因式分解(分组分解法)练习100题及答案
- GB/T 15597.2-2024塑料聚甲基丙烯酸甲酯(PMMA)模塑和挤出材料第2部分:试样制备和性能测定
- JT-T-1180.1-2018交通运输企业安全生产标准化建设基本规范第1部分:总体要求
- 国能辽宁北票200MW 风力发电项目可行性研究
- 泛血管疾病抗栓治疗中国专家共识(2024版)
- 盐脂酸热:制造美味的新科学-正式版美萨明·诺斯拉特
评论
0/150
提交评论