基于LPC2132处理器的MP3功能的实现

2023-02-02

目前很多市面上卖的MP3几乎是使用专用的MP3模块做为主芯片, 处理器、音频解码芯片等都集成在这一块芯片上, 但在很多时候, 我们需要一个设备有MP3功能, 但不是主要功能, 它还有其他作用, 比如用作语音提示功能, 语音提示条目量大而且经常更换, 使用哪条语音提示需要根据外界数据或条件来确定, 像公交车的报站就是这种情形。

1 LPC2132微控制器

LPC2132是基于一个嵌入式跟踪的32/16位ARM7TDMI-STM CPU的微控制器, 并带有64kB的嵌入的高速Flash存储器。拥有多个32位定时器、1个10位8路ADC、10位DAC、PWM通道和47个GPIO以及多达9个边沿或电平触发的外部中断, 所以它可以很方便的加入其他功能。由于使用了流水线技术, 处理和存储系统的所有部分都可连续工作。通常在执行一条指令的同时对下一条指令进行译码, 并将第三条指令从存储器中取出, 处理能力强。

2 VS1003-MP3/WMA音频解码器

VS1003是一个单片MP3/WMA/MIDI音频解码器和ADPCM编码器。它包含一个高性能, 自主产权的低功耗D S P处理器核VS_DSP4, 工作数据存储器, 为用户应用提供5KB的指令RAM和0.5KB的数据RAM。串行的控制和数据接口, 4个常规用途的I/O口, 一个UART, 也有一个高品质可变采样率的ADC和立体声DAC, 还有一个耳机放大器和地线缓冲器。VS1003通过一个串行接口来接收输入的比特流, 它可以作为一个系统的从机。输入的比特流被解码, 然后通过一个数字音量控制器到达一个18位过采样多位ε-ΔDAC。通过串行总线控制解码器。除了基本的解码, 在用户RAM中它还可以做其他特殊应用, 例如DSP音效处理。

VS1003能解码MPEG1和MPEG2音频层III (CBR+VBR+ABR) , WMA4.0/4.1/7/8/9 5-3 8 4 k b p s所有流文件, W A V (P C M+I M AA D-P C M) , 产生M I D I/S P-MIDI文件。对话筒输入或线路输入的音频信号进行I M AA D P C M编码, 支持M P 3和W A V流, 高低音控制, 单时钟操作1 2~13MHz, 内部PLL锁相环时钟倍频器, 低功耗, 内含高性能片上立体声数模转换器, 两声道间无相位差, 内含能驱动30欧负载的耳机驱动器, 模拟, 数字, I/O单独供电, 为用户代码和数据准备的5.5 K B片上R A M, 串行的控制, 数据接口, 可被用作微处理器的从机, 特殊应用的SPI Flash引导, 供调试用途的U A R T接口, 新功能可以通过软件和4GPIO添加。功能强, 模块化外接电路简单, 非常适合本系统的要求。

3 系统设计

3.1 系统功能

系统分为4个部分, 人机交换界面、音频存储、音频编解码、主控芯片。模型如下图1。

人机交换界面使用了2.4寸的触摸屏, 用来实现相应的操作, 音频存储使用SD卡, 音频文件都存储在SD卡里。

3.2 系统硬件设计

根据整个系统的设计思想, 对主控模块进行硬件电路设计关键在于处理器的选择。选定处理器后, 只需在LPC2132周围增加较少的元器件和电路, 就能设计出功能较强、符合要求的主控模块的电路。

3.3 LCD触摸屏与处理器的连接

L C D的引脚L C D_R E S T、L C D_R S、L C D_R D、L C D_C S、L C D_W R分别与处理器的P1.25、P1.24、P1.23、P1.22、P1.21连接, 触摸屏的M A S K_C S、M A S K_D C L K、M A S K_D I N、M A S K_I N T、M A S K_D O U T分别与处理器的P1.16、P1.17、P1.18、P1.19、P1.20连接, 处理器的P0.8~P0.15引脚与LCD的8位数据线连接。

本系统采用的是64K色的240X320的2.4寸LCD, 采用ILI9320LCD驱动芯片, 色彩艳丽逼真, LCD_REST是LCD的复位引脚, L C D_R S为L C D的指令和数据选择引脚, L C D_R D为LCD读选通引脚, L C D_W R为写选通引脚, LCD_CS为LCD片选引脚。由于LPC2132外部总线且LCD数据为16位, 所以在输入数据时采用8个IO口模拟总线两次输入8位数据完成16位数据的输入。

触摸屏引脚M A S K_C S为功能选通引脚, M A S K_D C L K为外部时种输入引脚和外部数据输入引脚M A S K_D I N、数据输出引脚M A S K_D O U T相互配合完成实现数据的输入输出, M A S K_I N T为触摸中断信号输出引脚, 当触摸屏被触碰时该引脚为高电平。

3.4 SD卡座与处理器的连接

本系统是以SPI的方式对SD卡进行读写的, CS为卡座选通引脚, 连接到处理器P0.21, 卡座的DI和DO引脚分别连到处理器的P0.18、P0.19, 卡座的CLK引脚连接到P0.17, IN引脚连接到处理器的P0.22, 在处理器LPC2132中, P0.18、P0.19、P0.17分别设置为MISO、MOSI、SCLK功能。

4 系统软件设计

4.1 任务的分配和软件的系统结构

采用嵌入式实时操作系统uCOS-II操作系统, 本系统使用了三个任务, 分别完成SD卡的读写、屏幕显示和软按键处理 (触摸屏实现按键功能) 、VS1003音频解码播放。其中屏幕处理任务优先级最高, 第二为完成VS1003音频解码的任务, 最低优先级为SD卡读写的任务。

任务和任务之间通过邮箱进行同步。其中软件按键实现语音选取、切换及系统的关闭等操作,

4.2 系统程序流程

系统完成初始化后进入主程序没main () , 首先uCOS-II初始化, 然后状态、变量初始化, 再建立消息邮箱, 其次创建任务, 接着CCStart, 最后实现多任务调度。在主程序中还要对任务初始化并建立其它必要任务的按键响应。当进入任务调度后, 不会再回到main () 。

5 结语

本系统是基于ARM处理器的嵌入式技术在数据采集中的开发研究成果。硬件的设计本着低成本的原则, 建立了基于LPC2132的嵌入式开发平台, 实现了SD卡读写, VS1003音频解码播放功能, 实现了完全触摸屏操作。处理器的软件是基于嵌入式实时操作系统的, 利用多任务结构, 软件体系规范。同时, 软件按照嵌入式操作系统的要求, 分模块设计, 使软件系统在实运行中更加高效可靠。

摘要:以ARM7处理器LPC2132, 实时嵌入式操作系统uC/OS-II为基础, 应用VS1003音频解码器实现MP3功能, 使用了2.4寸触摸屏作为控制和显示界面, SD卡作为存储设备。由于LPC2132处理器的低功耗, uC/OS-II的实时性和稳定性, 触摸屏的易操作性, 加上SD卡的大容量小体积, 使得使用此方案实现的MP3在电池续航能力、稳定性、可操作性方面都非常优秀。

关键词:嵌入式,VS1003音频解码,实时操作系统,MP3

参考文献

[1] 周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社, 2005.

[2] 马洪连, 丁男, 等.嵌入式系统设计教程[M].北京:电子工业出版社, 2007.

上一篇:问题教学法在开放式高等数学教学中的应用下一篇:我国个人所得税制的效应分析及对策研究