基于sd卡的mp3播放器设计内容摘要:
本次设计关系不大,暂未使用,这里不做介绍。 以上介绍中最重要的为 E和 F 部分。 E 部分具体含义见表 4。 表 4 位速率索引表 Bits V1,L11 V1,L2 V1,L3 V2,L1 V2,L2 V2,L3 0000 Free Free Free Free Free Free 0001 32 32 32 32 32 8(8) 0010 64 48 40 64 48 16(16) 0011 96 56 48 96 56 24(24) 0100 128 64 56 128 64 32(32) 0101 160 80 64 160 80 64(40) 0110 192 96 80 192 96 80(48) 0111 224 112 96 224 112 56(56) 1000 256 128 112 256 128 64(64) 1001 288 160 128 288 160 128(80) 1010 320 192 160 320 192 160(96) 1011 352 224 192 352 224 112(112) 1100 384 256 224 384 256 128(128) 1101 416 320 256 416 320 256(144) 1110 448 384 320 448 384 320(160) 1111 Bad Bad Bad Bad Bad Bad 注: 1:V1 MPEG1。 V2–MPEG2/。 L1Layer I。 L2Layer II。 L3Layer III 2:Free–可以利用的位率 ; Bad–不允许的值 16 在帧头 B、 C 部分可以查到 MP3 版本及层数,根据 B、 C 的值在上表中可以查出 音乐播放速率。 F 区决定音乐采样率,而采样率值则通过表 5 可以查出。 表 5 采样率索引表 (单位: Hz) Bits MPEG1 MPEG2 00 44100 22050 11025 01 48000 24000 12020 10 32020 16000 8000 11 Reserved Reserved Reserved 无论帧长度是多少,每帧的播放时间都是 26ms;每帧的大小可以通过以下方法计算得出:帧大小 =(((MPEGversion==MPEG1。 144: 72)比特率 )/采样率 )+填充位。 计算出帧大小波特率和采样率后,便可以对 MP3 文件进行解码。 VS1003B 解码芯片在设计中使用的是 SPI 接口,另外还连接了复位端、数据请求端、数据端及命令端。 其指令为 8 位, 0X2 为写; 0X3 为读。 本设计只需写,只有在验证写入是否成功时,才读 VS1003B 内部寄存器。 在每次读写数据后,数据请求端会变低表示忙 [17]。 其具体时序如图 18。 图 18 VS1003B 写数据时序图 根据时序可知:操作 VS1003B 需要一条 8 为指令,再跟上 8 位地址和写入该地址的 16 位数据。 然后 DREQ 会变低,直到内部完成数 据的操作。 VS1003B 初始化时,需要对模式寄存器、时钟频率及倍频寄存器、音量寄存器进行设置。 另外,还需要对音频寄存器进行设置,其取值由具体 MP3 文件帧头数据计算得到,初始化设置完成后,就可以进行数据送入解码芯片进行解码。 软件复位不会改变内部寄存器的值,进行歌曲切换时可以进行软件复位,这样进行歌曲切换时直接进行软件复位就可以了。 另外, DREQ 引脚在 VS1003B 的 FIFO 在能够接受数据的时候输出高电平。 此时, VS1003B 可获取至少 32Byte 的 SDI 数据或一个 SCI 命令。 遵循这个标准,当 DREQ 变低时,发 送器必须停止发送新的数据 [18]。 对 VS1003B 芯片大量写入音乐数据时,可以一次性写入 32 字节,这样就可以大大提高数据输入的效率,让音乐播放更为流畅。 MP3软件运行设计 完成各种驱动程序设计后,需对音乐播放流程、界面和操作进行设计。 播放 17 过程中,没有好的界面及人机接口程序,就不利于使用者操作,而使用过程中,因客户不知如何操作,胡乱按键就容易造成其它未知错误。 故下面论文就怎样进行整体设计做简要说明。 首先,程序需要对系统进行初始化。 初始化各个驱动的顺序必须有严格规定,应该从键盘开始,到显示器,再到 SPI 接口初始化,到 SD 卡和 FAT 格式初始化,最后是 VS1003B 的初始化。 初始化各驱动程序完成后,需要进入主程序,播放 SD卡中的音乐。 这部分程序可以在死循环中完成。 一旦开始播放,就不需停下,除非暂停键被按下。 其代码如下。 void main() { sys_init()。 while(1){ flag=0。 mp3_play()。 } } MP3 播放过程中,可以先搜索全部音乐,将其放入一全局变量中,然后利用这个全局变量判断是否所有音乐已经播放完成。 播放过程主要为搜索音乐,找到音乐 数据位置,读取数据,送入 VS1003B 解码,判断文件是否结束,没有则再查找下一簇数据并读取数据,否则,送入结束数据代码,跳到下一曲。 其中,在进行完每一块数据的解码之后,需要进行一次键盘扫描,根据键盘的值,对 VS1003B 或单片机的相应寄存器进行操作控制 MP3 的播放。 4 热转印制作电路板 经过对各种电路板制作方法的学习研究,以及在现有条件的约束下,决定使用热转印技术制板。 采用这种方法制作电路板有点是:成本低廉、原材料易得、操作简单。 缺点是:精度不高、至多做两层电路板,需要做大量练习才能够灵活使用。 热转印的预备工作 第一步,准备热转印所需的材料。 主要有三氯化铁、热转印纸、钻孔设备、热转印机或电熨斗、单面覆铜板及容器。 另外还需准备激光打印机、电脑各一台。 为了进一步降低成本,可以直接到可以打印店里进行打印、电脑可以自备或使用网吧的。 第二步,利用 protel DXP2020 软件将设计好的电路图编译并转移到 PCB 图进行布线。 手工制作双面板时不易对准两面的过孔,为了能够做出更高质量的电路板,布线时设置为单面板,布线精度为 或以上。 将单片机和音频解码芯片制作成单独的模块,防止焊接过程中出现的失误,导致成 本的大幅度增加,同时还能降低关键芯片被静电击穿的概率。 18 第三步,将电路布线图打印出来。 先利用虚拟打印机将已经布线的 PCB 板制作成 PDF 文档。 经过多次实验,制作文档时必须按照 105%的比例镜像打印,否则打印出的 PCB 板会偏小以至于无法焊接或焊接短路。 单片机模块打印后效果见图19, VS1003B 模块打印后效果图见图 20。 图 19 单片机模块打印图 图中文字镜像显示,在进行热转印后便能够正常显示出来。 而大面积的接地覆铜区是为了降低外界对石英晶体振荡器的干扰,提高电路稳定性。 在 PCB 板打印时应将电路中各个过孔显 示出来,然后可利用三氯化铁将中间铜箔腐蚀掉便与打孔。 如果不腐蚀中心铜箔,使用机器钻孔时易让整个引脚铜皮脱落以致发生断路或无法焊接等问题。 图 20 VS1003B 模块打印图 最后,空白 PCB 预处理 ,这一步至关重要。 首先将 PCB 板按需要裁好并将边缘突起的毛刺用砂纸或砂轮打磨光滑。 然后将三氯化铁和水配兑,浓度要竟可能低,用来进行预处理铜皮,如果浓度太高可能导致铜皮被腐蚀掉。 在溶液中放入覆铜板,铜皮面向上,用刷子不断地来回刷洗,将油垢和杂质刷掉。 由于药水的作用会形成新的均匀的薄氧化层,这样可以加强碳粉的附着性, 热转印时便能将更多的碳粉转移到覆铜板上达到更高精度。 最后取出覆铜板,用水清洗后用干净柔软的布擦干。 19 热转印方法 在做好相应准备工作之后便可以进行热转印。 将电熨斗温度调节在大概 80176。 到 120176。 之间, 首先对覆铜板进行 预 热。 将覆铜板放在电熨斗下,利用其产生的热量使覆铜板达到一定温度。 没有预热时吸附碳粉能力很差,在揭纸的一刻与转印纸争夺碳粉时处于劣势会造成部分线断开。 然后,就是加热转印。 将打印好的转印纸墨面对着铜皮置于上面,转印纸要剪掉多余的,留少量的边,还应选用透明胶固定覆铜板和转印纸的位置,防止熨斗运 动时发生滑动造成断线等问题。 将电熨斗调到棉衣档压在热转印纸上,并不停滑动使其受热均匀,在棱角部分停留时间还应稍长以提高这些地方的碳粉转移效率。 一般这样操作 3~5 分钟即可。 最后,冷却并揭开热转印纸。 可以将整块板放入水中令其快速冷却,待到覆铜板达到常温时就可揭开缓慢热转印纸,完成整个热转印过程。 将三氯化铁溶液 ——将三氯化铁和水按 2:3 的比例混合均匀,倒入塑料盒,转印成功后的覆铜板。 将铜皮面向上,不断均匀摇动并观察,直到腐蚀完成。 腐蚀完成后的覆铜板用水清洗干净擦干即可。 用钢丝球将腐蚀后的电路板表面上的碳粉擦除 ,并根据 PCB 图打孔、焊接完成电路板的制作。 制作结果 在使用热转印技术制板、打孔、焊接以后,就完成了电路板的制作。 需要立刻进行线路的测试工作,测试时可以利用 protel DXP2020,其有一项功能是将有电气连接性能的节点或连线突出显示。 如此就能够更加快捷、方便的发现电路板上的短路、断路等情况。 在电路板上电以前还应该用万用表测试电源线正负极间电阻,若只有几十欧姆或者更小,则电路可能存在问题需仔细检查。 此次设计中除 VS1003B 模块精度和焊接难度较大外,其余各个部件均完成且效果俱佳,其最终成品图见 附录一。 由于 VS1003B 芯片较小各引脚间间距仅为,线宽亦不能超过 ,手工制作、焊接很难实现,故此次设计采用市场上的 VS1003B 模块。 5 总结 难点与创新 在本次设计中难点主要有一下几方面: FAT32 格式的分析、单片机读写性能的优化、 VS1003B 的焊接以及单面板的布线等,下面就前两点做简要介绍。 FAT 格式引导区数据繁多且意义各不相同,从 SD 卡中读取到数据后,需对其进行高效的分析、运算,并将关键信息存放在缓冲区或寄存器中,否则很容易导致程序效率低,从而影响到音乐播放效果和流畅。 此设计中采用结构体转换的方式对数据进行处理,并采用全局变量存放常用信息,使单片机不必多次对外设进行读写, 20 处理速度较快且可靠性高。 工作在 SPI 模式下的 SD 卡读写速度有限,相对 VS1003B 能够以较高速度进行读写, AVR 单片机改变 SPI 接口速度较容易,只需一个时钟周期。 单片机对不同芯片进行数据读写时改变其速度,使各种芯片读写速度均达到最大以提高整机性能。 创新主要体现在以下五个方面: 采用 SD 卡作为存储介质,便于存储容量的扩展。 采用驱动模块化设计方式,有利于以后对其进行升级和维护。 利用专用解码芯片 ,降低成本并能获得较高播放音质。 设计中加入串口通信并实时输出播放状态信息,有利于日后的差错及维修 预留部分接口,便于以后进行功能升级且功能可扩展。 测试结果 在完成了制板、焊接以及程序下载后,本次设计就接近尾声。 最后需要进行最终的效果测试。 下面对测试过程及情况做简要说明。 首先,在一张容量为 128M 的 SD 卡中存储了几首 MP WMA 格式的歌曲文件,然后插入自制的电路板中上电播放。 音乐播放成功,无任何异常产生。 然后,进行按键测试。 音量加减键能够正常工作,但在按下按键时,歌曲出现播放声音出现断续 情况。 根据程序分析,由于每 26ms 需要一帧数据,按下按键会导致程序中断数百毫秒,故出现歌曲播放声音不连续的情况。 进行歌曲切换、暂停 /播放按键测试时,一切正常,无任何异常。 最后,在进行以上测试过程之中,显示器能够正常工作,显示的信息也正常。 串口能够将播放中的信息正确传递给电脑显示。 到此,基于 SD 卡的播放器测试完成,所有电路及预期功能基本完成。 前景与展望 MP3 播放器在现在市场上已经变得非常常见,从这个角度看, MP3 的发展潜力已经不是很乐观。 但是,微型存储卡技术却在飞速发展,而且,将存储卡与 MP3相结合的技术却并不乐观,因为在这方面字库处理的方法还需要得到提升,当SD/MMC 卡更换后,怎样才能让汉字字库保持不变很难办到,即使这样处理了,却不得不在 MP3 内部再加一块存储器存储字库,这样,产品在成本上增加了,这也是基于 SD 卡的 MP3 不能快速发展的原因。 因此,这种基于 SD 卡的 MP3 播放器在现实中,仍然具有一定潜力。 而且,它在被用作 MP3 的同时还可以用作存储器。 对于用户来说,这无疑是一种新意、一种优势,值得去购买、体验。 由于它本身的小巧,还可以嵌入车载系统、家庭娱乐系统等设备中,如果能在这些方面加以应用, 这种基于 SD 卡的 MP3 播放器还有很大潜力可供挖掘。 综上所述,这种使用微型存储卡作为存储介质的 MP3 播放器仍具有良好的发 21 展势头,拥有一定潜力可供挖掘。 参考文献 : [1] CECA .Chain Electronic Components Association[OL]. ,2020 [2] 沈磊 .基于 ColdFire 和 uCLinux 的便携式多媒体播放器软件系统的设计与实现 [D].上海:上海交通大学 ,2020:1~ 2 [3] ,2020,8 [4] MP3 [OL] . 8,2020,6 [5] 麦建邦 .百度百科 MP3 播。基于sd卡的mp3播放器设计
相关推荐
设为 1 % 即系统存在输入输出之间的直通项 , 否则执行将出现错误 % 系统输出方程函数结束 Simulink建模: 二、实验结果及分析 flag =0 t =[] x =[] u =[] 11 flag =3 t =0 x =0 0 0 u =NaN flag =2 t =0 x =0 0 0 u =3 flag =1 t =0 x =0 0 0 u =3 flag =3 t = x = u
20 人。 ⑵ 装修期间 抹灰工 60 人;木工 4 人;油工 8 人;电工 6 人;水暖工10 人。 四、主要施工方法 施工测量放线 ⑴ 施工测量基本要求 A、 西夏建材城生活区 1 30住宅楼定位依据: 西夏建材城生活区 工程总体规划 图,北京路、规划道路永久性定位 B、根据工程特点及<建筑工程施工测量规程> DBI01- 21- 95, 2 条,此工程设置精度等级为二级,测角中误差177。
3 主要元器件原理及其应用 本次设计中主要器件有继 电器、 51 系列单片机 AT89S5 数码管 显示模块、 5V 稳压芯片 7805,在介绍系统的硬件设计之前,下面先简要介绍 一下这些关键器件的原理及应用。 继电器介绍 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又 称输出回路),通常应用于自动控制 电路 中,它实际上是用较小的电流去控制较大电流的一种 “自动开关
从全寿命周期成本考虑还是值得推广的。 柔性基层的作用 实际上是为了进一步吸收砼路面结构所产生的集中应力而设置的一层沥青路面柔性基层,其作用是由于空隙率较大( 13~18%),沥青含量低,其弹性模量较低,混合料中存在较大连贯空隙,具有 较强的抵抗反射裂缝的能力,从而延缓了柔性路面的使用寿命;同时由于大碎石的骨架结构和大孔隙率,使破碎后的旧砼板块之间的集中应力在大碎石的孔隙中被消解分散
或小学阶段课程自拟题目,现场作业评分。 考核标准: 优秀:根据教学内容,熟练运用油画棒、水粉等工具绘制教学挂图,主题直观易懂,主题形象准确突出,画面平整,色彩搭配协调。 良好:根据教学内容,运用油画棒、水粉等工具绘制教学挂图,主题直观易懂,主题形象比较准确,色彩协调。 合格:根据教学内容,完成教学挂图的绘制,基本突出主题,主题形象不出现大的错误,色彩搭配基 本合理。 不合格:不能表现教学内容