基于STM32的MP3音频播放器制作毕业论文_第1页
基于STM32的MP3音频播放器制作毕业论文_第2页
基于STM32的MP3音频播放器制作毕业论文_第3页
基于STM32的MP3音频播放器制作毕业论文_第4页
基于STM32的MP3音频播放器制作毕业论文_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本科毕业论文 基于 STM32的 MP3音频播放器制作 二 级 学 院 机械与电子工程学院 专 业 电子信息工程 年级 学号 学生姓名 指导教师 职称 完成时间 独创性声明 本人郑重声明: 所呈交的毕业论文(设计) 是本人在指导老师指导下取得的 研究成果。除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他 人已经发表或撰写的研究成果。 与本研究成果相关的所有人所做出的任何贡献均 已在论文(设计)中作了明确的说明并表示了谢意。 矚慫润厲钐瘗睞枥庑赖。 签名: 年月日 授权声明 本人完全理解贺州学院有关保留、 使用本科生毕业论文 (设计)的规定, 即: 学院有权保留并向国家有关部门或机

2、构送交毕业论文(设计)的复印件和磁盘, 允许毕业论文(设计)被查阅和借阅。 本人授权贺州学院可以将毕业论文 (设计) 的全部或部分内容编入有关数据库进行检索, 可以采用影印、 缩印或扫描等复制 手段保存、汇编论文(设计) 。聞創沟燴鐺險爱氇谴净。 本人论文(设计)中有原创性数据需要保密的部分为:无。 签 名: 年月日 指导教师签名: 年月日 目录 摘 要 1 残骛楼諍锩瀨濟溆塹籟。 引 言 2 酽锕极額閉镇桧猪訣锥。 1 方案设计 3 彈贸摄尔霁毙攬砖卤庑。 1.1 主要内容 3 謀荞抟箧飆鐸怼类蒋薔。 2 系统硬件设计 3 厦礴恳蹒骈時盡继價骚。 2.1 整体设计思路 . 3 茕桢广鳓鯡选块

3、网羈泪。 2.2 硬件器件的选择 . 4 鹅娅尽損鹌惨歷茏鴛賴。 2.3 硬件系统框图 . 5 籟丛妈羥为贍偾蛏练淨。 2.4 硬件模块化原理图设计 6 預頌圣鉉儐歲龈讶骅籴。 2.5 硬件 PCB设计. 13 渗釤呛俨匀谔鱉调硯錦。 2.6 本章小结 . 13 铙誅卧泻噦圣骋贶頂廡。 3 系统软件的设计 13 擁締凤袜备訊顎轮烂蔷。 3.1 设计思路 . 13 贓熱俣阃歲匱阊邺镓騷。 3.2 软件模块化设计 . 14 坛摶乡囂忏蒌鍥铃氈淚。 3.3 系统整合 . 21 蜡變黲癟報伥铉锚鈰赘。 3.4 本章小结 . 22 買鲷鴯譖昙膚遙闫撷凄。 4 系统调试 22 綾镝鯛駕櫬鹕踪韦辚糴。 4.

4、1 独立调试 . 22 驅踬髏彦浃绥譎饴憂锦。 4.2 硬件调试问题 . 22 猫虿驢绘燈鮒诛髅貺庑。 4.3 软件调试问题 . 23 锹籁饗迳琐筆襖鸥娅薔。 4.4 本章小结 . 24 構氽頑黉碩饨荠龈话骛。 5 终结与展望 24 輒峄陽檉簖疖網儂號泶。 参考文献 25 尧侧閆繭絳闕绚勵蜆贅。 附 录 26 识饒鎂錕缢灩筧嚌俨淒。 Abstract 27 凍鈹鋨劳臘锴痫婦胫籴。 致 谢 28 恥諤銪灭萦欢煬鞏鹜錦。 贺州学院本科毕业论文(设计) 基于 STM32的 MP3音频播放器的设计 作者 指导教师 摘 要 : 本毕业策画是一款基于 STM32的音频 MP3播放器创作 , 功能包含: 音

5、频播放,电子图书,图片浏览,画板,录像,录音机,日历,游戏,收音机, 记事本,计算器等。整个系统组成主要由音频解码部分、收音机部分、音效处理 部分、SD 卡部分、功率放大、电源部分、人机交互等几个部分组成,整个系统 由一块 MCU(STM32F103RBt)6 控制运行,各个局部协调运作。 鯊腎鑰诎褳鉀沩懼統庫。 关键词: STM32;MP3音频播放; 贺州学院本科毕业论文(设计) 引言 伴随电子畛域的各个技术的迅速发展, 各类电子产品的消费也产生了革命性 的转变,引领新技术、创新产品层见叠出。特别是跟着网络媒体的技术的遍及、 数字音频视频技术的迅速发展, 和种种视频, 音频数据压缩标准和相应

6、的终端设 备相继问世,已成为消费电子产品新的快速增长点。集成 MP3的优点, 同时拥有 更多的新技术。 硕癘鄴颃诌攆檸攜驤蔹。 第一款 MP3的出现是在 1998 年,从它问世电子消费市场短短的几个月时间 就在市场上站稳的脚,而且消费的趋势一直呈上增长,直到2005 年之后 MP5的 出现,而 MP5的出现, 更是把 MP3几乎挤出了市场, MP5不光能够播放 MP3、MP4, 更是可以直接播放 AVI 和 RMVB等合流的影片格式,说白了便是 MP5具备 MP3、 MP4的全部功效,同时还具有他们不具备的功效,是以 MP5代替 MP3只是时间的 问题,当前 MP5的价钱较高是最主要的缘由,要

