首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于μcosII的嵌入式文件系统的设计与实现
来源:本站整理  作者:佚名  2009-06-25 09:38:59




    U盘的整个文件系统在主机软件的协议层抽象为UFI(USB Floppy Interface)设备,通过含有UFI指令的命令块(Command Block)与U盘通信[5]。这层完成的功能有将文件系统中的操作翻译为UFI指令,UFI指令打包成命令块及其对应的逆向操作。
表1  传输层API函数实现

4.2  传输层的实现
    传输处理层用于处理命令块,包括主机传输命令块到大容量类设备、主机与大容量设备之间的数据传输和主机接收命令块处理状态。大容量类设备传输协议分为Bulk-Only协议和 CBI-Only协议。该层为命令层提供了命令块处理函数的统一接口,使命令层不需理会当前大容量类设备的传输协议。
传输层接收由协议层包装好的命令块,根据已注册的Mass Storage Class设备的信息,采用单批量(Bulk Only)传输模式从批量输出端点(Bulk Data Out Endpoint)传输出去。类似,也可以从批量输入端点(Bulk Data In Endpoint)接收数据,向上传递到协议层解析。
4.3  USB主机协议栈的实现
    在U盘连接到USB电缆上后首先为ISP1160注册一个Root Hub Class,再为U盘注册一个Mass Storage Class的设备。接着,为了检测U盘的连接,启动查询当前状态的Host_Serve的任务。当ISP1160 与U盘连接后,ISP1160通过中断通知20B,20B进入中断服务程序改变当前状态。在Host_Serve任务中检测到状态的改变,开始USB协议的通信。至此,U盘(USB Mass Storage设备)注册完成(大容量类相关代码见程序清单3.1,3.2,表2)。由此以后,FAT32文件系统所要对U盘进行的操作都经过Bulk-Only传输完成。
typedef struct MASS_STORAGE_CLASS
    { unsigned char  LUN;/* 该设备的逻辑单元数*/
    struct _HMEDLUN *LUN_infor_ptr[MAX_MASS_LUN]; /*  逻辑单元描述信息结构指针 */ 
    device_instance   *dvi_ptr;     
/*设备信息描述结构指针*/
    endpoint_info  *setup_epi_ptr;   
/*控制端点描述信息结构指针*/ 
    transfer_instance  *tr_bulk_in_ptr;    
/*批量输入传输描述符*/
    transfer_instance  *tr_bulk_out_ptr;   
/*批量输出传输描述符*/
    transfer_instance  *tr_int_in_ptr;  
/*中断输入传输描述符CBI-Only 使用*/
    unsigned char  SubclassCode;    
/*子类代码*/
    unsigned char  ProtocolCode;    
/*传输协议代码CBI或BULK*/ 
    unsigned char  *CBW_BuffPtr;    
/*批量传输的命令包缓冲区指针*/
    unsigned char  RBC_BuffPtr[12];   
/*命令设置缓冲区*/
}MassStorageClass,*PMassStorageClass;
    程序清单3.1 大容量设备描述信息数据结构
 
typedef struct _HMEDLUN
    { unsigned char LUN;    
//所在大容量设备的逻辑单元号
    MassStorageClass *MSC;    
//大容量设备的描述信息结构
    unsigned char    VendorInfo[8];   
//厂商信息
    unsigned char    ProductInfo[16];   
//产品信息
    unsigned char    ProductRev[4];   
//产品版本
    unsigned int  LastLogicalBlookAddress; 
//最后逻辑块地址
    unsigned int    BlockLengthInBytes;  
//逻辑块长度
    }hMedLUN;
    程序清单2.2 逻辑单元描述信息数据结构

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:212,242.20000 毫秒