论文部分内容阅读
目前手持终端的功能变得越来越多,数据处理能力也越来越强,嵌入式系统的主流存储介质有Nor Flash, Nand Flash,微型硬盘,其容量越来越大,有的甚至已经达到几十G。对传输速度的要求也随之提高。USB就是其中一种传输协议,它支持三种传输速度和四种传输模式用于适应不同的应用场合。便携式媒体播放器的数据容量是相当大的,而USB2.0协议中高速Bulk传输就能满足这种需求,同时USB协议的MassStorage类就是针对这种海量数据传输的。所以对USB2.0协议和MassStorage类设备进行研究,具有较为实用的现实意义。本论文是以便携式多媒体中心(Portable Multimeida Center,PMC)为应用背景,以Intel XScalePxa255处理器和Gnu/Linux2.4.19操作系统为平台,采用Netchip NC2272芯片作为USB控制器。论文的主要工作包括如下几个部分组成。1、研究分析了USB协议。2、研究分析了Mass Storage类协议。3、由于在Linux2.4.19内核中还没有实现USB Gadget(USB设备端)功能,通过研究本课题的特点,采用绕开嵌入式LINUX的文件系统,在USB2.0和硬盘之间直接进行数据通信的方法,这样可以提高传输速度。4、由于根分区在硬盘上,而在该分区上存放的是系统正常运行所必须的程序和数据,因此采用了动态修改分区表和和扇区偏移的技术,将根分区隐藏。5、由于热插拔是USB的特点和优点,根据本课题USB插座是和PXA255自带的USB Device共用和设备自供电的特点,采用了实现热插拔的方案,使得本设备在不重启情况下能被主机识别。6、为了测试USB控制器的Fifo到系统SDRam的数据传输速度和提高驱动的调试速度,采用了伪FAT文件系统,是通过动态构造FAT分区来实现的。用几K的空间和少量程序能模拟出一个几G的磁盘分区,这是RamDisk所不及的。7、对USB驱动进行了兼容性测试和传输速度测试。目前,本文所描述的各项实现工作都已经完成,同时能在Microsoft公司的Windows2000,xp,RedHat公司的RedHatLinux9.1操作系统上能被识别并稳定传输数据,速度在2.5MB/s左右。该方案已经商用。