软件模块化设计_第1页
软件模块化设计_第2页
软件模块化设计_第3页
软件模块化设计_第4页
软件模块化设计_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、 本科毕业设计(论文)说明书 基于STM32的多功能MP3播放器设计 学 院 电子与信息学院 专 业 集成电路设计与系统集成 学生姓名 刘军 指导教师 靳贵平 提交日期 2009年06月01日 7 华 南 理 工 大 学 毕 业 设 计 (论文) 任 务 书 兹发给 05级集成 班学生 刘军 毕业设计(论文)任务书,内容如下: 1.毕业设计(论文)题目: 基于STM32的多功能MP3播放器的设计 2.应完成的项目: (1)学习MP3播放器及STM32开发板的相关知识; (2)对基于STM32的多功能MP3播放器进行硬件设计; (3)对基于STM32的多功能MP3播放器进行软件设计; (4)给出

2、如何使MP3播放器可以实现多功能,如播放MP3,WMA,WAV,MIDI等格式的音乐,阅读TXT,LRC文件,进行FM收音,实现触摸屏控制,实现JPEG/BMP 格式图片播放等。 3.参考资料以及说明: 【1】罗旭,支持歌词的MP3播放器的设计与实现,沈阳师范大学学报(自然科学版),2006/03。 【2】华锡锋,基于Garfield芯片的MP3播放器的设计和优化,东南大学,2005,硕士。 【3】高立艾,可遥控车载MP3播放器的设计,河北农业大学,2006,硕士。 【4】MP3播放器与U盘设计; 自己动手打造心仪的个性MP3,清华大学出版社,2004。 【5】宋红星,以优盘为存储介质的MP3

3、播放器设计,单片机与嵌入式系统应用, 2007/11。 【6】熊开盛,基于DSP技术的MP3播放器的硬件设计,现代电子技术,2007/12。 【7】唐钦,基于FPGA的MP3播放器设计,现代电子技术,2007/06。 4.本毕业设计(论文)任务书于 2009年1月5日发出,应于2009年5月20日前完成,然后提交毕业考试委员会进行答辩。 专业教研组(系)、研究所负责人 审核 年 月 日 指导教师 签发 年 月 日毕业设计(论文)评语:毕业设计(论文)总评成绩: 毕业设计(论文)答辩负责人签字: 年 月 日摘要随着计算机技术、微电子技术和数字信号处理技术的迅速发展,各类消费电子产品发生了革命性的

4、变化,引发新技术、新产品层出不穷。特别是随着网络多媒体技术的普及、数字音视频技术的快速发展,以及多种视音频数据压缩标准和相应终端设备的相继问世,已成为消费电子产品新的增长点。集成了MP3的优点,同时拥有MP3不具有的功能的消费类电子产品越来越受到消费者的青睐。本文设计了一款基于STM32的多功能MP3,功能包括:MP3/WMA/WAV/MIDI音频文件播放、JPEG/JPG/BMP图片浏览、游戏、闹钟、万年历、电子书、调频收音机、彩色台灯、功率放大等。整个系统主要由音频解码部分、收音机部分、音效处理部分、SD卡部分、功率放大、电源部分、人机交互等几个部分组成,整个系统由一块MCU(STM32F

5、103RBT6)控制运行,各个部分协调运作,人机交互部分采用LCD和触摸屏实现,输出部分采用2.4寸的240*320的彩色液晶实现,输入部分主要采用触摸屏实现,使本系统更具人性化。本系统的难点在于FAT文件系统的管理、JPEG图片解码、触摸屏控制等几个部分,本文将针对这几个部分重点介绍。关键词:STM32、MP3播放、FAT文件系统、JPEG解码、触摸屏控制Abstract With the rapid development of computer technology, microelectronic technology and digital signal processing tec

6、hnology, Various types of consumer electronics have made a revolutionary change and trigger new technology, new products one after another. Especially with the popularity of Internet multimedia technology, digital audio and video technology's rapid development, as well as various video and audio

7、 data compression standard and the corresponding terminal equipment come out in succession, has become a new growth point of consumer electronics. The consumer electronics which integrate the advantages of MP3,and have many advantages that MP3 do not have,become more and more popular in consumers. I

8、n this paper, we design a multi-functional MP3 based on the STM32, Functions included: MP3/WMA/WAV/MIDI audio file playback, JPEG / JPG / BMP picture browsing, game, alarm, calendar, e-book, FM radio, color table lamp, power amplifier. The whole system is mainly formed by audio decoder part, radio p

