基于LPC2214和uC/OS-II 的音频处理方案

发布者:TranquilMind88最新更新时间:2012-08-27 来源: 单片机及嵌入式系统应用 关键字:VS1003  LPC2214  uC/OS-II  音频编码  音频解码 手机看文章 扫描二维码
随时随地手机看文章

    基于ARM平台和实时操作系统的嵌入式技术应用得越来越广泛,因此,在开发一款工控手持设备中,也基于这样的平台来实现。针对该工控手持设备对音频编解码功能的特殊要求,并综合考虑了成本及可靠性的要求,最终采用了基于LPC2214和uC/0S-II的嵌入式平台,结合一款性能优越的音频编解码芯片——VSl003来实现。

1 基于LPC2214和uC/OS-II的嵌入式平台
   
目前流行的ARM芯片内核有ARM7TDMI、ARM720T、ARM9TDMI、ARM922T、ARM940T、ARM946T、ARM966T和ARMl0TDMI等。Philips LPC2214是基于ARM7TDMI-S的高性能32位RISC微控制器。它集成了Thumb扩展指令集,256KB可在系统中编程的片内Flash和可在应用中编程的16KB RAM,向量中断控制器,外部总线控制器,2个UART,I2C串行接口,2个SPI串行接口,2个定时器(7个捕获/比较通道),可提供多达6个PWM输出的PWM单元,8通道10位ADC,实时时钟,看门狗定时器以及112个通用I/O引脚。通过可编程的片内锁相环(PLL)可实现LPC2214最高为60MHz的CPU时钟频率。相对众多ARM系列产品来说,Philips公司生产的LPC2214是一款性价比较高的ARM7芯片。

    嵌入式实时操作系统有助于提高系统可靠性和开发效率,且能够充分发挥32位CPU的多任务处理能力。常见的嵌入式操作系统有Linux、Windows CE、VxWorks、Nuckus、uC/0S-II等。其中uC/OS-II是一个可移植、可固化、可裁剪的占先式实时操作系统,其周边的配套产品也比较完善,如uC/FS、uC/GUI等产品都为其应用增强了实用性。相对其他操作系统而言,uC/OS-II正常运行只需十几或几十KB的Flash空间和SRAM空间,并且其所需的授权费用也相对较低。结合以LPC2214为核心的硬件平台,在这里采用了uC/OS-II作为该设备的嵌入式操作系统。

    由上述分析可知,选择LPC2214和uC/OS-II相结合的嵌入式平台是一种较为经济而实用的方法。

2 音频解码芯片的选择
    LPC2214与uC/OS-II相结合的平台具有比较强大的处理能力,但在许多应用场合中仍显不足。在本文所介绍的应用中,系统需要具有音频编解码功能,音频的编解码方式包括软件编解码和硬件编解码。如果采用软件编解码的方式,则对处理器的处理速度要求一般在50MIPS以上,而LPC2214的处理速度仅有70MIPS左右。显然倘若采用这种方式,LPC2214处理能力将受到很大限制。所以,采用专门的音频处理芯片来处理音频数据对该平台来说是个正确的选择。这里选用一款性能优越的音频解码芯片——VSl003。

    VSl003音频解码芯片为VSl0XX系列的第三代产品,是芬兰VLSI Solution Oy公司生产的单片MP3/WMA/MIDI解码和ADPCM编码芯片。它内部包含一个高性能、低功耗的DSP处理核(VSDSP),一个工作内存,一片可供用户程序使用的5.5KB RAM,一个串行SPI总线接口,一个高质量的采样频率可调的过采样DAC以及一个16位的过采样ADC。VSl003的内部构造如图1所示。

VS1003的内部构造

3 VSl003控制协议的实现
    VSl003通过一个工作于从模式的SPI串行总线与主机进行数据和控制信息的交流。音频数据通过串行数据接口(SDI)传送;控制数据则通过串行控制接口(SCI)来传送。控制数据总是为16位,通过读/写不同的寄存器来实现对VS1003的控制。

    VSl003的SPI接口具有两种工作模式:VSl002新模式和VSl001兼容模式。设置SM_SDINEW为1,使VSl003处于VSl002新模式。当SMSDISHARED为O时,控制信号和数据信号的传送分别采用xCS和xDCS作为同步信号;而当SMSDISHARED为1时,共用xCS作为同步信号。没置SM_SDINEW为O.使VSl003处于VSl001兼容模式,该模式仅以xCS作为同步信号。

    作为从机工作模式,VSl003通过一个信号线DREQ指示是否允许主机传送数据。当DREQ为高时,VSl003至少可以接收32KB的SDI数据或者SCI控制命令。

    在这里,以VSl002新模式且SMSDISHARED设置为O为例介绍VSl003通信协议的实现。图2描述了SDI工作时序,它以xDCS为同步信号,随着时钟信号DCLK的变化,数据根据SCL_MODE的设置依次从高位或低位送出。

    SCI协议包括1个控制指令字节、1个地址字节和1个16位数据字。每次读/写控制可以操作一个寄存器。读命令和写命令分别为0x03和0x02。这两种控制命令的工作时序分别如图3和图4所示。

SDI工作时序

工作时序
工作时序

4 电路设计
    本设计最终要实现的目标是一款具有人机界面及数据存储功能的工控手持设备,通过人机对话界面发送控制命令来操纵VSl003,以实现录放音功能。[page]

