kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 基于DSP的触摸式MP3的设计
基于DSP的触摸式MP3的设计
来源:电子技术应用2010年第7期
王 宾,杨 岸
安徽理工大学 电气与信息工程学院,安徽 淮南232001
摘要:介绍了利用数字信号处理芯片TMS320LF2407A实现触摸式MP3播放器设计的方案。采用芯片VS1003B进行MP3的解码,减轻了系统的负担。采用ILI9320为驱动器的真彩彩屏,并采用TM7843为控制器的4线电阻式触摸屏作为人机交互平台,实现了MP3等文件的播放、歌词的同步显示以及彩图显示等功能,相关文件存储在SD卡中。
中图分类号:TP29
文献标识码:B
文章编号: 0258-7998(2010)07-0081-03
The design of MP3 player with touchable style based on DSP
WANG Bin,YANG An
Department of Electric Engineering, Anhui University of Science and Technology,Huainan 232001,China
Abstract:This article introduced a method to achieve the MP3 player with touch style based on DSP chip named TMS320LF2407A. It lightened the system that VS1003B was used to decode MP3. As interface, the colorful screen drove by ILI9320 and the touchable screen drove by TM7843 were adopted. The system realized that MP3 files could be played with the lyric displayed synchronously and colorful picture could be displayed and so on. All the files were stored in SD card.
Key words :TMS320LF2407A;VS1003B;MP3;touchable screen;ILI9320

TMS320LF2407A是美国TI公司推出的高性能16 bit定点数字信号处理器,它采用了高性能静态CMOS技术,使得供电电压降为3.3 V,减小了控制器的功耗;40 MIPS的执行速度使指令周期缩短到25 ns(40 MHz),从而提高了控制器的实时控制能力。它专门为数字控制设计,集DSP的高速信号处理能力及适用于控制的优化外围电路于一体,在数字控制系统中得以广泛应用;MP3是指MPEG国际标准音频第三层编/解码[1],本文采用硬件解码方式(软件解码代价高,速度慢),利用TMS320LF2407A实现MP3播放器的设计。
1 系统硬件组成
1.1 微控制器TMS320LF2407A

系统硬件结构如图1所示,TMS320LF2407A作为主控芯片,内部资源十分丰富,具有40个可编程/复用的GPIO脚,具有事件管理器EV模块、CAN总线模块、SCI模块以SPI模块等。其中,同步串行SPI模块具有4个通信引脚:主出从入SPIMOSI、主入从出SPIMISO、同步时钟SPICLK、总线片选SPISTE。本系统中,SD卡、VS1003B以及TM7843都是SPI总线接口设备,DSP采用SPI总线扩展了SD卡与VS1003B音频解码芯片,而并未将触摸屏控制器TM7843也扩展到SPI总线上,采用了IO口模拟SPI的方案,原因是在对SD卡操作的同时(数据还未读入RAM),是不可能向VS1003B传送数据的,SPI处在间歇的切换状态中,不会导致争用、冲突,但是对屏幕的触碰是难免的,所以共用总线不可靠。

1.2 VS1003B解码芯片
VS1003B是由荷兰VLSI公司出品的一款单芯片的MP3/WMA/MIDI音频解码和ADPCM编码芯片,其拥有一个高性能低功耗的DSP处理器核VS_DSP,5 KB的指令RAM,0.5 KB的数据RAM,串行的控制和数据输入接口,4个通用IO口,一个UART口;同时片内带有一个可变采样率的ADC、一个立体声DAC以及音频耳机放大器。
如图2所示,VS1003B各部分的供电电压不同,AVDD(模拟电路电压)与IOVDD(IO电压)须用3.3 V供电,CVDD(数字电路电压)必须用2.5 V供电;VS1003与DSP连接的引脚主要有7个,分别为DREQ、SO、SI、SCLK、XRESET、XCS、XDCS。只有保证它们与DSP正确可靠的连接,才能对VS1003进行有效的操作与控制;操作时,只有当DREQ为高(准备好)时才能读写VS1003B,它具有2个读写端口,即命令端口和数据端口,分别由XCS(命令片选)与XDCS(数据片选)决定,由DSP的IO口控制。SO、SI、SCLK是SPI接口,与DSP的SPI总线对接。图2的左侧与右侧原理图分别为MIC音频模拟信号输入电路与音频输出电路,由于内部具有耳机驱动器,VS1003B输出信号不需经过任何功放电路,简化了硬件电路。

1.3 SD卡电路
SD卡有9个引脚,支持2种可选的通信协议:SD模式和SPI模式[2]。如前所述,本设计采用SPI模式。图3中,DI、DO、SCLK分别对应微控器SPI模块的3个引脚;CS脚是SD卡SPI模式的片选引脚,与DSP的IO口连接,DSP的SPISTE脚并未使用(因为需要扩展多个SPI芯片,需要多个片选脚),对SD卡操作时,CS脚才拉低有效,避免了与VS1003B冲突。SENS与WP分别为SD卡的插入检测与写保护脚。

1.4 彩屏与触摸屏驱动电路
ILI9320是手机上常用的彩屏控制器,采用16 bit并行总线方式,端口被映射到DSP的IO空间,彩屏具有4个背光LED灯(控制端为LED1~LED4),采用三极管9012连接共阳极LEDA,使背光受控于DSP的PE3脚,若一段时间内未触摸屏幕,控制PE3脚为高,使背光熄灭,降低系统功耗。彩屏与4线电阻式触摸屏紧贴一起,2块屏是一个整体,输出软排线中的XR、YD、XL、YU(参见图4中的U3)即为4线电阻采样端,与TM7843(芯片U4)对应脚连接,TM7843的DCLK、DIN、DOUT、/CS脚与TMS320LF2407A的IO脚连接,模拟SPI总线。PENIRQ是笔落下信号,程序中判断此脚为低电平时(或采用中断方式),则有触摸屏幕事件发生,再进一步做区域识别处理。
2 软件设计
软件主要分为3个任务:显示任务、触摸识别任务、MP3播放任务,由?滋C/OS操作系统负责调度。MP3播放任务完成了最主要的功能,即从SD卡FAT32文件系统中读取数据再送入VS1003B解码。然而μC/OS系统只是完成了基本的任务调度及相关机制,并无其他内嵌实用模块,所以基于SD卡的FAT32文件系统的实现必须设计完成。
FAT32文件系统如图5所示,物理扇区0可以引导程序定位到正确的文件系统逻辑扇区0的位置。引导区DBR的第一扇区包括一个引导程序和BPB参数块[3]。启动区BPB是文件系统最重要的部分,它记录了每扇区字节数、根目录簇号、FAT表号等重要信息,依据它可以找到每个文件的簇号,依据文件的链式存储结构,可以依次找到文件的所有存储簇号。

软件中设计了对应的结构体,描述了BPB块结构、目录结构、文件记录体结构等。其中,BPB结构如下:
struct FAT32_BPB
{
unsigned char BS_jmpBoot[3]; //跳转指令 offset:0
unsigned char BS_OEMName[8]; //系统字符串 offset:3
unsigned char BPB_BytesPerSec[2]; //每扇区字节数offset:11
unsigned char BPB_SecPerClus[1]; //每簇扇区数 offset:13
……
unsigned char BS_FilSysType[11]; // offset:71
unsigned char BS_FilSysType1[8]; //串″FAT32″ offset:82
};
再利用SD卡硬件层API接口函数FAT32_ReadSector将BPB所在扇区读入RAM缓冲区,利用指针指向内部成员即可获得以上信息,从而可以定位到文件位置并读取数据。MP3通常只是读取文件,并不会进行删除、保存等操作,所以为了提高效率、精简代码,本FAT32系统只实现了文件定位及读取功能。图6为主流程图与播放任务流程图。

TMS320LF2407A具有较高的性能,资源丰富,将其应用到MP3播放器中,提高了整体性能;采用触摸屏可以随意点选歌曲以及拖动播放进度等,使系统可控性提高;彩屏使系统展现能力提高,系统不仅可以播放音频,而且能够显示全彩BMP图片、文档文件等,类似于小型PDA。
参考文献
[1] 刘毅.基于TMS320VC5509实现MP3解码[J].电子技术应用,2006(11).
[2] 聂虹.SPI模式下MMC卡的读写机制[J].单片机与嵌入式系统应用,2007(7).
[3] 付秀泉.基于MSP430F1611和SD卡的心电数据存储系统的低功耗设计[J].电子技术应用,2009(4).
[4] 李宏佳.基于ARM和SD卡的嵌入式文件系统研究与设计[J].电子设计应用,2007(7).

此内容为AET网站原创,未经授权禁止转载。
Baidu
map