0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于TMS320VC5402和TLC320AD50C实现实时语音处理系统的设计

电子设计 来源:电子产品世界 作者:宋军 , 顾永建 2020-08-24 09:17 次阅读

TMS320VC5402(以下简称C5402)是TI德州仪器公司1999年10月推出的性价比极高(目前批量价格约人民币40元)的定点数字信号处理器DSP)。指令执行速率高达100MIPS,已经广泛用于实时语音处理、个人数字助理(PDA)和数字无线通信嵌入式系统。TLC320AD50C(简称AD50)是TI公司生产的SIGMA-DELTA型单片音频接口芯片AIC)。而DSK板是TI公司的一种DSP仿真/开发板,本文着重介绍了利用CCS在DSK板上进行实时语音处理的软件设计过程。

1.C5402及其多通道缓冲串口

C5402硬件优点。改进的哈佛结构解决了冯诺伊曼(Von-Neumann)结构中高速数据传输时的传输通道上的瓶颈现象;内部多总线结构保证在一个机器周期内可以多次访问程序空间和数据空间;指令执行时的多重流水线结构将指令周期降低到了最小值;多处理单元可以在一个指令周期内同时进行运算,而这种结构恰好满足了数字信号处理中的一些特殊要求如FIR、IIR、FFT等运算。尤为值得一提的是C5402的软件特点,7种有效灵活的寻址方式,仅为10ns的指令执行周期,还有一些特殊的运算指令更好地满足了数字信号处理中特有的运算需要。

C5402具有高速的,全双工串行口,可用来与系统中的其他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-律压扩硬件。

McBSP在结构上可以分为一个数据通道和一个控制通道。如图1所示:

数据通道完成数据的发送和接收。控制通道完成的任务包括内部时钟的产生,帧同步信号产生,对这些信号的控制以及多通道的选择等。控制通道还负责产生终端信号送往CPU,产生同步事件通知DMA控制器

基于TMS320VC5402和TLC320AD50C实现实时语音处理系统的设计

图1 McBSP的结构

象51/96系列单片机一样,对C5402串行口的操作也是通过设置各控制寄存器来进行的。这些控制寄存器有串行口控制寄存器SPCR1/2;接收控制寄存器RCR1/2;发送控制寄存器XCR1/2;多通道寄存器MCR1/2等。需要注意的是,要对某一控制寄存器寻址,只能采用加子地址寻址方式。

2. AD50的一般说明

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

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:保留

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个周期的下降沿稳定。

图 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集成开发环境。它提供了环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮助用户在一个软件环境下完成编辑、编译链接、调试和数据分析等工作。与TI提供的早期软件开发工具相比,利用CCS能够加快软件开发进程,提高工作效率。

CCS一般工作在两种模式下:软件仿真器和与硬件开发板相结合的在线编程。前者可以脱离DSP芯片,在PC机上模拟DSP的指令集与工作机制,主要用于前期算法实现和调试。后者实时运行在DSP芯片上,可以在线编制和调试应用程序。

DSK板是一块需要外部提供+5VDC电源的独立的开发板,在板线性电压调整器提供1.8VDC的DSP内核电压,3.3VDC数字和5VDC模拟电压。它提供低功耗的、标准的、独立的C54X系列开发平台,允许用户为C54X系列DSP评估和开发应用程序。DSK板上的核心当然就是100MHz的C5402 DSP,还有两片AD50,它们占用了DSP的两个McBSP,其中的一片是本文用到的即用于采集外部音频信号(使用McBSP1),另一片则与标准电话线相接口(使用McBSP0)。

值得一提的是DSK板的在板接口十分丰富,有25针并行接口,9针串行接口,JTAG仿真口,电话 DAA接口,麦克风/扬声器 接口,还有扩展接口用于扩展存储器和外围电路。这些接口极大地方便了DSP开发者的在板开发。本文所涉及的程序设计是通过25针的并行口将主机和DSK板连接起来的。