4.1 硬件电路设计
    VSl003的所有数据和控制命令均通过SPI总线接口实现,因此与LPC2214的接口实现比较简单,包括3条SPI数据线和4条控制线,如图5所示。

硬件电路设计

4.2 软件设计
    VSl003的控制软件设计,是在系统成功地移植了uC/OS-II操作系统以及ZLGFS文件系统的条件下进行的。具体软件设计中,首先对LPC2214与VSl003控制接口的几个功能引脚进行相疵的配置,然后使能SPI并设置其工作模式。此后,利用uC/OS-II多任务的特点,建立一个专门的任务用于实现系统的录放音功能。在该任务创建完毕后,首先完成对VSl003的初始化工作;然后任务进入等待循环中,等待系统发出相应的控制指令。当该任务接收到录音指令时,调用相应的录音功能函数启动录音功能,并将录音数据写入指定的文件中;当接收到播放功能指令时,调用播放功能函数,播放指定的音频文件;当接收到中断指令时.将退出录放音功能,任务回到循环等待中。该任务的具体实现函数如下:

    程序
程序

    编者注:VS1003的驱动程序以及相关录音和播放功能程序见本刊网站www.mesnet.com.cn。

5 总 结
   
采用VSl003实现基于LPC2214和uC/OS-II的嵌入式平台的音频编解码功能,接口电路简单,控制程序易于编写,且最终音频播放清晰、自然。当然在具体设计中也曾遇到一些需要注意的问题,例如要成功对VSl003进行初始化,必须详细了解VS1003的配置时序要求。特别要注意的是,对不同寄存器配置完后,其等待处理周期有所不同,若等待周期不够,则将使得配置无法正常完成。

关键字:VS1003  LPC2214  uC/OS-II  音频编码  音频解码 引用地址:基于LPC2214和uC/OS-II 的音频处理方案

上一篇:LPC2000系列的CAN总线验收滤波器应用
下一篇:基于LPC2124的一个远程系统软件升级方案

推荐阅读最新更新时间:2024-03-16 13:06

S3C2440 音频解码芯片WM8976声卡驱动移植 (三十一)
本节学习: 分析linux中的OOS声卡系统 修改s3c2410-uda1341.c的控制部分,移植wm8976声卡 使用madplay应用程序播放mp3 本节常用英语单词: volume:音量,dsp:数字信号处理(Digital Signal Processing),mixer:混音器,unit:单位,个体 1、声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数,常用的采样率有: 8KHz ---电话所用采样率,对于人的说话已经足够清楚 22.05KHz ---无线电广播所用采样率 32KHz ---miniDV数码视频、DAT所用采样率 44.1KHz ---音频CD,也常用于
[单片机]
S3C2440 <font color='red'>音频解码</font>芯片WM8976声卡驱动移植 (三十一)
基于STC12C5A60S2的U盘音频播放器设计
U盘即闪存盘,是一种用闪存进行数据存储的介质,通常使用USB插头。U盘体积极小、重量轻、可热插拔也可以重复写入。自其面世后,迅速普及并取代传统的软盘,成为主要的便携存储模式。随着U盘体积的不断减小、存储容量却不断加大,使得U盘的使用范围也不断拓展。然而U盘所储存的数据,现今仍大多通过计算机提取并进行处理,这也局限了U盘的发展范围。 笔者认为,针对某一特定功能,剥离相应数据对计算机的依赖性,一方面可充分利用U盘数据,另一方面也发挥出USB协议的通用性,使U盘实现所用即所得的便携特性。基于此,设计了U盘MP3播放器电路,主要完成U盘存储的音频文件的数据提取及功能运行任务。该播放器等同于个人计算机的音频处理模块,不仅可识别、提取U
[单片机]
基于STC12C5A60S2的U盘音频播放器设计
uC/OS-II实时操作系统在嵌入式平台上进行移植的一般方法和技巧
引言 ---实时操作系统的使用,能够简化嵌入式系统的应用开发,有效地确保稳定性和可靠性,便于维护和二次开发。 μC/OS-II是一个基于抢占式的实时多任务内核,可固化、可剪裁、具有高稳定性和可靠性,除此以外,μC/OS-II的鲜明特点就是源码公开,便于移植和维护。 在μC/OS-II官方的主页上可以查找到一个比较全面的移植范例列表。但是,在实际的开发项目中,仍然没有针对项目所采用芯片或开发工具的合适版本。那么,不妨自己根据需要进行移植。 本文则以在TMS320C6711 DSP上的移植过程为例,分析了μC/OS-II在嵌入式开发平台上进行移植的一般方法和技巧。μC/OS-II移植的基本步骤 在选定了系统平台和开发
[应用]
uC/OS-II在ARM系统上的移植与实现
摘要:使用ARM公司提供的ADS 开发工具,将uC/ OS - II 移植到ARM 处理器上,并将移植结果应用在跑马灯和数码管的实现上,运行正常,表明移植成功. 关键词:uC/ OS - II ;ARM;移植 0  引言 在开发嵌入式系统时,一般选择基于ARM 和uC/ OS - II 的嵌入式开发平台,因为ARM 微处理器具有处理速度快、超低功耗、价格低廉、应用前景广泛等优点 . 将uC/ OS - II 移植到ARM 系统之后,可以充分结合两者的优势. 如果一个程序在一个环境里能工作,我们经常希望能将它移植到另一个编译系统、处理器或者操作系统上,这就是移植技术.移植技术可以使一种特定的技术在更加广泛的范围使用,使软件使用更
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved