基于单片机的SD卡录音笔设计与实现毕业设计1 精品.docx
- 文档编号:12624454
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:55
- 大小:1.22MB
基于单片机的SD卡录音笔设计与实现毕业设计1 精品.docx
《基于单片机的SD卡录音笔设计与实现毕业设计1 精品.docx》由会员分享,可在线阅读,更多相关《基于单片机的SD卡录音笔设计与实现毕业设计1 精品.docx(55页珍藏版)》请在冰点文库上搜索。
基于单片机的SD卡录音笔设计与实现毕业设计1精品
基于单片机的SD卡录音笔设计与实现
摘要
本文介绍的是基于单片机的SD卡录音笔的设计与实现。
首先介绍了SD卡和SPCE061A的技术应用,发展趋势和研究意义;然后深入分析了单片机录音笔的基本原理,同时全面介绍了实现基于单片机的SD卡录音笔所需要的硬件和软件;接下来是详细介绍了实现基于单片机的SD卡录音笔的硬件电路设计以及软件结构设计;最后对整个系统的性能进行测试和分析。
整个系统分为硬件设计和软件设计两大模块。
硬件部分由凌阳公司的SPCE061A单片机,扬声器,电池组等构成;软件环境选择的是与硬件配套的u’nspIDE2.0.0。
本系统能够实现对声音的多段录音、放音、删除等功能。
关键词:
μ’nSPIDE,SPCE061A,SD卡,录音笔
Microcontroller-basedSDCardRecorderDesign
Abstract
ThisarticleisbasedontheSDCardRecorderMCUDesignandImplementation.FirstintroducedtheSDcardandSPCE061Aoftechnology,trendsandresearchsignificance;thenanalyzedindepththebasicprinciplesofsinglechipvoicerecorder,whileachievingacomprehensiveintroductiontomicrocontroller-basedSDCardRecordernecessaryhardwareandsoftware;followedbyimplementationdetailsofthemicrocontroller-basedSDCardRecorderhardwarecircuitdesignandsoftwarearchitecturedesign;Finally,overallsystemperformancetestingandanalysis.
Thewholesystemisdividedintotwomajorhardwareandsoftwaredesignmodule.HardwareusedbythemicrocontrollercontrolchipSunplus'sSPCE061Adevelopmentboard,speaker,batterypack;softwareenvironmentandhardwarechoicesaresupportingu'nspIDE2.0.0.Thesystemcanrealizethemultisoundrecording,playback,deleteandsoon.
Keyword:
μ’nSPIDE,SPCE061A,SDCard,Recorder
1绪论
1.1SD卡录音笔概论
SD卡录音笔,数字录音器的一种,特点是机身小巧精致,携带方便,录音笔是通过SD卡的方式来存储音频的。
比较于以前的录音机和磁带录音方式来讲,录音笔通过对模拟信号的采样、编码将模拟信号通过数模转换器转换为数字信号,并进行一定的压缩后进行存储,音质效果也要比传统的录音机好一些,而数字信号即使经过多次复制,声音信息也不会受到损失,保持原样不变,由于是数字的录制方式,因此数码录音笔的播放、定位、查找都非常的方便,并且可以实现循环播放。
SD卡是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机和多媒体播放器等。
大小犹如一张邮票的SD记忆卡,重量只有2克,但却拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。
除了体积极小之外,SD卡的存储特点是可以经受上百万次的反复擦写,因此反复使用的成本是零。
而且SD卡容量越大,录音时间也就越长。
从现在的情况来看,1GB闪存可以存储大约272小时录音信息。
对于传统的磁带式录音方式来说,简直是天方夜谭。
本课题是在SD卡和凌阳SPCE061A单片机的基础上设计一款录音笔。
凌阳SPCE061A单片机具有的数字信号处理功能及其所提供的音频压缩函数库来实现语音信号的实时采样与压缩;通过RS232接口,将采集到的语音信号实时上传到SD卡中存储。
SD卡数码录音笔主要由下列二部分组成:
SPCE061A开发板,SD卡模组。
SD卡数码录音笔的技术要求主要是:
录制语音,播放语音,删除语音。
SPCE061A开发板:
SPCE061A是一款16位微控制器,内嵌32K的闪存(FLASH)。
SPCE061A为语音产品而集成了ADC、DAC、AGC等,还具有n项内积运算指令,较高的处理速度使u’nSP能够非常容易快速地处理复杂的数字信号,是数字语音识别应用领域的一种最经济选择。
SPCE061A精简开发板配有调试功能;结合集成开发环境不需外界任何仿真、调试器即可以完成编程、仿真、调试功能。
本课题利用SPCE061A的语音处理功能,以及其强大的处理能力,再配合SD卡模组,很容易实现了大容量超长录音功能。
SD卡模组:
SD卡座模组为单片机提供了SD卡的插接装置,以SPI总线方式与单片机通讯,同时,提供卡检测、写保护检测等检测端口,以便用户可以方便灵活的为单片机外扩SD卡存储设备。
还包括:
外置扬声器,外置电源。
SD卡数码录音笔广泛应用于社会各个部分,是当今最为常见的录音设施之一。
录音笔也由笔形逐渐发展成为各种形状,趋于小巧实用。
1.2录音器的发展历史
1.2.1留声机
1877年8月15日,爱迪生发明了留声机。
这台留声机由金属大圆桶、曲轴、受话机和膜板构成,如上图。
金属圆桶上面刻有螺旋的槽纹,并安装在一个长的曲轴上,曲轴一端是手柄,摇动手柄圆通就随之转动。
受话器其实是一根金属小管,管的一头有一张振膜,振膜上贴着一个有金属钝头的细针,另一头是受话端。
录音的时候,先在圆桶上贴一张锡箔,然后将受话器细针端对准圆桶,匀速转动圆桶,对受话器的另一端说话,声音则被振动的细针记录在锡箔上。
回放的时候,将细针端再拿回到圆桶的最开始处,转筒圆桶,声音就被原样播放出来。
1.2.2钢丝录音和磁带
爱迪生的留声机是纯机械录音技术,在这之后,录音技术发展为光学录音、磁性录音和电子录音。
其中,光学录音顾名思义就是将声音信号转变为光学信号,记录在感光底片上的一种技术,最初应用在有声电影的研究上,并在最早的电影领域取得了广泛的应用。
在电影胶片的一侧有一条窄条,叫做声带,播放时由播放机转变为同步的声音信号予以伴音。
需要说明的是,光学录音由于对制作技术环节要求较高,且不可擦写,所以当时除了电影伴音这部分应用广泛发展外,其他应用面较为狭窄。
磁性录音是应非常广泛的录音技术,最具代表性的革新就是1900年钢丝录音机的发明。
钢丝录音机利用磁性录音原理,将受话器与电磁铁连接,将声音信号首先转换为不断变化的磁信号,然后将钢丝与电磁铁紧密贴在一起并匀速转动,这样钢丝上就形成了强度随声音信号变化而变化的磁场,回放的时候只需要把钢丝重新在电磁铁上经过一次,声音就被还原出来,磁带录音机就是钢丝录音机的改进版本,只是现代人把钢丝改为了软质的塑料磁带而已。
1.2.3数码录音笔
21世纪初,数码录音技术(也称电子录音)诞生,这是通过对模拟信号的采样、编码将模拟信号通过数模转换器转换为数字信号,并进行一定的压缩后进行存储的技术。
而数字信号即使经过多次复制,声音信息也不会受到损失,保持原样不变。
通常数码录音笔的音质效果要比传统的录音机要好一些。
录音笔通常标明有SP,LP等录音模式,SP表示ShotPlay即短时间模式,这种方式压缩率不高,音质比较好,但录音时间短。
而数码录音笔品牌分布图LP表示LongPlay,即长时间模式,压缩率高,音质会有一定的降低。
因此,数码录音笔迅速取代之前所有录音产品,成为当今录音领域的“专家”。
1.3SD卡录音笔的发展趋势
从首款SD卡录音笔上市到现在,短短4年内成为销量最大的随身录音设备,证明其有着极高的性能和质量,价格而比较合理。
随着电子录音技术的发展和消费者使用需求的提高,数码录音笔的革新也是势在必行。
1.3.1提高录音质量
一方面,随着科技的发展,录音笔的录音质量将会提升,高清录音笔,超长时间录音笔将会面世。
1.3.2多功能于一身
近几年,数码产品都朝着多功能化发展,随着技术的不断发展,数码产品的整合绝对是将来的一个大方向,现在很多录音笔都已经支持MP3播放功能,已经从单纯的录音发展到具备听MP3音乐,U盘,复读以及电话录音等多项功能。
此外,录音笔将发展到一个全新的阶段,录音/复读,MP3播放,影像记录,图片浏览(数码伴侣),TXT文档阅读,移动存储等多功能于一身的录音笔将会出现。
1.3.3降低成本减小体积
降低成本是任何技术商业化的重要前提,一般的途径是通过规模生产来摊薄成本。
录音笔的成本在于技术和原材料两个方面,而技术的发展势必在成本上很难降低,所以,相信通过生产原材料价格的走低,录音笔也会渐渐便宜。
既多功能,又小巧实用,外观精致创新,也是录音笔外形的发展趋势。
1.4基于单片机的SD卡录音笔研究意义
本课题主要是研究基于单片机的SD卡录音笔设计,本课题是以单片机SPCE061A来实现一个录音笔系统。
SPCE061A该款单片机资源丰富,有强大的数字语音处理功能可应用与语音播放和语音识别领域,内置有2路DA转换,8路AD转换及在线仿真等丰富的功能,这些都为实现数码录音和播放提供了良好的方便条件。
长期以来,以FlashMemory为存储体的SD卡因具备体积小、功耗低、可擦写以及非易失性等特点而被广泛应用于消费类电子产品中特别是近年来,随着价格不断下降且存储容量不断提高,它的应用范围日益增广。
当数据采集系统需要长时间地采集、记录海量数据时,选择SD卡作为存储媒质是开发者们一个很好的选择在电能监测以及无功补偿系统中,要连续记录大量的电压、电流、有功功率、无功功率以及时间等参数,当单片机采集到这些数据时可以利用SD作为存储媒质。
因此,基于单片机的SD卡录音笔将会是今后最常见的录音工具。
2录音笔功能分析及开发环境
2.1功能概述
随着数字存储技术的发展,大容量存储设备充斥着电子应用的方方面面。
对于嵌入式系统来说,功能的增强,也需要大容量存储设备做支撑。
SD卡是一种轻便的大容量的存储设备。
它使用方便,工作稳定,可以为嵌入式系统提供大容量的数据存储扩展,使得系统有强大的录音功能。
利用SPCE061A为主控芯片,SD卡做为存储介质,实现单片机的超长时间录放音功能。
2.1.1SPCE061A对SD卡的读写功能
(1)SPCE061A对SD卡的操作方式为SPI模式;
(2)提供SD卡插入检测功能,并进行语音提示;
(3)提供SD卡写保护检测功能,并进行语音提示;
(4)可以对SD卡进行初始化、扇区写、扇区读、扇区擦除、得到SD卡的容量信息等操作。
2.1.2录/放音及删除功能
(1)录音数据存储在SD卡中;
(2)支持多段录音;
(3)放音支持“上一曲”、“下一曲”;
(4)可以删除所有的录音片断,重新开始录音。
2.2设计环境介绍
2.2.1系统硬件环境介绍
本系统的硬件部分采用的是SPCE061A单片机。
SPCE061A单片机是一个16位结构的微控制器。
以下是它的性能简介:
(1)16位的高性能u’nSP内核单片机
(2)CPU时钟范围:
0.32MHz~49MHz
(3)片内32K字的Flash程序存储器、2K字的SRAM数据存储器
(4)4个16位I/O端口
(5)14个中断源
(6)1通道专用音频AD转换通道,7通道AD转换通道
(7)内置MIC放大电路和自动增益(AGC)放大电路
(8)2路电流输出型的DA转换通道
(9)2个16位通用定时器/计数器
(10)实时实钟(RTC)
(11)低电压复位、低电压监测
(12)内置在线仿真接口(ICE)
(13)具有保密功能
(14)具有Watchdog功能
SPCE061A片内结构,主要包括SPCE061A时钟电路,PPL锁相环及外围电路,SPCE061A系统时钟和Watchdog。
图2.1为SPCE061A片内结构图。
图2.1SPCE061A片内结构
2.2.2软件工作环境μ’nSPIDE介绍
本系统的软件设计使用的是μ’nSPIDE集成开发环境。
u’nSPIDE集成开发环境支持汇编语言和C语言混合编程进行程序开发,集程序的编辑、编译、链接、调试以及仿真等功能为一体并且支持软件仿真和调试的功能。
u’nSPIDE的主要特点是:
提供了友好的交互界面、易于操作,使调试工作方便且高效。
工具界面主要分为主菜单,工具栏,工作区窗口,编辑区窗口,输出区窗口。
图2.2为工具界面参照图。
图2.2工具界面参照图
Workspace窗口,如图2.3。
Workspace窗口由FileView和ResourceView两个视窗组成。
单击FileView标签,用户可以方便浏览到工程内的各文件。
FileView视窗用层次图排列出当前工程的所有文件的逻辑关系。
Files文件夹包含了源程序、程序接口和说明硬件配置情况的文件。
Resource文件夹包括了各种资源文件(rc)。
SourceFiles文件夹用于保存源文件。
HeadFiles文件夹用于保存头文件。
ExternalDependencies文件夹用于保存对工程的一些标注信息。
ResourceView视窗列出当前工程用到的所有资源。
可以单击视窗内分支顶部旁边的+和-号展开和收缩层次图。
Workspace窗口所体现的逻辑位置不是指文件在硬盘上的物理位置,而是指一种逻辑从属关系。
用户可用拖曳的办法改变文件的逻辑位置。
在Workspace窗口内,不同类型的文件有不同的图标表现。
图2.3Workspace窗口
Output窗口,如图2.4。
Output窗口用于显示编译、调试和查找的结果。
在窗口底部有几个视窗标签:
Build、Debug和FindinFiles等。
用鼠标单击这些标签,可以激活相应的视窗。
Build:
显示编译和链接过程里产生的信息,包括文件编辑过程里的错误和警告信息等。
Debug:
显示程序调试过程里出现的信息。
FindinFiles:
显示在文件中查找字符的结果。
Edit窗口:
在Edit窗口里,文件的打开格式有两种:
用户可用文本格式打开文件,也可以用二进制代码格式打开文件。
图2.4Output窗口
文件编辑器,如图2.5。
文本编辑器可以用来打开汇编语言程序和C语言程序。
图2.5文件编辑器
二进制代码编辑器,如图2.6。
二进制代码编辑器让用户在Edit窗口里以十六进制数/ASCII字符的形式来编辑二进制代码的资源文件。
图2.6二进制代码编辑器
2.2.3工程的操作
2.2.3.1创建工程过程
(1)选择[File]→[New],打开New对话框如图2.7,选择Project标签;
(2)在File文本框内输入工程名称;
(3)在Location文本框内输入工程文件的路径;
(4)在SelectBodyHere区域内选择Probe;
(5)单击[OK],创建工程。
图2.7创建工程对话窗口
2.2.3.2开发操作过程
从[开始]菜单内启动工具;
选择[File]→[OpenProject],在‘打开’对话框内选择所要打开的工程;
窗口(工作区窗口)显示在工具的左半边,在这个窗口内,用户可以看到当前工程所包含的所有文件;
选择[Build]→[RebuildAll],进行源文件的编译和链接。
编译过程里的语法错误显示在Output窗口内;
选择[Build]→[StartDebug]→[Download],把程序加载到RAM,然后,用户可以用Debug菜单内所提供的调试命令来优化和运行程序。
选择6、[Build]→[StartDebug]→[Go],在调试器内运行程序。
3录音笔总体设计方案及硬件设计
3.1总体设计方案
3.1.1硬件设计总体框图
系统采用SPCE061A做为主控制器,使用其通用I/O口控制SD卡设备,实现存储器扩展;利用电路板上的三个按键对录放音进行控制;利用SPCE061A带有AGC的专用A/D转换通道做为音频输入,完成语音录制功能;利用SPCE061A的D/A进行音频输出,实现语音播放功能。
图3.1为硬件总体框图。
图3.1硬件总体框图
3.1.2系统软件设计架构
软件系统包括以下部分:
主程序:
完成系统的初始化,处理按键信息,并根据按键,在语音文件操作管理程序的配合下,创建语音文件进行录音,或控制读取语音文件进行回放。
按键扫描程序:
完成对IOA口低八位的1×8按键进行扫描,并完成去抖、判断长/短按键等功能。
SD卡驱动程序:
该部分完成对SD卡的初始化、得到卡的容量信息、读写操作、擦除操作等。
语音文件操作管理程序:
该部分完成对多段录音的管理。
每增加一段录音,程序会将起始地址、终止地址等相关信息保存,以便可以回放。
录/放音程序:
实现对A/D采样数据的编码和存储,以及从SD卡读取录音数据并解码然后送至D/A播放等操作。
3.2系统硬件设计
3.2.1系统硬件连接实物图
系统主要由SPCE061A单片机,麦克风,扬声器,电源及储存器构成。
SPCE061A单片机控制板作为整个系统的主控板,对麦克风采集来的声音信号进行数字处理并储存号功能。
图3.3为硬件连接实物图。
3.3系统硬件连接实物图
3.2.2SPCE061A最小系统
本设计选用的单片机模块为SPCE061A单片机模块,该模块包括SPCE061A芯片(MCU)、片内FLASH和其外围的基本模块。
外围模块有:
电机驱动电路板、锁相环外围电路(PLL)、复位电路(RESET)等。
SPCE061A的主控芯片,负责构建语音录放的数据结构,并在单片机内部Flash中保存有语音内容和相关语音信息。
SPCE061A控制端口输出控制信息,并控制喇叭输出声音信息。
实现对整个系统的控制。
通过本系统中的音频输入电路和MIC,可以采集语音信号并处理。
图3.4为SPCE061A最小系统图。
图3.4SPCE061A最小系统图
3.2.3按键电路
本系统使用三个按键完成录放音控制。
图3.5为按键电路图。
Key1为“下一曲”键,Key2为“上一曲”键,Key3为“录音键”。
图3.5按键电路图
3.2.4音频输出电路
SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。
电路中SPY0030是凌阳公司一款音频放大芯片。
它和LM386相比,LM386工作电压需在4V以上,SPY0030仅需2.4V即可工作(两颗电池即可工作);LM386输出功率100mW以下,SPY0030约700mW。
图3.6为音频输出电路图。
图3.6音频输出电路图
3.2.5SD卡模组电路
在本系统中,SPCE061A通过SPI总线实现对SD卡设备的访问。
SD卡模组同时提供卡插入检测和写保护检测接口。
图3.7为SD卡模组电路图。
图3.7SD卡模组电路图
4系统软件设计
4.1主程序设计
主程序采用的是汇编语言和C语言混合编程。
主程序流程图如图4.1。
图4.1主程序流程图
主程序完成系统初始化后检测SD卡是否插入以及是否有写保护,并有相应的语音提示,告知用户当前的系统状态。
如果SD卡正确插入,则系统根据用户的不同按键进行录/放音控制。
同时,在循环中对系统当前的状态进行检测,控制系统在录制语音时不至于超出存储器容量限制,或控制系统在放音时播放至文件尾部自动停止播放。
部分程序如下:
SACM_DVR1600_Initial();//语音初始化
if(0==SD_ChkCard())//检测卡是否插入
PlaySnd(VOICE_ATTENTION,DAC1+DAC2);
PlaySnd(VOICE_SDCARDNOTINSERT,DAC1+DAC2);
while(0==SD_ChkCard());//等待卡插入
if(1==SD_ChkCardWP())//检测卡是否有写保护
WriteProtect=1;
else
FS_Init();//没有写保护,执行初始化操作
PlaySnd(VOICE_READY,DAC1+DAC2);//播放"就绪"
//------------------------------------------------------
while
(1)
KeyProcess();//按键处理
StatusProcess();//系统状态处理
SACM_DVR1600_ServiceLoop();//录/放音服务
4.2按键处理程序流程
按键处理程序中,当检测到有SD卡写保护时,会播放“卡有写保护”的提示音,对按键不做处理。
按键处理流程图如图4.2。
图4.2按键处理流程图
部分程序如下:
Key=KeyScan_GetKey(&KeyType);
if(1==WriteProtect)//卡有写保护,拒绝按键操作
if((C_SReleaseKeyState==KeyType)||(C_LReleaseKeyState==KeyType))
return;
switch(Key)
当按下录音键时,若为短按键且SD卡未满,提示录音开始并置录音标志,开始录音。
“录音”按键处理程序的流程图如图4.3所示。
图4.3录音键流程图
部分程序如下:
caseC_Record:
//Record
if(C_SReleaseKeyState==KeyType)//短按键,录/放音控制
if(PLAY==Status)
SACM_DVR1600_Stop();//如果正在放音,则先停止播放
FS_CloseOpenFile();
Status=IDLE;
if(IDLE==Status)
if((g_FileNum>=FS_MAX_FILENUM)||(FS_GetUnusedSecNum()<=0))//文件已满,退出
PlaySnd(VOICE_DANG,DAC1+DAC2);
Status=RECORD;
elseif(RECORD==Status)
SACM_DVR1600_Stop();
while(RECORD==Status)//等待完成录音收尾工作
SACM_DVR1600_ServiceLoop();
PlaySnd(VOICE_OVER,DAC1+DAC2);
当按下上一曲键,短按键(小于一秒)播放上一曲,长按键清除SD卡上所有录音。
“上一曲”按键处理程序的流程图如图4.4。
图4.4上一曲键流程图
部分程序如下:
if(PLAY==Status)//如果正在放音,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于单片机的SD卡录音笔设计与实现毕业设计1 精品 基于 单片机 SD 录音笔 设计 实现 毕业设计