基于SPCE061A单片机音乐播放器的设计与实现 - 图文

更新时间:2024-05-18 22:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

桂林电子科技大学毕业设计

毕 业 设 计 (论 文)

题 目:基于SPCE061A单片机音乐播放器的设计与实现 院 (系): 成人教育学院 专 业: 电子信息工程 学生姓名: 林桂生 班 级: 学 号: 指导教师:

年 月 日

1-28

桂林电子科技大学毕业设计

摘 要

凌阳十六位单片机 SPCE061A 采用μ’nsp16 位微处理器内核(以下简称μ’nSP)。SPCE061A 内嵌 32K 字(Word)闪存(FLASH),2K 字(Word)SRAM,内置十位 ADC、DAC,有多达十四个的中断源等丰富的片内资源。CPU 最高可工作在 49MHz 的主频下,较高的处理速度使μ’nSP 能够非常容易地、快速地处理复杂的数字信号,这使得 SPCE061A 具有灵活的语音处理能力。因此,与其它类型的单片机相比,以μ’nSP 为核心的 SPCE061A 微控制器是适用于有数字语音功能的应用领域产品的一种最经济的选择。本文讨论了应用SPCE061A 精简开发板-61 板、SPR 模组实现简易的音乐播放器解决方案。

关键词:

SPCE061A;凌阳单片机;语音播放;SPR4096;ResWriter;

Abstract

Sunplus microcontrollers SPCE061A 16-bit microprocessor core with μ'nsp16

(hereinafter referred to μ'nSP). SPCE061A embedded 32K words (Word) flash memory (FLASH), 2K words (Word) SRAM, 10 built-in ADC, DAC, up to 14 interrupt sources such as a wealth of on-chip resources. CPU up to work in the 49MHz frequency, the higher the processing speed to enable μ'nSP can very easily and quickly handle complex digital signal, which makes SPCE061A flexible voice processing capabilities. Thus, in comparison with other types of microcontrollers, To μ'nSP core SPCE061A micro-controller is applied to a digital voice-enabled applications, products, one of the most economical choice. Keyword:

SPCE061A; Sunplus; audio playback; SPR4096;ResWriter;

2-28

桂林电子科技大学毕业设计

目 录

1 引言?????????????????????????4 2 设计要求???????????????????????4 3 模块特性简介?????????????????????4

3.1 SPCE061A 简介??????????????????????4 3.1.1概述?????????????????????????4 3.1.2芯片特性简介?????????????????????5 3.1.3 SPCE061A 精简开发板??????????????????6 3.2 SPR 模组简介??????????????????????6 3.2.1基本特性与参数指标???????????????????6 3.2.2主要功能???????????????????????7 3.2.3结构框图???????????????????????7 3.2.4 SPR4096???????????????????????7 3.2.5 ResWriter 工具简介???????????????????7

4 系统总体方案介绍…………………………………………………8

4.1系统的硬件框图………………………………………………………8 4.2硬件模块连线图………………………………………………………8

5 系统硬件设计………………………………………………………9

5.1主控板电路模块分析……………………………………………………9 5.1.1微控制器电路………………………………………………………9 5.1.2电源板电路模块分析………………………………………………10 5.1.3 CPU 语音输出电路…………………………………………………11

3-28

桂林电子科技大学毕业设计

5.2 SPR 模组硬件框图……………………………………………………11

6 系统软件设计………………………………………………………14

6.1主要功能……………………………………………………………14 6.2方案实现……………………………………………………………14 6.2.1初始化函数…………………………………………………………17 6.2.2语音播放的实现……………………………………………………17 6.2.3中断的使用…………………………………………………………18

7 方案验证……………………………………………………………18

7.1制作过程……………………………………………………………18 7.2操作步骤……………………………………………………………22

8 结束语………………………………………………………………22 9 参考文献……………………………………………………………23 附录 1:索引表

附录 2:61板电路原理图 附录 3:61板电路实物图 附录 4:SPR 模组电路原理图 附录 5:SPR 模组_4096 实物图

4-28

桂林电子科技大学毕业设计

1. 引言

随着 IC 集成度越来越高,成本越来越低,使得 MP3 得到了很大的普及。让我们随时随地的感受着数码音乐。本方案采用SPCE061A 单片机、SPR4096 模组实现一个简易的音乐盒播放器,也让我们实现数码音乐DIY。

2. 设计要求

利用 SPCE061A 单片机、SPR4096模块制作音乐播放器,要求具有下述功能: 1) 可以实现多首音乐的播放;

