没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
40页
USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.pdf USB接口设计.
资源推荐
资源详情
资源评论
第一章 前 言
当今的计算机外部设备 都在追求高速度和高通用性 为了满足用户的需求
以 Intel 为首的七家公司于 1994 年推出了 USB Universal Serial Bus 通用串行总
线 总线协议 专用于低 中速的计算机外设 目前 USB 端口已成为了微机主
板的标准端口
而在不久的将来 所有的微机外设 包括键盘 鼠标 显示器
打印机 数字相机 扫描仪和游戏柄等等 都将通过 USB 与主机相连 这种连接
较以往普通并口和串口的连接而言 主要的优点是速度高 功耗低 支持即插即
用 Plug & Play 和使用维护方便
作为一个硬件厂商或是开发者 最关心的便是如何去开发 USB 外设 一般的
USB 设备都使用一片微控制器作为其核心部件 通过微控制器强大的控制和运算
功能
开发者可以很容易地实现 USB 设备的智能化
MOTOROLA 公司是目前世界上最大的微控制器供应商 其 8 位微控制器的全
球市场份额达到了 30%左右 MOTOROLA 公司将其 8 位微控制器归类为用户定
制的集成电路 CSIC 为客户提供了 MPU RAM EPROM SPI SCI 定时器
和 USB 等多种模块 用量大的客户可以根据自己的需要选择不同的模块来构筑自
己的微控制器 MOTOROLA 公司从 1996 年开始 陆续推出了一系列含有 USB 模
块的 8 位微控制器
用于支持 USB 总线协议的设备 如最早的用于显示器的
68HC05BD9A 用于鼠标的 68HC05JB2 以及用于键盘的 68HC08KL8 和
68HC08KH12 等等 通过微控制器内含的 USB 模块 用户可以很方便地实现 USB
总线上的数据通讯
68HC05JB4 最初是用于开发 USB 游戏柄的 后来也常被用于
其他一些 USB 外设的开发
国外在近两年已出现了不少的 USB 外设 但目前在国内市场上我们仅发现了
台湾生产的摄像头等少数几类高速 USB 外设 低速 USB 设备还是一个空白 同时
国外开发的 USB 设备多集中在鼠标 键盘等少数几类设备上 诸如 USB 手写板等
设备就是在国外也很少见 国内近年来计算机非键盘输入技术发展很快 在汉字
英文和数字的手写识别方面已有相当基础 本项目之目的 就是吸收 USB 总线和
MOTOROLA 微控制器的先进技术 与中科院自动化所汉王公司的手写识别技术相
结合 在汉王笔的基础上 设计生产出自己的新一代 USB 手写输入系统
此 USB 手写系统 采用汉王公司的传感器获得笔画信息 传给 68HC05JB4
经过整理后通过 USB 总线发送到 PC 再由自行编写的驱动程序接收 最终转给汉
王公司的文字识别软件识别
第
1
页
第二章 USB 总线协议
USB Universal Serial Bus
总线协议是以
Intel
为主 并有
Compaq
Microsoft
IBM DEC Northern Telecom
以及日本
NEC
等共七家公司共同制定的串行接口标
准
1994
年
11
月制定了第一个草案
1996
年
2
月公布了
USB
规范版本
1.0 USB
可把
多达
127
个外设同时联到你的系统上
所有的外设通过协议来共享
USB
的带宽 其
12Mbps
的带宽对于键盘
鼠标等低中速外设是完全足够的 注 在
1999
年
2
月发
布的
USB
规范版本
2.0
草案中 已建议将
12Mbps
的带宽提升到
120-240Mbps
USB
允许外设在主机和其它外设工作时进行连接 配置 使用及移除 即所谓的即插
即用
Plug & Play
同时
USB
总线的应用可以清除
PC
上过多的
I/O
端口 而以一个
串行通道取代 使
PC
与外设之间的连接更容易
以下简单介绍
USB
总线的结构 原理 以使读者对
USB
有大致的了解 如果需
要了解其协议细节 请查阅
USB
总线规范 这可以从
www.usb.org
下载
2.1 总线拓扑结构
USB
总线的物理连接是一种分层的菊花链结构
集线器
(hub)
是每个星形结构
的中心
PC
机就是主机和根
Hub
用户可以将外设或附加的
Hub
与之相连 这些附
加的
Hub
可以连接另外的外设以及下层
Hub
USB
支持最多
5
个
Hub
层以及
127
个外
设
图
2.1
描述了
USB
的物理拓扑结构 从中可以看出每一段的连接都是点对点的
Host (Root Tier)
Tier 1
Tier 2
Tier 3
Tier 4
Hub 1
Hub 2
Node
Host
RootHub
Node
Hub 3
Hub 4
Node
Node
Node
Node
Node
图
2.1 USB
总线拓扑
第
2
页
2.2 USB的物理层
USB
的物理接口包括电气特性和机械特性
USB
通过一个四线电缆来传输信号与电源
如图
2.2
所示
...
...
5 meters max
VBus
GND
D+
D-
VBus
GND
D+
D-
图
2.2 USB
电缆定义
其中
D+
和
D-
是一对差模的信号线 而
VBus
和
GND
则提供了
5V
的电源
它可
以给一些设备
(
包括
Hub)
供电 当然要有一定的条件限制
USB
提供了两种数据传输率
一种是
12Mb
的高速
(full speed)
模式 另一种是
1.5Mb
的低速模式
这两种模式可以同时存在于一个
USB
系统中 而引入低速模式
主要是为了降低要求不高的设备的成本 比如鼠标 键盘等等
USB
信号线在高速模式下必须使用带有屏蔽的双绞线
而且最长不能超过
5m
而在低速模式时中可以使用不带屏蔽或不是双绞的线 但最长不能超过
3m
这主
要是由于信号衰减的限制 为了提供信号电压保证 以及与终端负载相匹配 在
电缆的每一端都使用了不平衡的终端负载 这种终端负载也保证了能够检测外设
与端口的连接或分离 并且可以区分高速与低速设备
所有的设备都有上行的接口 上行和下行的接头是不能互换的 这保证了不会
有非法的连接出现 插头与插座有两个系列 分别为
A
和
B
系列
A
用于基本固定
的外围设备
而系列
B
用于经常拔插的设备 这两个系列是不能互换的
2.3 USB 设备
USB
设备包括
Hub
和功能设备
而功能设备又可以细分为定位设备 字符设备
等等
为了进一步叙述 我们给出端点
(endpoint)
和管道
(pipe)
的概念
第
3
页
端点
每一个
USB
设备在主机看来就是一个端点的集合
主机只能通过端点
与设备进行通讯 以使用设备的功能 每个端点实际上就是一个一定大小的数据
缓冲区
这些端点在设备出厂时就已定义好 在
USB
系统中 每一个端点都有唯
一的地址 这是由设备地址和端点号给出的 每个端点都有一定的特性 其中包
括 传输方式 总线访问频率 带宽 端点号 数据包的最大容量等等 端点必
须在设备配置后才能生效
(
端点
0
除外
)
端点
0
通常为控制端点 用于设备初始化参数等 端点
1
2
等一般用作数据端
点
存放主机与设备间往来的数据
管道
一个
USB
管道是驱动程序的一个数据缓冲区与一个外设端点的连接
它代表了一种在两者之间移动数据的能力 一旦设备被配置 管道就存在了 管
道有两种类型 数据流管道 其中的数据没有
USB
定义的结构 与消息管道 其
中的数据必须有
USB
定义的结构
管道只是一个逻辑上的概念
所有的设备必须支持端点
0
以作为设备的控制管道 通过控制管道可以获取完
全描述
USB
设备的信息 包括 设备类型 电源管理 配置 端点描述等等 只
要设备连接到
USB
上并且上电 端点
0
就可以被访问 与之对应的控制管道就存在
了
一个
USB
设备可以分为三个层 图
2.3
最底层是总线接口 用来发送与接收
包
中间层处理总线接口与不同的端点之间的数据流通 一个端点是数据最终的
使用者或提供者 它可以看作数据的源或接收端 最上层就是
USB
设备所提供的
功能 比如鼠标或键盘等
USB Logical
Device
Function
Physical Device
USB Bus
Interface
Actual communications flow
实际数据流
Logical communications flow
逻辑数据流
图
2.3 USB
设备结构层次
第
4
页
2.3.1 Hub
Hub
在
USB
结构中是一个关键
它提供了附加的
USB
节点 这些节点被称为端
口
Hub
可以检测出每一个下行端口的状态
并且可以给下端的设备提供电源 图
2.4
是一个典型的
Hub
HUB
Upstream
Port
Port
#1
Port
#7
Port
#6
Port
#5
Port
#4
Port
#2
Port
#3
图
2.4
典型的
USB
集线器
Hub
2.3.2 即插即用
USB
设备可以即插即用
但在可以使用之前 必须对设备进行配置 一旦设备
连接到某一个
USB
的节点上
USB
就会产生一系列的操作
来完成对设备的配置
这种操作被称为总线枚举过程
1.
设备所连接的
Hub
检测出端口上有设备连接 通过状态变化管道向主机报告
2.
主机通过询问
Hub
以获取确切的信息
3.
主机这时知道设备连接到哪个端口上
于是向这个端口发出复位命令
4.Hub
发出的复位信号结束后
端口被打开
Hub
向设备提供
100mA
的电源
这时设备上电 所有的寄存器复位 并且以缺省地址
0
以及端点
0
响应命令
5.
主机通过缺省地址与端点
0
进行通讯
赋予设备一个独一的地址 并且读取
设备的配置信息
6.
最后主机对设备进行配置
,
该设备就可以使用了
当该设备被移走时
Hub
依然要报告主机
并且关闭端口 一旦主机接到设备
移走的报告
就会改写当前结构信息
第
5
页
剩余39页未读,继续阅读
资源评论
悠闲饭团
- 粉丝: 150
- 资源: 3301
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功