7、是 MP5的价钱降下来了,便是 MP3离开消费者的时候了。当前此外一个数码产物 - 数码相框,跟着数码相机的 不断广泛应用,也在偷偷的袭来,数码相框便是能直接播放JPG/JPEG的一个微 型显示器, 正常的数码相框比 MP3体积大,然而它们的本来目的不是面向移动设 备的,数码相框重要作用在于家庭,它们主要功能不再移动上面,实际上,数码 相框主要功能是显示照片,如果做成移动设备的话,体积必定不能太大, 但是体 积小带来的结果是图片显示效果就不好。 阌擻輳嬪諫迁择楨秘騖。 现在的数码相框显示屏分辨率一般是 480*720,对于日常的照片显示效果还 是可以应付过来的, 当然数码相框的开发者对图像显示

8、进行了精心设计, 使得我 们的照片的分辨率不管是怎么样的, 它都会执行最优的选择, 以用来显示最佳效 果,同时数码相框一般还具有其他附加功能, MP3便是其中一个功能,可以让图 片与声音同时播放,为相片的浏览添加了声音的色彩,同时数码相框还拥有 TV OUT的功效,这就很好的提高了分辨率的显示,让照片可以在电视上显示,可 以大大的提高相片的观赏价值。 氬嚕躑竄贸恳彈瀘颔澩。 通过对以上两款数码产品的分析,可以发现,新出的数码产品都包含了 MP3 的功能, 但是又不限于此, 也就是集成了 MP3的优点, 同时拥有原来 MP3不具有 的功能。这样,大大的提高了消费者对新的数码产品需求。 釷鹆資贏車

9、贖孙滅獅赘。 贺州学院本科毕业论文(设计) 1 方案设计 1.1 主要内容 本设计课题是一个由 STM32f103RBt6主控来完成 MP3音频播放设计的软硬件 相结合类的设计题目。 能够实现 MP3的基本播放功能, 也具有其他多样化的外扩 功能,系统的整体功能包含:音频播放,电子图书,图片浏览,画板,录像,录 音机,日历,游戏,收音机,记事本,计算机等。 怂阐譜鯪迳導嘯畫長凉。 系统的组成部分只要有 VS1003 的音频解码、 TEA5767的收音制作、 CD3314 音量级处理、 SD 卡控制、功率放大、电源、人机交互等,全系统由一块小型 MPU(STM32F103RBT掌6)管运行, 利

10、用各模块通信协议协调运转。 本系统实现多样 化功能,非常具有挑战性,主要的重心难点在于 FAT32 文件及系统的解析, JPEG/BMP图片数据格式解码,触摸屏的运转等。由于本系统的特点需要,采用 了各个击破的方法,一一实现以上功能,最终完成整个系统的功能。 谚辞調担鈧谄动 禪泻類。 2 系统硬件设计 2.1 整体设计思路 MP3音频播放重点完成图片浏览和音乐播放等, 所以本设计要求对 MCU内存 运行、处理的能力比较高, 因为图片解码压缩需要的 RAM比较多,对于 MP3播放, 要求较高的处理速度, 特别是 320Kbps的 MP3格式数据的处理, 为了保证 MP3歌 曲的流畅播放处理速度必

11、须要快。可选择的 MCU有 16 位的 AVR,8位的 STC等, 可选择的 32 位的处理器有 SAMSUN、GNXP、STM32、ATMEL等。 嘰觐詿缧铴嗫偽純铪锩。 在 RAM方面来说,对于 8 位单片机内部的 RAM一般在 4Kbyte 以内,更多的 内存是需要外部提供, 32 位的单片机里面, SAMSUN很G少自带 RAM,也要外部提 供,对于本设计来说,成本越低越好,外部提供的 RAM必定会提高成本的开发, 所以为了更好的掌控成品的高低,尽可能的选用 MCU自带有 FLASH和 RAM的。 熒 绐譏钲鏌觶鷹緇機库。 其次,本设计有 MP3歌曲的播放以及 JPEG/BMP图片浏览

12、等功能,但是这两 种文件格式需要较大的存储空间,可供选择的 FLASH芯片,如 SAMSUN公G 司的 K9F系列,但是这样的话,整个系统的容量就不可以改变了,需要扩容是困难。 贺州学院本科毕业论文(设计) 相比较来说 U盘和 SD卡是个不错的选择, 但 SD卡相比较与 U盘,在掌控上面较 容易,而且相同的容量 SD卡价格便宜一些,故系统选择 SD卡作为存储媒介。 鶼 渍螻偉阅劍鲰腎邏蘞。 第三, MP3音乐的播放是在读取 SD卡和 VS1003的同时进行的 ,它们用到的 都是 SPI 通讯协议,所以需要主控芯片要有两个或两个以上 SPI 共使用, 这样才 能有效的把读取速度提高。 纣忧蔣氳頑

13、莶驅藥悯骛。 综上所述,本设计采用 STM32f103RBT6作为主控芯片, 该芯片具有的内部资 源加上一点外扩之后可以胜任本设计。 颖刍莖蛺饽亿顿裊赔泷。 2.2 硬件器件的选择 在系统实现的过程中, 硬件选择是非常重要的一部分, 主控芯片已经确定好 了,接下来就是其他芯片的选取, 来实现其相对应的功能, 下面我们重点分析以 下几个芯片的选型。 濫驂膽閉驟羥闈詔寢賻。 2.2.1 MP3 解码芯片选择 使用 STM32主控芯片解码有两种方法, 第一是通过处理器的软件解码, 第二 是通专用芯片解码, 第一种方法要求芯片运算速度非常高, 而且声音不是很流畅, 对播放的采样有极大要求,故选择第二种

14、专用芯片解码。 銚銻縵哜鳗鸿锓謎諏涼。 本设计使用解码 MP3的芯片是 VS1003,它支持 WAV格式、 MP3格式、 MIDI 格式、 WMA格式等,同时可以设置调整音量高低等,而且还有一个功能是可以支 持 MICI ,此外还可以扩展录音功能。 挤貼綬电麥结鈺贖哓类。 2.2.2 收音机芯片选择 本设计的收音功能只适用于 FM收音,选用 TEA5767芯片来实现, TEA芯片 是飞利浦公司生产的一款低功耗电调谐调的立体声收音机芯片,该芯片通过 IIC 总线协议可以直接控制。可以实现调频接收,频率的范围在76MHZ108MH,Z而 且接收的是立体声,带信号强弱指示,但由于芯片体积较小,焊接困

15、难,所以直 接采用模块来实现,使用非常方便,可以提高本设计效果,节约时间以及成本。 赔荊紳谘侖驟辽輩袜錈。 2.2.3 EEPROM芯片选择 本设计需要保存用户的部分数据, 而 STM32需要外部扩展 EEPROM防, 止系统 掉电之后整个系统的数据将会复位,利用外扩的EEPROM芯片可以实现用户数据 的存储, EEPROM芯片有很多可供选择的, 由于在学习过程中比较常用的是 ATMEL 的 24CXX系列的,而且价格便宜,故本设计最终采用了 ATMEL的 24C16 芯片。 塤 贺州学院本科毕业论文(设计) 礙籟馐决穩賽釙冊庫。 2.2.4 功率放大芯片选择 本设计包含两块放大芯片,一块是用

16、来放大从 CD3314输出的音频信号以方 便驱动耳机,另一块是功率放大,用来驱动扬声器的。 裊樣祕廬廂颤谚鍘羋蔺。 一级放大可供选择非常多, 比如 TDA2822,TPA152等,但是 TPA152与 TDA2822 比较事, 后者的优势比较大, TDA2822对音质失真控制不好, THD大概在 10%,而 TPA152 在带有 32负载的前提下 THD是 2%,在带有 10K负载的前提下小于 0.01%。而且 TPA152的输出功率比 TDA2822大,总输出可以达到 1.5W。因此, 这里选取音质相对好的 TPA152芯片,作为耳机驱动芯片。 仓嫗盤紲嘱珑詁鍬齊驁。 2.2.4 电源芯片选

17、择 本设计要求系统电压输入 : 2.5V, 3.3V ,5V.所以对电源的处理需要满足能 输出以上电压, 系统电源主要包括给数字芯片供电,这些电源需要的功率小,可以选用 REG1117-2.5和REG1117-3.3V稳压芯片供给 2.5V 和3.3V 的电压。REG1117的输 出电流为 800ma,符合设计要求。 绽萬璉轆娛閬蛏鬮绾瀧。 对于 5V输入,也是采用 LM2576,因为整个系统的数字部分电源供给都是来 自 5V 的,所以它的电流较大。 2.3 硬件系统框图 综上分析, 可以得出,整个设计系统由 STM32F103RBT芯6片掌控, 各个模块 电路的详细介绍也在下面一一介绍,如图

18、 2.1 所示是整个硬件系统设计框图。 骁 顾燁鶚巯瀆蕪領鲡赙。 贺州学院本科毕业论文(设计) 图 2.1 硬件系统框图 图 2.1 描述了各个模块与主控芯片之间的联系, 由于电源不被 MCU控制,所 以 在图 2.1 内没有画出。由 上图 2.1 可 以得出,整 个硬件系统设计以 STM32F103RBT为6 核心,通过各种方式控制各个模块的工作,使整个系统完成预 定的功能。 瑣钋濺暧惲锟缟馭篩凉。 2.4 硬件模块化原理图设计 在此节中, 将根据上面的硬件系统框图进行具体的硬件设计介绍, 整个设计 可以分为若干个模块。下面对这些模块进行逐一介绍。 鎦诗涇艳损楼紲鯗餳類。 2.4.1 MCU

19、 和 DS18B20模块电路设计 MCU为整个设计系统的核心,它控制着这个系统的运行,让主控芯片稳定运 行是必要前提,下图(图 2.2 )为 MCU的原理图,包含一个后备电源 UPS1,一个 主电源 VCC3.3和一个模拟电源,模拟电源通过从 VCC3.3加滤波电路得到。 MCU 外围的必须电路由滤波电容,下载电路(串口 1)以及复位开关组成。同时,考 虑到系统需要时钟功能,给时钟部分增加了后背电源电路,通过二极管连接到 VBAT脚,给实时时钟供电。这里采用了双电源结构,即在电源有外部供电的时 候,后备电池不给时钟供电, 时钟的电源来自外部, 只有当外部电源断开的时候, 后备电源才给时钟供电,