2) 可以实现音乐播放的开始、暂停、停止、上一首、下一首的控制功能; 3) 可以实现音乐的音量控制。

3. 模块特性简介

3.1. SPCE061A 简介 3.1.1. 概述

SPCE061A 是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有 8 路 10 位精度的 ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路 10 位精度的 DAC,只需要外接功放(SPY0030A)即可完成语音的播放。另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。在此环境中,支持标准 C 语言,可以实现 C 语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件:SPCE061A 片内还集成了一个 ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而 ICE 接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSP IDE)用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载。

下图为 SPCE061A 单片机的内部结构框图:

5-28

桂林电子科技大学毕业设计

3.1.2. 芯片特性简介

SPCE061A 性能简介: ? 16 位 u’nSP 微处理器

? 工作电压(CPU)VDD 为 3.0~3.6V,(I/O)VDDH 为 3.0~5.5V ? CPU 时钟:0.32~49.152MHz ? 内置 2K 字 SRAM ? 内置 32K 字 FLASH ? 可编程音频处理 ? 晶体振荡器

? 系统处于备用状态下(时钟处于停止状态),耗电仅为 2uA/3.6V ? 2 个 16 位可编程定时器/计数器(可自动预置初始计数值) ? 2 个 10 位 DAC(数/模转换)输出通道 ? 32 位通用可编程输入/输出通道

? 14 个中断源可来自定时器 A/B、时基、2 个外部时钟源输入和键唤醒

6-28

桂林电子科技大学毕业设计

? 具备触键唤醒的功能

? 使用凌阳音频编码 SACM_S480 可以播放压缩的语音资源 ? 锁相环 PLL 振荡器提供系统时钟信号 ? 32768Hz 实时时钟

? 7 通道 10 位电压模/数转换器(ADC)和单通道声音模/数转换器 ? 声音模/数转换器输入通道内置麦克风放大器,并具有自动增益控制

(AGC)功能 ? 具备串行设备接口

? 具备低电压复位功能和低电压检测功能 ? 内置在线仿真电路接口

? 具有 WatchDog 功能

3.1.3. SPCE061A 精简开发板

