您现在的位置: 华玉生活网 >> 技术文库 >> 无线 >> 正文>> 繁体中文

基于DSP的触摸式MP3播放器的设计

嵌入式|Linux|WinCE|单片机|ARM|DSP|EDA|FPGA|CPLD|PLC|数电|模电|PCB|硬件设计|软件编程|应用电子技术......培训视频教程分类资源,海科资源http://www.haike-source.com/介绍了利用数字信号处理芯片TMS320LF2407A实现触摸式MP3播放器设计的方案。采用芯片VS1003B进行MP3的解码,减轻了系统的负担。采用ILI9320为驱动器的真彩彩屏,并采用TM7843为控制器的4线电阻式触摸屏作为人机交互平台,实现了MP3等文件的播放、歌词的同步显

嵌入式|Linux|WinCE|单片机|ARM|DSP|EDA|FPGA|CPLD|PLC|数电|模电|PCB|硬件设计|软件编程|应用电子技术......

培训视频教程分类资源,海科资源 http://www.haike-source.com/  介绍了利用数字信号处理芯片TMS320LF2407A实现触摸式MP3播放器设计的方案。采用芯片VS1003B进行MP3的解码,减轻了系统的负担。采用ILI9320为驱动器的真彩彩屏,并采用TM7843为控制器的4线电阻触摸屏作为人机交互平台,实现了MP3等文件的播放、歌词的同步显示以及彩图显示等功能,相关文件存储在SD卡中。TMS320LF2407A是美国TI公司推出的高性能16bit定点数字信号处理器,它采用了高性能静态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模式。如前所述,本设计采用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。

嵌入式|Linux|WinCE|单片机|ARM|DSP|EDA|FPGA|CPLD|PLC|数电|模电|PCB|硬件设计|软件编程|应用电子技术......

培训视频教程分类资源,海科资源 http://www.haike-source.com/


  • 扩展阅读
  • 上一个文章:
  • 【返回网站首页】 【返回无线】
  • 下一个文章:
  • 【字体: 】【】【发表评论】【加入收藏】【告诉好友】【打印此文
    文章 软件 电影 商品

    相关文章

    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    | 服务声明 | 充值中心| 华安五金电器 | 收费标准| 论坛| 留言| 实用查询| 会员中心| 下载帮助| 设为首页|

    技术支持:瑞达科技 即时交谈QQ:237013889 QQ群:13810759 E-Mail:237013889@qq.com
    非盈利网站,如有侵权,请来信来电告知,第一时间处理,谢谢!
    桂ICP备17008104号 华玉生活网网站统计
    tj