9、art, audio processing part, SD card part,power amplifier part, power supply part and human-computer interaction part. The whole system is controled by a single MCU (STM32F103RBT6) .All these parts work concertedly, We use LCD and touch screen for Human-Computer Interaction, we use a 2.4-inch 240 * 3

10、20 color LCD for output,and for the input part we use touch-screen to achieve which make the system more humanity. There are some difficulties in this system including: FAT file system management, JPEG picture decode and touch-screen control etc. In this article we will highlight introduce these thr

11、ee parts. Key words: STM32, MP3 player, FAT file system, JPEG decode, touch-screen control目录摘要4Abstract5目录6第一章 绪论81.1 课题背景81.2 本次设计的主要内容8第二章 系统硬件设计102.1 整体设计思路102.2 硬件器件的选择102.2.1 MP3解码芯片选择112.2.2 收音机芯片选择112.2.3 温度传感器选择112.2.4 彩灯驱动芯片选择112.2.5 音效处理芯片选择122.2.6 EEPROM芯片选择122.2.7 功率放大芯片选择132.2.8 电源芯片选择1

12、32.2.9 人机交互设备选择142.3 硬件系统框图142.4 硬件模块化原理图设计152.4.1 MCU和DS18B20模块电路设计152.4.2 MP3解码模块电路设计162.4.3 收音机模块电路设计172.4.4 SD卡模块电路设计182.4.5 音效处理模块电路设计182.4.6 FM24C16模块电路设计192.4.7 彩灯驱动模块电路设计192.4.8 功放模块电路设计202.4.9 触摸屏控制电路和TFTLCD驱动电路设计222.4.10 电源电路设计232.5 硬件PCB设计242.6 本章小结26第三章 系统软件设计273.1 设计思路273.2 软件模块化设计273.2

13、.1 LCD模块驱动程序设计273.2.2 触摸屏模块驱动程序设计293.2.3 SD卡模块驱动程序设计323.2.4 VS1003模块驱动程序设计333.2.5 PT2314模块驱动程序设计343.2.6 FM24C16模块驱动程序设计353.2.7 TEA5767模块驱动程序设计353.2.8 温度传感器驱动程序设计353.2.9 RTC实时时钟驱动程序设计363.2.10 彩灯模块驱动程序设计363.2.11 JPEG/BMP解码模块程序设计373.2.12 FAT文件系统模块程序设计393.2.13 音乐播放模块程序设计443.2.14 图片浏览模块程序设计463.2.15 游戏模块程

14、序设计463.2.16 闹钟模块程序设计473.2.17 时间模块程序设计473.2.18 设置模块程序设计483.2.19 电子书模块程序设计483.2.20 收音机模块程序设计483.2.21 彩灯控制模块程序设计493.3 系统整合493.4 本章小结50第四章 系统调试514.1 独立调试514.1.1 硬件调试问题514.1.2 软件调试问题534.2 本章小结53第五章 总结与展望55参考文献56致谢57第一章 绪论第一章 绪论1.1 课题背景 随着计算机技术、微电子技术和数字信号处理技术的迅速发展,各类消费电子产品发生了革命性的变化,引发新技术、新产品层出不穷。特别是随着网络多媒

15、体技术的普及、数字音视频技术的快速发展,多种视音频数据压缩标准和相应终端设备相继问世,已成为消费电子产品新的增长点。 自1998第一款MP3面世来,MP3就以迅雷不及掩耳之势占领了数码市场,一时风靡全球。而从2005年后,MP3的销量迅速下跌,如今已风光不再。而MP5的出现,更是把MP3几乎挤出了市场,MP5不但可以播放MP3、MP4,更能直接播放AVI和RMVB等主流的电影格式,说白了就是MP5具有MP3、MP4的所有功能,同时还具有他们不具备的功能,所以MP5取代MP3只是时间的问题,目前MP5的售价较高是最主要的原因,相信当MP5价格降下来之后,就是MP3退出市场之时了。如今另外一个数码

16、产品-数码相框,随着数码相机的普及,也在悄悄袭来,数码相框就是能直接播放JPG/JPEG的一个小型显示器,一般的数码相框较MP3体积大,但是它们本来就不是针对移动设备的,数码相框主要用在家庭,它们一般不具移动功能,事实上,数码相框主要用来显示相片,如果做成移动设备的话,体积肯定不能大,但是体积小就意味着图片显示效果就不好。现在的数码相框显示屏分辨率一般是234*480,对于一般的照片显示效果还是比较不错的,当然数码相框的开发者对图像显示进行了精心设计,使得你的照片不论分辨率是怎么样的,它都会进行最优的选择,以显示效果最佳,同时数码相框一般还具有其他附加功能,MP3就是其中一个功能,在播放图像的

