以往在设计数字音频系统时,需要工程师具备相关的知识和经验,并且在软件开发方面也要花费大量的时间和精力。ROHM公司的USB HOST音频解码器大大简化了设计流程,软件解码都由芯片内部实现,设计者可以很轻松地构建数字音频系统。
传统的CD播放系统、MP3播放器的设计通常需要存储器控制器、解码器、DAC、系统控制器等,这些模块分散在各个IC中,硬件和软件设计都比较复杂。而USB HOST音频解码器将这些功能集成于单芯片中,外部仅需少量的晶振和阻容元件,大大降低了成本,而且可靠性提高。
芯片功能
ROHM公司的USB HOST音频解码器中所有的解码工作都是由硬件自动完成的,不同于其它内嵌CPU的设计方案,减少了软件编程的复杂度。内部集成了USB和SD卡控制器,可以直接访问存储器中的文件。芯片按Unicode编码对存储器内的音乐文件排序,并按顺序播放。内置了FAT文件系统,可以自动区分音乐文件和非音乐文件。芯片还可以自动跳读损坏文件,来防止产生噪音。芯片内置了键盘控制器,可以外接4 X 3按键矩阵。音频输出支持模拟输出和数字输出。模拟输出时可直接连接扬声器放大器,并且内置了7种音效均衡器,在输出时可以通过I2C总线来选择。数字输出支持高通用性的I2S BUS和SPDIF,可以很方便地连接到下一级数字信号处理电路中。芯片内置了一个I2C总线接口,可以与微型控制器进行通讯。USB HOST音频解码器的功能框图见图1。
图1: USB HOST音频解码器功能框图。
芯片可执行的音乐文件操作包括:播放、暂停、停止、快进/快退、跳到下一曲/上一曲、重复播放、随机播放、音量调节、文件浏览、读取ID3信息等。
该芯片具有三种工作模式,可通过功能引脚来选择:
模式1也叫“独立模式”。芯片工作时不需要外接微型控制器,可以作为主机直接播放存储器中的音乐文件,通过内置的键盘控制器读取外部的按键操作来选择播放模式。芯片还内置了7个LED驱动接口,通过LED丰富的表现,可以清楚地了解到其工作模式。在该模式下芯片还支持自动播放功能,上电后会自动读取和播放存储器中的音乐文件,不需要外部干预。
模式2和模式3称为“从动模式”。芯片需要外接微型控制器,通过I2C总线传输指令,设计人员需要编写相应的控制软件。这两种模式的实现相对于模式1复杂一些,但可以构建更高性能的系统。其中,模式2的工作流程类似于模式1的按键输入,需要通过接收微型控制器发出的指令执行"PLAY"、"PAUSE"等操作。在模式3中,芯片通过I2C总线将存储器中的音乐文件的位置发送给微型控制器,然后控制器通过指定文件的位置来选择播放。播放时,芯片会每隔100ms读取播放时间,通过LCD可以将曲目的播放时间、曲名等信息显示出来。在这两种模式中,芯片还具有RESUME功能,在下次播放时可从上次停止的地方继续播放。
设计实现
本文将介绍使用ROHM的USB HOST音频解码器BU9437AKV和NEC的16位单片机uPD1166组成的数字音频系统的设计实例。BU9437支持MP3和WMA文件解码,具有上面所述的USB HOST音频解码芯片的所有功能。
1.硬件设计
硬件电路主要参考BU9437的从动模式来设计,通过I2C总线接收MCU发来的控制信息,实现模式2和模式3的功能。
BU9437配置了SD卡和USB接口,同时为了保护USB设备在热插拔的过程中不受到损坏,我们还设计了USB保护开关,使用的也是ROHM的USB High Side Switch芯片。音频输出使用的是模拟立体声输出,外接了一个耳机功放,可以通过耳机或有源音箱来收听声音。MCU外接了一个五向的开关,可以方便地进行菜单的选择。LCD为16 X 2的字符型点阵液晶,可以显示功能菜单、文件信息等简单画面。芯片通过I2C总线与MCU通讯。硬件系统框图见图2,BU9437应用电路见图3。
图2:USB HOST数字音频系统框图