基于层次模型的USB2.0接口芯片IP核固件的设计

发布者:zukeq2009最新更新时间:2012-03-09 来源: dzsc关键字:层次模型  USB2.0接口  IP核固件 手机看文章 扫描二维码
随时随地手机看文章

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大容量存储设备固件工作流程。

[page]

该固件涉及到对4个主要中断的处理,即 Com mand端点0的In 中断和Out中断、Bulk-In端点中断和Bulk-Out端点中断。其中端点0主要用于设备枚举过程中主机与设备的交互,Bulk端点则用于枚举成功后主机与设备的交互。

3.2 设备枚举层流程

图3所示为USB设备的枚举流程。设备从接入 USB电缆开始,依次经过Attached、Powered、Default和Addressed几个状态,最终进入Configured态成为可用设备。

枚举过程中所需的各种描述符表可由用户设置后存放在指定存储单元。

3.3 Bulk-Only传输控制层流程

设备枚举成功后Bulk端点开始工作。设备端 Bulk-Only工作流程如下:
1.主机通过Bulk-Out端点发出命令包CBW;
2.设备接收CBW,解析其中包含的SCSI命令;
3.设备执行SCSI命令,如需要,通过Bulk端点完成Data交换;
4.设备根据SCSI命令执行情况通过Bulk-In端点返回命令状态包CSW给主机;

5.设备等待主机的下一个CBW。

图4所示为Bulk-In和Bulk-Out中断服务流程。其中涉及到USB设备的几种工作状态有:

(1)命令接收态:本次命令处理完(已返回 CSW),设备等待下一次主机命令。在该状态下,设备将等待Bulk-Out中断,试图从Bulk-Out端点接收一个有效的CBW。

(2)状态发送态:本次命令已执行完毕,等待主机索要CSW。在该状态下,设备将等待Bulk-In中断,试图从Bulk-In端点发送一个有效的CSW 给主机。

(3)数据接收态:设备通过解析主机命令得知主机将发送数据,于是设备等待接收数据。在该状态下,设备将等待Bulk-Out中断,试图从Bulk-Out端点接收一个或一批数据。数据接收完后设备将根据具体情况确定命令执行结果状态。

(4)数据发送态:设备通过解析主机命令得知主机将索要数据,于是设备准备发送数据。在该状态下,设备将等待Bulk-In中断,试图从Bulk- In端点发送一个或一批数据。数据发送完设备将根据具体情况确定命令执行结果状态。

(5)异常状态:当发生某些不可预知的错误时,设备进入异常态,并将根据不同错误类型采取不同措施试图从错误中恢复。

3.4 SCSI命令解析(层)流程


对某种特定的大容量存储设备来说,一些无意义的SCSI命令可以不必处理(实际上主机也不会使用这些命令)。设备在接收到有效的SCSI命令后,将根据命令的不同要求为数据的发送或接收做好准备,并切换到下一个有效的工作状态,如图5 所示。

3.5 对存储介质的读写操作及优化

设备固件在正确分析主机送来的SCSI命令后,可能会对存储介质进行读、写、擦除等操作。为进一步提高存储介质的读写速度,本固件方案还对存储介质操作进行了有效的优化:

(1)大批量数据读写时采用了DMA方式;
(2)对写操作需时较长的存储介质(如 FLASH)采用了中间缓冲,以减少写操作次数或将写操作移至后台进行;
(3)对存储介质上的磁盘碎片定期进行优化整理。
合理地组合应用这些方法可以有效地改进介质访问的效率。

4结论

上述大容量存储设备的IP核固件已成功实现,其硬件基础是具有自主版权的、含MCU51核的USB设备接口IP核,固件采用Keil51C语言和51汇编语言混合完成。该固件采用分层设计,可以较容易地根据具体应用环境替换其中某些层次的代码模块,具有较强的移植性和实用性。为保证IP核固件具有一定的"健壮性",实现过程中还需要注意仔细设计其中的错误检测和错误恢复机制,包括如何合理安排众多的中断源、如何充分考虑协议中规定的操作时间限制、如何处理Watch Dog溢出等等。