17、时候同时播放MP3,使相片浏览有声有色,同时数码相框还具有TVOUT的功能,这就很好的解决了显示屏分辨率不高的问题,通过在电视上显示照片,使得相片观赏更舒适也更清晰。通过对以上两款数码产品的分析,可以发现,新出的数码产品都包含了MP3的功能,但是又不限于此,也就是集成了MP3的优点,同时拥有原来MP3不具有的功能。只有这样,新的数码产品才可以在市场上得到消费者的青睐。1.2 本次设计的主要内容 本设计课题是一个软硬件相结合的设计类题目。要求设计一个基于STM32F103的多功能MP3。可以实现MP3播放的基本功能,同时拥有丰富并实用的外扩功能,整个系统的功能包括:MP3播放功能收音机功能图片播

18、放功能温度计功能彩色台灯功能功率放大功能万历年功能闹钟功能游戏功能电子书功能整个系统主要由音频解码部分、收音机部分、音效处理部分、SD卡部分、功率放大、电源部分、人机交互等几个部分组成,整个系统由一块MCU(STM32F103RBT6)控制运行,各个部分协调运作,人机交互部分采用LCD和触摸屏实现,输出部分采用2.4寸的240*320的彩色液晶实现,输入部分主要采用触摸屏实现。整个系统涉及方面很多,颇具挑战性,主要难点在与FAT文件系统解析,JPEG/BMP数据格式解析,触摸屏控制等。针对本系统的特点,采用各个击破的方法,来一步步实现以上功能。最终实现整个系统的功能。57第二章 系统硬件设计第

19、二章 系统硬件设计 2.1 整体设计思路由于该多功能MP3要实现图片浏览和mp3播放这两大功能,对ram和处理速度的要求比较高,首先对图片的解压缩要用到的ram比较多,其次,对MP3的播放,处理起来速度是有要求的,尤其对320Kbps的MP3格式数据流的处理,必须非常快,才能实现MP3的流畅播放。可供选择的八位机有AVR,PIC等,可供选择的32位处理器有SAMSUNG,NXP,STM32,ATMEL等。首先要有丰富的RAM,八位机主要靠扩展,内部RAM一般在4Kbyte以内,更多的RAM得靠外扩,32位机里面,SAMSUNG一般不内带RAM,也要外扩,对于这个设计,当然成本越低越好,外扩RA

20、M,FLASH芯片必然加大成本。所以控制芯片最好拥有自带的FLASH和RAM。其次,由于本系统要播放MP3音乐和JPEG图片等,而两种格式的文件往往比较大,所以存储媒介也就有要求了,可供选择的有FLASH芯片,如SAMSUNG公司的K9F系列,还有SD卡,U盘等。如果选择FLASH,则整个系统要求较多的IO口来读取,更重要的一点是,这样做的后果就是整个系统的容量就被固定了,扩容存在困难。而U盘和SD卡都是不错的选择,但是SD卡相对于U盘,读取容易,而且相同容量的U盘和SD卡,SD卡的价格较低。所以系统选择SD卡作为存储媒介。第三,系统播放MP3要同时读取SD卡和VS1003,都要用到SPI口,

21、所以控制芯片最好有两个SPI,这样不用复用,可以提高速度。第四,彩色台灯的控制需要通过PWM调制,来实现调光,所以,控制芯片还要有至少3路的PWM输出。通过以上分析,本系统选择STM32作为控制芯片,STM32是ST公司最新推出的基于Cortex-M3构架的STM32F103RBT6芯片。采用STM32F103RBT6作为控制核心,该芯片具有6通道的16位PWM输出,RTC时钟,两个高速SPI,两个IIC,三个串口,自带USB和CAN接口。具有128K flash和20K 的SRAM,对本系统来说足够了,同时以后还有很大的升级空间。2.2 硬件器件的选择在系统实现的时候,硬件选择是很重要的一部

