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

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

3天内不再提示

基于OMAP5912处理器实现语音采集系统的设计

电子设计 来源:郭婷 作者:电子设计 2018-12-10 08:08 次阅读

0 引 言

语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门新兴学科。语音信号处理的应用极为广泛,其中的主要技术包括语音编码、语音合成、语音识别和语音增强等。语音识别就是让计算机听懂人的话,并做出正确的反应。目前主流的语音识别技术是基于统计模式识别的基本理论。同时,随着高性能数字信号处理器(Digital Signal ProcessorDSP)的日益普及,数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。利用DSP对语音信号处理进行算法研究和实时实现正成为新的热点。在此设计并实现了一种语音采集系统。该系统为语音信号处理的算法研究和实时实现提供一个通用平台。

1 芯片简介

OMAP5912采用独特的双核结构,内含1个实现控制功能的带有TI增强型ARM926EJ—S(简称ARM9)内核的处理器和1个实现数据处理功能的高性能、低功耗TMS320C55x DSP(简称DSP)内核。ARM9处理器可用来实现各种通信协议、通信协议(communications protocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式,信息单元应该包含的信息与含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺利地传送到确定的地方。通过通信信道和设备互连起来的多个不同地理位置的数据通信系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。这个规则就是通信协议。控制和人机接口;DSP具有多条数据地址总线,非常适合数据密集的多媒体处理,并具有极低的功耗。

TLV320AIC23(简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINE IN两种输入方式(二选一),且对输入和输出都具有可编程增益调节。AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma—delta过采样技术,可以在8~96 kHz的频率范围内提供16 b,20 b,24 b和32 b的采样,ADC和DAC的输出信噪比分别可以达到90 dB和100dB。

2 系统的硬件设计

2.1 系统的硬件结构

语音采集系统主要包括两个模块:以AIC23为核心的语音采集模块;以OMAP5912的DSP为核心的语音数据接收处理模块。

为使AIC23正常工作在需要的状态下,必须通过I2C总线对其进行配置。AIC23采集的语音信号经过A/D转换后,通过McBSPl传送到接收寄存器DRR,然后经DMA通道传送至接收缓冲区。存放在发送缓冲区的数据,通过DMA通道传送到McBSPl的发送寄存器DXR,DMA---Direct Memory Access,直接内存访问,是一种数据传输模式。DMA方式下不直接访问CPU,而在RAM与设备之间传输,从而大大提高了数据传输速度。然后传送至AIC23,经过D/A转换后,由HEADPHONE输出,如图1所示。

基于OMAP5912处理器实现语音采集系统的设计

2.2 系统的硬件接口设计

利用OMAP5912的I2C总线和McBSPl完成对AIC23的控制和通信。I2C总线与AIC23的控制口相连,McBSPl与AIC23的数据口相连。AIC23设置为Master模式,向McBSPl提供时钟和帧同步信号。McBSPl.DX作为AIC23的输入通道,McBSPl.DR作为AIC23的输出通道,如图2所示。

基于OMAP5912处理器实现语音采集系统的设计

3 系统的软件设计

系统的软件分两个方面来说明:主程序和中断服务程序。

3.1 主程序

因为OMAP5912为双核结构,且ARM9为主控制器,所以首先必须在ARM9侧进行OMAP5912的初始化,让DSP退出复位状态,这里仅需调用TI提供的OSK5912 Board Support Library中的OSK5912_init()函数即可。然后在DSP侧进行CPU、I2C总线、McBSPl、DMA的初始化,以及AIC23芯片的配置,如图3所示。

基于OMAP5912处理器实现语音采集系统的设计

限于篇幅,在此仅说明通过I2C总线配置AIC23的过程。AIC23芯片是一个可编程的芯片,内部有11个16位寄存器决定芯片的工作状态。图2中的MODE引脚决定控制接口的工作模式:MODE=O为I2C模式,MODE=1为SPI模式。系统采用的是I2C模式,即由DSP通过I2C总线完成对AIC23的初始化。I2C总线作为ARM9和DSP的共享设备,其使用权由图1中的寄存器I2C SSW MPU CONF和DSPI2C SSW CONF决定,在默认的情况下由ARM9使用。为了让DSP能使用I2C总线,I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C总线首先发送AIC23的地址,然后再把相应的AIC23内部映射寄存器的地址和配置参数合并为16位的控制字发送给AIC23。

3.2 中断服务程序

在DSP的RAM空间中定义一个接收缓存数组Rxbuffer[]和发送缓存数组Txbuffer[],一个接收标志RxFlag和一个发送标志TxFlag。为了防止出现在执行中断服务程序的时候,接收的新数据将缓存区未取走的数据覆盖,将缓存数组分为上下两部分,CPU在处理其中一个部分的时候,DMA自动操作另一部分,如图4(a)所示。

基于OMAP5912处理器实现语音采集系统的设计

该语音采集系统以中断的方式工作,在工作的过程中,会产生两个中断:DMA接收中断;DMA发送中断。以DMA接收中断为例来说明中断服务程序。

当产生DMA接收中断时,首先判断RxFlag的值,若为O,则取接收数组Rxbuffer下半部分的数据作进一步的处理,同时置RxFlag为1;若为1,则取接收数组Rxbuffer上半部分的数据作进一步的处理,同时置RxFlag为O,然后退出中断服务程序,进入主程序,等待中断的再次产生,如图4(b)所示。

4 仿真验证

为了验证设计的可行性,对该系统进行了仿真测试。仿真软件为CCS(Code Composer Studio)2.21。系统由硬件仿真器TDS560USB通过JTAG仿真接口与计算机相连,用户可以通过该接口向OMAP5912芯片加载程序并观察芯片内部存储器的数据,完成系统仿真及程序调试的任务。

在ARM和DSP侧分别加载程序编译后生成的。out文件,然后运行。经配置后的AIC23从MIC IN输入语音信号,并对其进行8 kHz,16 b的采样。不考虑图4(a)中的信号处理过程,将采集到的语音直接送回AIC23芯片,经D/A后,由HEADPHONE输出,此时,听到的正是输入的语音信号。

5 结 语

根据TI公司的OMAP5912和CODEC芯片TLV320AIC23的特性,根据TI公司的设计并实现了一种基于OMAP5912的语音采集系统。在该系统中,DMA通道结合McBSP的使用,可以大大减少CPU的工作量,简化软件设计,有效地利用DSP的硬件资源,提高系统的执行效率。

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

    关注

    68

    文章

    18328

    浏览量

    222505
  • 芯片
    +关注

    关注

    447

    文章

    47872

    浏览量

    409903
  • 放大器
    +关注

    关注

    142

    文章

    12420

    浏览量

    210194
收藏 人收藏

    评论

    相关推荐

    数字电源实现系统低功耗设计

    本文介绍一种在嵌入式数字信号处理器(DSP)OMAP5912上使用简单的数字电源实现系统低功耗设计的方法。
    发表于 11-30 00:50 1393次阅读
    数字电源<b class='flag-5'>实现</b><b class='flag-5'>系统</b>低功耗设计

    采用TI OMAP 处理器的车用影音娱乐系统解决方案

    与多媒体所需的高效能及低功耗。这些处理器能以极低功耗处理同时执行的最高层级应用,协助汽车制造商透过单一处理器支持多种驾驶及乘客功能,且丝毫无损效能。  C6000 Jacinto 及OMAP
    发表于 12-04 15:02

    基于OMAP5912的手持多媒体终端的人机接口实现

    优点,故可广泛运用于各种领域。手持多媒体终端对人机接口的设计也越来越人性化、多元化。本系统之所以选用OMAP5912处理器,除了它具有低功耗、高性能的特性外,其丰富的外圈接口可提供对各种人机接口的支持
    发表于 12-06 10:18

    基于OMAP5912和MFR4200的总线控制连接设计

    车载多种电子设备的网络连接问题,而早期的CAN总线和LIN总线已经无法满足现代车载电子设备的高速通信要求。本文介绍一种在嵌入式数字信号处理器(DSP)OMAP5912实现FlexRay总线的方法
    发表于 05-09 07:01

    OMAP5912开发板上怎么移植MiniGUI?

    ,目前已在许多实际产品和项目中得到了应用,这里正是针对这样的需求,详细介绍如何在OMAP5912开发板上移植MiniGUI的全过程。
    发表于 09-27 08:31

    怎样去设计TNETll00B和OMAP5912的接口?

    什么是无线网卡模块TNETll00B?怎样去设计TNETll00B和OMAP5912的接口?
    发表于 05-27 07:19

    基于OMAP5912的数字音频系统如何去实现

    OMAP5912平台是什么?OMAP5912的双核间通信方式是什么?基于OMAP5912的数字音频系统如何去实现
    发表于 06-01 06:13

    Sitara AM62处理器的资料分享

    和预测性维护),有助于赋予HMI全新的意义,而不是仅限于实现人机交互的界面。AM62处理器能够以低功耗实现边缘器件的分析功能(挂起状态功耗低至7mW且无需特殊考虑散热设计),支持工程师灵活地在尺寸受限
    发表于 11-03 06:11

    基于OMAP5912处理器的触摸屏驱动研究

    介绍了基于OMAP5912 芯片触摸屏的硬件设计和软件开发,其中包括ADS7843 控制器工作原理。
    发表于 09-17 10:43 19次下载

    基于OMAP5912的手持多媒体终端的人机接口实现

    基于OMAP5912的手持多媒体终端的人机接口实现 0引言   手持多媒体终端以其高渗透力的移动数字媒体方式、全新的业务理念和巨大的市场潜力
    发表于 01-06 14:00 1589次阅读
    基于<b class='flag-5'>OMAP5912</b>的手持多媒体终端的人机接口<b class='flag-5'>实现</b>

    MiniGUI在基于OMAP5912开发板上的移植

    MiniGUI在基于OMAP5912开发板上的移植  0 引 言   随着嵌入式的飞速发展,以ARM为硬件平台和以Linux为软件平台的方式受到广泛的关注。图形用
    发表于 02-23 16:34 1184次阅读
    MiniGUI在基于<b class='flag-5'>OMAP5912</b>开发板上的移植

    基于OMAP5912的无线组播通信设计

    提出一种便携式的无线通信系统,它采用OMAP5912作为系统中央处理器,利用Wi-Fi模块组建Ad-Hoe无线网络,采用G729a编解码传输语音
    发表于 03-24 12:02 1567次阅读
    基于<b class='flag-5'>OMAP5912</b>的无线组播通信设计

    U-Boot到OMAP5912开发板的移植

    U-Boot到OMAP5912开发板的移植
    发表于 10-27 10:23 8次下载
    U-Boot到<b class='flag-5'>OMAP5912</b>开发板的移植

    MiniGUI在OMAP5912上的移植解析

    ,目前已在许多实际产品和项目中得到了应用,这里正是针对这样的需求,详细介绍如何在OMAP5912开发板上移植MiniGUI的全过程。 1 OMAP5912开发板简介 OMAP5912处理器
    发表于 11-01 10:57 1次下载
    MiniGUI在<b class='flag-5'>OMAP5912</b>上的移植解析

    基于OMAP5912的嵌入式非特定人连续语音识别系统

    电子发烧友网站提供《基于OMAP5912的嵌入式非特定人连续语音识别系统.pdf》资料免费下载
    发表于 10-09 15:21 0次下载
    基于<b class='flag-5'>OMAP5912</b>的嵌入式非特定人连续<b class='flag-5'>语音</b>识别<b class='flag-5'>系统</b>