ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:248.11KB ,
资源ID:12380785      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12380785.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学位论文基于sd卡的语音回放电路设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学位论文基于sd卡的语音回放电路设计.docx

1、学位论文基于sd卡的语音回放电路设计基于SD卡的语音回放电路设计摘要:本SD卡语音回放电路,由STC12C5A60S2单片机控制电路模块、VS1003语音模块、SD卡模块、按键控制模块构成。STC12C5A60S2单片机控制电路模块用软件模拟SPI总线,实现单片机与VS1003语音模块和SD卡模块通信,将存储与SD卡的语音信号通过SPI总线传输到VS1003模块,实现语音信号的回放并且由按键控制语音信号的播放和暂停。关键词:SD卡;语音信号;STC12C5A60S2;VS1003;SPI The circuit design of speech playback based on SDAbst

2、ract:This speech storage circuit of SD card consists of STC12C5A60S2 single-chip microcomputer control circuit module, VS1003 speech module, SD card module and button control module. STC12C5A60S2 single-chip microcomputer control circuit module use software to simulate the SPI cable, realize the com

3、munications among the single-chip microcontroller, VS1003 speech module and SD card module, transport the storage and voice signal of SD card to VS1003 module through SPI cable, realize the playback of voice signal, the play and pause of speech signal controlled by button. Key words:SD card;speech s

4、ignal;STC12C5A60S2;VS1003;SPI前 言SD卡的技术是基于MultiMedia卡(MMC)格式上发展而来,大小和MMC卡差不多,尺寸为32mm x 24mm x 2.1mm。长宽和MMC卡一样,只是比MMC卡厚了0.7mm,以容纳更大容量的存贮单元。SD卡与MMC卡保持着向上兼容,也就是说,MMC卡可以被新的SD设备存取,兼容性则取决于应用软件,但SD卡却不可以被MMC设备存取。SD卡外型采用了与MMC卡厚度一样的导轨式设计以使SD设备可以适合MMC卡。SD卡接口除了保留MMC卡的7针外,还在两边加多了2针,作为数据线。采用了NAND型Flash Memory,基本上和

5、SmartMedia的一样,平均数据传输率能达到2MB/s。SD卡(Secure DigitalMemory Card)是一种基于Flash的新一代存储器,它着重数据存储的安全、容量和性能,被广泛用于各种数码产品中,如数码相机、MP3等。同时也为小段语音的采集提供了理想的存储介质。SD卡之所以得到如此广泛的使用,是因为它价格低廉、存储容量大、使用方便、通用性与安全性强等优点。既然它有着这么多优点,那么如果将它加入到单片机应用开发系统中来,既使系统变得更加出色,而且也能够使SD卡在除了PC机之外的另外一种读取方式。近年来,语音存储回放技术发展十分迅速,在运算速度和音质处理效果上都有很大的发展和进

6、步。随着数字信号处理技术的飞速发展,数字语音储存回放在数字信号处理方面的优势日益体现出来。同时,随着数字化信号处理器速度的不断提高,单片机、DSP处理器以及专用语音处理模集成电路的进步,语音合成、语音识别、语音存储和回放技术的应用越来越广泛,从而使磁头磁带的机械式系统已经成为了过去。目前,数字音频技术相当的成熟,利用软件与硬件结合的设计方法可以为系统增加可靠性和方便实现的特点。DSP在通信领域、语音处理、视频处理等许多领域得到了广泛的应用,数字信号处理技术几乎涉及到生活应用的各个方面。其性价比日益提高,具有巨大的应用潜力。相对于传统的模拟语音采集,应用数字信号技术处理音频技术优势体现在:如灵活

7、、可编程,支持时分复用,易于模块化设计,可重复使用,可靠性高等优点。在多媒体技术的应用中,语音的存储回放系统得到了广泛的应用。譬如,在电视节目中语音部分、背景音乐的预先录制也发挥了很大的作用。各种公共场合的语音记录回放,购物商场安全提示广播、学校上课和下课闹铃广播、公共交通工具的报站提示;多媒体播放设备,MP3、MP4播放器。随着电子技术的发展,数字信号处理技术对这几个方面的发展都起到很大的促进作用。该技术也可应用到多媒体计算机中的声卡部分,为其录制和播放语音。数字信号处理技术在各种语音的存储回放技术中也会得到很广泛的应用和发展。本研究SD卡控制器基于单片机,单片机系统相比于PC机价格十分低廉

