手机大容量移动存储的方法 【技术领域】
本发明属于数据存储技术领域,更具体地说涉及手机中作为半导体移动存储器应用的一种实现方法。
背景技术
目前USB半导体移动存储器使用计算机上通用的USB接口,不必使用额外的接口适配器可以直接驳在计算机上实现数据处理功能,和软盘比起来,USB半导体移动存储器有众多独特的优点,它的存储容量很大,通常为16兆~128兆,而且数据处理速度很快,由于它是靠芯片上集成的电子线路来存储数据的,不像磁盘那样要靠机械动作来寻址,其读、写速度比软盘速度快30多倍,而且USB半导体移动存储器的体积小巧,便于携带。
现在手机采用的存储设备的容量越来越大,特别是采用了大容量的NAND falsh新型的闪存存储器之后手机的内存空间可以与现在使用的大容量USB半导体移动存储装置相当。但是现在手机的移动存储操作并不方便,一般需要有一个专用个人信息管理软件来实现下载功能,而且由于手机的存储系统是和其内部的嵌入式软件系统属于同一系统,在系统的高稳定性的要求之下,下载的文件格式是有限制的,并不能作为能够支持所有文件格式的移动存储设备来使用。目前公开的另一种能够实现移动存储文件数据的方式是在手机中加入了MP3播放机的控制芯片与NAND Flash存储器,这种方法实现技术简单,但是增加了手机地成本,不利于大规模使用。
【发明内容】
本发明的目的,就在于克服上述缺点和不足,提供一种手机作为大容量半导体存储器实现各种格式文件数据处理的方法,由于手机的存储空间具备了作为大容量的半导体移动存储设备的必要条件,而且手机具备USB接口,根据这些条件,我们采用此发明方法使得手机可以作为一个大容量半导体移动存储装置来使用,操作方式简单方便,而且扩展了手机的应用。
为实现上述目的,本发明包括以下步骤:
(1)计算机系统资源管理器通过设备驱动程序向计算机侧USB端口发送指令信息;
(2)计算机指令信息通过连接计算机和手机的USB数据线传送到手机侧USB端口;
(3)手机中USB模块读取指令并译码,返回文件信息和数据;
(4)手机中USB模块根据译码内容,调用手机内部嵌入式文件系统的函数,完成指令任务。
计算机系统和手机建立连接的方法是USB Host检测到已经连接到计算机USB端口的手机,并通知Widows系统进行设备查询与配置操作,Widows系统根据手机端USB终端设备的配置信息来配置计算机端的USB Host控制器,然后Widows系统安装驱动程序,设备处于运行状态。
所述的手机USB模块进行指令译码与处理包括以下步骤:
(1)操作数据和接收数据之前的初始化过程,模拟FAT16所需要的特殊的块的结构,按照嵌入式文件系统的内容建立符合FAT16块结构的列表;
(2)接收计算机通过USB数据线发送到手机的RBC指令;
(3)接收计算机发送的FAT16数据块,解析FAT16的数据结构,取得相关的控制信息,并得到文件数据;
(4)调用手机中的嵌入式文件系统中函数,根据解析FAT16得到的控制信息,在手机端建立文件,在全部的文件名前面加入文件夹信息,把所有的用户下载文件存入一个供用户操作的新的文件夹中。
读取文件的过程与写入文件的过程相反,读取文件数据后根据内容模拟为相应类型的FAT16的数据块结构,根据指令把文件数据发回计算机端口。
【附图说明】
下面结合附图和实施例对本发明作进一步描述。
图1为本发明的硬件设备连接图。
图2为本发明的手机存储操作流程图;
【具体实施方式】
如图1所示,手机通过标准的USB连接线与PC的标准USB口相连,手机中有标准的USB终端控制器,在手机与PC的USB Host通过标准的USB电缆连接之后,USB Host检测到已经连接到计算机USB端口的手机,并通知Widows系统进行设备查询与配置操作,Widows系统根据手机端USB终端设备的配置信息来配置计算机端的USB Host控制器,建立起手机和计算机之间的通信连接。USB接口配置的描述如下:
手机USB硬件配置描述:
USB协议版本:0x0101
设备类:0x00,0x00,0x00(在子类中描述)
数据包字节个数:0x40
手机USB配置描述:
支持接口数量:0x01,
配置字节:0xE0
最大电流:0x32
手机USB接口配置描述:
该配置支持接口数量:0x04
终端队列:0x02
设备子类:0x08
操作协议:0x01
安装驱动程序,手机在连接到PC之后,USB Host控制器会自动检测到该设备,并通知Widows系统进行设备查询与配置操作,由于该设备的USBDevice Class是0x00(此类信息在接口类中描述),其Interface Class是0x80(Mass-Storage),其Subclass是0x01(RBC指令),Windows2000操作系统会自动检测该设备并配置为USB存储设备,Windows根据查询信息安装相应的驱动程序,驱动程序安装完毕,设备处于运行状态。
如图2所示,计算机系统资源管理器通过设备驱动程序向计算机侧USB端口发送指令信息;计算机指令信息通过连接计算机和手机的USB数据线传送到手机侧USB端口;手机中USB模块读取指令并译码,返回文件信息和数据;手机中USB模块根据译码内容,调用手机内部嵌入式文件系统的函数,完成指令任务。
对于普通的USB存储设备,其存储设备本身能够识别数据结构,存储设备中所集成的微处理器根据接收的标准指令完成读写和简单的页管理程序,其结构是由读取设备来建立解释的,这与手机中的存储器的管理方式是不同的。
CDMA移动终端中存储器的管理是由手机中嵌入的操作系统来完成的,它具有复杂的结构,其数据结构与操作函数能够完全完成一个复杂的文件系统的功能,这一数据结构与PC中的文件系统的结构并不能相互兼容,而且在手机中的许多配置文件是不允许用户来操作的,需要对这些文件进行屏蔽。手机与计算机之间如果实现相互的操作就需要接口译码函数来进行数据译码,把计算机端口发送的FAT16文件结构中的数据与文件信息、控制信息转换为移动终端软件系统中的嵌入式文件系统可以识别的信息。
由于FAT16的文件信息与控制信息与嵌入式文件系统的信息有相同之处,这成为它们之间相互转换的基础。具体方式是把FAT16的块解码然后存入到手机中的嵌入式文件系统,在读取的时候模拟出FAT16系统的结构,我们可以根据块的结构列表来完成这一功能。
所述的手机USB模块进行指令译码与处理包括以下步骤:
(1)操作数据和接收数据之前的初始化过程,模拟FAT16所需要的特殊的块的结构,按照嵌入式文件系统的内容建立符合FAT16块结构的列表;
(2)接收计算机通过USB数据线发送到手机的RBC指令;
(3)接收计算机发送的FAT16数据块,解析FAT16的数据结构,取得相关的控制信息,并得到文件数据;
(4)调用手机中的嵌入式文件系统中函数,根据解析FAT16得到的控制信息,在手机端建立文件,在全部的文件名前面加入文件夹信息,把所有的用户下载文件存入一个供用户操作的新的文件夹中。
读取文件的过程与写入文件的过程相反,读取文件数据后根据内容模拟为相应类型的FAT16的数据块结构,根据指令把文件数据发回计算机端口。
手机嵌入式文件系统平台可以是MSM6100芯片,CPU为ARM9,文件数据存储器可以是NAND flash,手机USB模块程序在NOR FLASH,SRAM作为程序和数据的缓存区域。
手机与计算机之间数据通信完毕的断开过程包括结束连接指令和强制断开连接:
结束连接指令的过程包括USB Host控制器端发送指令到手机端口,手机USB处理程序得到该指令之后检测是否存在没有结束操作的指令,存在则返回没有结束操作指令,继续进行指令处理。如果不存在则返回可以结束指令。PC端不再发送指令,更改标志,结束本次连接。
强制断开连接的过程包括USB连接线被强制断开,产生一个硬件中断事件,关闭USB端口,手机USB处理程序根据当前正在执行的指令,删除手机端口文件系统的相关的被影响的信息与数据,保证操作的正确性与完整性。