本書(shū)以循序漸進(jìn)由淺入深的原則精心挑選的一系列項(xiàng)目開(kāi)發(fā)實(shí)例。實(shí)例中有詳盡的說(shuō)明和實(shí)際的原理圖,易于閱讀和理解的源程序以及裝置的實(shí)物圖片。本書(shū)內(nèi)容涉及廣泛,可為多方面的USB 項(xiàng)目開(kāi)發(fā)者提供具體的指導(dǎo)和解答。
本書(shū)以循序漸進(jìn)由淺入深的原則精心挑選的一系列項(xiàng)目開(kāi)發(fā)實(shí)例。實(shí)例中有詳盡的說(shuō)明和實(shí)際的原理圖,易于閱讀和理解的源程序以及裝置的實(shí)物圖片。本書(shū)內(nèi)容涉及廣泛,可為多方面的USB 項(xiàng)目開(kāi)發(fā)者提供具體的指導(dǎo)和解答。
第1章 把 I/O 設(shè)備加到現(xiàn)代的 PC 1
1-1 動(dòng)手上機(jī)的例子 2
1-2 你需要怎樣的技術(shù)背景 3
1-3 本書(shū)的重點(diǎn) 3
1-4 現(xiàn)代 PC:一段簡(jiǎn)短的歷史 4
1-4-1 操作簡(jiǎn)單、價(jià)格低廉 5
1-5 USB 術(shù)語(yǔ) 5
1-5-1 PC 主機(jī) 7
1-5-2 USB 電纜 7
1-5-3 集線器設(shè)備 9
1-5-4 I/O 設(shè)備 10
1-6 USB 對(duì) PC 主機(jī)的沖擊 12
本章小結(jié) 14
第2章 走近數(shù)據(jù)線 15
2-1 差動(dòng)信號(hào) 16
2-2 包的構(gòu)成 17
2-3 包的類(lèi)型 18
2-3-1 開(kāi)始幀令牌包(Start-of-Frame Token Packet) 18
2-3-2 Setup,IN和 OUT 令牌包 19
2-3-3 數(shù)據(jù)傳送包 20
2-3-4 握手包 20
2-4 建立一個(gè)事務(wù)處理 21
2-4-1 中斷傳輸 22
2-4-2 塊傳輸 23
2-4-3 同步傳輸 23
2-4-4 控制傳輸 24
2-5 PC 主機(jī)請(qǐng)求 27
2-6 錯(cuò)誤處理 29
2-7 針對(duì)低速設(shè)備的一個(gè)不同點(diǎn) 29
2-8 在總線上觀察 USB 包 30
本章小結(jié) 31
第3章 枚舉過(guò)程 33
3-1 設(shè)備檢測(cè) 34
3-2 枚舉步驟 35
3-3 設(shè)備描述符 36
3-3-1 配置描述符 38
3-3-2 接口描述符 39
3-4 選擇一個(gè)設(shè)備驅(qū)動(dòng)程序 39
3-5 定義一個(gè) HID 40
3-5-1 HID描述符 41
3-5-2 報(bào)告描述符 42
3-6 I/O 設(shè)備方面 43
3-7 最小 I/O 設(shè)備 44
3-8 復(fù)雜 I/O 設(shè)備 48
本章小結(jié) 51
第4章 PC 主機(jī)上的運(yùn)行時(shí)間軟件 53
4-1 Visual Basic 簡(jiǎn)介 55
4-2 示例 1:USB設(shè)備顯示 57
4-2-1 示例 1—第1步:人機(jī)接口設(shè)計(jì) 58
4-2-2 示例 1—第2步:程序初始化 59
4-2-3 示例 1—第3步:選擇一個(gè)主控制器 60
4-2-4 示例 1—第4步:描述符顯示 64
4-3 示例 2:HID 顯示 67
4-3-1 示例 2—第1步:人機(jī)接口設(shè)計(jì) 67
4-3-2 示例 2—第2步:程序初始化 68
4-3-3 示例 2—第3步:顯示 HID 信息 69
4-4 與一個(gè) HID 交換數(shù)據(jù) 69
4-4-1 報(bào)告描述符 70
4-4-2 設(shè)計(jì)例子 73
本章小結(jié) 74
第5章 開(kāi)發(fā)工具 75
5-1 開(kāi)發(fā)環(huán)境 76
5-2 目標(biāo)的實(shí)現(xiàn) 77
5-2-1 一個(gè)外部鏈接方式的例子 78
5-2-2 一個(gè)調(diào)試監(jiān)視器的例子 79
5-2-3 一個(gè)集成的調(diào)試監(jiān)視程序的例子 80
5-2-4 USB 外部設(shè)備的例子 81
5-2-5 USB ASIC 例子 82
5-3 軟件開(kāi)發(fā)工具 83
5-4 USB 專(zhuān)用工具 84
5-4-1 USB 單步 84
5-4-2 USB 視圖 85
5-4-3 HID 視圖 86
5-4-4 HID 表格產(chǎn)生器 86
本章小結(jié) 87
第6章 按鈕和燈 89
6-1 示例 1:簡(jiǎn)單的設(shè)計(jì),集成的USB端口 90
6-1-1 示例 1——第1步:設(shè)計(jì)硬件 91
6-1-2 示例 1——第2步:完成描述符 91
6-1-3 示例 1——第 3 步:實(shí)現(xiàn)微控制器代碼 93
6-1-4 示例 1——第4步:應(yīng)用程序代碼 112
6-2 示例 2:簡(jiǎn)單設(shè)計(jì),外部 USB 端口 113
6-2-1 示例 2——第1步:設(shè)計(jì)硬件 113
6-2-2 示例 2——第 2 步:完成描述符 114
6-2-3 示例 2——第3步:實(shí)現(xiàn)微控制器代碼 114
6-2-4 示例 2——第 4 步:應(yīng)用程序代碼 115
6-2-5 示例 2——設(shè)計(jì)小結(jié) 115
6-2-6 示例 2——真實(shí)世界產(chǎn)品實(shí)例 115
6-3 示例 3:加入更多的端口(與微控制器無(wú)關(guān)) 116
6-3-1 示例 3——第1步:硬件設(shè)計(jì) 116
6-3-2 示例 3——第2步:完成描述符 118
6-3-3 示例 3——第3步:實(shí)現(xiàn)微控制器代碼 118
6-3-4 示例 3——第4步:應(yīng)用程序代碼 118
6-4 示例 4:增加很多很多端口(與微控制器無(wú)關(guān)) 119
6-4-1 示例 4——第1步:設(shè)計(jì)硬件 119
6-4-2 示例 4——第2步:完成描述符 120
6-4-3 示例 4——第3步:實(shí)現(xiàn)微控制器代碼 122
6-4-4 示例 4——第4步:應(yīng)用程序代碼 122
本章小結(jié) 122
第7章 從 ISA 遷移 125
7-1 IN 和 OUT 的特殊性 127
7-2 制作一個(gè) ISA 卡 128
7-3 即插即用 ISA 129
7-4 從 ISA 遷移 129
7-4-1 軟件移植 130
7-5 用戶(hù) I/O 示例 132
7-5-1 設(shè)計(jì)優(yōu)化 136
本章小結(jié) 138
第8章 構(gòu)建USB橋 139
8-1 USB到RS-232橋的設(shè)計(jì) 140
8-2 串行通信外圍設(shè)備的設(shè)計(jì) 144
8-2-1 首先,看看通信標(biāo)準(zhǔn) 145
8-2-2 直接線控制調(diào)制解調(diào)器例子 146
8-3 并行設(shè)備例子 153
8-3-1 軟盤(pán)驅(qū)動(dòng)器 153
8-3-2 SCSI設(shè)備 155
8-4 另外的橋 156
8-5 條形碼掃描器例子 157
本章小結(jié) 159
第9章 與數(shù)字世界相連接 161
9-1 I2C接口 162
9-1-1 I2C規(guī)范 162
9-1-2 I2C小結(jié) 165
9-2 溫度計(jì)應(yīng)用 165
9-2-1 例1:讀溫度 166
9-2-2 例2:加溫度限定值 168
9-2-3 例3:使用一個(gè)多點(diǎn)的溫度計(jì) 168
9-2-4 溫度計(jì)應(yīng)用小結(jié) 170
9-3 紅外子系統(tǒng) 170
9-3-1 PC工業(yè)界紅外標(biāo)準(zhǔn) 170
9-3-2 例1:IrDA數(shù)據(jù) 171
9-3-3 例2:IrDA控制 174
9-3-4 例3:消費(fèi)工業(yè)IR 176
9-3-5 紅外子系統(tǒng)小結(jié) 178
本章小結(jié) 179
第10章 連接到現(xiàn)實(shí)世界 181
10-1 輸出信號(hào)調(diào)理 182
10-2 電機(jī)控制 183
10-2-1 例1:步進(jìn)電機(jī) 183
10-2-2 例2:直流電機(jī) 186
10-3 控制市電供電的設(shè)備 187
10-3-1 例3:照明控制面板 187
10-4 現(xiàn)實(shí)世界中的模擬信號(hào) 189
10-4-1 模擬轉(zhuǎn)換例子 189
10-4-2 傳感器輸入 193
10-5 數(shù)據(jù)采集和儀器 195
10-5-1 USB模塊例子 195
10-5-2 USB工業(yè)系列例子 199
10-5-3 設(shè)備盒例子 200
本章小結(jié) 201
第11章 我喜歡那樣的聲音 203
11-1 創(chuàng)建數(shù)字聲音 205
11-1-1 采樣的聲音 205
11-1-2 合成聲音 206
11-2 MIDI協(xié)議 207
11-2-1 MIDI硬件接口 208
11-2-2 MIDI合成器 210
11-2-3 MIDI文件格式 210
11-3 USB對(duì)聲音的支持 211
11-3-1 例1:音頻輸出 211
11-3-2 例2:音頻輸入 213
11-3-3 軟件的功能控制 215
11-4 電話(huà)連接 217
11-4-1 例3:電話(huà)設(shè)計(jì) 219
本章小結(jié) 220
第12章 我能看見(jiàn)你 221
12-1 調(diào)整視頻數(shù)據(jù)大小 222
12-1-1 視頻壓縮的重要性 223
12-2 系列視頻解決方案 224
12-2-1 例1:視頻會(huì)議攝像機(jī) 225
12-2-2 例2:復(fù)合視頻 226
12-2-3 例3:數(shù)字視頻創(chuàng)建 228
12-3 USB在視頻領(lǐng)域的應(yīng)用 230
12-3-1 數(shù)字顯微鏡 230
12-3-2 生物測(cè)量學(xué) 230
本章小結(jié) 232
第13章 設(shè)計(jì)一個(gè)集線器 233
13-1 基本的集線器 235
13-1-1 集線器中繼器 235
13-1-2 集線器控制器 236
13-1-3 電源控制 238
13-1-4 基本集線器小結(jié) 240
13-2 構(gòu)建一個(gè)復(fù)合設(shè)備 240
13-3 設(shè)計(jì)例子 241
13-3-1 步驟1:加一個(gè)集線器 243
13-3-2 步驟2:加I/O設(shè)備 245
13-3-3 步驟3:擴(kuò)充設(shè)計(jì) 245
本章小結(jié) 247
第14章 把所有的東西組合到一起 249
14-1 設(shè)計(jì)例子概述 250
14-1-1 步驟1:調(diào)諧器前端子系統(tǒng) 251
14-1-2 步驟2:視頻轉(zhuǎn)USB子系統(tǒng) 251
14-1-3 步驟3:音頻轉(zhuǎn)USB子系統(tǒng) 252
14-1-4 步驟4:集線器子系統(tǒng) 253
14-1-5 步驟5:I2C控制子系統(tǒng) 253
14-1-6 步驟6:供電分配 254
14-1-7 步驟7:設(shè)計(jì)優(yōu)化 254
14-1-8 步驟8:PC主機(jī)應(yīng)用 255
本章小結(jié) 256
第15章 增加進(jìn)入家庭的數(shù)據(jù)帶寬 257
15-1 普通老式電話(huà)服務(wù)(POTS) 258
15-1-1 一個(gè)xDSL調(diào)制解調(diào)器的參考設(shè)計(jì) 259
15-1-2 利用電話(huà)線的家庭連網(wǎng) 260
15-2 重新審視有線電視同軸電纜 261
15-2-1 線纜調(diào)制解調(diào)器例子 262
15-2-2 電纜聯(lián)網(wǎng)例子 264
15-3 數(shù)字廣播和PC 267
本章小結(jié) 270
附錄A 271