基于AT89C51SDN1的MP3电路板

2019-04-15 18:35发布

2006-05-10 23:04:30
字体变小字体变大 logo.jpg关于站点  收藏本站  联系站长   返回首页   提供基于AT89C51SDN1的MP3电路板   51MP3固件烧烤器下载(软件flip2.2) 图片:123.jpg 如果需要请联系: QQ:59005622       基于AT 89C 51SND1MP3播放器设计开发 前言: 20045月份开始研究MP3,到现在已有半年。对一些MP3硬件方案也颇了解,作此论文供初学者参考。本文着重对目前较为常用的MP3DIY方案作了分析,有不足之处还请多多指教。在此,感谢那些在网上默默奉献的MP3发烧友们我的支持。 主要内容: 本文介绍了以AT 89C 51SND1为核心的MP3播放器设计开发步骤,详细分析了MP3各个环节的功能实现,给出了多种实现其功能的方案。具体以AT公司提供的方案为例,详细作了分析,并介绍了关于AT 89C 51SND1在系统程序烧写的方法,以及MP3实现其功能的各种操作方法。 关键词: 功能简介 系统分析设计 外部通讯 FAT文件 程序烧写 简述: 随着科技的进步,MP3播放器已成为现代消费者首选的随身听产品,它以小巧玲珑的体积,精美的外形,低廉的价格及其强大的功能深得消费者的厚爱。这同时也引起了DIY发烧者的兴趣,他们不惜高价买进元器件,以自己组装的MP3为荣。国际上很多芯片制造商看准商机,开发出以自己生产的芯片为核心的MP3方案,并公布于众,这些核心芯片包括:ATJ-207X系列,AT9015系列,AT161系列,STMP341X系列等。其中,以ATMEL公司生产的AT89X51SND1系列芯片最为著名,这就包括AT 89C 51SND1. 功能强大的AT 89C 51SND1 AT 89C 51SND1单片机是ATMEL公司专门针对开发MP3而设计的,其主要特点是内部集成了MPEG2解码器和USB通讯接口,内含64k的内部程序存储器,支持在系统编辑ISP功能,通过USB或者串行口对芯片进行编程操作,内部数据存储器为2056字节。它最高支持20MHz的工作频率,工作电压为3V,内部集成的MPEG2解码功能支持4844.1322422.0516赫兹的采样序列,可直接与DAC音频转换芯片连接,支持USB1.1协议全速引擎,并提供相应的键盘中断、IDE/ATATPI /MMCISP接口。 51.htm1.jpg 系统分析设计: 目前MP3DIY主要有两种方案:使用DSP装配和使用专用MP3开发芯片。 DSP系统硬件设计麻烦,程序难以理解,购买DSP芯片的价格也较高,这些使MP3DIY爱好者们不约而同的选择了后一种方法。 国内流行的DIY方案很多,使用的专用芯片也是多种多样,但大部分方案整体上大致相同。以AT 89C 51SND1为核心的MP3系统主要实现一个MP3播放器的功能,整个系统由AT 89C 51SND1(MCU)K 9F 1208UDF(FLASH芯片)或硬盘、音频转换部分、USB接口、外部控制、串行通讯、电源部分和录音部分组成。 MCU部分:即AT 89C 51SND1,控制整个系统,提供USB控制和MP3解码功能; 存储器:作为MP3播放文件的存储器; 音频转化部分:将数据流转化成声音信号; 外部控制:对MP3进行操作的外部中断按键; 通讯系统:包括USB及串口通讯。 外部显示:包括了LED发光管指示灯,液晶显示屏等。 电源部分: MP3提供所需要的电能; 外部音频输入部分:包括音频输入元件MICA/D转换芯片 51.htm2.jpg 下面我们具体来了解一下由ATMEL公司在网上公开提供的一款以AT 89C 51SND1为核心的MP3方案(以下称小板方案) 电源部分: 整个开发板上的芯片统一采用3.3V供电,对开发板的供电采用两种形式:USB供电和电池供电 USB接口提供5V电压和200mA电流,Imax=500mA, AT 89C 51SND 1C所需的电压为3V(偏差10%),25mA。若使用USB口供电,需将5V转化成3.3V。一般可以采用电阻分压和DC-DC芯片降压。因为MP3属于高速信息传输数码产品,能否有一个良好的电源对MP3使用的稳定性来说至关重要,因此一般采用芯片降压的供电方案,本方案选用的芯片为AS1117,它输入电压为4.75-10V,最大输出电流为800mA,转换后输出电压为3.3V,是比较理想的USB电平转换芯片。 电池供电可采用两种方式:直接串接电池法和高频振荡升压法 前一种用两节1.5V的电池串联形成3V的电压直接接入MP3,这种方法不需要什么外围电路,芯片工作正常,但普通电池压降比较明显,当电池使用一段时间后,压降后的电压会导致MP3长期工作于不稳定的低压状态,对其音质和机体有很大的损害。 后一种则将1.5V的电压经高频振荡后送入电平转换芯片,将其转换成3.3V电压。这种方法是目前最常用的电源技术,它只需要一节电池供电,占用体积小,由于电压是经过高频振荡后转化而来的,所以电池的压降不会影响最终输出的电压,这也大大延长了电池的使用寿命,真正做到节能,是现代各种随身产品的首选供电方式。 51.htm3.jpg 在小板方案中,其电源转换主要是由SP6641(直流推进转换器)SP6231(万用串列总线外围设备)构成,电路中,场效应管SI2312DS与按键SW5构成了电源开关控制电路,每触发一下SW5SI2312DS将作导通和断开电源,电感L1和肖特基二极管BAT54S构成高频振荡电路,它将高频电流送入SP6231处理后,再由它送入SP6641进行直流电压转换,最终将3.3V电压送至整个设备。 直流电源]和数字电源的区别:在一些数字电路中,我们会发现会有DVDD(数字电源)和AVDD(模拟电源)两种电源,在小板方案中也不例外,这是因为一些芯片制造商在设计芯片时,为了让芯片工作于一个稳定的环境里,特意为其设计了专用电源DVDD。原则上,数字电源与模拟电源没有什么大的区别,但模拟电源工作的环境中,可能会出现大的压降或其他影响整个电源的情况。为保证系统的稳定性,通常在设计时,将数字电源和模拟电源分开设计,最后用一跳线将两个电源连接在一起,这样可以避免模拟电源对数字电源的影响,以保证系统的稳定性。 外部通讯系统: 外部通讯系统主要由USB通讯和串口通讯两种通讯方式,通过他们都可以进行程序烧写(51SND支持系统在线编辑功能),但通过USB接口还可进行文件的存储,即具有U盘通讯功能,所以一般只需要完成USB通讯接口就可以了。 串口通讯的实现:和其他的单片机串口通讯一样,要使用MAX232进行TTL电平转换,然后直接将信号送入51SND12526脚(串行通讯接口),通过51SND1内部的程序支持和计算机上的软件来完成串口的信息通讯,串口通讯需要注意波特率问题,选用不当的波特率有可能造成通讯失败,最常用的波特率是960019200 USB接口的实现则是通过51SND1自带的USB1.1协议通讯端口,它不需要使用飞利浦等公司生产的USB接口转换芯片,此方案则是通过两个27欧姆的电阻后直接接入51SND2122脚,这两个电阻的阻值是官方站对自己所开发的芯片提供的,最好使用精度高的电阻,否则,会因为电阻分压不当而导致计算机无法识别51SND芯片。该方案中,有一PNP三级管2N2907,它的作用是作为一个开关,在实现U盘功能时,I/O口将硬件响应信号送入三极管的基极,使其CE导通,电源VDD通过1.5K电阻拉高USBD+端口电位,以告知计算机有新的硬件接入。我们在设计电路时,通常在三极管CE上设一跳线开关,在烧写MP3程序时,需手动拉高D+口电位。 51.htm4.jpg 外部音频输入部分: 89C51SND1芯片提供了外部录音功能,在程序的支持下,通过外部设备MIC及其模数转换芯片向其送入音频信息,51SND1将其转化成WAV文件后保存在存储器中,通过MP3放音功能可将其音频信息读出。该方案中,实现MICCPU转换的是MAXIM公司生产的MAX4468(增益带宽涌流器), 它的主要功能是将MIC的信号放大,并将其转化成数字信息,通过CPU将数字信息储存在存储器中,从而实现MP3的录音功能。 51.htm5.jpg mp3音频转换部分: AT 89C 51SND1支持PCMI2S两种音频结构,音频数据流可以来自MP3解码的输出,也可以来自MCU直接的音频输出,和MP3解码部分类似,整个音频部分和51内核也通过5个寄存器来进行数据和控制信息的交流,这5个寄存器是: 1.音频接口控制寄存器0 AUDCON0 (AUDIO INTERFACE CONTROL REGISTER 0) 2.音频接口控制器 1 AUDCON 1 ( AUDIO INTERFACE CONTROL REGISTER 1 ) 3.音频接口状态寄存器 AUDSTA (AUDIO INTERFACE STATUS REGISTER) 4.音频接口数据寄存器 AUDDAT (AUDIO INTERFACE DATA REGISTER) 5.音频时钟分频寄存器 AUDCLK (AUDIO CLOCK DIVIDER REGISTER ) 当音频数据的第一位送入DA转换器的时候就会产生时钟信号。从MP3解码器送出的数据被送入MP3缓冲器,MP3的解码数据缓存和解码器通过一个握手信号进行通讯,可以通过AUDCON1寄存器中的DERQEN位来决定是否需要数据。 51.htm6.jpg 存储器: 目前市场上的MP3,其存储器是多种多样的,按照其存储器的不同,大致可分为:FLASH芯片存储,CF卡存储和硬盘存储三种。当然,不能否认还有一些使用的是碟片或者其它芯片存储。 FLASH芯片存储的MP3最常见,因为其体积小,存储速度快,耗电省等特点,已成为现在MP3存储器的首选(目前市场上的大部分MP3都使用这种存储器),本方案使用的FLASH存储器是韩国三星公司生产的K 9F系列FLASH存储器,这些存储器从16M256M不等,但价格比较高,一片64M的芯片售价是130元左右,256M的售价300多元,用户可根据需要来选择,但选用不同的FLASH芯片时,应注意程序兼容的问题,比如设定存储器的大小,FLASH存储器读出和写入的入口地址等等。 CF卡存储器最早应该是应用在数码相机上,它的特点是支持插拔,更换碟片容易,市场上很容易买到,其价格也比较便宜。这类MP3在市场上不常见,因为其体极大,存储量又不如硬盘,常用于数码摄像机机带MP3功能的存储器。但因为CF卡价格便宜,多为DIY者选用。 51.htm7.jpg 上边介绍的两种存储器存储量远远满足不了需要,于是人们便把目光投向了硬盘。一些公司看准商机,生产出专门用于MP3的微型硬盘,它的容量大小从几个G到几十个G,但此类MP3 目前售价较高,使很多MP3爱好者望尘莫及。在MP3DIY一族里,已经有不少高手使用普通硬盘完成了硬盘MP3,使用的CPU正是51SND151SND1与硬盘通讯的方法多种多样,最常用的方法是利用锁存器7437338译码器74138作为接口扩展,32KRAM62256作为缓冲器与硬盘的IDE接口连接,由于硬盘需使用12V5V两种电源,其耗电量也非常大,不适合随身携带,所以大部分DIY的硬盘MP3多是以台式的方式出现,并配上了液晶显示及功放电路。 用硬盘作为MP3的存储器要比使用FLASH芯片和CF卡复杂的多,不仅仅要了解硬盘接口的定义,在编写驱动程序时,还要完全读懂FAT文件,这个文件包括软盘数据的逻辑存储、硬盘中的数据组织、硬盘主引导记录(DBR)及其结构、引导记录及其结构、文件分配表FAT、文件目录表、分区表等等。要想完全看懂这些东西,必须要对计算机原理作充分的了解,理清程序算法,这些不亚于学好几门高等数学。在国内的DIY人群中,能看懂FAT文件,写出硬盘驱动的人也寥寥无几,大部分DIY者是使用别人写好的HEX文件。正因为这个原因,51SND1控制硬盘的源程序到目前还没有公开。若读者对此感兴趣,可到21IC网去下载硬盘FAT文件作具体分析,在此不多作介绍。 51.htm8.jpg 工作指示部分: 市场上的MP3都有一个漂亮的液晶屏来显示工作状态,如果自己DIY,所要使用的液晶屏都必须含驱动电路,其体积过大不易携带,所以大部分DIY者将这一部分省下了,取而代之的是4LED发光管。通过程序控制,4个发光管分别表示不同的状态,由4个按键来控制整个MP3的工作过程。 51.htm9.jpg 程序部分: MP3的强大功能与其程序是分不开的,没有合适的程序任何一个硬件都无法工作,关于MP3的程序设计在网上和一些相关的书籍上都有介绍,如果对其感兴趣,可到网上下在源程序研究,也可下在编译过的HEX程序直接进行烧写。 程序烧写: 前面已经介绍过,89C51SND1具有在系统编译功能,可用ISP端口控制,通过USB口或串口进行烧写,下面就一些程序烧写问题进行介绍: 1. 安装89C51SND1的在系统烧写软件flip2.2 2. 通过开始菜单运行InstUsb.exe(建议在开始菜单中运行,否则会出现路径找不到,系统建议用2000xp兼容性太差。) 51.htm10.jpg 3.PCB板上的ISP接地,USBD+电位拉高(即短接三极管CE两脚),注意一定要过1.5K电阻,否则硬件不能被识别。 51.htm11.jpg 4.连接USB线(或串口线),出现硬件响应后选择自动安装程序,正确安装后如图 51.htm12.jpg 5.打开flip2.2,选择芯片为AT 89C 51SND1,连接方式为USB(或串口) 6.SBV中的F0改为FC,调入所要烧写的HEX文件(文件所在路径中不能含有中文)。 51.htm13.jpg 7.进行烧写后,即可完成自己的MP3 Mp3功能操作: 本方案中共有4个按键: S1: 播放/停止/确定键 S2: NEXT S3: BACK S4: 功能选择键 其指示灯也表示4种状态: L1: 播放指示灯/