22、分,上面已经选取了控制芯片,剩下的就是选择其他芯片,来实现相应的功能了。下面我们重点分析系统相关其他芯片的选型。 2.2.1 MP3解码芯片选择 由于使用了ARM处理器,MP3的解码可以有两种方法,一是通过ARM处理器软解码,通过对MP3数据格式的解析实现MP3播放,二是通过外部解码芯片直接解码。第一种方法对处理器运算要求高,在解码高码率的MP3时,ARM7的处理能力吃紧,也就是说得不到好的解码效果,更重要的是STM32解码之后还需要外部的DAC来做音频输出。所以采用后者。MP3解码芯片常见的有VS100X系列,和STA01X系列,VS系列自带DAC输出,而且能解码的格式也比较多,而STA系列

23、要外加DAC,比较麻烦。经过对比,本系统MP3解码选择VS1003,该芯片支持MP3、WMA、WAV、MIDI等格式的解码,自带DAC输出。同时还可以调节音量高低音等,更重要的是它还具有MIC功能,有需要的话,可以实现录音功能。这点可以作为以后扩展功能的一部分。 2.2.2 收音机芯片选择本系统的收音机功能只针对FM收音,采用TEA5767芯片实现,TEA5767是飞利浦公司生产的一款低功耗电调谐调频立体声收音机芯片,其内部集成了中频选频和解调网络,可以做到完全免调,因此只需要很少量的小体积外围元件。TEA5767可以应用在欧洲、美国和日本不同的FM 波段环境。该芯片通过IIC总线控制该模块,

24、就可以实现调频接收,频率覆盖范围从76108MHz,而且是立体声接收,带信号强度指示。TEA5767在市场上占有率很高,一般的MP3机/手机的收音机功能都是用的这块芯片实现的。但是由于芯片体积很小,焊接难度比较大,故直接采用模块,TEA5767模块的体积小,价格低,而且使用方便。这样不但可以节省时间和成本,而且效果也是相当好的。2.2.3 温度传感器选择该系统具有温度指示功能,用来指示当前温度,因为日常温度的范围一般是-2050以内,所以,温度传感器要能在这个范围内给出正确的温度。经过分析,选用美信公司的单总线数字温度传感器DS18B20,该数字温度传感器将检测的温度信息转化为相应的数字量,独

25、特的一线接口,只需要一个IO口线就可以读写该器件了。简化了分布式温度传感应用,并且无需外部元件可用数据总线供电,电压范围为3.0 V至5.5 V,无需备用电源。该芯片的测量温度范围为-55至+125 。在 -10 至+85 范围内精度为±0.5。2.2.4 彩灯驱动芯片选择本系统采用3W的共阳RGB三基色LED来作为彩色台灯的光源,红绿蓝每个灯芯功率为1W,因为这种LED的驱动电压一般为3.3V左右,然后以每个通道1W计算,则每个通道电流为300ma左右。同时由于系统采用STM32控制,其IO口的电压为3.3V,还要使用PWM调光,开关频率较高,对驱动芯片的选取比较严格。经过分析采用

26、AP2306来驱动,3.3V电压采用LM2576来获得。LM2576为美国国家半导体公司生产的3A电流输出降压开关型集成稳压电路,它内含固定频率振荡器(52kHz)和基准稳压器(1.23V),并具有完善的保护电路,包括电流限制及热关断电路等,利用该器件只需极少的外围器件便可构成高效稳压电路。得到3.3V驱动电压之后,通过控制AP2306来调节LED亮度,AP2306为低压驱动的N型MOSFET,它具有极低的导通电阻和栅极电压,在Vgs=2.5V时,可以提供2.6A的输出电流,此时的导通电阻为50 m。满足上面的要求,并且在AP2306上消耗的功耗非常低。2.2.5 音效处理芯片选择 VS100

27、3已经自带了音效处理,但是其效果不是很好,而且无法对外部音源经行音效处理,这样外部音源和收音机的音源就得不到处理,所以,本系统通过一块外部数字音效处理芯片来进行音效处理。本系统总共有3个音源:MP3音源、收音机音源、外部输入音源。所以音效处理芯片最好有多个音源选择功能,否则又需要外扩音源选择芯片,通过选择,这里选择PT2314作为音效处理芯片。PT2314是一个具有四组立体声输入的双声道数字音质处理器,PT2314将音量、音调(bass and treble)、声道平衡(left/right)、响度等处理及输入增益选择内建于单一芯片中。这些功能令PT2314仅需要少数外部组件即可实现高效能的音