本文讨论的USB2.0设备固件方案不仅有效改进和提高了USB设备的设计开发水平,还可广泛应用于USB2.0设备接口的实际应用设计,具有良好的理论和应用价值。

关键字:层次模型  USB2.0接口  IP核固件 引用地址:基于层次模型的USB2.0接口芯片IP核固件的设计

上一篇:基于TMS320C6701控制AD9852的接口电路设计
下一篇:三种常用SoC片上总线的分析与比较

推荐阅读最新更新时间:2024-05-02 21:56

USB2.0控制器CY7C68013的接口设计实现
摘要:介绍了一种基于USB2.0控制器CY7C68130的USB-ATA接口,将普通硬盘转化为USB Mass -Storage的解决方案,文中给出了利用GPIF实现该方案的相关设计方法。 关键词:USB2.0 ATA接口 CY7C68130 GPIF 1 引言 USB(Universal Serial Bus)接口以其速度快、功耗低、支持即插即用(Plug %26;amp; Play)、使用安装方便等优点而得到了广泛的应用。目前USB2.0标准的传输速度已达480Mb/s,这使得USB可以推广到硬盘、信息家电网络产品和其它快速外设。在某些应用场合,如基于硬盘的大容量数据采集与分析系统中,为了使用方便,需要将普通硬盘转化成海
[应用]
基于USB2.0接口的语音采集系统设计
   引言   语音信号的采集和处理在网络、通信、智能仪表、工业控制、医疗卫生、公共安全等领域得到了越来越广泛的应用,而这些工作都需要一套高速的语音信号采集系统来完成,要对语音进行采集就需要一种高速的,能进行长时间、大吞吐量数据传送的计算机接口。USB2.0接口就是一种符合语音采集要求的计算机接口,同时,它还具有支持热插拔、占用系统资源少、易于扩展、使用方便等优点。DSP是利用专门或通用的数字信号处理芯片,以数字计算的方法对信号进行处理,具有处理速度快、灵活、精确、抗干扰能力强、体积小及可靠性高等优点,可满足对信号快速、精确、实时处理及控制的要求,本采集卡采用TI公司高精度浮点DSP芯片TMS320C6713作为主控制器,采用高
[安防电子]
LON总线的USB2.0接口卡的研制
LonWorks总线是由美国Echelon公司推出的一种现场总线技术,由于LonWorks控制网络的开放性、高速性、互操作性及其对现场环境的适应性,它已广泛应用于楼宇自动化、家庭自动化、保安系统、办公设备、交通运输、工业过程控制等行业。LON总线的现场节点间采用LonTalk协议。当工程师使用便携设备对现场节点进行检测或进行现场数据采集时,往往只能使用RS232串口。众所周知,RS232的传输速度最高只能达到9600kbps,这对实时性要求很高的现场数据采集来说远远不能满足要求。针对这一情况,笔者开发研制了LON总线的USB2.0接口卡。该卡提供的USB2.0接口使得数据的传输速度能提高到480Mbps.并且向下完全兼容流行的USB
[传感技术]
基于USB2.0接口的生物阻抗分析仪的研制
  引言   生物阻抗技术是一种无损伤的技术,测量时对人体没有任何伤害和副作用,是人体医学发展的一个方向之一 。生物阻抗分析仪的机理 在于:生物组织对外加电流场具有不同导电作用,当在人体表面加一固定频率的低电平电流时,含水 70 %以上的肌肉组织是良好导体,而含水较少的脂肪组织近似为绝缘体,因此通过测出阻抗值可用于计算出身体成份以及电阻抗的医学成像 。   目前市场上已经有多种生物阻抗分析仪器,但成本昂贵,使用烦琐,设计复杂,难以在家庭保健方面得到普及。因此,本设计提出了新的思路并研制出一种高性能的小型生物阻抗分析仪,可以多频点测量人体各区间段的阻抗模值和相位信息。该仪器具有集成度高,成本较低,使用方便,安全可靠的优点。
[测试测量]
基于<font color='red'>USB2.0</font><font color='red'>接口</font>的生物阻抗分析仪的研制
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved