1.1项目目的及产品概述: 本次armjishu.com 的STM32 嵌入式MP3 播放器开源项目的目的是让大家通过这个项目大家一起进步, 共同学习嵌入式相关知识,交流学习心得,体会项目过程中的困难与成功的喜悦。学习是目的,过程是重点。所以本次设计不采用MP3 专业芯片,而采用独立的功能模块搭建的方式。 本次MP3 播放器至少支持WAV 和MP3 两种音乐文件的播放,使用软解码来实现,还要求支持SD 读写,支持通过ISP 方式来实现STM32 嵌入式MP3 播放器固件的下载与更新,支持USB 为系统供电。本次设计不添加LCD 显示屏。 1.2方案分析及简介: 本次设计关于处理器的选型我们考虑目前市场上较为常见的ARM7,ARM9,和Cortex-M3 内核的处理器,选择ARM9 来做有点大材小用是种浪费,而Cortex-M3 在性能上比ARM7 有很多优势,而且Cortex-M3内核系列控制器逐渐占据微控制市场主流而且价格便宜,所以选择以Cortex-M3 内核的处理器。目前市面上比较常见Cortex-M3 为德州仪器(TI) (该芯片原属Luminary Micro 公司,后被TI 收购)的LM3S 系列和意法半导体ST 的STM32。我们选择的芯片必须至少有一个SPI 接口来驱动SD 卡和一个I2S 驱动音频解码芯片,所以我们选择意法半导体ST 的STM32F103VET 芯片。STM32 嵌入式MP3 播放器的系统架构如图表1 所示。图中CPU 读取SD 存储卡里的MP3 音乐文件后对MP3 数据做软解码,将解码后的数据通过I2S 总线传输至音频DAC 芯片做D/A 转换后送至耳机听筒。图右侧的SPI 总线由于控制音频DAC 芯片的参数实现音量控制等功能。图左侧的按键KEY 由于输入控制命令,如“播放/暂停”、“上一曲”、“下一曲”等。图左侧的LED 指示灯用于指示系统当前的状态。其它一些调试接口如RS232 串口、JTAG 接口以及USB 接口等不是系统运行时的必需接口
文档内容节选
1 2 3 4 5 6 7 PCB 8 9 3 3 3 4 4 4 4 4 6 8 8 9 10 11 12 13 14 16 16 17 18 19 19 19 20 20 20 20 21 21 21 21 22 1 22 WAV MP3 STM32 MP3 SD USB ARM7 ARM9 CortexM3 CortexM3 ARM7 CortexM3 CortexM3 TI Luminary Micro TI SPI SD ST STM32F103VET LM3S I2S MP3 KEY 1 armjishucom STM32 MP3 MP3 MP3 ISP LCD ARM9 CortexM3 STM32 ST STM32 MP3 SPI MP3 1 I2S CPU DAC SD DA RS232 JTAG DAC USB LED STM32 MP3 1 STM32 MP3 1JPG 1 2 22 2 3 1 STM32 MP3 3 22 4 22 cid0 Cortexcid0M3 3......