今天从www.embeded.cn看到MP3嵌入式的开发相关知识
来源:互联网 发布:tags.php是什么 编辑:程序博客网 时间:2024/06/04 14:28
新型MP3解码芯片VS1001K及其应用
发表时间:2006-02-23 23:54:00 发布人:administrator 阅读次数:726
摘要:VS1001K是芬兰VLSI Solution公司生产的新型MP3解码芯片。该芯片内含高质量的立体声数模转换器(DAC)和耳机驱动电路,支持PCM数据输入。它还具有体积小、功耗低、接口简单、价格便宜等优点。文中介绍了VS1001K的引脚排列、内部结构和主要特点。同时重点介绍了VS1001K的SCI控制接口中各寄存器的功能和地址以及SDI数据接口的操作方法。最后给出了VS1001K的应用电路。 关键词:MP3 编码 播放器 VS1001K 1 引言 目前,INTERNET网上和便携式播放器所使用的MP3音频数据压缩方法已经成为一种公认的行业标准了。这种方法以其压缩率高、音质好而迅速风靡全世界。但实际上,许多MP3播放器的核心就是一片MP3音频解码芯片。VS1001K是芬兰VLSI Solution公司推出的新型MP3解码芯片。该芯片内含高质量的立体声数模转换器(DAC)和耳机驱动电路,它支持PCM数据输入,同时具有体积小、功耗低、接口简单、价格便宜等优点。因而有望成为新型MP3解码器的首选芯片。 2.1 VS1001K的引脚功能 VS1001K具有两种封装形式:分别为28脚SOIC双列式和49脚BGA球栅阵列式。图1给出了28脚SOIC封装的引脚排列图。各引脚的具体功能说明如表1所列。
表2 SCI寄存器功能
2.2 VS1001K的内部结构 VS1001K解码芯片内部集成有VS DSP处理器,同时它还集成有立体声音频DAC、立体声耳机放大驱动器、以及程序ROM和程序RAM等,此外,VS1001K还带有串行的数据接口和控制接口。图2是VS1001K的内部结构原理框图。 VS1001K主要通过两个串行接口SCI和SDI来接收外部微处理器传送来控制命令和MP3数据。其中SCI用于接收外部微处理器传送来控制命令,SDI用来接收外部微处理器传送的MP3数据。 3.1 SCI控制接口 对VS1001K的控制主要是通过对SCI中的15个16位寄存器进行操作来实现的。表2所列是SCI的15个16位寄存器的名称、地址、类型和功能说明。实际上,对VS1001K的主要操作都是通过MODE寄存器来完成的,表3给出了MODE寄存器各位的操作功能说明。
SCI和外部微处理器的通讯协议包括指令字节、地址字节和16位字三部分。其中指令字节取0X03时为读寄存器,取0X02时为写寄存器;地址字节的主要用途是确定地址寄存器的地址,其范围为0X00~0X0E.而16位字则用于指向指定寄存器写入或读出的值。图3所示是SCI寄存器的读写操作时序。 3.2 SDI数据接口 当外部微处理器通过SDI接口向VS1001K传送MP3数据时,在MODE寄存器的不同设定下,SDI可工作在主、从两种模式。 当SDI在主模式下工作时,其DCLK信号由VS1001K内部产生(具体是512kHz还是1024kHz由MODE寄存器的SM IBCLK位决定),而当SDI工作在从模式时,DCLK由外部输入。 SDI通常以字节为单位来进行数据传送,并在DCLK的上升沿或下降沿(具体由MODE寄存器的SM_DACT位决定)将SDATA数据信号输入。数据传送时采用高位在前还是低位在前是由MODE寄存器的SM DACT位来决定的。SDI采用BSYNC信号来确保数据传送时不出现错位的情况。 4 VS1001K的应用 图4是VS1001K通过SDI和SCI接口与外部微处理器进行连接的应用电路。从图中可见,由于VS1001K解码器在其芯片内部已经集成了数模转换器和耳机音频驱动电路,因而其外围电路十分简单。实际上,图4电路已经对VS1001K与微处理器的接口电路进行了优化。 关于读写SCI的寄存器或向SDI传送MP3数据的软件编程,对于不同的外部微处理器,其软件编程可能会有所不同。但都不是很复杂。限于篇幅,本文不再赘述。 |
- 今天从www.embeded.cn看到MP3嵌入式的开发相关知识
- embeded 的相关链接
- 网上看到的相关知识
- 今天看到一个新的知识Lucene
- 为什么选择嵌入式(Embeded System)开发
- 推荐一个学习嵌入式的好站【嵌入式门户网】(www.21em.cn)
- 从今天开始写博客,记录些自己学习嵌入式开发的事情
- 今天看到的一句话
- 今天看到的消息
- 今天看到的,所想
- 今天看到的 排行榜
- 今天看到的一句话
- 嵌入式产品认证相关的小知识
- 嵌入式产品认证相关的小知识
- 今天看到一个比较好的网站(http://www.javafox.org/)
- 从今天开始记录一下每天学到的Android知识、以及开发中遇到的问题
- 嵌入式Linux中基于 Qt/Embeded触摸屏驱动的设计
- 嵌入式Linux中基于Qt/Embeded触摸屏驱动的设计
- c++函数名地址验证
- 关于C++编译成EXE文件后
- 字符串的处理
- 一个分页标签,头疼好好久,写出来去大家共享
- 工厂模式
- 今天从www.embeded.cn看到MP3嵌入式的开发相关知识
- 有关编译预处理顺序的讨论
- 全面解读BIOS提示信息
- 前台的HTML标记中获取后台的变量
- form标签中id和name属性的区别
- enum实现类似反射的功能
- C语言数据结构中队列的相关操作
- 磁盘阵列(RAID)架构级别初步了解
- 地震后到学校放假B(EarthQuake 8)