内容简介
本书系统地阐述了USB协议、Stellari
USB处理器的体系结构、工作原理和设计方法,并通过多个USB开发实例,详细介绍了USB开发思路、流程及编程方法,并在此基础上讲解了嵌入式USB主机、USB
OTG开发。全书共分15章:第1章介绍USB系统基础知识、基本术语、USB基本结构、开发流程、USB枚举、USB描述符格式、主机和设备开发过程等。第2章介绍Cortex-M3内核的USB处理器,包括USB基本模块、工作方式、USB寄存器操作、寄存器级编程等。第3章介绍使用设备驱动库函数进行Cortex-m3编程,包括内核操作、中断控制、GPIO编程、USB基本编程等。第4章介绍TI的USB库使用及编程。第5章至第10章介绍USB设备开发。第11章介绍USB主机开发。第12章介绍USB
OTG开发。第13章介绍USB设备开发总结及注意事项。第14章介绍USB主机开发总结及注意事项。第15章USB系统开发总结,包括常见概念性问题、开发问题等,阐述其产生的基本原因,并提供了解决此类问题的方案
目录
第1章 USB基础
1.1 USB介绍
1.2 USB常用术语
1.3 USB设备开发流程
1.4 USB设备枚举
1.4.1 USB设备请求
1.4.2 描述符
1.4.3 设备枚举过程
1.5 USB主机开发流程
1.6 USB OTG介绍
1.7 小结
第2章 Stellaris的USB处理器
2.1 Stellaris处理器简介
2.2 Stellaris USB模块
2.2.1 功能描述
2.2.2 USB控制器作为USB设备
2.2.3 USB控制器作为主机
2.2.4 OTG模式
2.3 寄存器描述
2.3.1 控制状态寄存器
2.3.2 中断控制
2.3.3 端点寄存器
2.4 USB处理器配置使用
2.5小结
第3章 底层库函数
3.1 底层库函数
3.2 通用库函数
3.2.1 内核操作
3.2.2 系统中断控制
3.2.3 GPIO控制
3.3 USB基本操作
3.4 设备库函数
3.5 主机库函数
3.6 小结
第4章 USB库介绍
4.1 USB库函数简介
4.2 USBlib介绍
4.3 使用底层驱动开发
4.4 使用USB库开发
4.5 小结
第5章 HID设备
5.1 HID介绍
5.2 HID类描述符
5.3 USB键盘
5.3.1 数据类型
5.3.2 API函数
5.3.3 USB键盘开发
5.4 USB鼠标
5.4.1 数据类型
5.4.2 API函数
5.4.3 USB鼠标开发
5.5 小结
第6章 Audio设备
6.1 Audio设备介绍
6.2 Audio描述符
6.3 Audio数据类型
6.4 API函数
6.5 Audio设备开发
6.6 小结
第7章 Bulk设备
7.1 Bulk设备介绍
7.2 Bulk数据类型
7.3 API函数
7.4 Bulk设备开发
7.5 小结
第8章 CDC设备
8.1 CDC设备介绍
8.2 CDC数据类型
8.3 API函数
8.4 CDC设备开发
8.5 小结
第9章 Mass Storage设备
9.1 Mass Storage设备介绍
9.2 MSC数据类型
9.3 API函数
9.4 MSC设备开发
9.5 小结
第10章 Composite设备
10.1 Composite设备介绍
10.2 Composite数据类型
10.3 API函数
10.4 Composite设备开发
10.5 小结
第11章 USB主机开发
11.1 USB主机开发介绍
11.2 USB主机开发过程
11.2.1 主机配置
11.2.2 注册驱动
11.2.3 运行主机
11.3 主机开发实例
11.3.1 鼠标
11.3.2 键盘
11.3.3 U盘
11.4 小结
第12章 USB OTG开发
12.1 OTG介绍
12.1.1 主机通信协议与对话请求协议
12.1.2 OTG功能的构建
12.1.3 LM3S的0TG功能
12.1.4 OTG函数
12.2 OTG B开发
12.3 OTG A开发
12.4 OTG开发实例
12.5 OTG开发小结
第13章 USB设备工程实例
13.1 USB设备开发流程
13.2 USB设备之USB BootLoadel
13.3 USB设备开发总结
第14章 USB主机开发实例
14.1 USB主机开发流程
14.2 USB主机之音频输入输出
14.3 USB主机开发总结
第15章 USB系统开发总结
15.1 常见问题
15.1.1 概念问题
15.1.2 开发问题
15.2 本章小结
附录A LM3S5749应用电路图
附录B LM—link下载器原理图
附录C USB常见术语及缩略词
参考文献