圈圈教你玩USB

当前位置:首页 > 计算机网络 > 硬件外部设备维修 > 圈圈教你玩USB

出版社:北京航空航天大学出版社
出版日期:2009-1
ISBN:9787811246001
作者:刘荣
页数:313页

章节摘录

插图:要正确地使用一个芯片,首先要阅读它的数据手册(datasheet)。数据手册是芯片厂商提供给用户使用该芯片的技术文档,通常包括芯片功能简介、方框图、内部工作原理、寄存器排布、控制命令、引脚分布、电路图和封装等各种重要信息。数据手册通常可从芯片公司的网站下载,或者在一些技术论坛也会提供下载。用该芯片的型号加pdf作为关键字,使用搜索引擎搜索通常也可以搜索到数据手册。初学者一定要学会去查找和阅读数据手册,不要怕麻烦。拿到数据手册后,先大概浏览一遍,看自己需要的信息在哪里。实际使用时,再对需要的信息细读。下面介绍D12的引脚分布。图2.2.1就是从D12的数据手册中复制来的引脚分布图。通常,从这些引脚名上可以看出很多有用的信息。例如,图2.2.1中DATA(O>~DATA表示数据口,而GND则表示地线。ALE(Addrass Latch Enable)也是很常用的,是地址锁存使能;CS(Chip Select)表示片选,后面加个N就表示低电平有效(有时也会在标号上加横杠或者在前面加斜杠),即低电平时选中该芯片;INT表示中断请求信号;RD表示读选通信号;WR表示写选通信号;RESET表示复位。这些引脚后面的N都表示它们是低电平有效的。XTAL1和XTAL2是接晶体的。

前言

USB作为一种计算机总线技术,在如今的个人计算机上已经是必不可少的了。看看我们身边的计算机外部设备,有多少是通过USB口与计算机连接的?鼠标、键盘、游戏手柄、打印机、扫描仪、MP3、数码相机、U盘、移动硬盘及移动光驱等,另外,还有一些我们不太常见的USB设备,例如一些具有USB口的仪表仪器、开发用的调试器、烧录机、USB网卡、USB耳机、USB话筒及USB电话,甚至一些移动电话(手机)也具备USB口。总之,只要是与计算机通信的外部设备,似乎都可以用USB来连接,这足见USB之强大。USB之所以使用得如此广泛,是因为它具有连接简单、速度快、可扩展性强、支持热插拔操作和标准统一等特点。由于USB协议详细地规定了各种参数以及数据结构、格式,因而使得各厂生产出来的设备都能够很好地相互兼容。不过,这却给USB设备开发者带来了一些麻烦。USB设备开发者首先要很清楚USB协议才能开发出符合协议的USB设备,然而USB协议本身是一个比较复杂、庞大的系统,再加上众多的子类协议,使得很多设计者望而生畏,或者时间上不允许。所以有一些小公司将USB部分外包或者使用别人现成的USB模块来加快开发进度。如果你会开发USB相关设备的话,可能会获得不少机会哦。不过,虽然圈圈(就是笔者我啦,读者一定要牢记这点,不然把你弄晕了我可不负责)会一点USB,但目前还是穷光蛋一个。当然,你也可以学圈圈这样,写本书出来忽悠忽悠。虽然USB这么好用,但是教你如何设计USB设备的书在市面上却是少见,大部分都是对USB协议翻译,只有少量的内容是实际开发的内容和代码。圈圈从2003年年底(大二)开始学习USB,花了约一年的时间(主要是利用课余时间)阅读了一些USB书籍和文档后,才真正开始动手做自己的第一个USB设备:一个基于AT89C52+PDIUSBD12的假U盘。圈圈自认自己资质不差,却让一个小小的USB困扰了这么久,我想除了自己的原因之外,还跟USB协议本身的复杂性和没有一些好的书籍有很大关系。在整个USB学习过程中主要都是靠自己慢慢摸索,走了一些弯路。现在回过头再来看看,如果当初能有一个整体的认识,按照合理的步骤来操作,就不会走这么多弯路了。因此圈圈意识到,迫切需要写一本能让USB初学者少走弯路、快速入门和上手的书籍。圈圈写这本书,是真心地想要更多的人能够学会USB,会.开发USB设备。本书并不是对USB协议简单地进行翻译,而是尽量用圈圈自己的语言来进行描述。

后记

经过两个多月的苦战,终于完成了本书的初稿。圈圈想说,写书真的是件挺辛苦的事。就算拿本几百页的书,全部敲到计算机中也不容易,何况自己写几百页出来呢。不过看到网上很多网友对本书的期待,以及周围朋友的支持,给了圈圈很大动力。在这里圈圈要对他们说声谢谢。这是圈圈第一次写书(应该叫处女作比较专业),所以没啥经验,不知道最后出来的效果咋样。圈圈从小就害怕写作文(读书时为了应付作文,经常找一些书来抄,或者找家长代劳),语文成绩也一直是刚刚及格的水平,所以写出来的文章干巴巴的,有点像记流水帐(很多语文老师对圈圈的作文如此评价)。为了让读者能够更容易理解和接受,圈圈尽量使用一些简单、通俗的句子,有很多地方还有重复的说明,以让读者能够得到确切的答案。如果你觉得本书说得太简单,或者有些重复,那很正常,因为这本书主要面向的是初学者。限于圈圈的水平,同时为了减少读者的负担,后记也就只能凑出这么几百个字了。如果你对本书有什么好的建议,请不要吝啬,可以给圈圈发邮件或者留言;如果你觉得本书写得不错,请多多宣传一下;如果你觉得本书写得不好,也可以给圈圈扔砖头,因为鲜花与砖头永远是共同存在的;如果你在找书垫桌子脚时,请不要用本书,如果真的要用,也请麻烦顺手把封面朝上……最后,感谢广大网友、读者以及家人和朋友支持,感谢北航出版社,感谢胡编,感谢21IC,感谢CEPARK,感谢EDN,感谢OURAVR,感谢圈圈,感谢CCTV……

内容概要

刘荣,一位电子技术及计算机技术爱好者。利用业余时间学习了大量电子技术及计算机技术相关知识,并设计了很多相关作品。网名“computer00”,也叫“电脑圈圈”,211C中国电子网论坛“技术交流”版版主。个人博客《电脑圈圈的家当》及《圈圈的USB专区》为业内知名网点。

书籍目录

第1章 USB概述及协议基础
1.1 USB是什么
1.2 USB的特点
1.3 USB的拓扑结构
1.4 USB的电气特性
1.5 USB的线缆、插头及插座
1.6 USB的插入检测机制
1.7 USB的描述符及其之间的关系
1.8 USB设备的枚举过程
1.9 USB的包结构及传输过程
1.9.1 USB的包结构及包的分类
1.9.2 令牌包
1.9.3 数据包
1.9.4 握手包
1.9.5 特殊包
1.9.6 如何处理数据包
1.10 USB的四种传输类型
1.10.1 USB事务
1.10.2 批量传输
1.10.3 中断传输
1.10.4 等时传输
1.10.5 控制传输
1.10.6 端点类型与传输类型的关系
1.10.7 传输类型与端点支持的最大包长
1.11 本章小结
第2章 硬件系统设计
2.1 方案及芯片的选定
2.2 D12引脚功能说明
2.3 D12与AT89S52的连接
2.4 串口部分电路
2.5 按键部分
2.6 指示灯部分
2.7 IDE接口部分
2.8 单片机部分
2.9 元件安装
2.10 电路调试
2.11 测试程序的编写和调试
2.11.1 建立一个工程
2.11.2 为工程添加源文件
2.11.3 KEIL工具栏及仿真介绍
2.11.4 按键驱动的编写
2.11.5 串口驱动的编写
2.11.6 PDIUSBDl2读写函数及读ID的实现
2.12 本章小结
第3章 USB鼠标的实现
3.1 USB鼠标工程的建立
3.2 USB的断开与连接
3.3 USB中断的处理
3.4 读取从主机发送到端点O的数据
3.5 USB标准请求
3.5.1 USB标准设备请求的结构
3.5.2 GET_DESCRIPTOR请求
3.5.3 SET_ADDRESS请求
3.5.4 SETCONFIGURATION请求
3.6 设备描述符的实现
3.7 设备描述符的返回
3.8 设置地址请求的处理
3.9 配置描述符集合的结构
3.9.1 配置描述符的结构
3.9.2 接口描述符的结构
3.9.3 端点描述符的结构
3.9.4 HID描述符的结构
3.10 配置描述符集合的实现以及返回
3.11 字符串及语言ID请求的实现
3.12 设置配置请求的实现
3.13 报告描述符的结构及实现
3.14 报告的返回
3.15 Bus Hound工具的简介
3.16 本章小结
第4章 USB键盘的实现
4.1 USB键盘工程的建立
4.2 设备描述符的实现
4.3 配置描述符集合的实现
4.3.1 配置描述符
4.3.2 接口描述符
4.3.3 HID描述符_
4.3.4 端点描述符
4.4 字符串描述符
4.5 报告描述符
4.6 输入和输出报告的实现
4.7 USB键盘实例的测试
4.8 再谈USB HID的报告描述符
4.9 带鼠标功能的USB键盘(方法一)
4.10 带鼠标功能的USB键盘(方法二)
4.11 多媒体USB键盘
4.12 本章小结
第5章 用户自定义的USB HID备
5.1 MyUsbHid工程的建立
5.2 描述符的修改
5.3 报告的实现
5.4 对用户自定义的USB HID设备的访问
5.5 访问HID设备时所用到的相关函数
5.5.1 获取HID设备的接口类GUID的函数
5.5.2 获取指定类的所有设备信息集合的函数
5.5.3 从设备信息集合中获取一个设备接口信息的函数
5.5.4 获取指定设备接口详细信息的函数
5.5.5 打开设备的函数
5.5.6 获取HID设备属性的函数
5.5.7 从设备读取数据的函数
5.5.8 往设备写数据的函数
5.5.9 通过控制端点O读取报告的函数
5.5.10 通过控制端点O发送报告的函数
5.5.11 关闭句柄的函数
5.5.12 需要包含的库文件
5.6 访问USB HID设备的上位机软件的实现
5.6.1 上位机程序编写的思路
5.6.2 查找及打开HID设备的代码
5.6.3 读输入报告线程的代码
5.6.4 写输出报告的代码(发送LED的状态)
5.6.5 写输出报告线程的代码
5.6.6 线程的创建以及设备插拔事件的注册
5.6.7 对设备状态改变事件的处理
5.7 软件界面以及使用方法
5.8 本章小结
第6章 USB转串口
6.1 串口家族历史
6.2 串口接头的引脚分布及功能
6.3 USB转串口的实现方法
6.4 设备描述符
6.5 字符串描述符
……
第7章 USB MIDI键盘
第8章 U盘
第9章 自定义USB设备及驱动开发
第10章 USB过滤驱动开发
附录 第3章实例的完整调试信息
参考文献
后记

编辑推荐

《圈圈教你玩USB》是作者专门为广大USB入门和提高者而编写的USB入门级教材。作者在经过长期、大量的USB学习和开发后,按照自己的理解以及汉语的思维方式编写了《圈圈教你玩USB》,同时将USB学习和开发过程中总结的一些经验和方法溶入了书中。《圈圈教你玩USB》的特点足以实例的方式,一步步讲解USB设备与驱动程序和应用程序开发的详细过程及步骤,同时在光盘中附带了完整的源代码(C/C++语言)。为了照顾初学者,书中语句尽量做到通俗易懂,少用专业词汇。

作者简介

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

图书封面


 圈圈教你玩USB下载 更多精彩书评



发布书评

 
 


精彩书评 (总计1条)

  •     以前买过几本其它的讲USB开发的书,基本上都是垃圾,那些书中的内容不是翻译DataSheet就是翻译国外著作,好多估计连译者也没弄明白的内容就给翻译出来了。而圈圈的这本书基本上都是作者开发笔记,语言也很通俗易懂,让我弄明白了USB的原理和开发的基本过程,感谢圈圈!不过圈圈用的D12 芯片已经过时了,要开发建议选取其它芯片,道理都是相通的。我参考圈圈的书,已经初步实现了一个基于Silabs 的C8051F320 单片机的优盘,打算以后再试试其它USB接口芯片的开发。不足的是书中的排版错误和小瑕疵不少,不过不影响阅读。总体来说是一本难得的好书,本人强烈推荐!

精彩短评 (总计101条)

  •     书的内容不错,比较适合入门和初学者,讲的比较系统,而且把一些重要的细节都讲解的很清楚
  •     买上之后 一直没时间看 感觉挺对不起作者的 这么好的一本书——同学同事都说挺好的
  •     买的书内还有一小块PCB板,空板,但是画上了基本的焊接图示,按照PCB上的标识自行弄元器件,焊上估计就可以。学习中,弄好了自己焊个开发板。
  •     学习usb开发的入门级必备,浅显易懂
  •     入门还是挺不错的
  •     学USB的好书
  •     书介绍的非常详细,尤其是前几张的介绍,感觉非常好,向大家推荐一下...
  •     本书语言通俗易懂,条理清晰。能够帮助初学者尽快掌握USB开发的基本流程。感觉非常实用!
  •     由于事先就知道该书的内容,买一本打算做一个前些日子的总结,自己不想写。可以到EDN的USB学习小组去看看,里面有很多内容
  •     圈圈的书写的通俗易懂,非常好!!
  •     内容和其他纯理论的书相比 更能让人接受!而且带有开发板和详细的开发过程 是一本从理论到实际应用完美过渡的一本书! 很不错 建议想学USB的朋友们 可以考虑下
  •     很适合初学USB。圈圈写这本书很用心。比较受益。
  •     非常好的一本书,虽然我用的EZUSB芯片和本书的PDIUSB12无关,但书中手把手教的使用DS和自定义驱动的方法弥补了其他书的不足,很适合初学者
  •     很好,有光盘,有PCB,划算
    就是内容太简单了,很适合入门。
  •     学USB的葵花宝典
  •     对开发USB来说是一本不错的书!
  •     建议初学者使用,详细
  •     第三章以一个实例一步一步将设备跟主机的沟通交流讲述得非常清楚。连我这种笨蛋看到这都开始感觉 USB 并不像以前想的那样难了。感谢 圈圈 !
  •     首先就不说送货的话题了,没得说了,很满意!主要说这本书的内容吧,很好作者通过切身经验写出来的很有帮助,而且看起来也比较通俗不类似于理论书那样读起来枯燥当然里面的配件也很齐全就是不太理解他给光碟配那么多没用的歌干什么?也许有其含义,只是作为外人不理解罢了还是希望如果再版,能多多加入些实质性的电子内容
  •     虽然只是看了前3章,不过我认为这是比较适合USB初学者的一本书;本来我就是初学者嘛,而且我能看懂了。之前也买过其他书,只是对USB协议的简单翻译和堆砌,而且很多地方翻译得还非常不通畅。这本书就不一样,是作者结合自己的工程实践体验而写的,行文也比较较通俗,是言之有物的一本书。

    虽然本书的内容还不错,不过书的纸张质量我认为就不是很好,例如纸张禁不住折腾,翻几遍就皱了(声明一下:本人是非常爱书的人;也从来不喜欢在书上写写画画);印刷的字会透到另外一面去;书很多空白的地方看起来像是沾有墨,很不干净。
  •     还没读完,不过感觉很有用,配合那本黑宝书读能弄懂很多,已经调通现在的程序了。
  •     圈圈是名人了,USB讲解很到位,最重要的是不像教材那么枯燥,学习本就应该是个高兴的心情!
  •     圈圈教你玩USB(内附光盘和PCB)书讲得深入细致,还有PCB板,能做到了边学边动手,是我买到的第一本带PCB的书,希望有更多的书能这样。
  •     这本书不错,是学习USB的好资料,里面的实例很多,还有免费的PCB板子,真的不错
  •     不错的一本书,讲得很详细。
  •     讲的比较基础,适合初学者。还外带了一块pcb板,挺好。
  •     圈圈大名早已如雷贯耳,今得书一见果然功力深厚!把本书作为USB的入门教材再合适不过了。
  •     配PCB这点很给力。内容很好。虽然纸质差点。
  •     讲解由浅入深,而且很生动,很适合初学者。
    光盘和PCB都有。
  •     通俗易懂,很容易理解1
  •     讲解深入浅出,附有光盘盒PCB小板,非常贴心!
  •     很通俗易懂,对着坐着的讲解一点一点写程序,然后又配合另外一本讲协议讲的比较细的,经过几天的反复看协议那块,现在基本入门了~
  •     强调实践,语言明快,我跟着这本书真的弄明白了USB.
  •     电脑圈圈的作品 博客藏经阁系列好
  •     深入浅出,说的通俗易懂,推荐
  •     看了前面三章,很不错,介绍的知识对一个初学者来说很简明扼要,看了之后,对USB的认识有很大的提高。送货速度也很快,拍下的第二天就到了。
  •     作为入门级读物, 不过芯片型号有些老了.
  •     白话文,更像是自己的总结,通俗易懂,适合初学者吧
  •     不错,通俗易懂,适合初学者。
  •     很不错的开发用书
  •     浅显易懂,语言风趣,值得一读
  •     不错,适合初学者,部分章节还不够充分
  •     这本书写的果然不错,适合初学者.送的PCB作工也很正,正在学习中*
  •     是于振南介绍的书,不会错的。而且里面还有一块PCB,也要值些钱呢。大体翻了一下书,还没有仔细看,总体感觉还不错,象是一个踏实的人写的书。不象前一阵子买的周润景,李学海的书,看得把人都恶心死了。
  •     从最基本开始讲USB,可以快速地从0开始学USB然后后面的又不失高深
  •     速度很快..这个书也完整很好.`总得来说值得推荐..
  •     有很多学习的东西 知识海洋啊
  •     很详细,特别适合从零开始的初学者。
  •     如果大学的课本也是这种风格该多好啊,支持圈圈!希望圈圈继续出好书!
  •     在21IC论坛了解过的书,又在实体书点看过,是本USB入门的好书,语言通易懂。
  •     这本书对于USB初学者挺有价值的,而且还送一个PCB,可以自己买元件,焊接后就是一个开发板。推荐!
  •     少有的讲解usb的书籍,适合作为入门书籍。
  •     送货挺快,书的质量也不错,光盘和PCB板都在。
  •     这本书不错,语言很通俗幽默,对初学者来说非常合适!
  •     圈圈,网络PO文出身的,所以,文字平易近人,读起来贴切,不苦涩。
  •     正如书上所说,带光盘和PCB电路板。其他网上书城大多数都没有PCB板。作者很幽默,像我这样对电路不太了解关切的人都产生了兴趣。而且,实践步骤简单明了。
  •     太详细了,就感觉有点啰嗦。入门的话可以看看
  •     书中全面的阐述了USB协议,硬件原理和固件编程。以及上位机应用程序的编程。附送的光盘中有完整的程序代码。
    通过研读此书,可以很快开发出实用的带USB接口的产品。
  •     本书不错一看就知道本书的作者也是学过USB开发的,我特别喜欢本书的第二章硬件系统设计,本人目前正在开发一个USB转串口的系统在设计方面遇到了问题,看到本书的第二章给予了很大的启示和参考现在问题已经解决了,本书还有PCB送不错可以边学边做,理论结合实践,本人有一点不明白光盘中为什么放了那么多的歌曲,有什么含义吗?
  •     入门的不错选择,讲的很详细
  •     简单看了一下,写的很基础,很适合入门,而且还送PCB,几乎是手把手从零学了,好评!
  •     学习usb入门级的好书
  •     书的内容非常不错,可以说博客藏经阁的书都是难得的精品
  •     不错,很超值,还送光盘和pcb
  •     很有趣的说。。。还有PCB板玩。。。。
  •     网上看书评不错,就买来看看,确实不错,适合入门,而且语言中透出一些些幽默,讲得也很清楚
  •     学习PDIUSBD12比较经典的书,实践性很强
  •     拿到书了,还担心会像某些评论里说的少板子光盘,都健在嘛!很不错,呵呵!
  •     很多例程,拿着板子练习一下更好。特点是通过各种例子把一些协议给讲清楚了。很适合入门。
  •     书写的挺好,送了一块PCB板
  •     语言幽默干练,讲解通俗易懂,很容易入门。
  •     想起 物理学家 泡利 20岁不到就写了一本介绍广义相对论的经典著作,圈圈如此年青就有这么好的著作问世 真是前途无量
  •     是否还记得你兴奋要自学,甚至买了芯片,可惜一切都没有了下文。
  •     书看着挺新的,还没去具体学习,整体感觉还可以
  •     书的具体内容还没来得及看,不过书的封面看过去很多,纸张不错,内容架构清晰!
  •     硬件内容老了,做补充还是很好的
  •     的确不错,入门的好书
  •     看过圈圈的博客吗?
  •     以前搞过几次usb的键盘鼠标,照猫画虎,居然叫低速设备,还叫下位机,X了个X的,辛苦了半天还又低又下的,于是拉到了,其实感觉搞usb最好连上位机搞了,比如VC写个界面什么的,理解的会更全面。
  •     书到底好不好还是要看针对不同的读者。这样一本基础的入门小书,对于新手还是很有帮助的。

    就是贵了点,按页数字体来看,折后25块以下我能够接受。
  •     书刚收到,封面非常精美,带PCB板子,内容还没有读,对于菜鸟的我,应该是不错的选择
  •     就是光盘放在最后面就好了,放在中间不好拿出来
  •     由浅入深,操作性强,特别是有附带的PCB,方便了实践,看了好几章,看得懂,虽然还没看完,但忍不住来这里评论下。
  •     这本书最大的价值是能让你学会USB1.1 赠送一个PCB,自已配一下廉价的芯片,学会USB,非常值得
  •     很好内容是我想要的还有光盘和PCB全有
  •     书的内容有点过时,不过还是让我学到很多东西,对于想开发USB或者想了解USB的有帮助
  •     该书是作者的实际经验之作,非常好,而且语句通俗易懂,由浅入深地讲解usb的步步操作。
  •     好书,支持圈圈!
  •     不用说,对初学者很好
  •     本书语言通俗,便于理解,芯片选择通俗,便于实际应用。阅读此书不仅可以提高usb方面水平,对刚入门或刚接触单片机开发的人,有很大的帮助!是市场上,非常难得的书!
  •     找了好久相关的资料,发现这本书真的很有用
  •     国人写的不错的usb 实战类数据,用于辅助理解usb 2.0协议很有帮助
  •     内容详细,手把手教,还有PCB、有光盘
  •     送货速度快!有PCB和光盘,内容不用我评了——公认的好书了,书的纸质感觉不是很好。
  •     写这本书的人是从事电子技术很久的人,研究USB技术有6-7年了,现在已经有不小的成绩,可以说是精通USB技术,书中从第二章开始全都是作者的原创,是他自己从事USB开发的总结,是很好的一本书,相比市场上很多书,纯粹英文资料翻译,欺负国人不懂英语吗?
  •     正版不错,另送PCB,只是没有相关元件。。。
  •     已收到,pcb还在!
  •     书到手有一两星期了。只不过平时工作比较忙,所以没有怎么看。这两天看了一下,这本书写的还是很好的。语言文字诙谐幽默,而且内容十分贴近于实际制作过程,而且最为重要的,是本书绝大多数都是工作中最宝贵的经验,绝非看看书,听听课就能学会的,本书的内容绝非“参考”一些书,东拼西凑而来的。比如说开始的那些datasheet的阅读,是学校学不到的,就算在工作中,也很难有人如此详细的解释,手把手地教的。就冲这几点,绝对好评。
  •     很好,读过之后很受益。作者还可以考虑使用C8051F320或者C8051F340,作为例子。总体价格不贵而且节省空间,调试也很方便。
    感觉有一些介绍还不是很深入 尤其是USB信号物理特性和USB设备类的协议。
  •     书是针对USB1.0渗透USB2.0进行讲解的,作者使用的语言也很易懂,个人感觉不错!推荐~~
  •     最主要里面送PCB
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024