8、,单片机与SD卡相连大大减少了SD卡读取设备的成本。使用单片机读取存储SD卡采用串行外设协议总线结构对其数据进行读写操作,通过详细分析SD卡工作原理、读写控制要求、串行外设协议模式的特点和特殊命令结构,阐述SD卡初始化、读写的流程和文件分配表文件管理等方法,最后完成基于SD卡的语音回放电路。论文正文分为五个部分来阐述:第一章介绍本课题研究的背景和前景。第二章介绍系统的总体设计思路及设计方案论证。第三章介绍硬件电路设计。第四章介绍软件设计。第五章介绍系统操作与测试。1 课题研究背景与前景1.1 基于单片机或嵌入式的SD卡语音存放电路研究的背景长期以来,闪存卡(SD卡、MMC卡等)因其体积小、功耗

9、低、容量大和非易失性等特点,在嵌入式存储领域的应用越来越广泛。特别是近年来,随着闪存技术的发展,闪存卡价格不断下降且存储容量不断提高。当数据采集系统需要长时间地采集和记录海量数据时,应用SD卡作为存储介质是很好的选择。同时SD卡位错误率低,有存储性能良好。SD卡采用FAT32文件系统,FAT32文件系统是Microsoft公司在其MS-DOS操作系统中采用的文件系统,具有出色的文件管理性能,能被当前大多数操作系统识别。因此,将SD卡与FAT32文件系统相结合是嵌入式数据存储、记录系统的理想方案,可以将采集记录的数据直接在PC上读取和处理。语音是人们在日常生活中的主要交流手段,因此语音处理在现代

10、信息社会中占有重要地位。用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、获取和应用语音信息,这对于促进社会的发展具有十分重要的意义。尽管现在各种语言合成芯片和语音处理应用电路有许多,但都需要增加硬件投资,在一些由单片机构成的测控系统中,由于单片机接口和处理速度有限,需要借助专用音频处理器及外部数据存储器,实现语音的存储及回放功能。1.2 基于单片机或嵌入式的SD卡存放电路研究发展状况SD卡存储技术在各个领域都有十分广泛的应用。在农业领域,变量施肥技术是精准农业的一种,它主张根据小尺度田块之间的地力和作物长势差异,施以不同的肥料,从而可以减少用肥量、提高肥料利用率。作物需肥量(主

11、要是需氮量)可以通过其营养状态来判断,而营养状态又与叶绿素含量有密切的相关关系。因此,可以通过对叶片或群体的光谱分析有效地估计作物需肥量。变量施肥机就是利用单片机对高光谱传感器返回的作物光谱信息做出实时分析,通过步进电机调节施肥量的大小从而实现精准施肥。其中施肥信息的存储成为一个关键问题。近几年,随着存储技术的发展,诞生了许多基于Flash存储技术的大容量存储卡。其中SD卡以其体积小、功耗低的优势,被广泛用于各种数码产品中。SD卡为精准施肥机的存储系统提供了理想的存储介质。在汽车工业领域,GPS导航仪现已广泛应用于汽车导航,但普通导航仪设备的功能单一,因此有必要为导航设备添加娱乐功能,如播放音

12、频、视频等。而音频、视频的文件一般比较大,需要比较大的存储空间。SD卡的价格低廉、存储容量大、存储速度较快且有数据加密功能,适用于存储多媒体文件。在海洋自动监测领域,单片机系统凭借其成熟的应用体系,简单的系统结构,优越的低功耗特性以及良好的性价比,在数据采集系统中得到了广泛的应用。一般而言,海洋自动监测数据采集设备总是需要长期、连续、自动的记录各种观测数据,需要配备大容量、不挥发、高可靠的数据存储介质。MMC/SD数据存储卡是一种智能存储卡,具有统一规格的外部接口,可以通过简单的SPI串行总线与单片机连接,同时内部通过纠错算法保证数据存储的高可靠性,此外还有低价格、大容量、低功耗、移动存储、抗

13、冲击振动等诸多优点,非常适合嵌入式设备的大容量数据存储。在医学领域,Holter的记录方式最早是采用模拟化的磁带记录仪对正常活动状况下的患者做长时间连续心电图记录,习惯上称其为Holter监护。随着半导体技术的发展,数字化的闪存(Flash Memory)芯片被采用,体积减小,容量增加,传输速度提高,价格降低。采用SD卡作为Holter的存储介质,将使仪器的性能价格比有很高的提升。1.3 SD卡技术发展的未来趋势SDSD-CPRM是一个SD记忆卡新的扩展,以解决受保护的数字内容构成的授权共享问题。它使用4C实体定义的可录制媒体内容保护去识别来自密钥的加密数字内容并解密它。该SDSD- CPRM

