论文部分内容阅读
通用串行总线(Universal Serial Bus,USB)作为计算机外设总线,凭其高速、稳定、易用、廉价等特点,赢得了市场的广泛认可,并迅速得到普及,目前已经发展成为嵌入式系统与计算机连接的首选总线标准。
本文包括嵌入式USB海量存储系统的设计和实现两大部分内容。设计部分简述了USB协议标准;阐述了系统的设计方案,方案由两部分构成,一是硬件平台的选型,处理器采用三星公司的S3C2416 SoC(System on Chip),该芯片内置有支持USB2.0协议的设备端控制器,为系统的软件设计提供了良好的支持;二是系统的软件设计,结合USB海量存储(Mass Storage)类协议给出了Windows CE5.0操作系统下的驱动方案,包括总线驱动和Mass Storage设备类驱动。本设计还提供了设备类驱动和存储介质的动态切换两种扩展功能。
实现部分着重于软件实现,包括总线驱动实现、设备类驱动实现和扩展功能实现。总线驱动采用Windows CE5.0标准的流式接口驱动架构及面向对象的编程技术,结构清晰,具有很好的可移植性和可扩展性;设备类驱动采用模块化设计思想,分别实现了Bulk Only数据传输子模块和SCSI命令处理子模块。在两个扩展功能方面,设备类驱动的动态切换实现,通过总线驱动首先卸载当前设备类驱动,然后加载新的设备类驱动来完成;而存储介质的动态切换,则通过修改注册表的键值项,并重新初始化USB软件协议栈来完成。
本文所实现的嵌入式USB海量存储系统基于Windows CE5.0和S3C2416微处理器平台进行了功能验证,并从兼容性、设备类驱动动态切换和传输速率三个方面测试了系统性能。测试结果表明,嵌入式USB海量存储系统的读写平均传输速率分别达到37.731 Mbps、20.133 Mbps,且扩展功能也通过了验证。