首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于便携式DAB接收机的MP3播放器设计方案

基于便携式DAB接收机的MP3播放器设计方案

 引言  近年来,数字音频广播(Digital Audio Broadcasting,DAB)凭借其音质好,灵敏度高频谱利用率高等诸多优点引起了国际通信广播行业的关注,并取得了飞速的进展。广电总局于2006年6月推出的《30~3000 MHz地面数字音频广播系统技术规范》,不仅使DAB在我国有了标准的支持,更对DAB在全国的普及产生了重大而积极的影响。考虑到便携式MP3播放器在当今社会的普及程度与消费者对其的依赖性,在DAB接收机中融合MP3解码功能对消费市场的开拓是很必要的。本文在不改动一款DAB接收整机原有性能的基础上,提出了一种适当加入MP3解码功能的可行性方案。
  1  系统总体结构
  1.1  DAB接收系统结构
  DAB接收系统是基于重庆邮电大学微电子重点实验室自主研发的一款名为ID200的基带解码芯片设计而成。
  其结构框图如图1所示。ID200具有面积较小、功耗极低等特性。MCU采用Atmel公司推出的AT91SAM7S64微处理器,该芯片具有64 KB片内高速Flash存储器、32个可编程的复用I/O、SPI和TWI等丰富的内部集成资源,性价比较高。该接收系统的灵敏度在3波段与L波段能达到-97 dBm以上。MPEG L2音源解码,支持48 kHz和24 kHz采样频率,自动识别声道模式,支持单通道、双通道、立体声。
  1.2  主要器件选择
  考虑到DAB接收机的基带解码芯片尚未加入MP3解码功能,以及生产成本、单片机速率、芯片成熟度等因素,采用了ST公司的STA013解码芯片。该芯片具有以下特点:支持MPEG1、MPEG2与MPEG2.5格式解码;支持立体声、双声道、单声道解码;支持8~320 kbps的压缩速率;串行位流输入和PCM输出接口,支持I2C总线低功耗消耗,2?4 V时为85 mW;10 MHz、14?31818 MHz、14?7456 MHz的外部输入时钟,或内嵌工业标准XTAL晶振,以满足不同频率需求。
  由于STA013没有DAC和耳机功放的功能,需选用DAC芯片,这里选用Maxim公司的MAX9850芯片。该芯片是一款低功耗、高性能的立体声音频DAC,集成了直接驱动耳机放大器,允许放大器输出直接驱动耳机,无需大量隔直电容,可节约成本和布线空间,同时还提供了I2C总线和PCM输出接口。
  考虑到便携式整机的开发与存储器的普及程度,本方案选用MicroSD卡作为音频数据存储单元。MicroSD卡体积超小,却拥有着传输速度高、移动灵活性强、安全可靠的诸多优势,可以运用于各类的数码产品,不浪费产品内部设计的空间。同时,它采用FAT16/32文件系统,且提供了SPI接口,便于消费者文件下载与管理。
  2  方案原理与设计思路
  2.1  方案原理
  DAB接收机中融合MP3解码功能的方案如图2所示。这里主要介绍与MP3解码相关的部分。AT91SAM7S64微处理器利用SPI接口的片选线,最多能与4个从属设备进行通信。该系统中MCU的4根SPI片选线分别选中ID200、MicroSD卡、STA013以及液晶显示模块。RF芯片和ADC分别选用Maxim公司的MAX2170和MAX1191。MCU通过SPI总线将存在SD卡中的音频数据读取到MCU内的缓冲器中,然后再通过SPI总线将数据发送到STA013中进行音频解码,解码后的音频数据流能通过PCM输出接口送入MAX9850,经过D/A转换和耳机功放,最终由耳机输出。
  STA013主要是靠I2C总线来传输控制信息,串行数据线接收音频数据。可以将由SDI、SCKR、DATA_REQ三个引脚组成的串行数据线,看成是一个只有SIMO(从机输入主机输出)没有SOMI(从机输出主机输入)的SPI总线。当DATA_REQ置高时,将MCU缓冲器中的数据以尽可能快的速度通过SDI引脚输入STA013,利用SCKR为解码芯片提供串行时钟。当STA013的缓冲区快溢出时将DATA_REQ置低,数据停止传输。MCU的I2C总线与STA013的I2C接口相连,利用其传输命令、初始化解码芯片及控制解码进程。
  2.2  设计思路
  MP3解码系统中各模块的连接如图3所示。SD存储卡系统定义了SD和SPI两种通信协议,应用时可以选择其中一种模式。由于本方案中采用的AT91SAM7S64没有提供硬件的SD总线接口,但提供了SPI总线接口,为了避免用软件方式将I/O口模拟为SD总线接口,这里选用SPI总线模式进行Micro SD卡与MCU之间的命令和数据通信。SD卡上电时总是处于SD模式下,如果系统想使用SPI模式进行通信,可以在SD卡发送复位命令CMD0期间,将主控片选(SD_CSN)信号置低,从而进入SPI模式。通过掉电再上电,能够使SD卡系统重新回到SD模式。Micro SD卡是按簇存储的,一簇中又有32个扇区,每个扇区可存放512个字节的数据。由于SD卡、STA013和液晶都是通过SPI总线与MCU进行通信,所以要处理好总线通信的时序问题。在SD卡初始化时打开的SPI总线,需要在获取卡信息后关闭,然后打开LCD的SPI接口;在MP3节目播放时,需要关闭LCD的SPI,打开STA013的SPI总线。
  STA013解码芯片有3个重要的接口,分别是串行输入接口、I2C接口以及PCM输出接口。串行输入接口的SDI、SCKR分别与MCU的SPI总线中的SIMO、SPICLK相连,由DATA_REQ向MCU提供中断信号。PCM输出接口与DAC的I2S接口相连,MCU通过I2C总线接口对MCU和DAC进行控制。在初始化STA013芯片时,必须先通过I2C总线接口写入由ST公司提供的配置文件。


  该文件中,奇数项数据是I2C寄存器地址,偶数项数据是相对应的I2C寄存器缺省数值。STA013配置文件解析如图4所示。STA013和DAC的I2C地址分别为1000011和0010011,所以复用MCU的I2C总线接口时不存在设备冲突的问题。
  采用Mentor公司的PADS软件绘制电路图。基于STA013解码芯片和DAB系统各部分的连接电路如图6所示。
返回列表