出版時(shí)間:2009-1 出版社:北京航空航天大學(xué)出版社 作者:劉榮 頁(yè)數(shù):313
Tag標(biāo)簽:無(wú)
前言
USB作為一種計(jì)算機(jī)總線技術(shù),在如今的個(gè)人計(jì)算機(jī)上已經(jīng)是必不可少的了??纯次覀兩磉叺挠?jì)算機(jī)外部設(shè)備,有多少是通過(guò)USB口與計(jì)算機(jī)連接的?鼠標(biāo)、鍵盤、游戲手柄、打印機(jī)、掃描儀、MP3、數(shù)碼相機(jī)、U盤、移動(dòng)硬盤及移動(dòng)光驅(qū)等,另外,還有一些我們不太常見(jiàn)的USB設(shè)備,例如一些具有USB口的儀表儀器、開(kāi)發(fā)用的調(diào)試器、燒錄機(jī)、USB網(wǎng)卡、USB耳機(jī)、USB話筒及USB電話,甚至一些移動(dòng)電話(手機(jī))也具備USB口??傊?,只要是與計(jì)算機(jī)通信的外部設(shè)備,似乎都可以用USB來(lái)連接,這足見(jiàn)USB之強(qiáng)大。USB之所以使用得如此廣泛,是因?yàn)樗哂羞B接簡(jiǎn)單、速度快、可擴(kuò)展性強(qiáng)、支持熱插拔操作和標(biāo)準(zhǔn)統(tǒng)一等特點(diǎn)。由于USB協(xié)議詳細(xì)地規(guī)定了各種參數(shù)以及數(shù)據(jù)結(jié)構(gòu)、格式,因而使得各廠生產(chǎn)出來(lái)的設(shè)備都能夠很好地相互兼容。不過(guò),這卻給USB設(shè)備開(kāi)發(fā)者帶來(lái)了一些麻煩。USB設(shè)備開(kāi)發(fā)者首先要很清楚USB協(xié)議才能開(kāi)發(fā)出符合協(xié)議的USB設(shè)備,然而USB協(xié)議本身是一個(gè)比較復(fù)雜、龐大的系統(tǒng),再加上眾多的子類協(xié)議,使得很多設(shè)計(jì)者望而生畏,或者時(shí)間上不允許。所以有一些小公司將USB部分外包或者使用別人現(xiàn)成的USB模塊來(lái)加快開(kāi)發(fā)進(jìn)度。如果你會(huì)開(kāi)發(fā)USB相關(guān)設(shè)備的話,可能會(huì)獲得不少機(jī)會(huì)哦。不過(guò),雖然圈圈(就是筆者我啦,讀者一定要牢記這點(diǎn),不然把你弄暈了我可不負(fù)責(zé))會(huì)一點(diǎn)USB,但目前還是窮光蛋一個(gè)。當(dāng)然,你也可以學(xué)圈圈這樣,寫(xiě)本書(shū)出來(lái)忽悠忽悠。雖然USB這么好用,但是教你如何設(shè)計(jì)USB設(shè)備的書(shū)在市面上卻是少見(jiàn),大部分都是對(duì)USB協(xié)議翻譯,只有少量的內(nèi)容是實(shí)際開(kāi)發(fā)的內(nèi)容和代碼。圈圈從2003年年底(大二)開(kāi)始學(xué)習(xí)USB,花了約一年的時(shí)間(主要是利用課余時(shí)間)閱讀了一些USB書(shū)籍和文檔后,才真正開(kāi)始動(dòng)手做自己的第一個(gè)USB設(shè)備:一個(gè)基于AT89C52+PDIUSBD12的假U盤。圈圈自認(rèn)自己資質(zhì)不差,卻讓一個(gè)小小的USB困擾了這么久,我想除了自己的原因之外,還跟USB協(xié)議本身的復(fù)雜性和沒(méi)有一些好的書(shū)籍有很大關(guān)系。在整個(gè)USB學(xué)習(xí)過(guò)程中主要都是靠自己慢慢摸索,走了一些彎路?,F(xiàn)在回過(guò)頭再來(lái)看看,如果當(dāng)初能有一個(gè)整體的認(rèn)識(shí),按照合理的步驟來(lái)操作,就不會(huì)走這么多彎路了。因此圈圈意識(shí)到,迫切需要寫(xiě)一本能讓USB初學(xué)者少走彎路、快速入門和上手的書(shū)籍。圈圈寫(xiě)這本書(shū),是真心地想要更多的人能夠?qū)W會(huì)USB,會(huì).開(kāi)發(fā)USB設(shè)備。本書(shū)并不是對(duì)USB協(xié)議簡(jiǎn)單地進(jìn)行翻譯,而是盡量用圈圈自己的語(yǔ)言來(lái)進(jìn)行描述。
內(nèi)容概要
通過(guò)U盤、USB鼠標(biāo)、USB鍵盤、USB MIDI鍵盤、USB轉(zhuǎn)串口、自定義的USB HID設(shè)備和自定義的USB設(shè)備等幾個(gè)具體的USB例子,一步步講解USB設(shè)備及驅(qū)動(dòng)程序和應(yīng)用程序開(kāi)發(fā)的詳細(xì)過(guò)程和步驟。最后兩章介紹USB WDM驅(qū)動(dòng)開(kāi)發(fā),并給出一個(gè)簡(jiǎn)單的USB驅(qū)動(dòng)和USB上層過(guò)濾驅(qū)動(dòng)的實(shí)例。 本書(shū)附帶的光盤中有USB學(xué)習(xí)板的電路圖以及所有實(shí)驗(yàn)的完整源代碼包(C/C++語(yǔ)言)。 本書(shū)的讀者對(duì)象主要是USB設(shè)備與驅(qū)動(dòng)設(shè)計(jì)的初學(xué)者和提高者,以及所有對(duì)圈圈的支持者。
作者簡(jiǎn)介
劉榮,一位電子技術(shù)及計(jì)算機(jī)技術(shù)愛(ài)好者。利用業(yè)余時(shí)間學(xué)習(xí)了大量電子技術(shù)及計(jì)算機(jī)技術(shù)相關(guān)知識(shí),并設(shè)計(jì)了很多相關(guān)作品。網(wǎng)名“computer00”,也叫“電腦圈圈”,211C中國(guó)電子網(wǎng)論壇“技術(shù)交流”版版主。個(gè)人博客《電腦圈圈的家當(dāng)》及《圈圈的USB專區(qū)》為業(yè)內(nèi)知名網(wǎng)點(diǎn)。
書(shū)籍目錄
第1章 USB概述及協(xié)議基礎(chǔ) 1.1 USB是什么 1.2 USB的特點(diǎn) 1.3 USB的拓?fù)浣Y(jié)構(gòu) 1.4 USB的電氣特性 1.5 USB的線纜、插頭及插座 1.6 USB的插入檢測(cè)機(jī)制 1.7 USB的描述符及其之間的關(guān)系 1.8 USB設(shè)備的枚舉過(guò)程 1.9 USB的包結(jié)構(gòu)及傳輸過(guò)程 1.9.1 USB的包結(jié)構(gòu)及包的分類 1.9.2 令牌包 1.9.3 數(shù)據(jù)包 1.9.4 握手包 1.9.5 特殊包 1.9.6 如何處理數(shù)據(jù)包 1.10 USB的四種傳輸類型 1.10.1 USB事務(wù) 1.10.2 批量傳輸 1.10.3 中斷傳輸 1.10.4 等時(shí)傳輸 1.10.5 控制傳輸 1.10.6 端點(diǎn)類型與傳輸類型的關(guān)系 1.10.7 傳輸類型與端點(diǎn)支持的最大包長(zhǎng) 1.11 本章小結(jié)第2章 硬件系統(tǒng)設(shè)計(jì) 2.1 方案及芯片的選定 2.2 D12引腳功能說(shuō)明 2.3 D12與AT89S52的連接 2.4 串口部分電路 2.5 按鍵部分 2.6 指示燈部分 2.7 IDE接口部分 2.8 單片機(jī)部分 2.9 元件安裝 2.10 電路調(diào)試 2.11 測(cè)試程序的編寫(xiě)和調(diào)試 2.11.1 建立一個(gè)工程 2.11.2 為工程添加源文件 2.11.3 KEIL工具欄及仿真介紹 2.11.4 按鍵驅(qū)動(dòng)的編寫(xiě) 2.11.5 串口驅(qū)動(dòng)的編寫(xiě) 2.11.6 PDIUSBDl2讀寫(xiě)函數(shù)及讀ID的實(shí)現(xiàn) 2.12 本章小結(jié)第3章 USB鼠標(biāo)的實(shí)現(xiàn) 3.1 USB鼠標(biāo)工程的建立 3.2 USB的斷開(kāi)與連接 3.3 USB中斷的處理 3.4 讀取從主機(jī)發(fā)送到端點(diǎn)O的數(shù)據(jù) 3.5 USB標(biāo)準(zhǔn)請(qǐng)求 3.5.1 USB標(biāo)準(zhǔn)設(shè)備請(qǐng)求的結(jié)構(gòu) 3.5.2 GET_DESCRIPTOR請(qǐng)求 3.5.3 SET_ADDRESS請(qǐng)求 3.5.4 SETCONFIGURATION請(qǐng)求 3.6 設(shè)備描述符的實(shí)現(xiàn) ……第4章 USB鍵盤的實(shí)現(xiàn)第5章 用戶自定義的USB HID設(shè)備第6章 USB轉(zhuǎn)串口第7章 USB MIDI鍵盤第8章 U盤第9章 自定義USB設(shè)備及驅(qū)動(dòng)開(kāi)發(fā)第10章 USB過(guò)濾驅(qū)動(dòng)開(kāi)發(fā)附錄 第3章實(shí)例的完整調(diào)試信息參考文獻(xiàn)后記
章節(jié)摘錄
插圖:要正確地使用一個(gè)芯片,首先要閱讀它的數(shù)據(jù)手冊(cè)(datasheet)。數(shù)據(jù)手冊(cè)是芯片廠商提供給用戶使用該芯片的技術(shù)文檔,通常包括芯片功能簡(jiǎn)介、方框圖、內(nèi)部工作原理、寄存器排布、控制命令、引腳分布、電路圖和封裝等各種重要信息。數(shù)據(jù)手冊(cè)通??蓮男酒镜木W(wǎng)站下載,或者在一些技術(shù)論壇也會(huì)提供下載。用該芯片的型號(hào)加pdf作為關(guān)鍵字,使用搜索引擎搜索通常也可以搜索到數(shù)據(jù)手冊(cè)。初學(xué)者一定要學(xué)會(huì)去查找和閱讀數(shù)據(jù)手冊(cè),不要怕麻煩。拿到數(shù)據(jù)手冊(cè)后,先大概瀏覽一遍,看自己需要的信息在哪里。實(shí)際使用時(shí),再對(duì)需要的信息細(xì)讀。下面介紹D12的引腳分布。圖2.2.1就是從D12的數(shù)據(jù)手冊(cè)中復(fù)制來(lái)的引腳分布圖。通常,從這些引腳名上可以看出很多有用的信息。例如,圖2.2.1中DATA(O>~DATA表示數(shù)據(jù)口,而GND則表示地線。ALE(Addrass Latch Enable)也是很常用的,是地址鎖存使能;CS(Chip Select)表示片選,后面加個(gè)N就表示低電平有效(有時(shí)也會(huì)在標(biāo)號(hào)上加橫杠或者在前面加斜杠),即低電平時(shí)選中該芯片;INT表示中斷請(qǐng)求信號(hào);RD表示讀選通信號(hào);WR表示寫(xiě)選通信號(hào);RESET表示復(fù)位。這些引腳后面的N都表示它們是低電平有效的。XTAL1和XTAL2是接晶體的。
后記
經(jīng)過(guò)兩個(gè)多月的苦戰(zhàn),終于完成了本書(shū)的初稿。圈圈想說(shuō),寫(xiě)書(shū)真的是件挺辛苦的事。就算拿本幾百頁(yè)的書(shū),全部敲到計(jì)算機(jī)中也不容易,何況自己寫(xiě)幾百頁(yè)出來(lái)呢。不過(guò)看到網(wǎng)上很多網(wǎng)友對(duì)本書(shū)的期待,以及周圍朋友的支持,給了圈圈很大動(dòng)力。在這里圈圈要對(duì)他們說(shuō)聲謝謝。這是圈圈第一次寫(xiě)書(shū)(應(yīng)該叫處女作比較專業(yè)),所以沒(méi)啥經(jīng)驗(yàn),不知道最后出來(lái)的效果咋樣。圈圈從小就害怕寫(xiě)作文(讀書(shū)時(shí)為了應(yīng)付作文,經(jīng)常找一些書(shū)來(lái)抄,或者找家長(zhǎng)代勞),語(yǔ)文成績(jī)也一直是剛剛及格的水平,所以寫(xiě)出來(lái)的文章干巴巴的,有點(diǎn)像記流水帳(很多語(yǔ)文老師對(duì)圈圈的作文如此評(píng)價(jià))。為了讓讀者能夠更容易理解和接受,圈圈盡量使用一些簡(jiǎn)單、通俗的句子,有很多地方還有重復(fù)的說(shuō)明,以讓讀者能夠得到確切的答案。如果你覺(jué)得本書(shū)說(shuō)得太簡(jiǎn)單,或者有些重復(fù),那很正常,因?yàn)檫@本書(shū)主要面向的是初學(xué)者。限于圈圈的水平,同時(shí)為了減少讀者的負(fù)擔(dān),后記也就只能湊出這么幾百個(gè)字了。如果你對(duì)本書(shū)有什么好的建議,請(qǐng)不要吝嗇,可以給圈圈發(fā)郵件或者留言;如果你覺(jué)得本書(shū)寫(xiě)得不錯(cuò),請(qǐng)多多宣傳一下;如果你覺(jué)得本書(shū)寫(xiě)得不好,也可以給圈圈扔磚頭,因?yàn)轷r花與磚頭永遠(yuǎn)是共同存在的;如果你在找書(shū)墊桌子腳時(shí),請(qǐng)不要用本書(shū),如果真的要用,也請(qǐng)麻煩順手把封面朝上……最后,感謝廣大網(wǎng)友、讀者以及家人和朋友支持,感謝北航出版社,感謝胡編,感謝21IC,感謝CEPARK,感謝EDN,感謝OURAVR,感謝圈圈,感謝CCTV……
編輯推薦
《圈圈教你玩USB》是作者專門為廣大USB入門和提高者而編寫(xiě)的USB入門級(jí)教材。作者在經(jīng)過(guò)長(zhǎng)期、大量的USB學(xué)習(xí)和開(kāi)發(fā)后,按照自己的理解以及漢語(yǔ)的思維方式編寫(xiě)了《圈圈教你玩USB》,同時(shí)將USB學(xué)習(xí)和開(kāi)發(fā)過(guò)程中總結(jié)的一些經(jīng)驗(yàn)和方法溶入了書(shū)中?!度θ棠阃鎁SB》的特點(diǎn)足以實(shí)例的方式,一步步講解USB設(shè)備與驅(qū)動(dòng)程序和應(yīng)用程序開(kāi)發(fā)的詳細(xì)過(guò)程及步驟,同時(shí)在光盤中附帶了完整的源代碼(C/C++語(yǔ)言)。為了照顧初學(xué)者,書(shū)中語(yǔ)句盡量做到通俗易懂,少用專業(yè)詞匯。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版