解析BU9435在嵌入式MP3播放模块的应用
脚33(USB_DM)和引脚34(USB_DP):USB接口;引脚40(XIN_PLL)和引脚4l(XOUT_PLL):时钟产生电路,外接16.934 4 MHz晶体振荡器;引脚44(RDACO)和引脚46(LDAC0):模拟音频右声道和左声道输出;引脚48(AMUTE):静音状态输出端,低电平表示处于静音状态;引脚49~55:工作在独立模式时,49~55引脚为工作状态LED指示输出:工作在从属模式时,53~55引脚为数字音频输出端。
3 BU9435外围电路设计
由BU9435构成的MP3解码电路原理图如图2所示。为使BU9435按所希望的方式工作,需对其引脚进行相应配置。大部分输入引脚内部都具有上拉功能,主要配置为:2引脚接地,使BU9435工作在从属工作模式,这样系统控制器可通过I2C总线对BU9435进行控制及获取BU9435的工作状态:3引脚接地,系统支持MPl、MP2、MP3格式的文件;4引脚悬空,内部上拉为高电平,器件输出为模拟音频信号;系统中通常还有其他音源。一般都有独立的通道选择与音量控制器件,所以BU9435 5引脚接地,禁止器件音量控制:6引脚悬空,禁止器件自动播放,由主控制器控制BU9435;BU9435的I2C器件地址最高位固定为1,最低2位由引脚14和引脚15决定,其他位为0,将引脚14和引脚15接地,BU9435的I2C器件地址为0x80H.
立体声模拟音频信号由引脚44和引脚46输出,经RE滤波后送到音量控制器件控制通道和音量。BU9435的控制和获取BU9435的状态全部由I2C总线引脚SCL和SDA完成。
4 软件设计
控制BU9435是先发送控制命令,然后读取BU9435的状态寄存器组或相应的信息。状态寄存器又名条件码寄存器,它是计算机系统的核心部件--运算器的一部分,状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位(CY位),有无溢出(OV位),结果正负(SF位),结果是否为零(ZF位),奇偶标志位(P位)等;另一类是存放控制信息(PSW:程序状态字寄存器),如允许中断(IF位),跟踪标志(TF位)等。如果该字节为0x00H.则表明后续内容为有效的状态寄存器组或相应的信息数据;如果该字节为0xFFH,则表明BU9435忙,后续数据无效,这时主控制器应该发送I2C结束命令并重新读取。图3为BU9435的读取流程图。
BU9435工作在不同状态时,接收的命令也不同。当某个命令不能被当前状态接收时,该命令将被忽略。BU9435的状态与主要命令之间的关系如表l所示。BU9435系统控制软件流程如图4所示。
5 结语
基于BU9435的MP3播放模块,不仅同时支持U盘和SD卡作为存储介质,为音响系统提供丰富的媒介来源,而且外围和接口电路简单,只要系统提供I2C总线接口,就能方便地将该模块嵌入到系统中,有很强的通用性。该MP3播放模块,无论对新音响系统的设计还是旧音响系统的升级,都能提供有益的借鉴和参考。
模块 应用 播放 MP3 BU9435 嵌入式 解析 相关文章:
- 什么是module 以及如何写一个module(转)(04-23)
- 在Linux 2.6内核下编译可以加载的内核模块(04-23)
- 用DSP56F805 PWM模块输出高频正弦波(05-25)
- DSP与PC机的无线交换调制模块设计(09-17)
- 基于TMS320F28334的伺服系统模块设计(02-25)
- Linux安全模块(LSM)简介(06-12)