SPCE061A 精简开发板(简称 61 板),是以凌阳 16 位单片机 SPCE061A 为核心的精简开 -仿真-实验板。61 板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含 MIC 输入部分和 DAC 音频输出部分)、复位电路等,采用电池供电,方便随身携带。61 板上有调试器接口(Probe 接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合 unSP IDE,可方便地在板上实现程序的下载、在线仿真调试。

61 板上的主要功能模块如下:

? SPCE061A 单片机最小系统外围电路模块; ? 电源输入模块;

? 音频电路(包含 MIC 输入、DAC 音频功放输出)模块; ? 按键模块; ? I/O 端口接口模块;

? 调试、下载接口模块;

3.2. SPR 模组简介

3.2.1. 基本特性与参数指标

产品型号:SPR MODULE V1.0

7-28

桂林电子科技大学毕业设计

SPR 模组工作电压:3.3V SPR 模组外形尺寸:50mm×50mm 3.2.2. 主要功能

针对存储器芯片SPR4096/SPR1024,开发的简易烧写器。该烧写器配合PC机ResWriter 工具通过 EZ-probe 下载线,完成对 SPR4096/1024存储器芯片的擦除、写入、校验等功能。并且在 SPR 模组上留有与 SPCE061A 单片机的接口,可以实现 SPR 模组与 SPCE061A 单片机组成的系统。 3.2.3. 结构框图

SPR 模组预留两个接口,一个接口是 EZ-probe,这是在使用 ResWriter 工具对 SPR4096/1024 进行烧写时连接使用的,另一个是 10PIN 的排线,主要提供电源以及与 SPCE061A 连接使用。用户请注意,SPR 模组电路支持 SPR4096 和 SPR1024,但只能同时对其中一种芯片进行使用。SPR 模组有两种基本配置,一种为电路板加 SPR4096 芯片,另一种为电路板加 SPR1024 芯片,而且必须配合 EZ-Probe 下载线使用。用户在选购时请您注意确认是 SPR 模组_4096 还是 SPR 模组_1024。 3.2.4. SPR4096

SPR4096 内嵌 512K*8 位高性能 FLASH 存储器同时内嵌 4K*8 位SRAM。芯片具有 BMI Bus Memory(Interface)并行接口总线与 SIF(Serial Interface)串行接口总线。在 SPR4096 芯片中,使用两种电源供电,VDDI 与 VDDQ。VDDI 范围在 2.25V-2.75V,这个电源是给内部的 FLASH 与逻辑控制单元供电的。VDDQ范围在 2.25V-3.6V,只给 I/O 口供电。SPR4096 可以工作在 5.0MHz 频率下,最大读电流为 2.0mA,最大编程/擦写电流 6.0mA。 3.2.5. ResWriter 工具简介

8-28

桂林电子科技大学毕业设计

ResWriter 工具是将语音、字模等数据资源(二进制文件)整合处理、烧录到 SPR1024/4096 FLASHMemory 的烧录工具。用 PC Printer Port 通过下载线(EZ_Probe)烧录 SPR1024/4096,基本操作内容包括芯片的空白检查(Blank Check) 芯片的数据擦除、(Erase) 读出芯片数据、(Read) 烧录写入数据、(Program)、校验检查写入的数据是否正确(Verify)。工具具有文档整合功能,把多个小文档按照指定的格式生成索引表,然后将索引表与所有的小文档整合成一个大文档作为烧录 FLASH 的数据资料。

4. 系统总体方案介绍

4.1. 系统的硬件框图

系统以 SPCE061A 为核心,可以划分为键盘(61 板上自带的按键)输入、SPR4096 资源存储与 61 板语音播放等部分,如下图所示。61板作为整个系统的核心控制,并且负责语音的输出。SPR模组作为语音资源的存储介质,这些语音资源是通过专用的 ResWriter 工具烧写到 SPR4096 芯片中的。61 板上自带的键盘实现用户控制音乐播放器的控制作用。

4.2. 硬件模块连线图

9-28

桂林电子科技大学毕业设计

5. 系统硬件设计

5.1. 主控板电路模块分析 5.1.1. 微控制器电路

控制器采用凌阳科技公司的SPCE061A,其硬件资源分配见表:

10-28

桂林电子科技大学毕业设计

5.1.2. 电源板电路模块分析

下表电源部分的电路,4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。SPY0029 是凌阳公司设计的电压调整IC,采用CMOS工艺。SPY0029具有静态电流低、驱动能。力强、线性调整出色等特点。图中的VDDH3为SPCE061A的I/O电平参考,接SPCE061A 的51脚,这种接法使得I/O输出高电平为3.3V;VDD_P为PLL锁相环电源,接SPCE061A的7 脚;VDD和VDD_A分别为数字电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VSS是数字地,接SPCE061A的38脚;AVSS2接音频输出电路的AVSS2。

11-28

桂林电子科技大学毕业设计

5.1.3. CPU 语音输出电路

SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。下表是音频输出电路图。可以直接听喇叭输出的声音。

5.2. SPR 模组硬件框图

SPR 模组硬件原理图如图所示:

12-28

桂林电子科技大学毕业设计

SPR 模组的硬件电路主要分成 3 大部分,下面分别介绍:

第一部分:ResWriter 工具对 SPR4096/SPR1024 进行烧写的硬件电路如图所示:

此部分电路主要是控制 SCK、SDA 信号的作用,通过 74HC244 可以控制 SDA 信号的通与断,这样可以使用 ResWriter 工具发出符合烧写芯片的时序信号,完成对芯片的擦除、写入与校验功能。

第二部分:SPR4096 的工作电路,如图所示:

13-28

桂林电子科技大学毕业设计

此部分工作电路是为了使 SPR4096 存储器工作的外围电路,通过 SCK 与 SDA 与外界相连。

第三部分:SPR1024 的工作电路,如图所示:

此部分工作电路是为了使 SPR1024 存储器工作的外围电路,通过 SCK 与 SDA 与外界相连。

第四部分:SPR 模组还有其他接口电路,如图所示:

14-28

桂林电子科技大学毕业设计

上图最左边的电路是 SPR4096 片内 FLASH 与片内 SRAM 的选择端,当 MEM 选择与地短接时使用的是 SPR4096 的片内 FLASH,当 MEM 选择与电源短接时使用的是 SPR4096 的片内 SRAM。

6. 系统软件设计

6.1. 主要功能:

结合 61 板上的 3 个按键,实现播放器功能。

6.2. 方案实现

整个软件系统完成的功能在程序中分为如下文件实现:

main.c 文件:整个工程的主文件,负责调用相关函数完成相关功能。 speech.c 文件:该文件主要是放音函数,负责从 SPR4096 中取出数据播放。 key.asm 文件:此文件中包含有与键盘操作有关的函数,包括键盘初始化、扫描键盘与得到键盘程序。函数声明在 key.h 与 key.inc 文件中,分别供 c 语言与汇编语言调用。

spr4096_driver.asm 文件:与 SPR4096 存储器相关的操作函数,包括初始化,读、写、擦除操作等。函数声明在 spr4096_user.h 文件中,供 c 语言调用。

fiq.asm 文件:所有与中断有关的操作函数都在这个文件。 FIQ_TimerA 中断中调用语音播放服在务函数完成, IRQ6_TMB1 中断中调用 8Hz 中断实现均衡器显示, IRQ6_TMB2 中断中调用 128Hz在在中断完成键盘扫描作用。在语音处理方面采用了凌阳科技的 sacmv26e.lib 函数库完成语音播放功能,只需要调用几条函数就可以播放语音。 下面具体介绍函数:

15-28

桂林电子科技大学毕业设计

主函数流程图参考图所示:

在主函数中完成 SPR4096 的初始化、键盘的初始化,并进行停止状态的界面显示,然后进入循环根据键盘的值执行相关的操作。

16-28

桂林电子科技大学毕业设计

17-28

桂林电子科技大学毕业设计

6.2.1. 初始化函数

系统要对 SPR4096、键盘进行初始化,参考图如下所示:

SPR4096初始化 键盘

6.2.2. 语音播放的实现

由于语音资源存储在外扩的存储器 SPR4096 上面,要实现语音播放必须采用手动方式。需要获得语音资源,关键解决语音资源的起始地址,然后通过读取函数获得语音资源。

函数流程图参:

18-28

桂林电子科技大学毕业设计

手动方式播放函数

关于如何确定每个语音资源的起始地址,请参考附录 1 ResWriter 工具索引表部分。

6.2.3. 中断的使用

本次设计使用了 TimerA 中断与 8Hz 时基中断 128Hz 时基中断。在 TimerA 中采用 8KHz 中断实现语音的输出。

7. 方案验证

7.1. 制作过程

按照以下步骤,可以实现应用方案的验证。

步骤一:音乐盒播放器语音资源的准备。通过网上或其他途经获得你喜欢的

19-28

桂林电子科技大学毕业设计

音乐文件,要求格式为 mp3 或 wave。如果是 mp3 文件格式,需要将该文件转换为 wave 文件。

步骤二:使用 windows 自带的录音机程序将 wave 文件打开。

执行菜单-〉文件另存为,弹出下面这个对话框,点击更改按钮。

在属性里选择如下:然后点击确定。注意,如果文件不能修改,请将 wave 文件的只读属性去掉。

使用凌阳的音频压缩工具将修改后的 wave 文件压缩成为 A2000 格

20-28

桂林电子科技大学毕业设计

式的文件。

得到的文件如下:

21-28

桂林电子科技大学毕业设计

步骤三:将得到的压缩文件烧写到 SPR4096 芯片中。在这里可以使用

ResWriter 工具进行烧写。

步骤四:将 SPR 模组与 PC 机通过 EZ_Probe 相连,正确的设置 SPR 模组

的跳线,使用 3.3V 对SPR 模组供电。

步骤五:启动 ResWriter 工具,打开文件,点击自动烧写按钮将语音资源

文件烧写到 SPR4096 芯片中。

使用 ResWriter 工具烧写文件。

步骤六:按照下面的连线方法连接硬件。注意将 SPR 模组的跳线正确设置。 注意:必须使用 5V 电源对 61 板供电,而且 I/O 口跳线选择 5V 输出,在这里使用 5V,SPR 模组也可以正常工作。

22-28

桂林电子科技大学毕业设计

音乐盒播放器的硬件连接

步骤七:将音乐盒播放器工程文件下载到 61 板上,并运行程序。到此一个完整的音乐盒播放器就制作完成了。 7.2. 操作步骤

停止状态:按键 Key1 开始播放音乐,按键 Key2 选择下一首曲目,按键

Key3 选择上一首曲目,按键 Key3 一秒钟恢复到停止状态;

播放音乐状态:按键 Key1 暂停播放音乐,按键 Key2 播放下一首曲目,按

键 Key3 播放上一首曲目,按键 Key3 一秒钟恢复到停止状态;

暂停状态:按键 Key1 继续播放音乐,其他按键无效。

按键功能

8. 结束语

23-28

桂林电子科技大学毕业设计

本系统是 SPCE061A 的一个基本应用,体现了 SPCE061A 多种资源对产品开发的极大支持。实验结果在电路板上调试通过,播放MP3音乐流畅,音质较好。μ’nsp16 位微处理器能够非常容易地、快速地处理复杂的数字信号。可以嵌入到一些产品使其兼有MP3播放功能。

9. 参考文献

SPCE061A单片机教程.凌阳大学计划技术资料,2002 凌阳大学计划网站 www.unsp.com.cn

附录 1:索引表

为了便于使用数据,在烧录的时候要对数据文件进行索引,这样在使用的时候就可以知道数据存放在哪些地址,可以对文件进行操作。 资源索引表格式:

考虑到存储语音资源的实际使用情况,索引表包括 4 个字节的特定码,整合后文档的起始地址、结束地址、整合前文件的总个数、整合前每个文件的起始地址、结束地址。这些项目依次排列。4 个字节的特定码为 SPRW(Sunplus Read Write)的 ASCII 码。特定码的作用主要是从芯片读回的数据保存成文件后,在使用 ResWriter 工具打开时进行检测。如果文件中存在特定码说明芯片中的数据是使用 ResWriter 工具烧录的,这样的文件可以在 ResWriter 工具中正确显示, 如图所示:

24-28

桂林电子科技大学毕业设计

如果没有特定码,那么芯片中的数据就不是通过 ResWriter 进行烧录的(SPR1024/SPR4096 可以通过 SPCE061A 等单片机进行读写操作,也可以使用 AllWriter 工具进行读写操作),那么数据文件在 ResWriter 工具中显示是没有意义的。整合后文件的起始地址便于引用,结束地址便于检查资源是否超出存储范围。整合前文件的起始、结束地址便于直接访问整合前的文件。考虑到文件名实际用处不大,整合后资源长度可以通过结束地址与起始地址计算得出,在索引表中没有保留。 索引表格式如下: #define DWORD long int #define WORD unsigned int typedef struct //整合后的文件 {

DWORD StartAddress; DWORD EndAddress; }CONFLILE;

typedef struct //整合前的小文件 {

DWORD length;

25-28

桂林电子科技大学毕业设计

DWORD StartAddress; DWORD EndAddress; }UNCONFILE;

typedef struct //索引表 {

“SPRW” ; //特定码 SPRW CONFLILE Index1;

WORD unconfilenumber; //所有整合前小文件的个数 UNCONFILE Index2[unconfilenumber]; }INDEX;

如图所示:在地址 0x00000-0x00003 为 4 字节的特定码,在地址 0x00004-0x00007 为 4 字节的整合后文件的起始地址,在地址 0x00008-0x0000B 为 4 字节的整合后文件的结束地址,在地址0x0000C-0x0000D 为 2 字节的整合前文件总数。然后每 4 字节分别为整合前第一个文件的长度、起始地址、结束地址,一直到最后一个整合前文件的长度、起始地址、结束地址。索引表结束,然后是文件的数据。

26-28

桂林电子科技大学毕业设计

索引表图示

附录 2:61板电路原理图

附录 3:61板电路实物图

27-28

桂林电子科技大学毕业设计

附录 4:SPR 模组电路原理图

附录 5:SPR 模组_4096 实物图

28-28

本文来源:https://www.bwwdw.com/article/so17.html

Top