14、单独传送机制大大有利于消费者、内容提供商和设备制造商。消费者可以自由地管理和分发加密内容、内容提供商能够传递和保护加密内容、设备制造商可以开发一个共同内设SD记忆卡接口的产品。2 方案设计与论证2.1 系统功能指标要求(1)实现单片机与SD卡的SPI模拟通信。(2)实现语音信号的回放。(3)实现按键对语音信号的控制。2.2 系统方案设计论证2.2.1 单片机控制模块的选择方案一:采用ARM7系统。该系统自带的SPI总线端口,可高速地传递语音信号,且系统具有较高的稳定性。但该系统结构复杂,并且AMR7系统成本较高。方案二:采用AT89C52最小系统。该系统成本低廉,系统结构简单,没有专门的SPI

15、总线端口,需要用软件模拟SPI总线。但该系统采样速率不够,无法实现语音信号的还原。方案三:采用STC12C5A60S2最小系统。其成本比较低,系统结构并不复杂,采用增强型8051 内核,速度比普通8051 快812 倍,工作频率为035MHz满足语音信号的采样速率,能够还原语音信号。 鉴于成本和方案可行性的考虑,这里我们选择方案三。2.2.2 语音模块的选择方案一:用模拟电路搭建语音模块。用AD0832模数转换器把SD卡中的数字语音信号转换为模拟信号,通过滤波电路、整流电路对模拟信号处理,最后发送到扬声器。该模块成本比较低,电路搭建处理的工作量大,并且噪声干扰大,音质无法保证。方案二:用VS1

16、003语音芯片。VS1003一种高集成度、高性能的芯片。可控制于SPI模式,方便与处理器通信。它能对MP3格式的音频信号进行解码,且音质可与中档MP3播放器相媲美。但是价格相对昂贵,同时还需要3.3V的工作电压,需要电平转换电路。因为SD卡也需要3.3V的工作电压,正好可以解决VS1003的电压问题。考虑到音质和电路稳定性方面的问题,在此选择方案二。 2.3 系统总体方案本系统由单片机处理器、SD卡模块、按键控制模块、语音模块有序的运行,来实现所需要的各个功能。系统基本框图2-1所示:图2-1设计总体框架图3 硬件电路设计3.1 单片机最小系统单片机的最小系统主要由电源供电、晶振电路、复位电路

17、组成。硬件电路如下:图3-1 单片机最小系统电路图3.1.1 单片机STC12C5A60S2简介高速:1 个时钟/ 机器周期,增强型8051 内核,速度比普通8051 快812 倍宽电压:5.53.3V,2.23.6V增加第二复位功能脚(高可靠复位,可调整复位门槛电压,频率12MHz 时,无需此功能)增加外部掉电检测电路,可在掉电时,及时将数据保存进EEPROM,正常工作时无需操作EEPROM低功耗设计:空闲模式(可由任意一个中断唤醒)低功耗设计:掉电模式(可由外部中断唤醒),可支持下降沿/ 上升沿和远程唤醒工作频率:035MHz时钟:外部晶体或内部RC 振荡器可选,在ISP 下载编程用户程序

18、时设置8/16/20/32/40/48/52/56/60/62K字节片内Flash程序存储器,擦写次数10万次以上1280字节片内RAM数据存储器芯片内EEPROM功能,擦写次数10万次以上ISP / IAP,在系统可编程/在应用可编程,无需编程器/仿真器8通道,10位高速ADC,速度可达25万次/秒,2路PWM还可当2路D/A使用,STC12C5201AD系列带A/D转换的单片机的A/D转换口在P1口(P1.7-P1.0),有8路8位高速A/D转换器,速度可达到300KHz(30 万次/ 秒)。8 路电压输入型A/D,可做温度检测、电池电压检测、按键扫描、频谱检测等。上电复位后P1 口为弱上

19、拉型I/O 口,用户可以通过软件设置将8 路中的任何一路设置为A/D 转换,不需作为A/D 使用的口可继续作为I/O 口使用2 通道捕获/ 比较单元(PWM/PCA/CCP),也可用来再实现2 个定时器或2 个外部中断(支持上升沿/ 下降沿中断)4个16位定时器,兼容普通8051的定时器T0/T1,2路PCA实现2个定时器可编程时钟输出功能,T0在P3.4输出时钟,T1 在P3.5输出时钟,BRT在P1.0输出时钟硬件看门狗(WDT)高速SPI串行通信端口全双工异步串行口(UART),兼容普通8051的串口先进的指令集结构,兼容普通8051 指令集,有硬件乘法/ 除法指令3.1.2 电源电路本