20、 以保持时钟的计时, 这样可以延长后备电池的使用时间。 栉缏歐锄棗鈕种鵑瑶锬。 同时,为了方便调试,电路中还添加一个多余的按键以及 LED,以方便在调 贺州学院本科毕业论文(设计) 试时使用,而且为了最大化的使得布线难度的降低,布局的美观,对一些 IO 的 控制做了相应的调整,而且所以的 IO 也全部引出,方便以后功能的扩展,如: 门禁系统等。与此同时, SMT32F103RBT自6 带的 USB口也引出,方便日后升级使 用。 辔烨棟剛殓攬瑤丽阄应。 这里值得注意的是,因为 CD3314,TEA5767,AT24C16这三个器件使用的是同 一 IIC 接口,可以节省 IO。峴扬斕滾澗辐滠兴渙藺

21、。 图 2.2 MCU 模块电路 2.4.2 MP3 解码模块电路设计 MP3播放需要解码 , 这里选用了 VS1003解码芯片,该芯片能解码以下几种格 式的文件 :MP3、WM、A MIDI、和 WAV音频文件,同时还具备录音功能,此功能本 设计暂时没有用到,不过对其音频录音的电路设计保留了下来,以便日后使用。 贺州学院本科毕业论文(设计) 整个模块电路如图 2.3 所示。 詩叁撻訥烬忧毀厉鋨骜。 图 2.3 MP3 解码模块电路 VS1003的电源分模拟电源和数字电源两种,对这两种电源电路的设计对音 质的好坏有直接的影响, 所以经考虑本设计采用了许多具有滤波和去耦功能的电 容,选择了 LC

22、设计电路,为 VS1003工作提供一个稳定的环境。 则鯤愜韋瘓賈晖园栋泷。 2.4.3 收音机模块电路设计 电路原理 由于本系统直接采用 TEA5767的收音机模块来实现收音机功能, 所以使得其 外部电路大大简化, 只要通过少数的几个元件就能实现收音机功能了 图如图 2.4 所示: 胀鏝彈奥秘孫戶孪钇賻。 图 2.4 收音机模块电路 贺州学院本科毕业论文(设计) 需要注意的是, 收音机模块对电源敏感,同时对外部电路的干扰也较大,所 以在这里,对模块电源的处理采用了 RC滤波加大电容的方式,能有效的降低收 音机模块对外部电源的干扰。 也能保证收音机模块电源的稳定。 图中 ANT为天线 接口,通过

23、外接天线,可以提高收音机的灵敏度。 鳃躋峽祷紉诵帮废掃減。 2.4.4 SD 卡模块电路设计 因为 MCU没有自带的专门 SD卡模式接口, 只能通过 SPI 通信模式访问 SD卡 如下电路图 2.5s 所示: 图 2.5 SD 卡模块电路 SD卡使用的是 SPI模式,把它挂在 MCU的 SPI2模式上面。 SD卡上面的 SPI 通信需要在每个 IO 上接一个 42K左右的上拉电阻,这里选择 45K。SD卡电路连 接比较简单,只要连接没有出错,一般不会有什么大的问题STM32的 SPI 口在 72M时钟下, SPI 的时钟传送速度可以达到 18M,也就是 SD卡最大的读写速度可 以达到 2.25

24、Mbyte/s, 足够播放音频格式了。 稟虛嬪赈维哜妝扩踴粜。 2.4.5 音效处理模块电路设计 这里选择的是 CD3314作为音效处理芯片,电路图如图 2.6 所示, CD3314支 持最多四个输入通道,这里我们用了其中三个,通道 2 对应收音机音源,通道 3 对应外部音源,通道 4 对应 MP3音源。通过 IIC 控制,可以实现这三个音源的切 换。经过处理的音频信号从输出端输出到耳机放大器TPA152,通过放大驱动耳 机,这样我们就能听到所要听的声音了。 陽簍埡鲑罷規呜旧岿錟。 贺州学院本科毕业论文(设计) 图 2.6 音效处理模块电路 2.4.6 FM24C16 模块电路设计 铁电存储器

25、 FM24C16的电路也是很简单,只要通过简单的供电,然后连接 IIC 总线,就可以了。电路如图 2.7 所示: 沩氣嘮戇苌鑿鑿槠谔應。 图 2.7 FM24C16 模块电路 2.4.7 功放模块电路设计 因为本系统既有耳机输出, 又有喇叭输出,所以有两个音频放大电路: (一) 基于 TPA152的立体声耳机放大电路; (二)基于 TPA3100D02的功率放大电路。 钡嵐縣緱虜荣产涛團蔺。 耳机放大电路如图 2.8 所示,耳机放大电路采用官方推荐的电路结构, 对从 PT2314 送来的音频信号进行缓冲输出,推动耳机工作。耳机输出采用五针的专 用耳机插座,这个插座具有开管功能,信号从 1,4

