Chinaunix首页 | 论坛 | 博客
  • 博客访问: 218639
  • 博文数量: 48
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 258
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-22 23:45
文章分类

全部博文(48)

文章存档

2015年(4)

2014年(34)

2013年(10)

分类: LINUX

2015-02-12 11:34:06

基于OHCI的USB主机总体架构划分如下:
                              业务应用层
                           文件操作API层
                           文件系统层
                           U盘操作命令接口层
                           UFI命令层
                           USB设备管理层
                           OHCI软件接口层
                           寄存器读写接口层
                           物理层

层层相扣,层与层之间都是用接口实现的,上层的应用依赖于下层。

每层具体负责哪些任务简单介绍如下:
             物理层:
                     
这是USB该系统架构的最底层,是完成USB协议处理的硬件相关的部分。
             寄存器读写接口层:
                        该层对指针和数据交换分区的访问进行了封装,对外屏蔽了寄存器的读写细节。
              OCHI软件接口层:
                        根据OHCI标准,USB数据的传输都是通过端点描述符(ED)和传输描述符(TD)这两个数据结构体来完成的,在传输之前需要对ED和TD做相应的设置,保证数据传输的正确性,本层正是对ED、TD数据结构的封装,并提供基于OHCI的传输接口。
             USB设备管理层 :
                        根据USB标准,USB设备都需要提供相应的设备描述符,配置描述符,接口描述符和端点描述符等信息,本层代码主要提供取得各种描述符的命令,并将各种描述符的命令组合起来,完成了USB设备的枚举和检测。
             UFI命令层:
                        提供扇区读写命令给上层。
             U盘操作命令接口层:
                        一方面封装UFI命令层,提供以扇区为单位的读写命令,如:diskread(), diskwrite()等;
                        另一方面调用UFI命令层完成U盘的枚举和检测,确定逻辑0扇区的编号,为构建文件系统打基础。
             文件系统层:
                        完成文件系统的初始化,得到相关参数,提供目录查找,簇操作等接口给上层应用。
             文件操作API层:
                        提供像C标准库一样的API函数库,包括文件的打开、读写、关闭、定位等。
             业务应用层:
                        该层为业务逻辑层,根据相应的信息调用相应的文件操作库函数。

             层次化的划分让我们更清楚的认识基于OCHI的USB的结构。 
              











                        

                       
阅读(2134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~