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