26、脚输入,从 2,3 脚输出,第 五脚是地。如果没有耳机插上,则有音频信号从 2,3 脚输出,如果耳机插上了, 10 贺州学院本科毕业论文(设计) 则 2,3 脚不会有音频信号输出。这样通过连接 2,3 脚到 D 类功放上面,就可以 实现耳机,功率输出同一时间只能有一个工作。 懨俠劑鈍触乐鹇烬觶騮。 由于 TPA152也是音频信号输出的一部分,对于这个芯片的供电,也是采用 了 LC 滤波的形式,减少电源干扰对音质的影响。 謾饱兗争詣繚鮐癞别瀘。 功率放大电路如图 2.9 所示: 图 2.9 TPA3100D02 功率放大图 该芯片提供的输出功率与负载电阻和输入电压有关。这里,我们采用 12VDC

27、 供电,负载电阻为 4 欧姆,则能提供的输出功率为 15W。从而根据其 DATASHEET 11 贺州学院本科毕业论文(设计) 可以计算输出 LC滤波环路的参数,电感取 15mH,电容分别为 1uF和 0.22uF。呙 铉們欤谦鸪饺竞荡赚。 图中的功能选择部分可以有两种选择模式: 一)把 MUTE接地,则会使 FAULT输出高 电平,通过 MUTE控制芯片停止输出,这样可以有效地保护芯片 莹谐龌蕲賞组靄绉嚴 减。 2.4.8 TFTLCD2.8 寸驱动电路设计 TFTLCD驱动电路如图 2.10 所示,该部分电路也比较简单 芯片一直处于工作状态。 (二)把 MUTE和 FAULT相接则可以实现

28、短路检测, 在没 有出现输出短路的时候,芯片正常工作,在出现输出短路的时候, 图 2.10 TFTLCD 电路图控制设计 2.4.9 电源电路设计 图 2.14 输入电源电路 这个电路采用两块 REG1117芯片给系统提供电源,一块提供 3.3V 的数字电 源和模拟电源, 它们通过电感连接,以减少数字电源对模拟电源的干扰。另外一 12 贺州学院本科毕业论文(设计) 块提供 2.5V 的电压, 给 VS1003的 DSP提供核心电压。 两者的输入电压均来自功 率电源的 5V 输出。 麸肃鹏镟轿騍镣缚縟糶。 2.5 硬件 PCB设计 PCB硬件设计的时候主要注意一下若干点就好了: (1)对于电流比

29、较大的走线,必须使用较宽的线宽 (2)对于功率放大,最好以单点接地的方式连接。这样可以有效的降低 各部分信号的相互干扰,以达到最好的放大效果。 納畴鳗吶鄖禎銣腻鰲锬。 (3)对于走线, 不可以走锐角的线, 直角也最好少走, 最佳的是走弧线。 因为锐角和直角的走线会在尖端产生 EMI,尤其在高频信号较明显 。 風撵鲔貓铁 频钙蓟纠庙。 (4)对于去耦电容,离芯片越近越好。 (5)对于信号线,不要长距离的平行走线,可以有效的防止信号耦合 2.6 本章小结 在本章节中,首先是对整个系统的设计方案进行总体规划,包含媒介存 储的选择,主控芯片的选型, 硬件器件的选取以及互交方式的确定, 经过总体方 案的

30、研究眼总结,得出初步的技术方案, 具体确定了硬件器件的型号选取。 接着 详细介绍了各个模块之间的使用已经设计, 并说明了一些 PCB布线的规则, 接下 来就是进入到软件的设计了,在下一章节中,将对软件进行详细的说明。 灭嗳骇諗 鋅猎輛觏馊藹。 3 系统软件的设计 3.1 设计思路 经过上一章介绍, 多功能 MP3的硬件系统已经完成了基本设计, 但是一个完 整的系统必须要有硬件和软件的相互配合才能正常运行, 如果没有软件没那么硬 件形同虚设。软件是硬件的灵魂, 硬件的实现价值体现在软件的控制下。 所以软 件和硬件二者缺一不可,缺一就等于失去了整个设计系统的可行性。 铹鸝饷飾镡閌赀 诨癱骝。 多功

31、能 MP3的软件设计涉及很多编程, 这是一个很复杂的软件设计系统, 不 可能保证一次就把所有的代码调试完成达到预期效果。 这里我对应对各个模块的 功能一一的验证过后,在通过最终的大整合在一起,从而实现最终想要的功能。 13 贺州学院本科毕业论文(设计) 攙閿频嵘陣澇諗谴隴泸。 3.2 软件模块化设计 从本设计来说, 可以把软件分为两部分来区分: 第一个是与硬件有直接联系 的底层驱动软件子系统。 第二个是与硬件无关的应用型软件系统的设计。 这样可 以把两个软件系统的设计分成许多个模块。 趕輾雏纨颗锊讨跃满賺。 下面就一一介绍各个模块的区分以及编程思路。 3.2.1 LCD 模块驱动程序设计 系统