28、质处理系统。所有功能均由I2C总线来达成控制。当启动时的设定状态,音量为-78.75dB,输入声道为四通道立体声,所有扬声器输出皆为静音,输入增益、Bass、Treble皆为0dB。2.2.6 EEPROM芯片选择本系统需要保存部分用户数据,而STM32内部没有EEPROM,所以一旦掉电,系统数据会全部丢失,这就需要通过外扩EEPROM芯片来实现用户数据的保存了,EEPROM芯片有很多可供选择,比如ATMEL的24CXX系列,本系统选择美国Ramtron公司的新一代FRAM铁电存储器FM24C16,这个芯片为用户提供2Kbyte的用户数据存储空间。美国Ramtron公司铁电存储器(FRAM)的

29、核心技术是铁电晶体材料。这一特殊材料使铁电存储器同时拥有随机存取记忆体(RAM)和非易失性存储器的特性。铁电晶体的工作原理是:当在铁电晶体材料上加入电场,晶体中的中心原子会沿着电场方向运动,达到稳定状态。晶体中的每个自由浮动的中心原子只有2个稳定状态,一个记为逻辑中的0,另一个记为1。中心原子能在常温、没有电场的情况下,停留在此状态达100年以上。铁电存储器不需要定时刷新,能在断电情况下保存数据。由于整个物理过程中没有任何原子碰撞,铁电存储器有高速读写、超低功耗和几乎无限次写入等特性。铁电存储器和EEPROM比较起来,主要有以下优点: (1)FRAM可以以总线速度写入数据,而且在写入后不需要任

30、何延时等待,而EEPROM在写入后一般要510ms的等待数据写入时间; (2)FRAM有近乎无限次写入寿命。一般EEPROM的寿命在十万到一百万次写入时,而新一代的铁电存储器已经达到一亿个亿次的写入寿命。 (3) EEPROM的慢速和大电流写入使其需要高出FRAM 2500倍的能量去写入每个字节。 2.2.7 功率放大芯片选择本系统包括两块放大芯片,第一块用来放大从PT2314输出的音频信号,以驱动耳机,而另一块是功率放大,用来驱动喇叭。第一级放大的选择有很多,比如TPA152,TDA2822等,但是前者对比后者有很多优势,TDA2822的音质失真较大,THD为10%左右,而TPA152在32

31、负载的情况下THD只有2%,在10K负载的时候就只有不到0.01%了。而且TPA152的输出功率较TDA2822也较大,达到了1.5W的总输出。因此,这里选择音质较好的TPA152芯片,作为耳机驱动。由于考虑到家用,又具有这么多功能,功率放大不宜做的很大,尤其作为台灯使用时候,摆设在床头比较合适,所以功率放大采用体积小巧,不需要散热的D类功放,TPA3100D2。TPA3100D2是德州仪器生产的一款高效率的20W立体声D类音频功率放大器,工作电压10V-26V,每路能从18V电源向8欧姆负载提供20W,从12V电源向8欧姆负载提供10W, 从12V电源向4欧姆负载提供15W,效率高达92%,

32、不需要散热器,有四个可选择固定的增益设定,增益可选择为20/26/32/36dB,差分输入,具有自动恢复生产功能的热关断和短路保护,时钟输出可用于对其它D类器件的同步,48引脚7x7mm HTQFP封装。输出功率大,体积小巧,因此,满足本系统要求。 2.2.8 电源芯片选择本系统要求多个电压输入:2.5V,3.3V,5V,12V,所以对电源的处理需要多个芯片,对以上几个电源可以分为两组:功率电源和系统电源。功率电源主要包括给彩色台灯供电的电源和给TPA3100D2供电的电源。TPA3100D02的功率电源采用外部电源(DC12V)直接输入,并不经过稳压芯片,而彩色台灯的电源必须是3.3V,所以

33、要经过稳压芯片,这里选择LM2576-3.3V。对于LM2576上面已经有分析,这里不再介绍。系统电源主要包括给数字芯片供电的电源包括2.5V,3.3V和5V,这些电源功率不大,采用REG1117-2.5和REG1117-3.3V稳压芯片提供2.5V和3.3V的电压。REG1117可以输出800ma的电流,足以满足要求。对于5V输入,仍然采用LM2576,第一是因为整个系统的数字部分电源都是来自5V的,其上的电流比较大。更重要的是,直接从12V降为5V,如果采用一般的线性稳压芯片,则功耗会很大,采用LM2576开关型集成稳压电路,则可以显著降低功耗。2.2.9 人机交互设备选择人机交互设备包括