4.软件设计

本文所设计的程序要完成的功能是通过麦克风接口进行语音信号的采集并实时地通过扬声器接口回放出来。

4.1 通信格式的研究

AD50C有两种通信格式:首次通信和二次通信。

首次通信格式的16位都用来传输数据。ADC的数据长度由寄存器2的D4位决定。启动和复位后默认值为15+1位模式,最后一位用于请求二次通信(D0:0表示无操作,1表示请求二次通信)。当然,二次通信也可以由硬件的FC引脚产生,本文不作讨论。下图为首次通信的数据格式:

图4 首次通信的数据格式

二次通信则用来初始化和设置AD50C的内部寄存器的值。二次通信时DSP可通过向DIN写入寄存器的值,也可以从DIN读出寄存器的值。二次通信的数据格式如下:

图4 二次通信的数据格式

由图可以看出,DS13位控制读写,DS12~8为寄存器的地址,DS7~0为寄存器的值。系统复位后,必须通过DSP的DX口向AD50C的DIN写数据以初始化各控制寄存器,如AD转换只用到寄存器1,寄存器2和寄存器4。

4.2 程序流程

图5示出了CCS配置的主程序源文件(.c或.asm)的设计流程

图5 主程序设计流程

当然,要使用CCS在DSK板上运行某个程序,光有源文件的主程序(.c或.asm)是不够的,还需要配置中断向量表(.asm)和命令链接文件(.cmd),在一些特殊的场合还需要配置其他的文件。主程序当然是整个程序的核心,它的作用涉及数据的读/写和具体的处理过程以及中断的设置、寄存器的配置等;中断向量表主要作用是告知程序中断跳转的位置,显而易见,如果在主程序中已经设置,则不再需要配置中断向量表;命令链接文件(.cmd)的主要作用是分配存储空间,比如存储器的第0页分配作程序空间,第1页分配作数据空间,以及各个段将要放在哪儿(如.text段放在数据空间),这个文件对每个工程来说都是必须的。

4.3 程序设计

从上面的程序流程中,我们可以看到,要完成预定的功能,首先要初始化DSP的串行口和AIC,然后的工作就是开辟缓存区以便将输入的数据存储起来等待进一步处理如滤波、DA转换等。限于篇幅,下面只列出了本文要实现音频回放功能的几个关键程序段。

一.主程序:

在程序中要定义诸多的变量以及所需要包含的头文件和库文件在此略。

5.CCS运行结果

待程序设计好之后,将其添加到一个新建的工程里编辑、调试,直到编译、构建通过并生成.out文件,然后装载.out文件。这样就可以运行了。为了验证程序是否已正常运行,可以在麦克风/扬声器接口分别接上话筒和小音箱,在对着话筒说话时,将可以从小音箱中听到。同时,也可以在CCS中打开观察窗口、寄存器窗口以及图形显示窗口。下图为音频输入时某一时刻的图形显示和寄存器的值。

图6. CCS运行窗口

事实上,在程序调试过程中经常会遇到这样或那样的问题,一般的方法是采用单步执行的方式来调试。而且,由于DSP本身的特点,从一开始就需要认识到开发过程的复杂性。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7687

    浏览量

    344388
  • 芯片
    +关注

    关注

    447

    文章

    47819

    浏览量

    409192
  • 接口
    +关注

    关注

    33

    文章

    7644

    浏览量

    148520