32、采用的 LCD驱动芯片型号为 ILI9320 ,它是单芯片的 Soc 驱动的晶体管 显示器, 320 x240 的分辨率,包括 720 路源极驱动与及 320 路栅极驱动,自带显 存。 夹覡闾辁駁档驀迁锬減。 颜色的深度是根据数据的大小来决定的。在此仅讲解部分重要指令,指令 00h,当读操作的时候,读取控制器的型号;当写操作的时候,打开 /关闭 OSC振 荡器。当写操作设置 OSC为高电平时,开启内部振荡器;为 0 的时候,停止振荡 器。至少要等待 10ms的时钟稳定之后,才可以继续其他的功能设置。指令 03h, 进入模式命令。在此仅注意 AM、I/D1 、I/D0 这 3 个位。具体的设置与

33、及效果见 图 21。 视絀镘鸸鲚鐘脑钧欖粝。 图 21 液晶显示方向控制 3.2.2 触摸屏模块驱动程序设计 本设计的输入系统选用的是四线电阻式触摸屏加 ADS7846实现的,整个设计 系统的控制都是通过触摸屏控制的, 所以,触摸屏控制算法的好坏对系统有着举 足轻重的作用, 这里有必要认识触摸屏和 ADS7846的工作原理。 偽澀锟攢鴛擋緬铹鈞錠。 触摸屏工作原理: 触摸摸是放置在显示器的最外边的, 当知道触点在显示器 上的触发坐标时, 则可依据触发位置相应坐标点显示内容或图符获知触摸者的意 14 贺州学院本科毕业论文(设计) 图。电阻式触摸屏在嵌入式系统中采用得较多。电阻屏的组成,如图 3.

34、2 ,最底 层是玻璃或有机玻璃构成的基层。当触摸到屏幕时,两导电层在触摸点处相碰。 緦徑铫膾龋轿级镗挢廟。 触摸屏输入系统意图如图 3.3 所示 图 3.2 触摸屏触摸示意图 图 3.3 触摸屏输入系统的组成 3.2.3 SD 卡模块驱动程序设计 SD卡通信协议有两种: SPI 模式和 SD模式。 SD卡读写的标准方式是 SD模 式,不过选用 SD模式时需要选择自带带有 SD控制器接口的 MCU,或者必须加入 支持 SD卡的读写的控制单元。 由于 SD卡控制器接口在 STM32F103RBT没6 有自带 的,不过 STM32F103RBT却6 拥有强大的 SPI 接口,故本设计选用 SPI 模

35、式读取 SD卡。 CS低电平有效则进入 SPI 模式,反之工作在 SD总线模式。 騅憑钶銘侥张礫阵 轸蔼。 SD卡初始化流程图如图 3.7 所示 15 贺州学院本科毕业论文(设计) Y 装载启动界面 等待输入 Y 执行相应功能 功能完成 图 3.7 SD 卡初始化 3.2.4 VS1003 模块驱动程序设计 VS1003通讯模式为 SPI,本设计采用的是 SPI1,这里主要对 VS1003如何初 始化操作进行介绍。 VS1003 与 MCU相联系的主要的 7根数据线为: XRST、XDCS、 XCS、DREQ、SCK、SO、SI 。 疠骐錾农剎貯狱颢幗騮。 XRST:VS1003复位线,低电平

36、有效。 XDCS:数据片选信号,低电平有效。 XCS:命令片选信号,低电平有效。 DREQ:数据请求,输入总线。 SCK、SI 、SO:SPI 接口线。 VS1003模块初始化步骤: 硬复位, XRST =0; 延时, XDCS、 XCS、XRST置 1; 等待 DREQ为高; 软件复位: SPI_MODE=0X08;04 等待 DREQ为高(软件复位结束); 设置 VS1003的时钟: SCI_CLOCKF=0X98,003 倍频; 设置 VS1003的采样率: SPI_AUDATA=0XBB,81采样率 48K,立体声; 设置重音: SPI_BASS=0X0055; 设置音量: SCI_V

37、OL=0X202;0 向 VS1003发送四个字节无效数据,启动 SPI 发送; 16 贺州学院本科毕业论文(设计) 3.2.5 FM24C16 模块驱动程序设计 FM24C16也是采用 IIC 总线和 MCU通信,通过标准的 IIC 操作,很容易实现 对 FM24C16的读写。 FM24C16的器件地址与页地址是连在一起的, 这里需要注意。 FM24C16的高四位为固定的 1010,而第四位用来表示页地址 07,每页拥有 256 个字节,这样 FM24C16的总大小为 2048字节。 镞锊过润启婭澗骆讕瀘。 对 FM24C16的读操作,先写入 0XAx( x:07),再写入要写入的地址,紧跟

38、 着就可以写入数据了。 而对于 FM24C16的读操作, 则稍微复杂一点在执行写操作 的上述过程之后,再写入 0XAx+1,代表执行读操作,紧随着就可以读数据了。 榿 贰轲誊壟该槛鲻垲赛。 3.2.6 TEA5767 模块驱动程序设计 TEA5767收音机模块支持 IIC 和三线模式,这里我们选择 IIC 来控制。TEA5767 的器件地址是 0XC0,在对 TEA5767的读操作通过写入 0XC1来执行。 邁茑赚陉宾呗擷 鹪讼凑。 TEA5767的读操作与写操作基本相同, 只是 IIC 开始之后写入 0XC1,将发送 一个字节改为接收一个字节就可以了。 嵝硖贪塒廩袞悯倉華糲。 3.2.7 R

