找回密码
 注册
搜索
查看: 4172|回复: 20

[讨论] 《圈圈教你玩USB》好书推荐『免费资料下载』

[复制链接]
发表于 2009-3-1 15:28:44 | 显示全部楼层 |阅读模式
所有的USB开发相关资料下载,资料不要求积分:http://bbs.cepark.com/forumdisplay.php?fid=42&filter=type&typeid=29

《圈圈教你玩USB》现在可以在这里接受预订,签名版:http://shop.cepark.com/goods.php?id=368

内容简介

通过U盘、USB鼠标、USB键盘、USB MIDI键盘、USB转串口、自定义的USB HID设备和自定义的USB设备等几个具体的USB例子,一步步讲解USB设备及驱动程序和应  用程序开发的详细过程和步骤。最后两章介绍USB WDM驱动开发,并给出一个简单的USB驱动和USB上层过滤驱动的实例
《圈圈教你玩USB》附带的光盘中有USB学习板的电路图以及所有实验的完整源代码包(C/C++语言)。
《圈圈教你玩USB》的读者对象主要是USB设备与驱动设计的初学者和提高者,以及所有对圈圈的支持者。



圈圈教你玩USB 目录

第1章 USB概述及协议基础
1.1 USB是什么1
1.2 USB的特点1
1.3 USB的拓扑结构2
1.4 USB的电气特性5
1.5 USB的线缆、插头及插座6
1.6 USB的插入检测机制8
1.7 USB的描述符及其之间的关系10
1.8 USB设备的枚举过程11
1.9 USB的包结构及传输过程13
1.9.1 USB的包结构及包的分类13
1.9.2 令牌包15
1.9.3 数据包16
1.9.4 握手包17
1.9.5 特殊包17
1.9.6 如何处理数据包18
1.10 USB的四种传输类型19
1.10.1 USB事务19
1.10.2 批量传输19
1.10.3 中断传输21
1.10.4 等时传输22
1.10.5 控制传输22
1.10.6 端点类型与传输类型的关系24
1.10.7 传输类型与端点支持的最大包长24
1.11 本章小结24
第2章 硬件系统设计
2.1 方案及芯片的选定25
2.2 D12引脚功能说明26
2.3 D12与AT89S52的连接30
2.4 串口部分电路32
2.5 按键部分33
2.6 指示灯部分34
2.7 IDE接口部分34
2.8 单片机部分35
2.9 元件安装35
2.10 电路调试38
2.11 测试程序的编写和调试39
2.11.1 建立一个工程40
2.11.2 为工程添加源文件41
2.11.3 KEIL工具栏及仿真介绍43
2.11.4 按键驱动的编写46
2.11.5 串口驱动的编写52
2.11.6 PDIUSBD12读写函数及读ID的实现57
2.12 本章小结62
第3章 USB鼠标的实现
3.1 USB鼠标工程的建立63
3.2 USB的断开与连接63
3.3 USB中断的处理67
3.4 读取从主机发送到端点0的数据68
3.5 USB标准请求75
3.5.1 USB标准设备请求的结构75
3.5.2 GET_DESCRIPTOR请求77
3.5.3 SET_ADDRESS请求78
3.5.4 SET_CONFIGURATION请求78
3.6 设备描述符的实现79
3.7 设备描述符的返回83
3.8 设置地址请求的处理93
3.9 配置描述符集合的结构95
3.9.1 配置描述符的结构95
3.9.2 接口描述符的结构96
3.9.3 端点描述符的结构97
3.9.4 HID描述符的结构98
3.10 配置描述符集合的实现以及返回99
3.11 字符串及语言ID请求的实现103
3.12 设置配置请求的实现109
3.13 报告描述符的结构及实现112
3.14 报告的返回118
3.15 Bus Hound工具的简介122
3.16 本章小结124
第4章 USB键盘的实现
4.1 USB键盘工程的建立125
4.2 设备描述符的实现125
4.3 配置描述符集合的实现126
4.3.1 配置描述符126
4.3.2 接口描述符127
4.3.3 HID描述符127
4.3.4 端点描述符127
4.4 字符串描述符130
4.5 报告描述符130
4.6 输入和输出报告的实现133
4.7 USB键盘实例的测试136
4.8 再谈USB HID的报告描述符138
4.9 带鼠标功能的USB键盘(方法一)140
4.10 带鼠标功能的USB键盘(方法二)146
4.11 多媒体USB键盘154
4.12 本章小结160
第5章 用户自定义的USB HID设备
5.1 MyUsbHid工程的建立161
5.2 描述符的修改161
5.3 报告的实现163
5.4 对用户自定义的USB HID设备的访问165
5.5 访问HID设备时所用到的相关函数166
5.5.1 获取HID设备的接口类GUID的函数166
5.5.2 获取指定类的所有设备信息集合的函数166
5.5.3 从设备信息集合中获取一个设备接口信息的函数167
5.5.4 获取指定设备接口详细信息的函数168
5.5.5 打开设备的函数169
5.5.6 获取HID设备属性的函数170
5.5.7 从设备读取数据的函数170
5.5.8 往设备写数据的函数171
5.5.9 通过控制端点0读取报告的函数171
5.5.10 通过控制端点0发送报告的函数171
5.5.11 关闭句柄的函数172
5.5.12 需要包含的库文件172
5.6 访问USB HID设备的上位机软件的实现172
5.6.1 上位机程序编写的思路172
5.6.2 查找及打开HID设备的代码173
5.6.3 读输入报告线程的代码178
5.6.4 写输出报告的代码(发送LED的状态)181
5.6.5 写输出报告线程的代码183
5.6.6 线程的创建以及设备插拔事件的注册184
5.6.7 对设备状态改变事件的处理186
5.7 软件界面以及使用方法187
5.8 本章小结188
第6章 USB转串口
6.1 串口家族历史189
6.2 串口接头的引脚分布及功能189
6.3 USB转串口的实现方法190
6.4 设备描述符191
6.5 字符串描述符192
6.6 配置描述符集合192
6.6.1 配置描述符193
6.6.2 CDC接口描述符193
6.6.3 类特殊接口描述符——功能描述符193
6.6.4 接口0(CDC接口)的端点描述符196
6.6.5 数据类接口的接口描述符196
6.6.6 接口1(数据类接口)的端点描述符197
6.6.7 修改好描述符后的测试198
6.7 类请求的实现200
6.7.1 GET_LINE_CODING请求200
6.7.2 SERIAL_STATE通知201
6.7.3 SET_CONTROL_LINE_STATE请求202
6.7.4 SET_LINE_CODING请求202
6.7.5 实现类请求后的测试204
6.8 对串口数据的处理205
6.9 安装驱动用的inf文件211
6.10 本章小结214
第7章 USB MIDI键盘
7.1 MIDI简介216
7.2 MIDI的工作原理217
7.3 USB MIDI设备的数据流模型217
7.4 设备描述符218
7.5 配置描述符集合218
7.5.1 配置描述符218
7.5.2 音频控制接口描述符218
7.5.3 类特殊音频控制接口描述符219
7.5.4 MIDI流接口描述符220
7.5.5 类特殊MIDI流接口描述符220
7.5.6 端点描述符和类特殊端点描述符225
7.5.7 字符串描述符227
7.6 修改好描述符后的测试227
7.7 USB MIDI键盘的数据返回228
7.8 USB MIDI键盘的使用230
7.9 单片机自动弹奏的实现232
7.10 本章小结233
第8章 U盘
8.1 USB大容量存储设备234
8.2 设备描述符234
8.3 字符串描述符235
8.4 配置描述符集合235
8.4.1 配置描述符235
8.4.2 接口描述符235
8.4.3 端点描述符236
8.5 测试236
8.6 类特殊请求237
8.6.1 Get Max LUN请求237
8.6.2 Bulk?Only Mass Storage Reset请求238
8.7 仅批量传输协议的数据流模型239
8.7.1 命令块封包CBW的结构239
8.7.2 命令状态封包CSW的结构240
8.7.3 对批量数据的处理240
8.8 SCSI命令集和UFI命令集241
8.8.1 查询命令INQUIRY241
8.8.2 读格式化容量命令READ FORMAT CAPACITIES243
8.8.3 读容量命令READ CAPACITY244
8.8.4 READ(10)命令245
8.8.5 WRITE(10)命令246
8.8.6 REQUEST SENSE命令247
8.8.7 TEST UNIT READY命令248
8.9 FAT文件系统248
8.9.1 关于DBR249
8.9.2 关于FAT表251
8.9.3 关于目录项252
8.10 模拟一个FAT16文件系统253
8.11 实验结果254
8.12 IDE转USB的实现256
8.13 本章小结257
第9章 自定义USB设备及驱动开发
9.1 用户自定义USB设备258
9.1.1 设备描述符258
9.1.2 配置描述符集合258
9.1.3 字符串描述符259
9.1.4 数据的处理259
9.2 驱动程序开发简介259
9.3 WDM驱动开发编程环境的建立259
9.4 创建一个USB WDM驱动程序262
9.5 对工程的编译270
9.6 关于inf文件272
9.7 驱动程序的修改272
9.7.1 Read(KIrp I)函数273
9.7.2 Write(KIrp I)函数276
9.7.3 EP1_READ_Handler(KIrp I)函数277
9.7.4 EP1_WRITE_Handler(KIrp I)函数279
9.7.5 EP2_READ_Handler(KIrp I)函数280
9.7.6 EP2_WRITE_Handler(KIrp I)函数280
9.8 驱动的安装及安装后的信息280
9.9 应用程序对驱动的访问284
9.10 测试软件的使用286
9.11 本章小结287
第10章 USB过滤驱动开发
10.1 过滤驱动简介289
10.2 使用DS创建一个下层过滤驱动290
10.3 过滤驱动代码的修改294
10.4 过滤驱动的安装300
10.5 过滤驱动的卸载302
10.6 驱动程序测试303
10.7 本章小结306
附录 第3章实例的完整调试信息307
参考文献314
后记315
【文件名】:0931@52RD_USB精华内容与资料总结.doc
【格 式】:doc
【大 小】:42K
【简 介】:
【目 录】:


 楼主| 发表于 2009-3-1 15:35:10 | 显示全部楼层
