基于层次模型的USB2.0接口芯片IP核固件的设计
出处:hslq2000 发布于:2007-05-28 16:36:09
| 1 引言 USB2.0规范的推出极大地刺激了包括各类计算机外设在内的多种电子消费产品的开发设计, USB已成为微机和众多电子设备的重要标准接口。目前国外一些大公司已陆续推出了符合USB2.0规范的接口芯片,但国内对该领域的研究尚处于较初级的阶段。本文对USB IP核设计方法,提出了一种USB2.0设备接口IP核固件的实现方案,该方案采用合理定义的层次模型并已被实现,实验结果表明该方案具备良好稳定性和可扩展性的固件结构。 2 USB2.0设备接口IP核的设计 USB2.0设备接口芯片IP核分为硬件和固件两大部分。其中硬件部分主要完成USB2.0协议中的链路层功能;而固件除协助硬件完成USB2.0协议外,还负责解释设备子类协议,并实现对具体外部应用系统(设备元件)的操作。 从硬件结构分析,基于增强型8051MCU核的 USB2.0设备接口芯片(IP核)应包括以下几个模块: (1)USB2.0传输宏单元接口模块UTMI(USB2.0 Trans ceiv er Macrocell Interface): USB2.0 IP核与USB总线之间的接口,负责接收USB2.0总线上的高速串行数据; (2)串行接口引擎模块SIE(Serial In ter face Engine):一方面与UTM接口进行USB总线上的包级处理和传输级处理;另一方面与内部的端点缓冲及MCU进行交互; (3)端点缓冲模块Endpoint_Buffer:存放与主机端交互的数据; (4)通用可编程接口及多总线模块GPIO- &MultiBus:IP核与外部应用系统(设备元件)之间的联系通道,包括DMA控制模块; (5)微处理器模块MCU及其接口模块MCU_ Bus:MCU(8051核)中固件将配合其他各硬件模块完成所需功能。 USB2.0设备接口IP核固件不仅要完成与主机的通信,还要实现对外部应用系统(设备元件)操作,因此,IP核固件可分为以下三大模块。 (1)USB传输处理模块:接收并分析底层硬件送来的各种信号(如SIE送来的各种中断请求),负责将Endpoint中接收到的主机命令/数据向上传送到主机命令解析模块,并在需要时向主机返回命令处理结果; (2)主机命令解析模块:分析处理USB传输处理模块送来的主机命令,并负责将命令执行结果返给USB传输处理模块; (3)设备应用处理模块:根据主机命令发送具体操作信号到外部应用系统(设备元件),并返回外部器件的状态/数据。 为使固件系统充分稳定并具有良好的可扩展性,我们将固件抽象为设备枚举、传输控制、命令解析、外部应用操作等几个层次,如图1所示。
3 USB大容量存储设备固件的设计与实现 本IP核固件采用的是Windows OS支持的Bulk-Only传输协议及SCSI命令集。 3.1 固件总流程 图2所示为USB大容量存储设备固件工作流程。
(1)大批量数据读写时采用了DMA方式; | |||||
参考文献:
[1]. Bulk datasheet https://www.dzsc.com/datasheet/Bulk_2523104.html.
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 什么是氢氧燃料电池,氢氧燃料电池的知识介绍2025/8/29 16:58:56
- SQL核心知识点总结2025/8/11 16:51:36
- 等电位端子箱是什么_等电位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重复控制的复合控制策略2025/7/29 16:58:24
- 什么是树莓派?一文快速了解树莓派基础知识2025/6/18 16:30:52














