一种基于ARM+DSP的音频处理系统设计方案

发布者:camuspyc最新更新时间:2014-05-18 来源: 互联网关键字:ARM  DSP  音频处理系统 手机看文章 扫描二维码
随时随地手机看文章
1引言

随着计算机技术、电子技术和通信技术的迅猛发展,音频处理技术也在众多领域得到广泛应用。如通信领域中的手机、IP电话,消费类电子产品中的MP3和CD播放器以及控制领域中的语音识别、声控系统等[1].针对强大的数字信号处理能力和处理器良好的实时性能,结合音频编解码芯片TLV320AIC23的接口特点,本文阐述了由三者组成的音频处理系统的硬件接口设计和软件编程,提供了有效和实用的音频处理系统方案。

TLV320AIC23(简称AIC23)是TI公司的一款高性能立体声音频编解码器Codec芯片。其内部集成的模数转换器(ADCs)和数模转换器(DACs)采用了带有过采样数字插补滤波的多位Sigma-Delta技术。数据传输字长为16、20、24、32位,支持采样频率范围8kHz至96kHz.ADC和DAC的信噪比分别达到90dB和100dB.内置耳机输出放大器,支持MIC和LINE IN两种输入方式,且对输入和输出都具有可编程增益调节。另外,AIC23功耗低,回放模式下功率仅为23mW,省电模式下更是小于15uW.因此,AIC23成为数字音频应用

领域中的理想选择[2],在多种数码产品中发挥着重要作用,比较典型的应用如手机、MP3、DV摄像机中的音频编解码。

TMS320VC5402(简称VC5402)是TI公司的一款优秀16位定点,运算速度快,指令执行速度达到100MIPS.自带片内存储器和多种片上外设,广泛应用于语音编解码和通信领域[3].

S3C4510B(简称4510B)是Samsung公司的一款低成本、高性能的16/32位精简指令集微控制器,其出色的7TDMI内核以及通用微处理器宏单元使其成为用户定制应用开发的理想选择[4].

2系统硬件设计

本音频处理系统主要由前述三个处理芯片组成:控制单元,信号处理单元以及AIC23音频采集单元。系统原理框图如图1.

一种基于ARM+DSP的音频处理系统设计方案
图1基于DSP和ARM的音频处理系统原理框图

AIC23是可编程芯片,内部有11个16位寄存器,编程设置这些寄存器可得到所需的采样频率、输入输出增益和传输数据格式等。该控制接口有SPI和I2C两种工作模式,由芯片上的MODE引脚进行选择:MODE=0为I2C模式,MODE=1为SPI模式。因ARM 4510B上也有I2C接口,故选用I2C模式。AIC23的I2C接口地址由引脚的状态决定,=0时地址为0011010,=1时地址为0011011.其中SDIN与SDA为数据线,SCLK与SCL为串行时钟线。VC5402有两个多通道缓冲串口,选用其中的McBSP0与AIC23进行通信,信号连接如图1所示。图中AIC23工作在主模式,时钟信号、DAC和ADC的帧同步信号BFSX0和BFSR0都由AIC23提供。而DSP VC5402与ARM 4510B的通讯是通过DSP上的HPI接口实现的。

3系统软件设计

系统由ARM系统和DSP系统两大部分组成,ARM作为主控制器管理整个系统的工作进程,运行相关的应用程序,可对多个任务进行调度,完成与外部DSP系统或其他外设的通信。DSP则主要完成音频数据的采集和信号处理,并将处理后的数据发送给ARM供应用程序调用。这样的设计可以大大提高系统的工作效率,这也是当前嵌入式系统,各移动手持设备如PDA、手机等的典型设计方案。

这里具体要做的是对AIC23的控制接口编程,使其工作在所需的模式下。然后初始化DSP的McBSP,进行AD、DA转换和数据处理。

3.1 ARM编程部分

系统中对ARM的编程主要涉及对AIC23的初始化,使其进入正常工作状态,对音频数据进行采集和处理。这需要设置4510B的I2C总线特殊功能寄存器:控制状态寄存器IICCON、预分频寄存器IICPS和移位缓冲寄存器IICBUF,寄存器相关说明见表1[5].

表1 4510B I2C总线特殊功能寄存器