34、输入设备和输出设备,对于输出设备,因为系统具有电子相册的功能,这就决定了,必须采用彩色液晶屏幕,这里选择一款2.4寸的TFT液晶屏,其分辨率为240*320,65K色,工作模式为8位数据模式,与MCU的通讯所需IO口较少,速度也较快。输入设备为了使控制方便,人性化,采用触摸屏控制,触摸屏采用电阻式的4线模拟屏。控制简单,效果好。触摸屏的控制芯片选择ADS7846,ADS7846是TI(BB)公司生产的12位四线触摸屏控制芯片,因为该芯片是12Bit精度,所以可以提供的水平和垂直分辨率均为4096,而屏幕大小为240*320,所以,有很高的分辨率,有利于屏幕控制精度的提高。 2.3 硬件系统框图

35、 经过上两节的分析可知,整个硬件系统由一个STM32F103RBT6控制器控制。各个模块电路在下面将有详细介绍,这里给出整个硬件系统框图,如图2.1所示。 图2.1 硬件系统框图方框图给出了各个模块与MCU的连接关系,由于电源和功率放大器不受MCU的控制,故在方框图内没有画出。从上面的方框图可以看出,整个系统以STM32F103RBT6为核心,通过控制各个模块的工作,使整个系统达到预定的功能。 2.4 硬件模块化原理图设计 在本节中,将根据上一节的硬件系统框图进行具体的硬件设计。整个硬件系统可以分为若干个模块。下面对这些模块经行逐一介绍。2.4.1 MCU和DS18B20模块电路设计 MCU为

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

37、加了一个多余的按键和LED灯,方便在调试的时候使用。并且,考虑到某些模块对速度的要求,特意对MCU的IO口做了安排,这样虽然增加了布线难度,但是提高了执行速度,还是值得的。对多余IO口的安排,则是全部引出,方便以后扩展其他功能,比如:家电控制等。同时,对于STM32F103RBT6自带的USB接口,也已经引出,日后通过升级,可以实现USB控制的功能。这里要注意一点:因为PT2314,TEA5767,FM24C16这三个器件都是使用IIC总线控制的,所以,把这三个器件挂在一个IIC总线上,节省了IO口。 图2.2 MCU和DS18B20模块电路温度传感器DS18B20的电路比较简单,通过一个简单

38、的RC滤波给其供电再通过一个普通IO口连接到MCU上,实现MCU和DS18B20的连接。 2.4.2 MP3解码模块电路设计 MP3解码采用VS1003解码芯片,该芯片能解码MP3、WMA、MIDI、和WAV格式的音频文件,同时还支持录音功能,本系统中暂未用到这个功能,但是对其音频录音的电路保留了下来,方便日后升级。整个模块电路如图2.3所示。 图2.3 MP3解码模块电路对于VS1003,由于其既有模拟电源又有数字电源,且对音质有直接影响,所以,本模块中使用了大量滤波和去耦电容有的采用了LC滤波,为VS1003工作提供了稳定的外部条件。2.4.3 收音机模块电路设计由于本系统直接采用TEA5

39、767的收音机模块来实现收音机功能,所以使得其外部电路大大简化,只要通过少数的几个元件就能实现收音机功能了。电路原理图如图2.4所示: 图2.4 收音机模块电路需要注意的是,收音机模块对电源敏感,同时对外部电路的干扰也较大,所以在这里,对模块电源的处理采用了RC滤波加大电容的方式,能有效的降低收音机模块对外部电源的干扰。也能保证收音机模块电源的稳定。图中ANT为天线接口,通过外接天线,可以提高收音机的灵敏度。2.4.4 SD卡模块电路设计由于MCU没有专门的SD卡模式接口,只能通过SPI模式访问SD卡,电路图如图2.5所示: 图2.5 SD卡模块电路因为SD卡使用的SPI模式,所以把SD卡挂接

40、在MCU的SPI2上面。SD卡的SPI通信必须在每个IO口都用一个40K左右的上拉电阻,这里选择45K。SD卡的电路比较简单只要连接无误,一般都没有问题。STM32的SPI口在72M时钟的条件下,SPI时钟速度可以达到惊人的18M,也就是SD卡的读写速度最快可以达到2.25Mbyte/s。足够播放任何音频格式了。2.4.5 音效处理模块电路设计我们选择的是PT2314作为音效处理芯片,电路图如图2.6所示,PT2314支持最多四个输入通道,这里我们用了其中三个,通道2对应收音机音源,通道3对应外部音源,通道4对应MP3音源。通过IIC控制,可以实现这三个音源的切换。经过处理的音频信号从输出端输

