USB大容量存储设备的开发USB是目前在打印机数字存储设备输入/输出设备数码像机MP3播放器等其他周边设备中得到广泛应用的连接方式。USB设备具有使用方便速度快连接灵活 即插即用总线供电等优点。基于USB接口的大容量存储设备USB Mass Storage应运而生 目前市场上的这类设备主要有USB移动硬盘 USB外置光驱 USB外置软驱 USB闪存盘闪盘 USB CompactFlash/SmartMedia卡读卡器等。由于USB大容量存储设备的方便与快捷它们很快得到用户的认可。本文将介绍USB大容量存储设备的基本硬件结构软件结构以及Cypress的相应解决方案。硬件结构虽然USB大容量存储设备中有着不同的解决方法但通常使用一个带有USB接口引擎的MPU又可称为USB微控制器用于处理主机发送的命令以及对存储设备进行操作。 图1显示了一个USB 大容量存储设备通常采用的硬件结构。 ROM和RAM用于存储数据和程序EEPROM用来存放厂商代码/产品代码VID/PID等基本信息。 由于存储介质的接口不同如图1虚线外部所示 USB微控制器与它们的连接也略有不同。光驱硬盘和CompactFlashCF提供的是ATAPI或IDE接口所以USB微控制器实际上是完成USB到ATAPI/IDE的桥接功能它把主机的SCSI/IDE命令和数据转发到存储设备上并将存储设备返回的状态和数据发送回主机。有些厂商则推出专用ASIC 完成U S B到AT AP I/I D E桥接功能使设备开发更加简单。另一类常见的大容量存储设备是基于闪存设备Flash Device如SmartMedia卡SMCMultiMedia卡SMCMemory StickMS NAND结构的闪存器件等。闪盘USB Flash Disk就是采用NAND结构的闪存器件作为存储介质。这类闪存设备有特殊的接口总线因此USB微控制器通过微控制器的系统总线或通用I/O线与闪存设备连接。微控制器除了实现与主机之间的数据/命令传输外还需要根据主机的命令对闪存器件进行读/写/格式化实现逻辑扇区与物理扇区之间的转换数据错误校正等操作。 大容量存储设备的读/写操作速度是一个关键指标 USB微控制器的性能很大程度上决定了这一指标。微控制器不但要有较快的运行速度更需要提供快速的USB接口引擎并能够和外部的存储介质实现高速的数据交换。在USB2.0的大容量存储设备中微控制器和外部介质接口的速度往往决定了设备的速度。软件设计USB组织定义了大容量存储设备的类规范这个类规范包括四个独立的子类规范即 1.USB Mass Storage Class Control/Bulk/Interrupt CBI Transport 2.USB Mass Storage ClassBulk-Only Transport 3.USB Mass Storage Class ATA Command Block 4.USB Mass StorageClass UFI Command Specification。前两个子规范定义了数据/命令/状态在USB上的传输方法。 Bulk-Only传输规范仅仅使用Bulk端点传送数据/命令/状态 CBI传输规范则使用Control/Bulk/Interrupt三种类型的端点进行数据/命令/状态传送。后两个子规范则定义了存储介质的操作命令。UFI命令规范是针对USB 移动存储而制定的实际上UFI命令格式是基于SFF-8070i和SCSI-2规范总共定义了 19个12字节长度的操作命令。 图2是USB大容量存储设备软件结构示意图。虚线左边部分是主机的驱动程序结构。最顶层是应用程序接口AP I用于提供给用户访问存储设备的方法 中间的UFI/ATA驱动层将应用程序的访问转换成UFI或ATA命令/数据格式与外部存储设备之间按照子规范3或4的定义进行命令/状态/数据的交换最底层则是USB传输驱动负责将上层的UFI/ATA 数据发送到USB总线上以及接收从存储设备返回的状态/数据。 图2虚线右边部
分是大容量存储设备的固件Firmware功能结构。在USB总线接口上面是USB传输处理层它与主机之间按照子规范1或2的定义进行通讯将主机的命令/数据传递到UFI/ATA命令处理层并将其状态/数据返回到主机它还需要检查并处理数据传输过程中的错误。UFI /ATA命令处理层负责对主机的UFI /ATA命令进行处理并将结果返回给主机。存储介质接口提供与不同存储介质连接的方法负责将接收到的UFI /ATA命令/数据转换成具体的物理信号发送到存储介质并从存储介质获取状态/数据。 在具体实现上存储设备可以选择支持两种传输规范CBI或Bulk-Only或者只支持其中的一种。实际上 Bulk-Only传输规范是一种更常用的方法。大多数USB存储设备都是基于Bulk-Only传输规范和UFI命令规范设计的。Win MeWin 2K以及Win XP都有内建的类驱动程序以支持基于Bulk-Only 模式的USB1.1大容量存储设备因此开发人员无需设计在这些操作系统上的驱动程序而将更多的工作精力集中在存储设备固件开发上。对于存储介质采用ATA/IDE接口的大容量存储设备其固件的功能相对比较简单它只需要处理USB 传输管理从中提取或包装UFI命令/状态/数据并将UFI命令/数据通过ATA/IDE接口发送到介质上或从接口中读回数据/状态传送给主机。对于基于闪存设备的大容量存储设备 由于没有像ATA/IDE设备内部的一些控制逻辑 固件的功能就相对比较复杂 USB微控制器除了传输处理及UFI命令处理等工作外还需要处理如存储介质的寻址/格式化/数据校验等操作。 以一个闪盘的基本的固件功能为例它至少需要有 1.提供USB枚举信息2.USB传输管理3.根据主机的UFI命令进行相应的处理4.提供闪盘基本信息如扇区大小簇大小 闪盘容量等。 5.逻辑簇Logical Cluster到物理块Physical Block的转换6.物理块的读/写/更新7.闪存数据写入时的数据校验位产生以及数据读出时的校验和错误恢复。其中许多的固件功能是与闪存的操作相关的。 Cypress解决方案Cypress为业界提供了最广泛的USB微处理器产品线并且提供了许多USB设备的解决方案使设计者可以很快推出产品原型。在Cypress众多USB产品中有三个产品线可以支持大容量存储设备 即 1. ISD系列产品包括ISD200和ISD300。该系列产品实际上是USB到ATA/IDE桥用户不需要固件开发工作既可支持ATA/IDE设备。
2.EZ-USB系列产品包括EZ-USB FX和EZ-USB FX2。该系列USB微控制器内核采用增强型8051处理器控制器内部有丰富的RAM资源并提供快速通道与外部进行数据交换。程序编写比较容易调试界面友好。 3.CY16系列包括SL11RIDE及CS5954。该系列产品是低价位的全速USB微控制器其内核采用16位RISC处理器并且内建有BIOS ROM以减少固件开发的工作量。 Cypress 针对不同应用提供了十分丰富的参考设计并提供不同操作系统下的驱动程序。表1是Cypress三个USB产品线器件关于大容量存储设备解决方案及其特点。设计人员可以根据需求从中选择适合的器件。表1.Cypress大容量存储设备解决方案及其特点器件支持的存储设备类型特点ISD200 IDE/ATA设备固定功能用户无需配置ISD300 IDE/ATA设备固定功能用户无需配置支持USB2.0 EZ-USB FX IDE/ATA设备固件功能可配置无需外部RAM EX-USB FX2 IDE/ATA设备固件功能可配置无需外部RAM支持USB2.0 SL11RIDE IDE/ATA设备SMCMMC 闪存提供几乎所有大容量存储设备的解决方案 固件功能可配置CS5954IDE/ATA设备SMCMMC闪存SL11RIDE的简化版价格更低廉结语USB为接
口种类繁多的存储媒介与主机之间提供了方便可靠的连接。 Intel刚刚推出的845G 与845 GL芯片组支持USB2.0接口其总线速度可达到480Mbp s极大地提高了传输速度这将更好地支持硬盘光驱等容量较大的存储设备。 Cypress也将陆续推出一些性能价格比更优的存储设备解决方案以及USB2.0的高端应用。可以预见基于USB的大容量存储设备将迅速占领传统的存储市场。
spinservers是Majestic Hosting Solutions LLC旗下站点,主营国外服务器租用和Hybrid Dedicated等,数据中心在美国达拉斯和圣何塞机房。目前,商家针对圣何塞部分独立服务器进行促销优惠,使用优惠码后Dual Intel Xeon E5-2650L V3(24核48线程)+64GB内存服务器每月仅109美元起,提供10Gbps端口带宽,可以升级至1Gbp...
企鹅小屋:垃圾服务商有跑路风险!企鹅不允许你二次工单的,二次提交工单直接关服务器,再严重就封号,意思是你提交工单要小心,别因为提交工单被干了账号!前段时间,就有站长说企鹅小屋要跑路了,站长不太相信,本站平台已经为企鹅小屋推荐了几千元的业绩,CPS返利达182.67CNY。然后,站长通过企鹅小屋后台申请提现,提现申请至今已经有20几天,企鹅小屋也没有转账。然后,搞笑的一幕出现了:平台账号登录不上提示...
2021年9月中秋特惠优惠促销来源:数脉科技 编辑:数脉科技编辑部 发布时间:2021-09-11 03:31尊敬的新老客户:9月优惠促销信息如下,10Mbps、 30Mbps、 50Mbps、100Mbps香港优质或BGPN2、阿里云线路、华为云线路,满足多种项目需求!支持测试。全部线路首月五折起。数脉官网 https://my.shuhost.com/香港特价数脉阿里云华为云 10MbpsCN...