39、CT 时钟驱动程序设计 RTC实时时钟是利用 STM32F103RBT内6部的时钟模块实现的, 根据 STM32 的 DATASHEE,T得到 RTC实时时钟的初始化过程如下: 该栎谖碼戆沖巋鳧薩锭。 使能备份区域时钟 取消备份区域写保护 软复位备份区域 开启外部低速晶振 等待晶振就绪 设置 LSI 作为 RTC时钟 RTC时钟使能 设置时钟分频系数 等待 RTC寄存器操作结束 允许 RTC配置 配置秒钟寄存器 17 贺州学院本科毕业论文(设计) 配置更新 等待 RTC寄存器操作完成 RTC时钟的设置到这里就结束了, 在 RTC时钟完成上述配置之后, 就会每隔 一段固定的时间,对秒钟寄存器 (

40、RTC-CNT进) 行加 1。这个操作软件不参与,一 切由硬件执行。时钟分频系数( RTC-PR)L 确定固定时间,理论上因为外部低频 晶振是 32.768Khz,所以只要在 RTC-PRL内写入 32768-1 就可以得到精确的 1 秒了,不过因为晶振的误差率, 往往需要对这个值进行调整, 以确保得到比较准 确的走时。 劇妆诨貰攖苹埘呂仑庙。 3.2.8 JPEG/BMP 解码模块程序设计 JPEG/BMP图片播放是本系统的一个重要功能,两者的解码均采用软件实现, BMP的解码相对 JPEG比较简单,这里重点对 JPEG的解码原理进行介绍。 臠龍讹驄 桠业變墊罗蘄。 JPEG解码算法原理:

41、JPEG压缩是利用人的视角系统特性, 采用量化和无损压缩编码相结合的 方法去掉视角的冗余信息和数据本身的冗余信息来达到压缩的效果。JPEG算法 可分为基本 JPEG(Baseline system) 和扩展 JPEG(Extended system) 。本设计重 点在为 Baseline system 的算法做介绍。 JPEG解码算法如图 3.9 所示: 鰻順褛悦漚 縫冁屜鸭骞。 图 3.9 JPEG 解码算法框图 在 JPEG解码反量化的公式: 其中, C(u,v) 代表熵解码输出, Q(u,v) 代表相应的量化矩阵。 综上所述具体说明了 JPEG的解码算法,在本设计中 JPEG/JPG的解

42、码通过软 18 贺州学院本科毕业论文(设计) 件来实现。返回值为此次解码成功与否的标志。 在执行该函数之前, 需要先执行 图片解码的两个函数, 一个函数用来清空个量化表, 一个函数用来获取解码所需 的各种参数。 穑釓虚绺滟鳗絲懷紓泺。 对于 BMP的解码在这里不做详细解说了。 3.2.9 FAT32 文件系统模块程序设计 本设计需要读取 SD卡,故必须对文件系统进行管理,本系统的重点是对文 件系统的解析。 本设计支持 FAT16和 FAT32两种文件系统, 由于 FAT文件系统的 构架非常复杂而且庞大, 这里我们主要 FAT32文件系统的构架做简单介绍以便可 以正常读取 FAT32系统下的文件

43、。 隶誆荧鉴獫纲鴣攣駘賽。 FAT32文件系统: (1)DBR(操作系统引导记录区)的说明 要想操作 FAT32我们首先要了解 DBR。其中 DBR 的核心部分为 BPB( BIOS Parameter Block )(第 1290 字节为 BPB),BPB 的意义需要我们深入详细的去 理解,才能够更好的完成和操控 FAT32。DBR各字节意义如图 3.10 :浹繢腻叢着駕骠 構砀湊。 图 3.10 DBR 区各字节意义 DBR区内,对操作有用的数据只有 90 个字节(即 BPB字段)。但是就在 19 贺州学院本科毕业论文(设计) 这 90 个字节就可以获取我们关于磁盘的许多信息,比如每扇区字

44、节数、每簇扇 区数、磁道扇区数等等。 BPB部分数据字节意义如图 3.11 所示:鈀燭罚櫝箋礱颼畢韫粝。 图 3.11 BPB 部分字段意义表 通过对上面字段读取的了解, 可以得到 FAT32文件系统的许多紧要信息: 每 扇区字节数、每簇扇区数、根目录簇号、该卷总扇区数、 FAT表 1 所在的扇区数 等。 惬執缉蘿绅颀阳灣熗鍵。 20 贺州学院本科毕业论文(设计) FAT32 文件系统最具特色的一部分是 FAT 表, FAT32 的精华在于 FAT表的 链式存储机制, 它可以是的数据存储不连接,使磁盘的功能得到更好的发挥。 一 个 FAT表的内容如图 3.12 所示: 贞廈给鏌綞牵鎮獵鎦龐。

45、图 3.12 FAT 表 这样,在我们获取文件的起始簇随后,就可以从起始簇开始读取文件的内容 了,如果大于一个簇,则可在 FAT表找下一个簇号,直到文件结束,从而达到了 文件的读取功能。 嚌鲭级厨胀鑲铟礦毁蕲。 3.3 系统整合 上一节详细介绍了系统各个模块程序的设计,一步一步实现了系统的各个功 能,接下来需要做的工作就是把整个系统的模块程序整合起来,成为一个整体。 薊镔竖牍熒浹醬籬铃騫。 本设计的主控制程序通过调用各个模块的相关底层函数,从而实现系统的功 能整合,主控制程序的流程图如图 3.15 所示,系统开机以后,第一步进行的是 对各个硬件模块的初始化; 第二步是对 FAT文件系统的初始化