20、设计中单片机工作于5V的直流电压。因此,使用5V的直流稳压电源供电,可以简化硬件电路的设计。在输入电源的VCC与GND之间并联104和10UF的电容,这种由两个大小电容值组成的电路主要用于系统的滤波。10UF电容由于容量大,所以体积一般也比较大,并且一般使用卷绕的方式制作,这就导致了大电容的分布电感比较大(也叫等效串联电感,英文简称ESL)。而电感对高频信号的阻抗是很大的,所以大电容的高频性能不好。一些小容量电容(如104/0.1uf)则刚刚相反,由于容量小,因此体积可以做得很小(缩短了引线,就减小了ESL,因为一段导线也可以看成是一个电感的),并且使用平板电容的结构,这样小容量电容就有很小E

21、SL这样它就具有了很好的高频性能。但是,由于容量小的缘故,对低频信号的阻抗大。因此,如果为了让低频、高频信号都可以很好的通过,就采用一个大电容再并上一个小电容的方式,这样可以提高系统的电源质量。图3-2 电源电路图而VS1003模块和SD卡均工作于3.3V的工作电压。5V工作电压可以由5V的稳压电源直接提供,3.3V需用使用AMS1117的稳压芯片。图3-3 5V-3.3V电压转换图3.1.3 晶振电路单片机的运行需要一个时钟频率,类似我们的计算机的CPU主频的高低,现在计算机的CPU一般用GHz来左单位。而我们的51单片机常用到的时钟频率有12MHz、11.0592MHz,这些时钟频率都是依

22、靠外部晶振产生的。本设计需要读取SD卡中的音频数据,再送到VS1003模块进行解码处理。因此,要求单片机具有很高的处理速度,STC12单片机尽管具有1T处理能力,还是需要结合更高频率的晶振。晶振接到单片机的XTAL1、XTAL2引脚处。电路上的晶振旁有两个无极性电容,容量为33P。这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮法,它会影响到晶振的谐振频率和输出幅度。晶振的负载电容C的大小为: (3-1)式中Cd、Cg为分别接在晶振的两个脚上和对地的电容,Cic(集成电路内部电容)+C(PCB上电容)经验值为3至5pf。3.1.4 复位电路单片机的的复位引脚(Res

23、et)为第9引脚,当此引脚连接高电平超过2个机械周期(12个时钟脉冲),即可产生复位操作。以12MHz的晶振产生的时钟脉冲为例,每个时钟脉冲约为1S,两个机械周期为12S。因此,在第9引脚上接上一个12S以上的高电平脉冲,即可产生复位操作。在使用10K电阻、10F电容,其时间常数,所以能够确保12S的高电平。3.2 按键控制电路 按键电路由3个按键一段与单片机相连,另外一段接地。其电路图如下所示: 图3-4 按键控制电路图系统板上有三个按钮,从左到右功能分别是: 播放 停止 下一曲另外有三个LED灯对应按键的响应。3.3 SD卡电路 单片机的内部容量非常少,Flash空间只足够程序代码,对于音

24、频数据的大容量是根部不能存储到单片机的内置存储空间中。为了能让用户存储更多的音频数据,系统将引入SD卡存储设备。在这里,需要解决一个难题:单片机的工作电压是5V,IO的电平变化也是0V和5V,但是SD卡工作电压是3.3V。它们之间的通信存在电平匹配的问题,从而影响单片机与SD卡之间的读写操作。 要解决这一问题,最根本的就是解决逻辑器件接口的电平兼容问题,要点有两条:一为输出电平器件输出高电平的最小电压值,应该大于接收电平器件识别为高电平的最低电压值;另一条为输出电平器件输出低电平的最大电压值,应该小于接收电平器件识别为低电平的最高电压值。 单片机与SD卡是在SPI工作模式下,每个数据通道都是以

25、单向传输的,这样可以在单片机向SD卡传输数据时采三极管结合下拉电阻的方法。而在SD卡向单片机传输数据时可以采用直接连接,因为它们之间的电平刚好满足上述的电平兼容原则。这个方案需要双电源供电,1个5V电源,1个3.3V电源。图3-5 SD卡连接电路图3.4 VS1003音频解码模块本系统保存在SD卡上的音频数据是以MP3格式,要将这些MP3格式的语音数据由扬声器播放,必须通过对音频数据解码还原成模拟语音信号,再由扬声器播放。3.4.1 VS1003解码芯片介绍VS1003 MP3解码芯片,它能完成MP3 解码以及播放的工作。MP3 解码芯VS1003,它来自芬兰 VLSI 半导体公司,功能强大且

