书籍详情

USB 2.0硬件设计

USB 2.0硬件设计

作者:萧世文编著

出版社:清华大学出版社

出版时间:2002-01-01

ISBN:9787302059370

定价:¥35.00

购买这本书可以去
内容简介
  USB是外围设备与计算机进行连接的快速且有弹性的新式接口。本书介绍最新的USB 2.0标准,从USB的基础开始介绍,包括实际的硬件与软件设计,并且使用汇编语言、Visual C++、Visual Basic等来示范程序代码的编写。另外还有各种USB芯片介绍,帮助读者快速设计自己的USB设备。本书共14章和1个附录,内容包括:USB简介、USB传输、检测设备、控制传输、USB控制器芯片、Cypress enCore控制器芯片、驱动程序、设备类别、设备测试、电源管理与信号编码、电路接口、集线器、HID设备、HID程序设计以及USB参考资料等。本书适合从事USB的硬件、软件设计的程序员和其他相关技术人员使用或参考。
作者简介
暂缺《USB 2.0硬件设计》作者简介
目录
第1章 USB简介
1.1 USB的发展史
1.1.1 规范的版本
1.1.2 USB 2.0
1.1.3 IEEE-1394
1.2 USB的优点
1.2.1 容易使用
1.2.2 传输速度快
1.2.3 低价值
1.2.4 低能耗
1.2.5 稳定性
1.2.6 操作系统的支持
1.2.7 外围设备的支持
1.2.8 有弹性
1.2.9 USB实施者论坛
1.3 USB的缺点
1.3.1 缺乏对旧硬件的支持
1.3.2 点对点的通信
1.3.3 速度的限制
1.3.4 距离的限制
1.3.5 硬件的错误或故障
1.3.6 协议的复杂性
1.3.7 版权费
1.4 与其他接口的比较
1.5 PC的软硬件要求
1.5.1 主机控制器
1.5.2 操作系统
1.5.3 组件
1.5.4 信道
1.5.5 连接端口
1.6 主机的功能
1.7 外围设备的功能
1.8 传输速度
1.9 开发的流程
1.9.1 所需组件
1.9.2 开发工具
1.10 开发计划的步骤
1.10.1 初步决定
1.10.2 检测设备
1.10.3 交换数据
第2章 USB传输
2.1 传输的基础
2.1.1 配置
2.1.2 应用程序
2.1.3 数据的管理
2.1.4 总线速度
2.2 传输的要件
2.2.1 设备的端点
2.2.2 管道
2.2.3 传输类型
2.2.4 消息管道与流管道
2.2.5 传输的初始化
2.3 事务
2.3.1 事务的相位
2.3.2 信息包的串行化
2.3.3 时间的限制
2.3.4 分割事务
2.4 联络信号
2.4.1 ACK
2.4.2 NAK
2.4.3 STALL
2.4.4 NYET
2.4.5 ERR
2.4.6 没有响应
2.4.7 控制传输的状态
2.5 错误的检验
2.5.1 错误校验位
2.5.2 数据交替位
2.6 控制传输
2.6.1 结构
2.6.2 信息包大小
2.6.3 传输速度
2.6.4 检测错误
2.7 批量传输
2.7.1 结构
2.7.2 信息包大小
2.7.3 传输速度
2.7.4 检测错误
2.8 中断传输
2.8.1 结构
2.8.2 信息包大小
2.8.3 传输速度
2.8.4 检测错误
2.9 实时传输
2.9.1 结构
2.9.2 信息包大小
2.9.3 传输速度
2.9.4 检测错误
2.10 时间关键的传输
2.10.1 总线的带宽
2.10.2 设备的能力
2.10.3 主机软件的能力
2.10.4 Windows的延迟
第3章 检测设备
3.1 检测设备的过程
3.1.1 检测的步骤
3.1.2 检测集线器
3.1.3 移除设备
3.2 描述符
3.2.1 类型
3.2.2 设备描述符
3.2.3 Device_Qualifier描述符
3.2.4 配置描述符
3.2.5 Other_Speed_Configuration描述符
3.2.6 接口描述符
3.2.7 端点描述符
3.2.8 字符串描述符
3.3 USB 2.0兼容设备的描述符
第4章 控制传输
4.1 设置阶段
4.1.1 令牌信息包
4.1.2 数据信息包
4.1.3 联络信息包
4.2 数据阶段
4.2.1 令牌信息包
4.2.2 数据信息包
4.2.3 联络信息包
4.3 状态阶段
4.3.1 令牌信息包
4.3.2 数据信息包
4.3.3 联络信息包
4.4 检测错误
4.5 要求
4.5.1 Clear Feature
4.5.2 Get_Configuration
4.5.3 Get_Descriptor
4.5.4 Get_Interface
4.5.5 Get_Status
4.5.6 Set_Address
4.5.7 Set_Configuration
4.5.8 Set_Descriptor
4.5.9 Set_Feature
4.5.10 Set_Interface
4.5.11 Synch_Frame
4.5.12 类别特定的要求
4.5.12 厂商特定的要求
第5章 USB控制器芯片
5.1 USB控制器的组件
5.1.1 USB连接端口
5.1.2 数据缓冲区
5.1.3 CPU
5.1.4 程序内存
5.1.5 数据存储器
5.1.6 寄存器
5.1.7 其他接口
5.1.8 其他特性
5.2 芯片的结构
5.2.1 专为USB设计的芯片
5.2.2 与现有的芯片兼容
5.2.3 需要外部微处理器接口的芯片
5.2.4 芯片的文件
5.2.5 固件示例程序
5.2.6 驱动程序
5.2.7 调试工具
5.2.8 开发计划的考虑
5.3 Cypress enCoRe
5.3.1 CPU结构
5.3.2 USB控制器
5.4 Cypress EZ-USB
5.4.1 CPU结构
5.4.2 USB控制器
5.5 Microchip PIC 16C7x5
5.5.1 结构
5.5.2 USB控制器
5.6 Netchip NET2888
5.6.1 结构
5.6.2 USB控制器
5.7 National Semiconductor USBN9603
5.7.1 结构
5.7.2 USB控制器
5.8 PhilipS Semiconductor PDIUSBD 11/12
5.8.1 结构
5.8.2 USB控制器
第6章 Cypress enCoRe控制器芯片
6.1 选择适合的芯片
6.2 汇编语言编译器
6.2.1 汇编程序的基础
6.2.2 汇编语言码
6.2.3 汇编语言编译器的用法
6.3 C编译器
6.3.1 C语言的优点
6.3.2 C编译器的用法
6.4 芯片的结构
6.4.1 特性与限制
6.4.2 芯片内部
6.4.3 内存
6.4.4 程序堆栈指针
6.4.5 数据堆栈指针
6.5 USB通信
6.5.1 设备地址
6.5.2 模式
6.5.3 端点状态与控制
6.5.4 USB状态与控制
6.6 其他I/O
6.6.1 一般用途的I/O
6.6.2 内部电路
6.6.3 中断
6.6.4 SPI连接端口
6.6.5 PS/2接口
6.7 定时器的功能
6.7.1 执行定时工作
6.7.2 测量时距
6.8 中断的处理
6.8.1 中断服务例程
6.8.2 GPIO中断
6.8.3 USB端点中断
6.8.4 计时器中断
6.8.5 中断状态
6.9 CPU的状态、控制与脉冲
6.9.1 暂停CPU
6.9.2 重置
6.9.3 选择与控制脉冲
6.9.4 电源的管理
6.10 硬件的工作
6.11 固件的工作
6.11.1 端点0中断
6.11.2 传送数据给主机
6.11.3 从主机接收数据
6.11.4 处理中断传输
6.11.5 其他的响应
6.12 硬件开发工具
6.12.1 平台板
6.12.2 监视/调试器
第7章 驱动程序
7.1 设备驱动程度
7.2 设备驱动程序的来源
7.2.1 标准设备类型
7.2.2 客户化设备
7.3 设备驱动程序的执行模式
7.4 Win32驱动程序模型
7.4.1 程序语言
7.5 分层的驱动程序
7.5.1 USB驱动程序层
7.5.2 函数驱动程序
7.5.3 总线驱动程序
7.6 通信的流程
7.6.1 用户的角色
7.6.2 应用程序的角色
7.6.3 设备驱动程序的角色
7.6.4 集线器驱动程序的角色
7.6.5 总线类别驱动程序的角色
7.6.6 主机控制器驱动程序的角色
7.6.7 设备的角色
7.6.8 响应
7.6.9 通信的终结
7.7 驱动程序的类型
7.7.1 Windows提供的驱动程序
7.7.2 厂商提供的驱动程序
7.8 编写客户化的驱动程序
7.8.1 工具软件
7.8.2 WinRT for USB
7.8.3 WinDriver USB
7.8.4 提供函数库的工具软件
7.9 Windows如何选择驱动程序
7.9.1 .inf文件
7.9.2 注册表
7.9.3 检测特定的设备
7.9.4 检测通用的设备
7.10 .inf文件简介
7.10.1 语法
7.10.2 Version区段
7.10.3 ClassInstall区段
7.10.4 Manufacturer区段
7.10.5 DestinationDirs区段
7.10.6 Strings区段
7.10.7 HID的通用.inf文件
7.10.8 建立.inf文件的工具
7.10.9 使用.inf文件的技巧
第8章 设备类别
8.1 类别
8.1.1 类别规范
8.1.2 类别的定义
8.2 标准类型的设备
8.2.1 键盘、鼠标与游戏杆
8.2.2 大容量存储设备
8.2.3 打印机
8.2.4 数码相机与扫描仪
8.2.5 音频
8.2.6 调制解调器
8.3 非标准类型的设备
8.3.1 以中等速度传输数据的设备
8.3.2 更新RS-232设备
8.3.3 POS设备
8.3.4 取代非标准并行端口设备
8.3.5 PC到PC的连接
8.3.6 无线连接
第9章 设备测试
9.1 USB测试工具
9.1.1 测试
9.1.2 HIDView
9.2 测试仪器
9.2.1 协议分析器
9.2.2 USB Expert的硬件
9.2.3 USB Expert的软件
9.2.4 CATC Traffic Generator
9.2.5 Root 1 Test Adapter
9.3 测试与标志
9.3.1 USB实施者论坛合格计划
9.3.2 校验表
9.3.3 合格测试
9.3.4 USB标志
9.3.5 Windows硬件品质实验室测试
9.3.6 驱动程序签名
第10章 电源管理与信号编码
10.1 电源的管理
10.1.1 电压
10.1.2 可以使用总线电源的设备
10.1.3 电源要求
10.1.4 通知主机
10.2 集线器电源
10.2.1 电的来源
10.2.2 过流保护
10.2.3 电源开关
10.3 节省电能
10.3.1 全域与选择挂起
10.3.2 挂起设备的限制
10.3.3 恢复通信
10.4 低速与全速的总线状态
10.4.1 Differential 1与Differential 0状态
10.4.2 Single-ended 0状态
10.4.3 Single-ended 1状态
10.4.4 Data J与K状态
10.4.5 闲置状态
10.4.6 恢复状态
10.4.7 信息包开始
10.4.8 信息包结束
10.4.9 未连接状态
10.4.10 连接状态
10.4.11 重置状态
10.5 高速的总线状态
10.5.1 高速Differential 1与Differential 0状态
10.5.2 高速Data J与K状态
10.5.3 Chirp J与Chirp K
10.5.4 高速Squelch
10.5.5 高速闲置
10.5.6 高速信息包开始
10.5.7 高速信息包结束
10.5.8 高速未连接状态
10.6 数据编码
10.6.1 维持同步
10.6.2 位填充
10.6.3 SYNC字段
10.6.4 信息包结尾
10.6.5 时序正确性
10.7 信息包格式
10.7.1 SYNC字段
10.7.2 PID字段
10.7.3 地址字段
10.7.4 端点字段
10.7.5 帧号码字段
10.7.6 数据字段
10.7.7 CRC字段
10.7.8 信息包间的延迟
10.8 测试模式
第11章 电路接口
11.1 接收器与信号
11.2 低速与全速接收器
11.3 高速接收器
11.3.1 电路
11.3.2 转换速度
11.3.3 检测高速设备的移除
11.3.4 高速的挂起与恢复
11.4 信号电压
11.4.1 低速与全速
11.4.2 高速
11.5 电缆
11.5.1 连接器
11.5.2 可拆分的与捕获性的电缆
11.5.3 电缆长度
11.6 信号的品质
11.6.1 噪声
11.6.2 平衡线
11.6.3 双绞线
11.6.4 边缘速率
第12章 集线器
12.1 集线器的基础
12.1.1 避免设备进入挂起状态
12.1.2 可串联的集线器数目
12.2 集线器中继器
12.2.1 低速与全速的中继器
12.2.2 高速的中继器
12.3 事务转换器
12.4 集线器控制器
12.5 速度
12.6 集线器类别
12.6.1 标准描述符
12.6.2 集线器描述符
12.6.3 标准要求
1216.4 集线器类别要求
12.6.5 连接端口指示器
第13章 HID设备
13.1 HID简介
13.1.1 硬件要求
13.1.2 固件要求
13.2 HID的描述符
13.2.1 描述符的内容
13.2.2 HID类别描述符
13.2.3 报表描述符
13.3 HID特定要求
13.3.1 Get_Report
13.3.2 Set_Report
13.3.3 Get_Idle
13.3.4 Set_Idle
13.3.5 Get_Protocol
13.3.6 Set_Protocol
13.4 传输数据
13.4.1 传送数据给主机
13.4.2 从主机接收数据
13.5 报表的结构
13.5.1 HID Descriptor Tool
13.5.2 短项目
13.5.3 长项目
13.6 Main项目类型
13.6.1 Input、Output与Feature项目
13.6.2 Collection与End Collection项目
13.7 Global项目类型
13.7.1 识别报表
13.7.2 数据的使用
13.7.3 转换原始数据
13.7.4 数据的大小与格式
13.7.5 Global项目的储存与恢复
13.8 Local项目类型
13.9 填充
13.10 实体描述符
第14章 HID程序设计
14.1 主机的通信
14.1.1 说明文件
14.1.2 HID函数
14.1.3 DirectX
14.2 调用API函数
14.2.1 使用Visual C++
14.2.2 使用Visual Basic
14.3 取得HID类别的GUID
14.3.1 使用Visual C++
14.3.2 使用Visual Basic
14.4 取得HID信息的结构数组
14.4.1 使用Visual C++
14.4.2 使用Visual Basic
14.4.3 详解
14.5 识别HID接口
14.5.1 使用Visual C++
14.5.2 使用Visual Basic
14.5.3 详解
14.6 取得设备的路径
14.6.1 使用Visual C++
14.6.2 使用Visual Basic
14.7 取得设备的代号
14.7.1 使用Visual C++
14.7.2 使用Visual Basic
14.8 取得厂商与产品ID
14.8.1 使用Visual C++
14.8.2 使用Visual Basic
14.8.3 详解
14.9 取得包含设备能力的缓冲区指针
14.9.1 使用Visual C++
14.9.2 使用Visual Basic
14.9.3 详解
14.10 取得设备的能力
14.10.1 使用Visual C++
14.10.2 使用Visual Basic
14.10.3 详解
14.11 取得数值的能力
14.12 传送输出报表给设备
14.12.1 使用Visual C++
14.12.2 使用Visual Basic
14.12.3 详解
14.13 从设备读取输入报表
14.13.1 使用Visual C++
14.13.2 使用Visual Basic
14.13.3 详解
14.14 使用重叠ReadFile读取报表
14.14.1 使用Visual C++
14.14.2 使用Visual Basic
14.15 使用多线程的ReadFile读取报表
14.15.1 使用Visual C++
14.15.2 使用Visual Basic
14.16 传送特征报表给设备
14.16.1 使用Visual C++
14.16.2 使用Visual Basic
14.17 从设备读取特征报表
14.17.1 使用Visual C++
14.17.2 使用Visual Basic
14.18 关闭通信
14.18.1 使用Visual C++
14.18.2 使用Visual Basic
附录A USB参考资料
猜您喜欢

读书导航