41、出到耳机放大器TPA152,通过放大驱动耳机,这样我们就能听到所要听的声音了。 图2.6 音效处理模块电路PT2314的供电,这里也采用了RC滤波的形式,减少电源上的纹波对芯片工作影响,继而影响音质。图中对该芯片的数字地和模拟地也是进行了严格区分,坚持分开走线,减少了数字信号地对音质的影响。这么做的目的只有一个:让音质更好,更纯净。2.4.6 FM24C16模块电路设计铁电存储器FM24C16的电路也是很简单,只要通过简单的供电,然后连接IIC总线,就可以了。电路如图2.7 所示: 图2.7 FM24C16模块电路2.4.7 彩灯驱动模块电路设计彩灯驱动采用MOS管AP2306,这款MOS管采

42、用SOT23封装,占用PCB面积很少,因为有RGB三个通道,这里采用三个AP2306来驱动,电路结果如图2.8 所示: 图2.8 彩灯驱动模块电路上图电路中对每个AP2306的栅极都通过了两个电阻连接,AP2306的栅极通过一个1K的电阻连接到MCU,再通过一个100K的电阻链接到地。这是非常有意义的。1K电阻在这里的作用是保证MOS管烧坏的情况下,通过电阻回流到MCU的电路不会太大,最多3.3mA,而MCU的IO最大能承受8mA的电流,这样,在这部分电路出问题的时候,不至于导致MCU烧坏。100K电阻的作用主要是用来保证AP2306的可靠关断,因为AP2306是N型的MOS,所以,在栅极为高

43、电压的时候,AP2306才会导通,在这里加一个下拉电阻到地,保证了MCU的IO在开漏输出或者出现干扰的时候,AP2306也不会误导通。2.4.8 功放模块电路设计因为本系统既有耳机输出,又有喇叭输出,所以有两个音频放大电路:(一)基于TPA152的立体声耳机放大电路;(二)基于TPA3100D02的功率放大电路。耳机放大电路如图2.9所示,耳机放大电路采用官方推荐的电路结构,对从PT2314送来的音频信号进行缓冲输出,推动耳机工作。耳机输出采用五针的专用耳机插座,这个插座具有开管功能,信号从1,4脚输入,从2,3脚输出,第五脚是地。如果没有耳机插上,则有音频信号从2,3脚输出,如果耳机插上了,

44、则2,3脚不会有音频信号输出。这样通过连接2,3脚到D类功放上面,就可以实现耳机,功率输出同一时间只能有一个工作。由于TPA152也是音频信号输出的一部分,对于这个芯片的供电,也是采用了LC滤波的形式,减少电源干扰对音质的影响。 图2.9 TPA152耳机放大电路功率放大电路如图2.10 所示: 图2.10 TPA3100D02功率放大电路该芯片提供的输出功率与负载电阻和输入电压有关。这里,我们采用12VDC供电,负载电阻为4欧姆,则能提供的输出功率为15W。从而根据其DATASHEET可以计算输出LC滤波环路的参数,电感取15mH,电容分别为1uF和0.22uF。图中的功能选择部分可以有两种

45、选择模式:(一)把MUTE接地,则会使芯片一直处于工作状态。(二)把MUTE和FAULT相接则可以实现短路检测,在没有出现输出短路的时候,芯片正常工作,在出现输出短路的时候,FAULT输出高电平,通过MUTE控制芯片停止输出,这样可以有效地保护芯片。2.4.9 触摸屏控制电路和TFTLCD驱动电路设计触摸屏控制芯片ADS7846的电路比较简单,电路如图2.11所示:, 图2.11 触摸屏控制电路TFTLCD驱动电路如图2.12所示。该部分电路也比较简单,不过要注意三个地方, 图2.12 TFTLCD驱动电路第一个地方是R2,这个是LCD背光的限流电阻,通过这个电阻限制流过LCD背光的电流,防止

46、电流过大烧坏背光灯。第二个地方,为了节省IO口,LCD_BL这个控制信号,与ADS7846的CS是共用的,这里在软件编写的时候要注意。第三个地方是TOU_PEN信号在与MCU连接的地方,加入了RC滤波电路,因为这个信号连接到了MCU的中断上,而信号线在连接入MCU之前经过了较长的走线,上面的干扰比较多,而MCU不支持电平触发,所以必须加入滤波电路,使信号平稳。滤波电路如图2.13 所示: 图2.13 PEN脚滤波电路通过示波器观察,正常的中断信号在100HZ以下,而干扰信号则从几Khz到几百Khz不等,所以选取RC滤波电路的参数为R=1Khz,C=1uF,这样得到截止频率为159Hz左右,把干

