基于STM32F单片机的音乐播放器设计(最新整理)

  • 格式:pdf
  • 大小:139.98 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STM32的大容量音乐播放器设计(湖北大学物理学与电子科学技术学院,湖北武汉430074)

摘 要:采用具有ARM Cortex-M3内核的STM32F103R8T6等芯片进行相关的硬件设计,使用KEIL4.0进行固件程序和驱动程序的开发,设计了一种基于STM32的CCID协议的USB读卡器.该读卡器支持符合ISO 7816-3规范的接触式IC卡。实验表明,该设计可以提高智能卡系统的通信速度和中断响应速度。关键词:USB;CCID协议;STM32;ISO7816-3

1引言

2系统总体设计概述

基于PCM1770芯片播放器

3硬件设计

3.1控制器

STM32F105互联型系列微处理器使用高性能的ARM Cortex-M3 32位的RISC内核。工作最高频率为72MHZ,内置256K字节的闪存和64K字节的SRAM。丰富的I/O端口和联接到两条APB总线的外设。包含标准的通讯接口(2个IIC接口,3个SPI接口,2个IIS接口,1个USB OTG 全速接口,5个USART接口和2个CAN接口),2个12位的ADC和4个通用的16位定时器。。它具有高性能、低功耗、低电压等特性,同时还具有高集成度和易于开发的特点,使该系列产品成为小型项目和作为完整平台的理想选择。STM32的使用需要一个最小系统,包括晶振电路,复位电路。

1)晶振电路的设计:晶振电路用于向处理器提供工作时钟。本系统使用72MHZ无源晶振作为系统的主振荡器。晶振的负载电容应当按照要求选取,电容不正确可能导致晶振起振缓慢甚至不起振,这将影响整个系统的稳定性。

2)复位电路的设计:采用简单的

“RC+按键”复位形式,该复位电路可以实现上电自动复位和手动按键复位。上电自动复位是通过外部复位电路的电容充电来实现的,按键复位是通过复位端经电阻与电源接通而实现的。

3.2电源

本系统所需要的硬件输入电源为3.3V, 采用AS1 l17—3.3稳压芯片来提供,输入电压范围是4.75V-10V,输出电压3.3V。在使用过程中用5V电源供电即可。

3.3PCM1770音频播放模块

DAC芯片选择德州仪器的PCM1770PWR芯片提供音频播放功能,它是具有耳机放大器的24 位低功耗立体声音频DAC(解码器)。可支持工业标准音频数据格式,包括标准模式、I2S 飞利浦标准、MSB对齐标准。可直接驱动耳机,具有软件控制音量大小,芯片模式和模拟语音合成等功能。PCM1770的I2S共4路信号,I2S_SD 串行数据用来接收2路左右声道时分复用通道的数据、I2S_WS 字选(左右声道选择)从模式下作为输入、I2S_CK 串行位时钟从模

PCM1770的SPI共三路信号,

PCM1770,由它进

FLASH存储芯片W25Q32,

LCD相比有很多优点,超轻、超薄、高亮度、大视角、像素自身发光、低功耗、高清晰等等。CT242864PMY 与一般LCD接口相似,包括数控选择D/C、读写选择W/R、复位和8个并行数据传输位。

W25X系列FLASH存储器可以为用户提供存储解决方案,具有PCB板占用空间少,引脚数量少,功耗低等特点。与不同串行FLSH相比,使用更灵活,性能更出色。它非常适合做代码下载应

例如存储声音,文本和数据。工作电压在2.7V-3.6V。在这里选择W25Q32型号,存储容量为4M,

RealView MDK开发套件源自德国Keil公司,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具, 支持ARM7、ARM9和最新的Cortex-M3核处理器.本次设计的软件平台是建立在MDK μVision4之上的。系统软件设计包括应用层的主程序和驱动层的PCM1770音频、W25Q32汉字存取、OLED显示、SD卡和FatFS文件系统、按键模块。

4.1 软件设计

1)为了能够实时在OLED屏幕上显示所播放音乐的名称,必须将数字、字母、汉字以及图形符

(16*8或者16*16点阵)存于W25Q32。这里是按照国标GB2312-80中规定号所对应的的OLED显示码

的区位码的顺序存储。由于处理器的FLASH为256K,要存储区位码中所有汉字图形可以分两次烧录存储。在每次使用时根据机内码与区位码的对应规则调用。第一步:将区位码转换为国标码。两区位码改写成十六进制前两位是区码,后两位是位码。将十六进制数加2020H得到的就是国标码。第二步:国标码转换成机内码。将所得到的国标码加8080H,就可得机内码。

2)FatFS 是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。FatFs 的编写遵循ANSI C,因此不依赖于硬件平台。它可以嵌入到便宜的微控制器中,如8051, PIC, AVR, ARM 等等。本系统将通过FatFS 文件系统访问SD卡文件。 FatFs 模块为应用程序提供了部分函数,在此基础上再编写遍历文件等函数即可满足应用。

3)处理器STM32F105的I2S接口为主模式和16bitMSB 对齐标准,PCM1770为从设备模式和MSB 对齐标准。SPI2接口(访问PCM1770寄存器接口)为主模式和数据传输从MSB位开始。

4.2软件设计流程图

处理器上电后先配置各模块的GPIO接口并初始化,通过FatFS文件系统遍历SD卡中音频文件并将文件名存储。从W25Q32中读取上次停止时正在播放的音乐文件显示在OLED屏幕,准备播放。在主程序大循环中有两个工作,第一判断正在读取的文件是否读取完成,第二判断是否有按键按下。处理器采用中断的方式通过I2S接口播放音频文件。