基于ISP1362的U盘MP3播放器设计
[10-10 20:38:44] 来源:http://www.88dzw.com 电子制作 阅读:8455次
文章摘要:图3 OTG端口电路图AT89C51SND1C及ISP1362的初始化 在开始播放MP3文件之前,需要一系列初始化操作。这些操作是通过设置AT89C51SND1C及ISP1362内部的相关寄存器来完成的。AT89C51SND1C的初始化 为了正常播放MP3文件,首先要对主控制器AT89C51SND1C进行以下几方面的设置。锁相环初始化 MP3解码器和音频输出接口使用的都是内部锁相环提供的时钟。锁相环的初始化是通过设置PLLCON、PLLNDIV和PLLNDIV来完成的。其输出频率的计算公式为:PLLclk=OSCclk×(R+1)/(N+1)。MP3解码器初始化
基于ISP1362的U盘MP3播放器设计,标签:电子小制作,http://www.88dzw.com图3 OTG端口电路图
AT89C51SND1C及ISP1362的初始化
在开始播放MP3文件之前,需要一系列初始化操作。这些操作是通过设置AT89C51SND1C及ISP1362内部的相关寄存器来完成的。
AT89C51SND1C的初始化
为了正常播放MP3文件,首先要对主控制器AT89C51SND1C进行以下几方面的设置。
锁相环初始化
MP3解码器和音频输出接口使用的都是内部锁相环提供的时钟。锁相环的初始化是通过设置PLLCON、PLLNDIV和PLLNDIV来完成的。其输出频率的计算公式为:PLLclk=OSCclk×(R+1)/(N+1)。
MP3解码器初始化
MP3解码器的初始化需要对MP3CON和MP3CLK进行设置。MP3解码器分缺少数据中断和校验中断两类中断,在MP3CON中可以对其进行设置。简单处理可以采用查询标志位方式,避免使用中断。MP3解码器对时钟有一定的要求,MPEG I格式的MP3数据要求最低时钟为21MHz,MPEG II格式为10.5MHz。该时钟计算公式为:MP3clk=PLLclk/(MPSD4:0+1)。
音频输出接口初始化
得到两个声道串行数据前需先对音频输出接口的AUDCON0和AUDCON1中的相关部分进行正确的设置。配合DAC芯片CS4330,其设置如下:输出32位数据格式(DSIZ=1),声道选择信号中的高电平为左声道(POL=1),选择256·Fs的数据速率(HLR=0),选择MP3解码器的输出为数据源(SRC=0),18位数据右对齐(JUST4:0=14)。为了听到正常的声音,还需根据MP3的采样率设置MP3CLK来得到正确的音频输出接口的时钟,该时钟的计算公式为:AUDclk=PLLclk/(AUCD4:0+1)。
按键初始化
要实现播放MP3的人机交互功能,就需要键盘的支持,AT89C51SND1C专门提供了4个中断的按键接口,当这些中断被使能后就可以简单地通过读取KBSTA得到按键的状态。按键初始化的时候只需要在KBCON开启相应接口的中断,再开启总中断的EA即可。
ISP1362的设置
为了能正确地从U盘中读取MP3文件,首先要对USB控制芯片ISP1362进行以下几方面的设置。
数据缓冲区的划分
ISP1362内部有4KB的数据缓冲区,可划分为4部分以供USB的四种传输方式使用。其中同步传输为双缓冲,占用ISTL0和ISTL1,一般二者大小是一样的。中断传输占用INTL。控制传输和块传输共用ATL。分别通过HcISTLBufferSize 、HcINTLBufferSize和HcATLBufferSize 来设置ISTL、INTL和ATL的大小。
中断的设定
这里的中断并不是指USB中的中断传输,而是传统意义上的硬件中断。如果不使用中断,则应该将其关闭,具体操作为将HcuPInterruptEnable置0,而 HcInterruptDisable中所有位都置1。
ATL 缓冲的设定
控制传输是任何USB设备都有的数据传输类型,而在ISP1362中,它占用的是ATL缓冲区,因此对ATL 缓冲的设定是必不可少的。具体的操作是设置以下几个寄存器:HcATLPTDSkipMap、HcATLLastPTD、HcATLBlkSize、HcATLPTDDoneThresholdCount和HcATLPTDDoneThresholdTimeOut。
其它相关寄存器
ISP1362还有一些关于硬件的设置,比如端口设定以及过流保护等。除此之外,还需要确定一个帧所发送的最大数据量等信息,这些操作通过设定HcHardwareConfiguration和HcFmInterval两个寄存器完成。
读取U盘
U盘在使用USB传输时使用的是块传输方式,操作相对比较复杂。除了最基本的USB协议之外,还需要实现许多其它相关协议,比如Mass Storage、Bulk-Only、SCSI-2、UFI等。但对USB接口芯片ISP1362而言,需要完成的仅是按照协议规定进行数据的传送。
相关描述符和设置
- 上一篇:用BA328制作的音调控制电路
《基于ISP1362的U盘MP3播放器设计》相关文章
- › 基于ISP1362的U盘MP3播放器设计
- › 基于ISP技术及89C55单片机的图像处理系统设计
- › 基于ISL3300x设计的I2C总线扩展方案
- › 基于ISDl420的语音编辑器设计
- › 基于ISDl420的多路语音报警系统
- 在百度中搜索相关文章:基于ISP1362的U盘MP3播放器设计
- 在谷歌中搜索相关文章:基于ISP1362的U盘MP3播放器设计
- 在soso中搜索相关文章:基于ISP1362的U盘MP3播放器设计
- 在搜狗中搜索相关文章:基于ISP1362的U盘MP3播放器设计