USB精华内容与资料总结(更新中)
电脑圈圈 2008-11-25 14:34
CEPARK USB学习板相关资料:
CEPARK USB 学习板原理图下载
CEPARK USB 学习板元件安装必看
新出炉的密引脚IC焊接视频教程
CEPARK USB板子秀
CEPARK USB学习板 第一个学习程序包:基本功能测试
CEPARK USB学习板之实战第一个USB程序: USB键盘
CEPARK USB学习板之实战第二个USB程序:USB转串口
CEPARK USB学习板之实战第三个USB程序: USB鼠标
CEPARK USB学习板之实战第四个USB程序: USB MIDI键盘
CEPARK USB学习板之实战第五个USB程序:假U盘
CEPARK USB学习板之实战第六个USB程序:自己定义的USB设备  
Computer00's USB设备的驱动程序
Computer00 USB设备测试程序
Computer00USB设备驱动程序源代码包   
Computer00USB设备测试程序源代码包  
[范例]Visual C++读写HID USB设备

=========================================
圈圈早期作品:
89S52加USBD12模拟的一个U盘
AT89S52跟PDIUSBD12搭的IDE→USB转接板
基于AT89C51SND1C的硬盘MP3(含USB大容量存储设备)
自制USB键盘来玩玩~~~~(源代码,原理图)
自制USB鼠标来玩玩~~~~(源代码+原理图)
自制USB MIDI键盘来玩玩~~~

