驱动你的VS1003

【ANP0001】驱动你的VS1003
——By DSheng2000 PART1 MP3播放器IY
D
一.引言:
如果你想迅速步入嵌入式系统设计的殿堂,最好的方法只有一个,那就是亲自动手实践,设计出自己的一套系统。MP3作为时下最流行的数码产品,做一个完全自我的MP3随身听应该能够引起你足够的兴趣。那么就让我们来DIY一下自己的MP3播放器吧,这样就可以亲自体验一下嵌入式开发的过程,享受一下成功那一刻美妙的音乐。
二.准备工作:
首先你需要一颗MP3解码芯片,让它来帮你完整MP3解码和播放的工作。这里推荐一款MP3解码芯片VS量脚器
1003,它来自芬兰VLSI半导体公司,功能强大但价格便宜,并且简单易用,非常符合DIYer的口味。VS1003支持MP3、WAV、WMA、MIDI等诸多音频格式,音质可与中档MP3播放器相媲美;同时它还兼备录音功能,录音效果也不错。实际上,VS1003就是一颗能够实现MP3等音频文件格式解码的数字信号处理器(DSP),本领并不止MP3播放,如果你有兴趣的话可以去挖掘出它更多的功能。当然,单有一颗VS1003是不够的,我们还需要微处理器和存放MP3的存储介质。如果你过去对某一型号的微处理器较为熟悉的话就立刻让它接上VS1003吧,由它来实现对MP3播放器的全面操控;存储介质就使用你手中的U盘吧,这样可以充分利用资源。不过,并不是所有的微处理器都能够直接识别U盘的,所以你还需要一颗USB主机接口芯片,U盘数据的读取由它负责。目前USB 主机接口芯片种类繁多。这里选用南京沁恒公司出品USB主机接口芯片CH375V,在众多产品中具有较高的性价比,适合用于DIY。
三.连接你的系统
东西都准备好了,现在工作就是将他们整合到一起。在整合之前需要在心中对系统有个整体印象:由微处理器通过USB主机接口芯片CH375从U盘获得MP3文件数据后,再通过微处理器将MP3数据发送给VS1003进行解码,解码后由VS1003送出音频信号,最后就能够在耳机听到音乐了,就这么简单。对于DIY来说,最大的乐趣在于亲自动手组装。所以我们可以把各个功能部分模块化,然后用导线将各个模块正确无误的连接到一起,如下图所示:
四.实现你的系统
接下来的工作就是让你刚才搭建的系统按照你的设计思想正确无误的运转起来:让你的微处理器从U
盘获得MP3数据并发送给VS1003,让VS1003能够放出音乐。这就需要你自己编写整个MP3播放器的控制程序了。在嵌入式系统设计中,嵌入式软件是整个系统的灵魂,它将最终被烧写到微处理器的片内存储器中,在系统运行的过程中全面掌管着微处理器的行动。一切尽在你的掌握之中,你可以只编写简单的播放程序,也可以实现更为复杂的功能。
五.将DIY进行到底
如果你是一位真正的DIY的话,你一定不会满足仅仅是播放MP3的功能。模块化的好处就是能让我们任意扩充,任意连接。你可以为你的MP3播放器挂接一个小小的彩液晶屏,让你的MP3能够显示歌名、播放时间、播放进度条以及歌词等等;既然你挂接了彩屏,你又可以用它来显示U盘里存储的图片;或者你手头没有U盘而是SD卡,那么你可以做一个SD卡的MP3播发器;你还可以给你的MP3加上线控或是无线功能。总之,你可以尽情的发挥你的想象力,秀出你的个性和创意,将DIY进行到底。
台风实时监控系统PART2 驱动你的VS1003
说明:VS1003配套文档基于ICDev的VS1003模块,本教程由IC开发网(www.ICDev.)2006年8月21日发布,仅供参考,更多资料和疑问请到本站论坛下载和发帖,转载请注明出处。
一.准备工作
1.硬件
VS1003模块和LPC2103核心模块(或其他带SPI总线接口的微处理器模块皆可)。
2.软件
VLSI提供的MP3播放器的完整实例,对自己编写VS1003驱动、播放mp3等很有参考价值。下载地址:www.icdev/bbs/board.aspx?boardid=7
3.文档
一个是VS1003的数据手册,一个是VS10xx的应用笔记,有这两个足以搞定VS1003。
二.关于VS1003
在编写VS1003的驱动程序前须先对它有一定的了解,这就需要阅读VS1003的数据手册了。如果你的E文不好,那就硬着头皮看吧。
1.VS1003简介
VS1003是由芬兰VLSI公司出品的一款单芯片的MP3/WMA/MIDI音频解码和ADPCM编码芯片,其拥有一个高性能低功耗的DSP处理器核VS_DSP,5K的指令RAM,0.5K的数据RAM,串行的控制和数据输入接口,4个通用IO口,一个UART口;同时片内带有一个可变采样率的ADC、一个立体声DAC以及音频耳机放大器。
2.支持的音频编解码格式
1)解码:MP3(mpeg1和mpeg2,层3),MP3+V,WMA,WAV,MIDI,SP-MIDI;
2)编码:IMA ADPCM(单声道),麦克风和线入(Line input)两种输入方式。
3.电器特性
汽车油箱结构1)AVDD(模拟部分):最大不得超过3.6V,推荐值为2.8V,最小2.5V;三基光源
2)CVDD(数字部分,内核):最大不得超过2.7V,推荐值2.5V,最小2.4V;
3)IOVDD(I/O电压):最大不得超过3.6V,推荐值为2.8V,最小值为CVDD-0.6V
注:VS1003模块AVDD = IOVDD = 3.3V,CVDD = 2.5V。
4)输入时钟频率:12M – 13MHz,推荐值为12.288MHz;
5)VS1003内部的时钟倍频器:芯片复位后的值为1.0×,推荐值为3.0×,即3倍频,最大值为4.5×,即可以在
3.0×的基础上再增加1.5×,用于WMA的回放。
注:以上仅列出了VS1003的一些基本电器特性,更具体的内容请参考VS1003的数据手册P9 – P11。 4.VS1003的寄存器(数据手册P27)
音频编解码芯片
VS1003共有16个16位的寄存器,地址分别为0x0 – 0xF;除了模式寄存器(MODE,0x0)和状态寄存器(STATUS,0x1)在复位后的初始值分别为0x800和0x3C外,其余的寄存器在VS1003初始化后的值均为0。下面将VS1003各寄存器逐一介绍:
1)MODE(地址0x0;RW,可读写)
模式寄存器在VS1003中是一个较为重要的寄存器,其每一位都对应着VS1003的不同设置。
●bit0:SM_DIFF
SM_DIFF = 0 正常音频相位
SM_DIFF = 1 左声道反转
当SM_DIFF置位时,VS1003将左声道反相输出,立体声输入将产生环绕效果,对于单声道输入将产生差分(反相)左/右声道信号。
●bit1:SM_SETTOZERO
置零
超声波焊接
●bit2:SM_RESET
SM_RESET = 1,VS1003软复位。软复位之后该位会自动清零。
●bit3:SM _OUTOFWAV
SM _OUTOFWAV = 1,停止WAW解码。
当你要中途停止WAV、WMA或者MIDI文件的解码时,置位SM _OUTOFWAV,并向VS1003

本文发布于:2024-09-21 17:42:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/341569.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   数据   解码
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议