论文部分内容阅读
本文介绍了一种专门针对优盘应用的USB2.0 设备控制芯片的设计方法,并对芯片中的闪存控制器的实现做了详细的描述,最后给出闪存控制器仿真与验证的结果,说明闪存控制器的设计达到了预期的目标。首先介绍了USB 接口特点,国内外USB2.0 接口芯片的发展现状,研发技术积累,优盘的广阔市场前景,指出现阶段开发针对优盘设计的USB2.0 接口芯片有重要的意义。然后对USB2.0协议和UTMI(USB 2.0 Transceiver Macrocell Interface)接口规范进行了概述。它们是芯片硬件设计最基本的依据。芯片在硬件上分为8 个模块:微处理器(MCU)、USB2.0 收发器(PHY)、串行接口引擎(SIE)、SIE 辅助接口(SAI)、数据缓存区(DBuf)、DMA 控制器(DMAC)、闪存控制器(FC)、MCU 总线接口(MITF)。MCU 负责整个芯片的控制。USB2.0 PHY 完成UTM 功能,向SIE 呈现UTMI 接口。SIE 处理USB2.0 协议包,向外设提供USB 协议包内的有效数据载荷。SAI 通过SIE 应用端的DMA 接口缓存端点数据。Dbuf 缓存与FLASH 交互的数据。DMAC 实现DBuf 与Flash 之间的DMA 传输控制。FC 负责对Flash 的所有底层操作。MITF模块用于各个模块与MCU 模块之间的总线控制。芯片的整体运作是靠MCU 中的固件来控制的。固件的设计遵循Bulk Only协议,负责解析UFI 命令并执行相应的操作。文中还给出基本的读写数据流程。对闪存的操作是优盘的速度瓶颈,它设计的好坏直接影响着优盘的整体读写速度。结合闪存(Flash)的块/页组织结构和操作特点,就FC 模块的设计做了详细的说明。FC 硬件上分为5 个模块:FcDecode、FcCtrl、FcSm、FcEcc、FcMux。FcDecode 对地址线做译码。FcCtrl 包含FC 内大部分控制寄存器的设置。FcSm实现7 种Flash 操作的状态机,产生与Flash 和DMAC 模块的接口时序,是最复杂的核心模块。FcEcc 产生读写数据的ECC 校验码。FcMux 是MCU 读FC 内寄存器时的数据切换通道。最后给出了FC 模块仿真、验证的方案,以及在FPGA 测试平台上的验证结果,对照逻辑分析仪上的波形可以看出所有Flash 操作的时序,最终得出的测试结果说明FC 的设计达到了预期的目标。并指出今后可进一步优化设计的方法。