0426095615522.jpg" target="_blank" style="color: rgb(8, 90, 153); font-family: Arial, tahoma, Verdana; font-size: 14px; line-height: 24px; ">

一种基于ARM+DSP的音频处理系统设计方案
AIC23的11个控制寄存器相关设置的详细描述参见文献2.这里的设置为:左右声道线路输入静音;耳机左右声道音量为6dB;使能DAC,麦克风音量为20dB作为ADC输入;使能ADC高通滤波;芯片各部分电路供电使能;芯片工作在主模式,采样数据长度16位,采用DSP数据格式(同步帧后跟随两个数据字);采样率88.2KHz(外部晶振为11.2896MHz);使能数字接口。

对AIC23编程时的I2C总线时序如图2所示。设置好I2C的时钟频率后,首先发送开始条件(SCLK为高电平时,SDI从高电平向低电平切换),然后发送AIC23的器件地址,器件地址发出后发送AIC23相应寄存器的地址,再发送对该寄存器设置的数据,最后发送停止条件(SCLK为高电平时,SDI从低电平向高电平切换)。注意,这里的寄存器地址为7位,寄存器数据为9位,而I2C总线以字节为单位传送数据。因此在对AIC23的寄存器编程时,第一个字节包括了前7位的寄存器地址B15-B9以及设置数据的最高位B8,第二个字节为设置数据的后8位B7-B0.

一种基于ARM+DSP的音频处理系统设计方案
图2 I2C时序

3.2音频数据采集与播放

初始化AIC23后,再初始化DSP以及McBSP0,之后进行音频数据的采集与播放。通过麦克风采集语音信号,经过数字滤波处理后由耳机输出。使用McBSP0的接收中断保存数据,通过FIR数字滤波子程序处理音频数据。程序流程如图3所示。

一种基于ARM+DSP的音频处理系统设计方案
图3音频数据处理程序流程图

初始化McBSP0使其与AIC23协调工作,这里要根据硬件设计和软件要求来配置McBSP0的各个控制寄存器。本系统中串口的主要设置为:接收数据右对齐,带符号扩展;接收中断使能;由片外提供发送、接收帧信号和发送、接收时钟信号;发送、接收帧同步信号低电平有效;在时钟上升沿采样发送、接收数

据;每帧发送、接收两个16位字数据[6].

数据接收部分可在DSP中断程序中用如下语句实现:

mvkd drr10,*ar5 ;保存数据

pshd *ar5+% ;数据压入堆栈

popd new_ad ;从堆栈弹出数据到自定义的寄存器

FIR滤波的相关程序如下:

ld new_ad,a ;新数据加载至累加器

stm #1,ar0 ;双操作数增量

stm #N,bk ;设置循环缓冲区长度,即FIR滤波级数(N为滤波级数)

stl a,*ar3+% ;新数据送至ar3指向的缓冲区

ght: 24px; ">rptz a,#(N-1) ;重复执行N-1级的乘加运算

mac *ar2+0%,*ar3+0%,a ;ar2为系数指针,结果在累加器高位中

sth a,temp ;保存计算结果

ld temp,a ;结果放入累加器低位 ……

stlm a,dxr10 ;将累加器地位中的数据送至串口发送寄存器

……

基于前述对AIC23和的相应设置,采用21级系数对称FIR数字滤波,对经由麦克风输入的语音信号进行滤波处理,滤波结果由耳机输出,实际效果良好。所采集到的音频数据还可通过HPI接口传送至供应用程序调用。

3.3语音识别应用测试

语音识别的基本原理是对语音信号进行特征提取。目前常用的语音识别算法有基于模式匹配的动态时间规正法(DTW: Dynamic Time Warping)、基于统计模型的隐马尔柯夫模型法(HMM: Hidden Markov Model)以及基于神经网络的识别法(DNN、NPN、TDNN)等[7].为便于系统应用测试,本文采用一种最简易的方法对系统进行调试,即对英文元音的识别。基本原理是提取元音字母的频率特征,各元音在其频域响应中都有三个明显的共振峰频率,而最容易识别的是第一共振峰,由此可进行有效的元音识别。在提取第一共振峰频率特征时采用“零交越”法(统计单帧信号波形穿越零点的次数——过零率),将信号频率特征的分析转换为时域分析,计算得到的过零率与理论值进行比较即可实现元音的识别。图4所示分别为元音“A”的时域和频域图。