47、扰基本全部滤掉了。2.4.10 电源电路设计电源是整个电路的基础,好的电源能使整个系统更加稳定可靠。对于本系统,按电流大小,电源分为:功率电源和系统电源。功率电源部分如图2.14 所示: 图2.14 功率电源电路功率电源一个给主控板供电,一个给彩灯提供电源。均采用LM2576作为稳压芯片,这款开关稳压芯片不但可以提供大电流,还能得到82%的变换效率,功率损耗较少使得电路不需要散热片,从而能有效降低电路的面积。对于外部电源输入加入了一个二极管,外部输入电源极性相反的时候,可以防止电源被烧坏。能有效的保护系统。系统电源,通过REG117获得,电路简单,如图2.15所示: 图2.15 系统电源电路这

48、个电路采用两块REG1117芯片给系统提供电源,一块提供3.3V的数字电源和模拟电源,它们通过电感连接,以减少数字电源对模拟电源的干扰。另外一块提供2.5V的电压,给VS1003的DSP提供核心电压。两者的输入电压均来自功率电源的5V输出。2.5 硬件PCB设计考虑到本系统的复杂性,为了使调试方便,把整个电路分为三个部分进行PCB的LAYOUT。分为电源板、显示板和系统板。电源板由三部分组成:电源、功率放大、彩灯驱动。显示板也有三个部分组成:TFTLCD、ADS7846和触摸屏。其他部分的电路都在系统板上,这样的设计有利于调试。PCB的LAYOUT要注意8个问题:l 对于电流比较大的走线,必须

49、使用较宽的线宽。l 对于功率放大,最好以单点接地的方式连接。这样可以使芯片工作时各个部分的相互干扰降低,从而获得较好的放大效果。l 对于走线,严禁走锐角的线,直角也最好少走,最佳的走线是弧形的。因为锐角和直角的走线会在尖端产生EMI,尤其在高频信号的时候。l 对于去耦电容,离芯片越近越好。l 对于信号线,不要长距离的平行走线,可以有效防止信号的相互耦合。l 对于高频部分,走线越短越好,如电路中的晶振,尽量把其安排在离芯片最近的地方,越近越好。这样可以有效减少干扰。l 对于数字地模拟地,必须严格区分,在其连接处通过磁珠或者电感或者电阻连接,可以减少数字部分对模拟部分的干扰。l 对于空白的区域,可

50、以适当的覆铜并连接到地线来提高系统的抗干扰性,但是严禁构成回路,因为这样很容易使其他干扰耦合到上面。根据以上几个布线原则,设计了本系统的PCB。电源板的PCB如图2.16所示,显示板的PCB如图2.17 所示,系统板的PCB如图2.18 所示。 图2.16 电源板PCB 图2.17 显示板PCB 图2.18 系统板PCB2.6 本章小结在本章中,我们首先对整个设计的总体方案进行了选取,包括存储媒介的选择、MCU的选型、硬件器件的选型以及互交方式的确定,经过总体方案论证,我们得到了初步的技术方案,具体确定了硬件器件的选型。接着详细介绍了各模块硬件电路的设计,并且介绍了一些本系统的PCB布线规则,

51、接着下来的任务就是设计该系统的软件系统。软件系统的设计将在下一章详细说明。第三章 系统软件设计第三章 系统软件设计 3.1 设计思路 经过上一章,多功能MP3的的硬件系统已经设计出来了,但是没有软件的支持,硬件就不能正常工作,形同虚设。软件是硬件的灵魂,控制着整个硬件系统的运行。所以软件对整个系统的重要性从某种意义上说比硬件更加重要。整个MP3的软件系统涉及到很多方面,是一个比较复杂的系统,不可能一次把所有的代码都写出来。这里对软件代码的编写采用模块化的设计思想,将整个软件系统逐步划分为子系统,再将子系统逐步细化为单一功能的模块来实现,最后再将所有的模块整合成一个大系统,实现预期的功能。3.2 软件模块化设计 从整个系统来说,按其与硬件是否直接相关,可以把软件分为两大部分:(一)与硬件相关的底层驱动软件子系统。(二)与硬件无关的应用软件子系统。这两个子系统的软件又可以细化为许多模块。对于底层驱动软件子系统包括如下模块程序:LCD驱动模块、触摸屏驱动模块、SD卡驱动模块、VS1003驱动模块、PT2314驱动模块、FM24C16驱动模块、TEA5

温馨提示

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

评论

0/150

提交评论