==========================================
圈圈原创USB入门系列文章:
USB HID报告及报告描述符简介
误区:关于USB2.0和USB高速传输模式
USB入门系列之一 —— USB概述
USB入门系列之二 —— USB的连接模型
USB入门系列之三 —— USB的电气特性
USB入门系列之四 —— USB的线缆以及插头、插座
USB入门系列之五 —— USB设备的插入检测机制
USB入门系列之六 —— USB设备的枚举过程
USB入门系列之七 —— USB的描述符及各种描述符之间的依赖关系

============================================
USB调试工具及软件:
写了一个汉字转Unicode的小程序,这在写USB程序时很有用
BUS HOUND.一个不错的调试工具,可以查看总线数据,如USB等。
"古道热肠"整理的USB开发工具Bus Hound5.0中文版使用说明书
推荐:MEGA8做的USB下载线

============================================
USB资料以及协议部分:
以前收集的USB资料包,很实用的,内容见下面的图片
圈圈收集的一些关于USB芯片的型号
USB 音频类相关文档下载
USB连接线器,插头,线缆等相关文档下载
USB打印机类相关文档下载
USB智能卡类相关文档下载
USB静态图象以及视频,监视器相关文档下载
USB内容加密类相关文档下载
USB网卡类相关协议下载
USB固件类相关协议
USB大容量存储类
USB HID类相关文档下载
USB测试测量类相关协议和文档