26、性价比高、简单易用,深受语音播放系统设计工程师欢迎。VS1003支持MP3、WAV、WMA、MIDI等诸多音频格式,音质可与中档MP3播放器相媲美;同时它还兼备录音功能,录音效果也不错。实际上,VS1003 就是一颗能够实现 MP3 等音频文件格式解码的数字信号处理器(DSP),本领并不止MP3播放,它还可以播放WMA格式。当然,单有一个VS1003是不够的,我们还需要微处理器和存放MP3的存储介质。 VS1003 特性:能解码 MPEG 1 和MPEG2 音频层 III(CBR+VBR+ABR);WMA 4.0/4.1/7/8/9 5-384kbps 所有流文件;WAV(PCM+IMAAD-

27、PCM);产生MIDI/SP-MIDI 文件。对话筒输入或线路输入的音频信号进行IMAADPCM编码支持 MP3 和WAV 流高低音控制单时钟操作12.13MHz内部PLL锁相环时钟倍频器低功耗内含高性能片上立体声数模转换器,两声道间无相位差内含能驱动30 欧负载的耳机驱动器I/O 单独供电为用户代码和数据准备的5.5KB片上RAM串行的控制,数据接口可被用作微处理器的从机特殊应用的SPI Flash引导供调试用途的UART接口新功能可以通过软件和4 GPIO 添加3.4.2 VS1003解码模块电路采用VS1003音频解码芯片来实现音乐数据流的解析,VS1003与单片机的数据通信是通过SPI

28、总线方式进行的。VS1003通过串行命令接口(SCI)和串行数据接口(SDI)来接收单片机的控制命令和MP3的数据,通过xCS、xDCS引脚的置高/低来确认是哪一个接口处于传送状态。VS1003的功能控制,如初始化、软复位、暂停、音量控制、播放时间的读取等,均是通过SPI通信方式特定寄存器实现的,两条SPI数据通信之间要通过DREQ引脚信号判断上一次处理是否完成。 在连接到单片机的IO口是与SD卡的SPI控制电路复用,连接方式为图3-6 单片机与VS1003电气连接图4 软件设计本系统的程序设计按照功能模块可分为:SD卡的数据读取及VS1003模块的驱动;按照技术难度,则可以分为SPI通信协议

29、实现和文件系统的应用。为了更深入对程序设计过程及难度的分析,本章的对软件设计过程从技术难度入手,在到具体功能模块的应用实现说明: SPI通信协议的软件设计 SD卡的数据读取软件设计 VS1003对音频信号处理软件设计 按键控制功能软件设计系统软件总流程图如下所示 图4-1 系统软件总流程图4.1 SPI通信协议的软件设计 单片机通过SPI接口与SD卡及VS1003模块进行数据传输,首先需要对SPI总线有初步的了解。一般来说,SPI总线是使用4根线连接分别是MOSI(主出从入),MISO(主入从出),SCK(时钟),CS(片选)。而对于只有一个主机一个从机的设计,可以忽略CS连接。SPI的通信原

30、理是主从机的数据交换完成的,通过主机控制SCK的频率,让数据以位(bit)传输。SPI的优点在于允许数据每位传输,可以暂停传输;数据的输入与输出线独立,允许同时输入、输出数据;以交换的传输方式,有较高的传输效率。 单片机模拟SPI的过程,包括串行时钟、数据输出和数据输入。控制SCK输出高低电平,获得时钟脉冲。当SCK处于上升沿时MOSI输出数据,当SCK处于下降沿时MISO输入数据。经过8个周期的SCK后,完成一次数据的交换。 图4-1 spi通信连接示意在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。但是,在多个从器件的系统中,每个从器件需要独立的使能信号,硬件

31、上比I2C系统要稍微复杂一些。SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前、低位在后。如下图所示,在SCLK的下降沿上数据改变,同时一位数据被存入移位寄存器。图4-2 spi通信时序图IO口模拟SPI,发送一个字节,其程序如下所示:void SPI_WriteByte(unsigned char x) dat=x; /将x的值赋给可位寻址的变量dat,以便取出各个位 SPI_SI=dat7; /取出第7个位,写到数据线上 SPI_SCL=0; SPI_SCL=1; /时钟线产生上升沿,数据被写入 SPI_SI=dat6; SPI_SCL=0; SPI_SCL=1; SPI_SI=dat5; SPI_SCL=0;SPI_SCL=1; SPI_SI=dat4;SPI_SCL=0; SPI_SCL=1; SPI_SI=dat3; SPI_SCL=0; SPI_SCL=1;SPI_SI=dat2; SPI_SCL=0;SPI_SCL=1; SPI_SI=dat1;SPI_SCL=0; SPI_SCL

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1