第一图书网

圈圈教你玩USB

刘荣 北京航空航天大学出版社
出版时间:

2009-1  

出版社:

北京航空航天大学出版社  

作者:

刘荣  

页数:

313  

Tag标签:

无  

前言

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协议简单地进行翻译,而是尽量用圈圈自己的语言来进行描述。

内容概要

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

作者简介

刘荣,一位电子技术及计算机技术爱好者。利用业余时间学习了大量电子技术及计算机技术相关知识,并设计了很多相关作品。网名“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 设备描述符的实现  ……第4章 USB键盘的实现第5章 用户自定义的USB HID设备第6章 USB转串口第7章 USB MIDI键盘第8章 U盘第9章 自定义USB设备及驱动开发第10章 USB过滤驱动开发附录 第3章实例的完整调试信息参考文献后记

章节摘录

插图:要正确地使用一个芯片,首先要阅读它的数据手册(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是接晶体的。

后记

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


编辑推荐

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

图书封面

图书标签Tags

广告

下载页面


圈圈教你玩USB PDF格式下载



第三章以一个实例一步一步将设备跟主机的沟通交流讲述得非常清楚。连我这种笨蛋看到这都开始感觉 USB 并不像以前想的那样难了。感谢 圈圈 !


圈圈教你玩USB(内附光盘和PCB)书讲得深入细致,还有PCB板,能做到了边学边动手,是我买到的第一本带PCB的书,希望有更多的书能这样。


圈圈大名早已如雷贯耳,今得书一见果然功力深厚!把本书作为USB的入门教材再合适不过了。


本书不错一看就知道本书的作者也是学过USB开发的,我特别喜欢本书的第二章硬件系统设计,本人目前正在开发一个USB转串口的系统在设计方面遇到了问题,看到本书的第二章给予了很大的启示和参考现在问题已经解决了,本书还有PCB送不错可以边学边做,理论结合实践,本人有一点不明白光盘中为什么放了那么多的歌曲,有什么含义吗?


圈圈是名人了,USB讲解很到位,最重要的是不像教材那么枯燥,学习本就应该是个高兴的心情!


书中全面的阐述了USB协议,硬件原理和固件编程。以及上位机应用程序的编程。附送的光盘中有完整的程序代码。
通过研读此书,可以很快开发出实用的带USB接口的产品。


很适合初学USB。圈圈写这本书很用心。比较受益。


写这本书的人是从事电子技术很久的人,研究USB技术有6-7年了,现在已经有不小的成绩,可以说是精通USB技术,书中从第二章开始全都是作者的原创,是他自己从事USB开发的总结,是很好的一本书,相比市场上很多书,纯粹英文资料翻译,欺负国人不懂英语吗?


本书语言通俗,便于理解,芯片选择通俗,便于实际应用。阅读此书不仅可以提高usb方面水平,对刚入门或刚接触单片机开发的人,有很大的帮助!是市场上,非常难得的书!


以前搞过几次usb的键盘鼠标,照猫画虎,居然叫低速设备,还叫下位机,X了个X的,辛苦了半天还又低又下的,于是拉到了,其实感觉搞usb最好连上位机搞了,比如VC写个界面什么的,理解的会更全面。


这本书对于USB初学者挺有价值的,而且还送一个PCB,可以自己买元件,焊接后就是一个开发板。推荐!


学习usb开发的入门级必备,浅显易懂


本书语言通俗易懂,条理清晰。能够帮助初学者尽快掌握USB开发的基本流程。感觉非常实用!


很好,读过之后很受益。作者还可以考虑使用C8051F320或者C8051F340,作为例子。总体价格不贵而且节省空间,调试也很方便。
感觉有一些介绍还不是很深入 尤其是USB信号物理特性和USB设备类的协议。


内容和其他纯理论的书相比 更能让人接受!而且带有开发板和详细的开发过程 是一本从理论到实际应用完美过渡的一本书! 很不错 建议想学USB的朋友们 可以考虑下


在21IC论坛了解过的书,又在实体书点看过,是本USB入门的好书,语言通易懂。


虽然只是看了前3章,不过我认为这是比较适合USB初学者的一本书;本来我就是初学者嘛,而且我能看懂了。之前也买过其他书,只是对USB协议的简单翻译和堆砌,而且很多地方翻译得还非常不通畅。这本书就不一样,是作者结合自己的工程实践体验而写的,行文也比较较通俗,是言之有物的一本书。

虽然本书的内容还不错,不过书的纸张质量我认为就不是很好,例如纸张禁不住折腾,翻几遍就皱了(声明一下:本人是非常爱书的人;也从来不喜欢在书上写写画画);印刷的字会透到另外一面去;书很多空白的地方看起来像是沾有墨,很不干净。


该书是作者的实际经验之作,非常好,而且语句通俗易懂,由浅入深地讲解usb的步步操作。


看了前面三章,很不错,介绍的知识对一个初学者来说很简明扼要,看了之后,对USB的认识有很大的提高。送货速度也很快,拍下的第二天就到了。


这本书不错,是学习USB的好资料,里面的实例很多,还有免费的PCB板子,真的不错


书是针对USB1.0渗透USB2.0进行讲解的,作者使用的语言也很易懂,个人感觉不错!推荐~~


学习usb入门级的好书


对开发USB来说是一本不错的书!


少有的讲解usb的书籍,适合作为入门书籍。


这本书最大的价值是能让你学会USB1.1 赠送一个PCB,自已配一下廉价的芯片,学会USB,非常值得


由于事先就知道该书的内容,买一本打算做一个前些日子的总结,自己不想写。可以到EDN的USB学习小组去看看,里面有很多内容


强调实践,语言明快,我跟着这本书真的弄明白了USB.


书的内容有点过时,不过还是让我学到很多东西,对于想开发USB或者想了解USB的有帮助


学USB的葵花宝典


从最基本开始讲USB,可以快速地从0开始学USB然后后面的又不失高深


学USB的好书


非常好的一本书,虽然我用的EZUSB芯片和本书的PDIUSB12无关,但书中手把手教的使用DS和自定义驱动的方法弥补了其他书的不足,很适合初学者


电脑圈圈的作品 博客藏经阁系列好


圈圈的书写的通俗易懂,非常好!!


看过圈圈的博客吗?


想起 物理学家 泡利 20岁不到就写了一本介绍广义相对论的经典著作,圈圈如此年青就有这么好的著作问世 真是前途无量


圈圈,网络PO文出身的,所以,文字平易近人,读起来贴切,不苦涩。


如果大学的课本也是这种风格该多好啊,支持圈圈!希望圈圈继续出好书!


好书,支持圈圈!


很通俗易懂,对着坐着的讲解一点一点写程序,然后又配合另外一本讲协议讲的比较细的,经过几天的反复看协议那块,现在基本入门了~


书到手有一两星期了。只不过平时工作比较忙,所以没有怎么看。这两天看了一下,这本书写的还是很好的。语言文字诙谐幽默,而且内容十分贴近于实际制作过程,而且最为重要的,是本书绝大多数都是工作中最宝贵的经验,绝非看看书,听听课就能学会的,本书的内容绝非“参考”一些书,东拼西凑而来的。比如说开始的那些datasheet的阅读,是学校学不到的,就算在工作中,也很难有人如此详细的解释,手把手地教的。就冲这几点,绝对好评。


正如书上所说,带光盘和PCB电路板。其他网上书城大多数都没有PCB板。作者很幽默,像我这样对电路不太了解关切的人都产生了兴趣。而且,实践步骤简单明了。


买的书内还有一小块PCB板,空板,但是画上了基本的焊接图示,按照PCB上的标识自行弄元器件,焊上估计就可以。学习中,弄好了自己焊个开发板。


很好,有光盘,有PCB,划算
就是内容太简单了,很适合入门。


讲解由浅入深,而且很生动,很适合初学者。
光盘和PCB都有。


首先就不说送货的话题了,没得说了,很满意!主要说这本书的内容吧,很好作者通过切身经验写出来的很有帮助,而且看起来也比较通俗不类似于理论书那样读起来枯燥当然里面的配件也很齐全就是不太理解他给光碟配那么多没用的歌干什么?也许有其含义,只是作为外人不理解罢了还是希望如果再版,能多多加入些实质性的电子内容


书的内容不错,比较适合入门和初学者,讲的比较系统,而且把一些重要的细节都讲解的很清楚


语言幽默干练,讲解通俗易懂,很容易入门。


这本书写的果然不错,适合初学者.送的PCB作工也很正,正在学习中*


内容详细,手把手教,还有PCB、有光盘


讲解深入浅出,附有光盘盒PCB小板,非常贴心!


简单看了一下,写的很基础,很适合入门,而且还送PCB,几乎是手把手从零学了,好评!


由浅入深,操作性强,特别是有附带的PCB,方便了实践,看了好几章,看得懂,虽然还没看完,但忍不住来这里评论下。


网上看书评不错,就买来看看,确实不错,适合入门,而且语言中透出一些些幽默,讲得也很清楚


送货挺快,书的质量也不错,光盘和PCB板都在。


送货速度快!有PCB和光盘,内容不用我评了——公认的好书了,书的纸质感觉不是很好。


书到底好不好还是要看针对不同的读者。这样一本基础的入门小书,对于新手还是很有帮助的。

就是贵了点,按页数字体来看,折后25块以下我能够接受。


这本书不错,语言很通俗幽默,对初学者来说非常合适!


不错,很超值,还送光盘和pcb


很好内容是我想要的还有光盘和PCB全有


白话文,更像是自己的总结,通俗易懂,适合初学者吧


拿到书了,还担心会像某些评论里说的少板子光盘,都健在嘛!很不错,呵呵!


讲的比较基础,适合初学者。还外带了一块pcb板,挺好。


入门的不错选择,讲的很详细


作为入门级读物, 不过芯片型号有些老了.


还没读完,不过感觉很有用,配合那本黑宝书读能弄懂很多,已经调通现在的程序了。


不错,通俗易懂,适合初学者。


是于振南介绍的书,不会错的。而且里面还有一块PCB,也要值些钱呢。大体翻了一下书,还没有仔细看,总体感觉还不错,象是一个踏实的人写的书。不象前一阵子买的周润景,李学海的书,看得把人都恶心死了。


建议初学者使用,详细


很详细,特别适合从零开始的初学者。


就是光盘放在最后面就好了,放在中间不好拿出来


很有趣的说。。。还有PCB板玩。。。。


正版不错,另送PCB,只是没有相关元件。。。


的确不错,入门的好书


书刚收到,封面非常精美,带PCB板子,内容还没有读,对于菜鸟的我,应该是不错的选择


书看着挺新的,还没去具体学习,整体感觉还可以


买上之后 一直没时间看 感觉挺对不起作者的 这么好的一本书——同学同事都说挺好的


速度很快..这个书也完整很好.`总得来说值得推荐..


最主要里面送PCB


书介绍的非常详细,尤其是前几张的介绍,感觉非常好,向大家推荐一下...


通俗易懂,很容易理解1


书的内容非常不错,可以说博客藏经阁的书都是难得的精品


不错,适合初学者,部分章节还不够充分


不用说,对初学者很好


不错的一本书,讲得很详细。


书写的挺好,送了一块PCB板


配PCB这点很给力。内容很好。虽然纸质差点。


已收到,pcb还在!


浅显易懂,语言风趣,值得一读


学习PDIUSBD12比较经典的书,实践性很强


找了好久相关的资料,发现这本书真的很有用


深入浅出,说的通俗易懂,推荐


书的具体内容还没来得及看,不过书的封面看过去很多,纸张不错,内容架构清晰!


有很多学习的东西 知识海洋啊


书很好 可惜买了 没时间去看 5月分开始看了


内容很详实,讲解很清楚


很好的一本书,进入公司后,发现很多人都在用


还是不错的,例子多


写的很好的一本书,看人家用过,所以自己也好奇的买了一本,值的购买一看,另外当当网发货相当快,我喜欢.


浅显易懂,非常适合初学


相关图书