============================================
USB学习体会:
[转载] 我学习USB设计的历程.
点评回复

使用道具 举报

发表于 2009-3-2 13:05:59 | 显示全部楼层
才42K ,搂住真会开玩笑
点评回复

使用道具 举报

 楼主| 发表于 2009-3-3 12:04:12 | 显示全部楼层
以下是引用ocelot在2009-3-2 13:05:59的发言:
才42K ,搂住真会开玩笑



小了还不乐意啊。里面都是资料的超链接。楼上就是喜欢把什么都放在自己硬盘的那种吧。。。回头我传一个资料包。你花积分慢慢下吧。嘿嘿。[em02]
点评回复

使用道具 举报

发表于 2009-3-3 12:45:05 | 显示全部楼层
qidaizhong
点评回复

使用道具 举报

发表于 2009-3-7 10:15:12 | 显示全部楼层
不要欺负我们没钱的,免费的来[em05][em05][em05][em05]
点评回复

使用道具 举报

发表于 2009-10-14 10:07:09 | 显示全部楼层
[em07]
点评回复

使用道具 举报

发表于 2009-10-15 14:01:18 | 显示全部楼层
kan kan
点评回复

使用道具 举报

发表于 2009-10-15 14:02:26 | 显示全部楼层
kan kan, kan kan
点评回复

使用道具 举报

发表于 2009-10-19 17:49:16 | 显示全部楼层
[em01][em01]
点评回复

使用道具 举报

发表于 2009-11-27 08:41:25 | 显示全部楼层
WENJIAN TAI XIAO LE
点评回复

使用道具 举报

发表于 2009-11-27 10:10:37 | 显示全部楼层
daxin,zhichi[em05]
点评回复

使用道具 举报

发表于 2009-12-18 15:59:56 | 显示全部楼层
恩,好东西
点评回复

使用道具 举报

发表于 2010-1-16 00:08:43 | 显示全部楼层
瞧瞧~!~!~!~~
点评回复

使用道具 举报

发表于 2010-1-17 22:07:16 | 显示全部楼层
看看,好东西
点评回复

使用道具 举报

发表于 2010-4-13 11:43:02 | 显示全部楼层
只有目录,太假了
点评回复

使用道具 举报

发表于 2010-5-31 13:52:18 | 显示全部楼层
真的很小的文档 是真的么
点评回复

使用道具 举报

发表于 2013-12-29 21:03:54 | 显示全部楼层
支持免费,顶
点评回复

使用道具 举报

发表于 2014-5-20 13:40:14 | 显示全部楼层
我怎么没看到在哪里下载呢
点评回复

使用道具 举报

发表于 2014-6-20 16:45:37 | 显示全部楼层
东西呢看不到
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 04:57 , Processed in 0.052603 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表