46、, 对于 FAT文件系 统来说要判断是否初始化成功; 第三步是寻找系统文件, 本设计的系统文件全部 在 SYSTEM文件夹下,该文件夹下主要有 :FONT文件夹、 SYSICO文件夹、 GAME文 件夹。 FONT文件夹下包括 FONT12.FON和 FONT16.FON两种字体文件。 SYSICO文 件夹下则包括了全部的系统图标( BMP格式)。GAME文件夹下包括三个等级的游 戏文件夹,游戏图片也在相应的文件夹中,全部为 BMP格式。其中 FONT文件夹 和 SYSICO文件夹在系统加载的时候需要的。 GAME文件夹则是在游戏的时候才进 21 贺州学院本科毕业论文(设计) 行检索的。 齡践

47、砚语蜗铸转絹攤濼。 开机 功能完成 图 3.15 系统主控程序流程图 3.4 本章小结 本章主要说明本设计的软件设计方案, 简而易懂的介绍了系统各模块的软件 设计的实现与实践。重点描述了触摸屏原理、 JPEG/BMP的解码方法以及 FAT32 文件系统解析。最后整合了本设计的所有功能以及其的实现。 绅薮疮颧訝标販繯轅赛。 到此多样化多功能 MP3的系统设计以及基本完成,接下来的任务就是对该系 统进行调试和测试。 4 系统调试 4.1 独立调试 由以上针对软硬件系统进行了设计的主要描述,不过在上述设计当真,已经 包括对调试中各种各样的问题处理。 在设计的时候可能对某些小细节或者大问题 考虑得不到

48、位,这就需要调试中一一的去发现问题,再解决问题。 最终完成设计 的目标。这一章主要讲述在调试过陈中发现的典型问题。 饪箩狞屬诺釙诬苧径凛。 4.2 硬件调试问题 在硬件调试过程中,发现了几个影响整个硬件设计的问题,在完成了硬件设 计的时候,对本设计进行了硬件上的处理是, 在主控芯片的电源检测时, 发现相 22 贺州学院本科毕业论文(设计) 对应的管脚检测的 VCC与 GND得不到相对应的电压, 在此过程中经过了多次的原 理图以及 PCB图还有成品的检测后, 最终发现了是由于硬件晶振上面的一个电容 虚焊以及有一组电源线断开了所导致的, 最终经过修改来进行改正。 图 4.1 为硬 件设计。 烴毙潜

49、籬賢擔視蠶贲粵。 图 4.1 硬件设计图 4.3 软件调试问题 得益于以前知识和代码的积累,调试过程中顺利完成了很多软件调试,比如 FAT 文件系统、 DS18B20驱动等,但是在软件调试的时候出现了很多问题的,这 里挑一个比较典型的问题说明。这个问题是 VS1003播放音乐的问题。 鋝岂涛軌跃轮 莳講嫗键 问题 1,在测试 VS1003播放音乐的过程中,发现移植之前的 VS1003驱动到 STM32上后,播放界面不可以添加歌曲,一开始怀疑是不是因为文件系统的程序 问题而读取不到歌曲吗?如图 4.2 所示,经过反复的对文件系统的程序检测, 发 现代码没有问题,又开始替换 VS1003的工业板进

50、来调试,发现效果是一样的, 从而排除不是硬件问题,之后有反复的查看了 VS1003程序编写的资料,发现编 写过程无误,最后拿出之前写过的程序进行一一对比,发现是因为没有对其 VS1003进行初始化而导致的。 撷伪氢鱧轍幂聹諛詼庞。 23 贺州学院本科毕业论文(设计) 图 4.2 VS1003 播放图 4.4 本章小结 本章是整个设计的最后一章, 主要针对调试过程中出现的软件问题和硬件问 题进行了举例说明。解决了整个系统的最后问题, 使系统的所有功能得到了实现, 并发现了一些器件问题,为以后的工作研究积累了经验。 踪飯梦掺钓貞绫賁发蘄。 5 终结与展望 本文以智能家电为目标,设计了一款 MP3音

51、频播放器,对未来家电的使用进 行了一次探索。 经历了几个月的不断努力与奋斗, 从方案论证到硬件设计再到软 件设计,一步步实现, 最终完成了这个设计。但是在设计的过程中也找到了自己 的不足,(1)基础知识的掌握不牢靠,使得很多细节的问题没有去注意到,从而 影响整个系统完成;( 2)对 STM32整体构架不够熟悉, 对于内部寄存器的操作了 解不多不熟,对 STM32的扩展很不熟练,从今往后会加强对这方面的训练。 在本 次设计中也受益匪浅, 让我学会了很多问题的快速解决方法, 从而有利于今后的 工作已经更进一步的学习。希望明天会更好。 婭鑠机职銦夾簣軒蚀骞。 24 贺州学院本科毕业论文(设计) 参考文献 1 罗旭. 支持歌词的 MP3播放器的设计与实现,沈阳师范大学学报, 2006/03 。 2 华锡锋

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论