基于ISP1362的U盘MP3播放器设计
发布时间:2008/5/27 0:00:00 访问次数:481
关键词:at89c51snd1c;isp1362;u盘;mp3播放器
播放器与存储器的一体化设计对mp3播放器的便携性起了关键性的作用,但与此同时,它又带来了很多新的问题。比如存储容量固定,如果想装下更多的歌曲只能去购买新的产品,造成了巨大的浪费。另一方面,一体化又限制了mp3播放器在其它领域的应用,比如汽车电子等。于是,将存储器与播放器分离,成为mp3的另一发展方向,也是开发这款u盘mp3播放器的意义所在。
主要芯片简介
at89c51snd1是atmel推出的基于8位c51mcu内核的mp3解码器芯片。它内置mp3硬件解码器,支持48khz、44.1khz、32khz、24khz、22.05khz及16khz采样频率,具有重低音、中音、高音均衡控制和重低环绕声效果。它可以适应市场上不同dac的可编程音频输出接口,兼容pcm和i2s格式。内置2304bram和64kbflash程序空间,方便用户增加复杂的功能。并通过内置锁相环提供mp3和音频时钟以及usb时钟。
要想读取u盘,usb主机控制器必不可少。为了将来进一步升级系统,本文选用了功能强大的usb-otg芯片isp1362。isp1362在单芯片上集成了otg控制器、高级主机控制器和外设控制器。isp1362的otg控制器完全兼容usb2.0以及on-the-gosupplement1.0协议,主机和设备控制器兼容usb2.0协议,并支持12mbps的全速传输和1.5mbps的低速传输。
图1系统框架图
系统硬件结构
整个系统的搭建围绕at89c51snd1进行,如图1所示。由于其内部具有硬件解码器,因此电路构成并不复杂。首先由单片机控制isp1362,将u盘中的mp3文件读取出来,送到硬件解码器进行解码。解码之后由数字音频接口将数字信号传送至音频daccs4330,转换之后产生音频信号。由于dac输出的信号功率有限,在后端又加入了运算放大器,经过放大之后的信号就可以直接输出给音箱或耳机等设备了。
at89c51snd1是基于51内核的单片机,因此,最小系统结构非常简单。除了传统单片机的晶振和复位电路之外,还有pll滤波电路和usb接口电路,如图2所示。
图2pll滤波电路及usb接口电路
isp1362是16位总线结构,不能直接和8位单片机接口。因此,将单片机的p0和p2口一同作为数据总线接至isp1362的16位总线上,将、、分别接到单片机的p3.4、p3.7和p3.6,通过仿真读写时序控制它的数据读取等操作。
除了这些基本的总线连接,isp1362还需要连接一些特殊的控制引脚:
a0:用于决定控制器处于命令状态还是数据状态:0表示数据状态,1表示命令状态;
a1:用于决定控制器工作于主机还是设备控制模式:0表示处于主机控制(hc)模式;1表示处于设备控制(dc)模式。
接至mcu的p1.5。p1.5=0时表示处于otg工作状态,p1.5=1则表示处于非otg状态。
int1_usb、int2_usb分别接至mcu的int0和int1引脚,用以产生中断。
isp1362有两个usb端口,分别是otg端口和主机端口。因为otg端口包含了主机功能,所以系统中使用otg端口来连接u盘。根据usb2.0协议,usb主机需要2个15k降tg端口同时又可作为设备端口使用,而设备是没有下拉电阻的。因此isp1362提供了“软连接”机制,通过内部的寄存器来控制电阻的连接与否。所以在硬件设计时并不需要在外部加下拉电阻。而为开漏输出,因此加入了一个10kw的上拉电阻r14_usb。如图3所示。
图3otg端口电路图
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解码器对时钟有一定的要求,mpegi格式的mp3数据要求最
关键词:at89c51snd1c;isp1362;u盘;mp3播放器
播放器与存储器的一体化设计对mp3播放器的便携性起了关键性的作用,但与此同时,它又带来了很多新的问题。比如存储容量固定,如果想装下更多的歌曲只能去购买新的产品,造成了巨大的浪费。另一方面,一体化又限制了mp3播放器在其它领域的应用,比如汽车电子等。于是,将存储器与播放器分离,成为mp3的另一发展方向,也是开发这款u盘mp3播放器的意义所在。
主要芯片简介
at89c51snd1是atmel推出的基于8位c51mcu内核的mp3解码器芯片。它内置mp3硬件解码器,支持48khz、44.1khz、32khz、24khz、22.05khz及16khz采样频率,具有重低音、中音、高音均衡控制和重低环绕声效果。它可以适应市场上不同dac的可编程音频输出接口,兼容pcm和i2s格式。内置2304bram和64kbflash程序空间,方便用户增加复杂的功能。并通过内置锁相环提供mp3和音频时钟以及usb时钟。
要想读取u盘,usb主机控制器必不可少。为了将来进一步升级系统,本文选用了功能强大的usb-otg芯片isp1362。isp1362在单芯片上集成了otg控制器、高级主机控制器和外设控制器。isp1362的otg控制器完全兼容usb2.0以及on-the-gosupplement1.0协议,主机和设备控制器兼容usb2.0协议,并支持12mbps的全速传输和1.5mbps的低速传输。
图1系统框架图
系统硬件结构
整个系统的搭建围绕at89c51snd1进行,如图1所示。由于其内部具有硬件解码器,因此电路构成并不复杂。首先由单片机控制isp1362,将u盘中的mp3文件读取出来,送到硬件解码器进行解码。解码之后由数字音频接口将数字信号传送至音频daccs4330,转换之后产生音频信号。由于dac输出的信号功率有限,在后端又加入了运算放大器,经过放大之后的信号就可以直接输出给音箱或耳机等设备了。
at89c51snd1是基于51内核的单片机,因此,最小系统结构非常简单。除了传统单片机的晶振和复位电路之外,还有pll滤波电路和usb接口电路,如图2所示。
图2pll滤波电路及usb接口电路
isp1362是16位总线结构,不能直接和8位单片机接口。因此,将单片机的p0和p2口一同作为数据总线接至isp1362的16位总线上,将、、分别接到单片机的p3.4、p3.7和p3.6,通过仿真读写时序控制它的数据读取等操作。
除了这些基本的总线连接,isp1362还需要连接一些特殊的控制引脚:
a0:用于决定控制器处于命令状态还是数据状态:0表示数据状态,1表示命令状态;
a1:用于决定控制器工作于主机还是设备控制模式:0表示处于主机控制(hc)模式;1表示处于设备控制(dc)模式。
接至mcu的p1.5。p1.5=0时表示处于otg工作状态,p1.5=1则表示处于非otg状态。
int1_usb、int2_usb分别接至mcu的int0和int1引脚,用以产生中断。
isp1362有两个usb端口,分别是otg端口和主机端口。因为otg端口包含了主机功能,所以系统中使用otg端口来连接u盘。根据usb2.0协议,usb主机需要2个15k降tg端口同时又可作为设备端口使用,而设备是没有下拉电阻的。因此isp1362提供了“软连接”机制,通过内部的寄存器来控制电阻的连接与否。所以在硬件设计时并不需要在外部加下拉电阻。而为开漏输出,因此加入了一个10kw的上拉电阻r14_usb。如图3所示。
图3otg端口电路图
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解码器对时钟有一定的要求,mpegi格式的mp3数据要求最