一种基于ARM+DSP的音频处理系统设计方案
图4元音A的时域图和频域图

由频域采样图可以看到很明显的第一共振峰,此时计算时域采样中信号的过零率可较为准确的识别元音A,过零率的计算中近似等于零的采样点通常是微弱的干扰,可以忽略不计。经验证,这种简易单元音识别法的识别率在80%以上,由此证明本系统音频处理的实用性。

4结束语

本文阐述了基于信号处理和嵌入式应用的音频处理系统的设计和实现。论述了系统的硬件设计、软件编程及其应用。通过对音频芯片AIC23的控制和与AIC23的通信,实现了音频信号采集、处理、输出的功能以及简单的语音识别。构建了基于的音频处理系统应用框架,对进一步的数据处理、控制应用等提供了切实可行的软硬件方案。

参考文献

1张大波。嵌入式系统原理、设计与应用。北京:机械工业出版社,2004.11

2 TLV320AIC23, Stereo Audio CODEC, 8- to 96-kHz, With Integrated Headphone Amplifier. Texas Instruments Incorporated, 2002

3 TMS320VC5402, Fixed-Point Digital Signal Processor. Texas Instruments Incorporated, 2000

4 S3C4510B User‘s Manual. Samsung Electronics, 2001

5李驹光。 ARM应用系统开发详解:基于S3C4510B的系统设计。北京:清华大学出版社, 2004

6homa, Verdana; font-size: 14px; line-height: 24px; ">6 TMS320C54xx McBSP to TLV320AIC24 Interface. Texas Instruments Incorporated, 2003

7黄涛,胡宾。基于SPCE061A单片机的非特定人语音识别设计。微计算机信息,2006,3-2:19-20

关键字:ARM  DSP  音频处理系统 引用地址:一种基于ARM+DSP的音频处理系统设计方案

上一篇:基于FPGA+DSP的频谱监测仪设计及实现
下一篇:基于FPGA+DSP的红外信息数据处理系统设计

推荐阅读最新更新时间:2024-05-02 23:04

