① MCU内置硬解码模块。典型的芯片有Atmel公司的AT89C51SNDI等芯片。
② 外置独立的MP3硬解码芯片。此种方案的好处是可以使用众多的MCU,可根据需要任意选择。硬解码芯片典型的有VS1011b、STA013等芯片。
③ 使用功能强大的MCU进行软解码,如使用DSP或是高性能的ARM。此种方案较为灵活,通过软件升级即可实现产品的升级。
VS1011b的控制与数据传输是通过SPI接口完成的,DREQ、xDCS、xCS、nRST1分别为数据请求端口、数字片选信号线、片选线、复位线。在VS1001b的新模式下,SDI(Serial Data Interface)数据和SCI(Serial Command Interface)数据传输可以共享ARM的一个SPI接口;而在兼容模式下,SDI数据传输要用DCLK、SDATA串行接口,SCI数据传输用SPI接口。为了简化电路,此处选用了新模式。
2 软件设计
2.1 优盘读写软件的实现
USb组织定义了海量存储设备类(mass storage class)的规范。这个类规范包括4个独立的子类规范:USb Mass Storage Class Control/bulk/Interrupt (CbI) Transport 、USb Mass Storage Class bulkOnly Transport、USb Mass Storage Class ATA Command block、USb Mass Storage Class UFI Command Specification。其中优盘属于海量存储设备,遵循bulkonly传输协议,子类采用UFI命令集。本设计软件的总体结构如图3所示。其中两条点画线之间的部分为读/写优盘的软件结构。