收藏 人收藏

    评论

    相关推荐

    HPI方式自举在TMS320VC5402 DSP芯片上的实现

    HPI方式自举在TMS320VC5402 DSP芯片上的实现在由TI系列DSP组成的多机系统中,往往用HPI进行多机数据交换。由于HPI的功能特性,产生了一种新的应用—— 使用HPI对DSP进行自举
    发表于 08-20 18:59

    TLC320AD50C在DSP系统中的应用与设计

    通信、控制、军事等领域。在DSP的应用中,数据的采集、信号处理及重建是DSP应用系统的重要任务。本文介绍TMS320C54X与 - 型A/D、D/A转换芯片TLC320AD50C的工作
    发表于 11-30 11:29

    TMS320VC5402手册

    TMS320VC5402手册
    发表于 05-25 09:34

    怎样去设计TMS320VC5402与模拟芯片TLC320AD50C的接口?

    TMS320VC5402的McBSP是什么?TLC320AD20C是什么?TMS320VC5402TLC320AD50C硬件连接及软件怎样去实现
    发表于 04-23 06:56

    如何去实现TMS320VC5402TLC320AD50C的接口设计?

    如何去实现TMS320VC5402TLC320AD50C的接口设计?
    发表于 06-04 06:01

    基于TMS320VC5402 的DSP基本系统的设计

    基于TMS320VC5402 的DSP基本系统的设计 本文以美国Texas Instruments( TI) 公司C5000TM系列DSP 中TMS320VC5402 为例,介绍用Flash Rom 和SRAM 构建DSP 基
    发表于 04-01 15:52 46次下载

    基于DSP的孤立词语音识别系统的设计

    本文提出了基于TMS320VC5402语音识别系统方案。整个系统TMS320VC5402为核心电路进行设计,由
    发表于 07-27 17:36 25次下载

    MAX121与TMS320VC5402在高速数据采集中的接口

    MAX121与TMS320VC5402在高速数据采集中的接口设计 TMS320VC5402
    发表于 10-09 14:55 841次阅读
    MAX121与<b class='flag-5'>TMS320VC5402</b>在高速数据采集中的接口

    TMS320VC5402通用I/O资源及其应用

    TMS320VC5402通用I/O资源及其应用 介绍了TMS320VC54x的通用I/O口资源:XF和并详细介绍了VC5402及该系列
    发表于 05-04 21:49 913次阅读

    音频接口芯片TLC320AD50CTMS320VC5402

      目前发展起来的高速数字信号处理器(DSP)在语音处理系统中得到了广泛应用。TMS320VC5402的TI公司生产的一种性能价格比较高的16位定点DSP。它的指令周期为10ns,具有
    发表于 08-13 10:43 2078次阅读
    音频接口芯片<b class='flag-5'>TLC320AD50C</b>与<b class='flag-5'>TMS320VC5402</b>

    TLC320AD50C介绍及与TMS320VC5402连接分析

    TMS320VC5402是TI公司生产的TMS320VC54x系列中的一个操作灵活、高速、具有较高性价比、低功耗的16位定点通用DSP芯片
    发表于 09-08 11:25 1955次阅读
    <b class='flag-5'>TLC320AD50C</b>介绍及与<b class='flag-5'>TMS320VC5402</b>连接分析

    TMS320VC5402实现语音识别算法

    TMS320VC5402实现语音识别算法
    发表于 12-30 15:38 9次下载

    基于TMS320VC5402的DSP基本系统的设计

    基于TMS320VC5402的DSP基本系统的设计
    发表于 10-20 15:14 17次下载
    基于<b class='flag-5'>TMS320VC5402</b>的DSP基本<b class='flag-5'>系统</b>的设计

    TMS320VC5402 数字信号处理

    电子发烧友网为你提供TI(ti)TMS320VC5402相关产品参数、数据手册,更有TMS320VC5402的引脚图、接线图、封装手册、中文资料、英文资料,TMS320VC5402真值表,TM
    发表于 10-09 10:54
    <b class='flag-5'>TMS320VC5402</b> 数字信号<b class='flag-5'>处理</b>器

    数字信号处理TMS320VC5402与音频模拟芯片TLC320AD50C的接口设计

    关键词:TLC320AD50C , TMS320VC5402 , 模拟芯片 , 信号处理器 , 音频 目前发展起来的高速数字信号处理器(DSP)在
    发表于 02-09 22:40 562次阅读