ARM的希望:两种嵌入式操作系统的比较
引言   随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动计算机设备、网络设备和工控仿真等领域。嵌入式系统的开发也成为近年IT行业的技术热点。   完成简单功能的嵌入式系统一般不需要操作系统,如以前许多MCS51系列单片机组成的小系统就只是利用软件实现简单的控制环路。但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。   一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、
[单片机]
OK6410A 开发板 (八) 84 linux-5.11 OK6410A arm-gdb+kgdb+串口 调试 linux
理论知识 调试过程 调试过程都是 这样子的 : 让核心停下来,查询信息,让核心继续运行 我们看一下 kgdb 是怎么做的 kgdb: 让核心停下来: 1. linux启动前期会自动进入kgdb 或 2. linux启动完成,挂载了procfs,用echo g /proc/sysrq-trigger 来进入 kgdb 查询信息 1. bash#gdb vmlinx 2. gdb target remote /dev/ttyS0 3. gdb set remotebaud 115200 // set serial baud 115200 4. gdb bt // 查询信息 6. gdb
[单片机]
嵌入式4412开发板QT5.7编译安装到arm
平台:iTOP-4412精英版+4.3寸屏 有学东西写文章的习惯,毕竟都是入门,在这里记录一下安装过程,虽然可能短期内用不到了,但以后用到的时候可以作为参考。 ********************************华丽的分割线*************************** 1、从网上下载所有最新的源码 Ubuntu16.0 amd64版本第一个,这个就不要源码了,直接安装就好了 QT5.7.0,万能的度娘一找就找到了(官网下载),注意是下载源码,linux版本的源码。ARM-NONE-LINUX-GNUEABI-GCC4.8,arm-***以后就这么写了,名字太长,这个选择源码或者选择编译好的都可以,有一个博客(
[单片机]
嵌入式4412开发板QT5.7编译安装到<font color='red'>arm</font>
Arm中国副总裁刘润国:未来4年出货量将达到1000亿
人民网成都5月19日电(杨波) 今天,由人民网和成都市人民政府联合主办的“2018全球独角兽企业高峰论坛”在成都举办。安谋中国副总裁刘润国在论坛上表示,随着移动互联网、人工智能、物联网的发展,预计未来四年,采用Arm架构的产品出货量将达到1000亿。 刘润国列举了一组数据:“从1991年公司成立到2013年,采用安谋(Arm)授权的芯片全球出货量是500亿。2013年到2017年,伴随互联网技术、智能手机和嵌入式设备的发展,短短四年内全球Arm芯片的出货量出现爆发式增长。而未来的四年,预测会达到1000亿,也就是过去26年的出货数量。” 刘润国认为,回顾安谋的发展经验,以核心技术和创新作为发展的根本,“没有这个作为根本,我们在高技
[半导体设计/制造]
Mentor携手Arm优化下一代 IC的功能验证
Mentor, a Siemens business 近日与 Arm® 深化合作,帮助集成电路 (IC) 设计人员优化基于Arm设计的功能验证。通过此次合作,Arm的设计评审计划 (Design Reviews program) 可以为客户提供Mentor功能验证工具的专业知识,助其优化基于Arm的芯片级系统 (SoC) 设计。 Arm与Mentor合作推出的 RTL 验证设计评审 (Verification Design Review) 服务,能够帮助IC设计团队在 RTL层级为其Arm IP实现质量、高级功能和成本之间的适当平衡,帮助客户增强包括信号连接、系统一致性、正确实现和系统性能等在内的关键设计元素。 “Ment
[半导体设计/制造]
多家中国芯片设计公司选择ARM® Cortex™-A9处理器技术
ARM公司(伦敦证交所:ARM;纳斯达克:ARMH)近日宣布,在过去一年多时间内,海思(Hisilicon)、晶晨半导体(Amlogic)、中天联科(Availink)、海尔(Haier)等多家中国知名芯片公司获得ARM处理器授权,用于其为机顶盒(STB)和数字电视(DTV)等数字家庭娱乐应用而设计的下一代片上系统(SoC)芯片。在这些公司中,有多家选择了ARM® Cortex™-A9处理器和Mali™图形处理器。这一系列的授权协议标志着ARM处理器架构奠定了其在中国数字家庭娱乐领域的处理器架构主流领导地位。 于2010年1月举行的国务院常务会议作出了加快推进中国三网融合的决定,提出了在2015年之前全面实现三网融合
[嵌入式]
基于DSP芯片TMS320LF2407的人机界面设计
笔者采用TMS320LF2407作为系统的控制芯片,通过选择合适的液晶显示模块在3V电平构建了一个低功耗的中文人机界面。此中文人机显示界面是以TMS320LF2407为核心的运动控制系统中的重要组成部分。 一、TMS320LF2407 DSP  TMS320LF2407是德州仪器公司(TI)推出的16位定点DSP。它具有TMS320系列DSP的基本功能,还具有以下一些特点:   1、用高性能静态CMOS技术,使得供电电压降为3.3V,减少了控制器的功耗。   2、内有高达32K×16位的Flash程序存储器,高达2.5K×16位的数据/程序RAM,544×16位双端口RAM(DARAM),2K×16位的单口RAM(S
[嵌入式]
基于<font color='red'>DSP</font>芯片TMS320LF2407的人机界面设计
Arm 的使命是助力应对 AI 无止尽的能源需求
为 AI 数据中心工作负载供电的挑战(与机遇) 人工智能 (AI) 具有超越过去一个世纪所发生的所有变革性创新的潜力,它在医疗保健、生产力、教育等领域为社会带来的益处将超乎我们的想象。为了运行这些复杂的 AI 工作负载,全球数据中心所需的计算量需要以指数级规模进行扩展。然而,这种对计算无止尽的需求也揭示了一个严峻的挑战:数据中心需要庞大的电力来驱动AI这一突破性技术。 当今的数据中心已经消耗了大量的电力—— 全球每年需要 460 太瓦时 (TWh) 电力进行支持,这个数字等同于整个德国的用电量。 而 AI 的兴起预计将在 2030 年把该数字提高三倍,意味着将超过印度这一世界上人口最多国家的总耗电量。 未来的 AI
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved