微控制器USB的技術及應用入門(簡體書)
商品資訊
系列名:物聯網與人工智能應用開發叢書
ISBN13:9787121345869
出版社:電子工業出版社
作者:工業和信息化部人才交流中心 編著
出版日:2021/04/01
裝訂/頁數:平裝/320頁
規格:26cm*19cm (高/寬)
版次:一版
商品簡介
作者簡介
序
目次
相關商品
商品簡介
隨著物聯時代的到來,預計微控制器將迎來新一輪高成長週期,推動其相關技術進一步高速發展,尤其是連接和安全技術。USB技術因為其通用和簡單易用性,已經在微控制器領域得到了廣泛的普及和應用。在即將到來的萬物互聯時代,USB作為通用的串行連接技術,尤其在中高端消費或者工業領域,將繼續成為不可或缺的微控制器組件。本書將從USB基礎及協議入手,由淺入深逐步介紹USB的硬件技術和常用的設備類應用開發,並結合微控制器的典型軟件開發包SDK,剖析核心USB協議棧,給出應用開發實例。最後的高級篇將重點介紹USB兼容性測試流程以及注意事項。
作者簡介
工業和信息化部人才交流中心(以下簡稱中心)創建於1985年1月,1992年10月成為獨立事業法人單位,工業和信息化部所屬的黨政機關一類事業單位(正局級),是經中央機構編制委員會辦公室批准,國家事業單位登記管理局註冊登記,是工業和信息化部在人才培養、人才交流、智力引進、國際交流、會議展覽等方面的支撐機構;也是人力資源和社會保障部、工業和信息化部“全國信息專業技術人才知識更新工程”及“信息化工程師”項目實施承辦單位。
序
個人電腦中,USB接口已經取代了串口和並口。目前,USB接口作為一種簡易、高速、可靠的計算機通信總線技術已經相當普及,相應的外設周邊極其豐富。USB接口的遊戲手柄、U盤、移動硬盤、手機等設備依靠USB的特性普及到了我們日常工作和生活之中。 隨著人工智能和物聯網(IoT)的興起,工程師使用各種USB擴展棒(Dongle)在現有設備上擴展出ZigBee、BLE等無線連接的功能,支持實現無線連接的快速原型搭建,或者為原來沒有無線連接能力的設備提供簡易高效的無線連接功能。由於USB接口具有數據吞吐量高及連接簡單等優點,各種神經網絡計算棒也是通過USB接口與PC機或高性能處理器連接來驗證功能或應用于現有產品中的。通過USB接口,處理器與神經網絡計算棒可以很容易地實現採集原始數據和模板數據的互傳。 嵌入式微控制器(MCU)應用到了我們生活中的方方面面,為了連接的統一和便捷以及更高的數據交互性能,在片上集成USB控制器也是大勢所趨。新的應用需求(如物聯網和深度學習)也要求工程師掌握USB接口。 對於USART,SPI和I2C等經典的串行接口來說,USB在硬件設計及軟件開發方面都增加了難度,對工程師和開發者使用USB提出了更高的要求。本書是一線工程師項目開發經驗的總結,從USB項目應用角度出發,系統地介紹嵌入式USB接口的硬件、軟件和認證方面的技術。本書內容涵蓋USB的基礎概念、軟件協議棧的分析、應用類的分析舉例及總結認證經驗。希望能夠供入門的初學者閱讀,又能幫助應用工程師解決日常USB開發中遇到的痛點問題和難點問題。
目次
第1章 USB基礎及協議概述 1
1.1 簡介 2
1.1.1 背景 2
1.1.2 USB的特點 2
1.2 系統架構 4
1.2.1 USB總線架構 4
1.2.2 USB主機和設備 5
1.2.3 USB分層結構 6
1.2.4 USB物理連接 7
1.2.5 USB2.0電氣特性 9
1.2.6 USB2.0設備速度的識別 10
1.2.7 USB2.0電源 11
1.3 USB2.0事務處理及數據傳輸 12
1.3.1 包 13
1.3.2 事務 15
1.4 USB2.0數據傳輸類型 15
1.4.1 控制傳輸 16
1.4.2 批量傳輸 19
1.4.3 中斷傳輸 21
1.4.4 同步傳輸 22
1.5 USB2.0設備 24
1.5.1 USB設備狀態 24
1.5.2 USB總線枚舉 27
1.5.3 描述符 27
1.5.4 設備請求 35
1.5.5 枚舉過程 38
1.6 USB2.0主機 40
1.6.1 USB主機結構 40
1.6.2 USB主控制器功能 42
1.6.3 客戶軟件 45
1.6.4 系統軟件 46
1.6.5 主控制器驅動程序 48
1.6.6 總線驅動程序 49
1.6.7 嵌入式USB主機控制器 51
1.7 USB調試輔助工具 51
1.7.1 Bus Hound 52
1.7.2 Ellisys的USB Explorer系列 52
1.7.3 LeCroy的Mercury系列 54
第2章 USB硬件設計 55
2.1 USB接口簡介 56
2.2 USB電氣特性 58
2.2.1 低速USB驅動器電氣特性 59
2.2.2 全速USB驅動器電氣特性 60
2.2.3 高速USB驅動器電氣特性 63
2.2.4 低速和全速接收器特性 63
2.2.5 器件速度識別 64
2.2.6 信號電平 65
2.2.7 數據編碼/解碼 66
2.2.8 電源分佈 68
2.2.9 電壓跌落要求 71
2.2.10 信號質量的評定 72
2.3 USB電路設計 72
2.3.1 設備 73
2.3.2 主機 74
2.3.3 OTG應用 74
2.3.4 USB信號的防護 75
2.3.5 信號完整性電路設計 76
2.4 硬件電路常見的問題 77
第3章 基於SDK的USB協議棧 79
3.1 簡介 80
3.2 Device協議棧 81
3.2.1 協議棧架構 81
3.2.2 協議棧初始化流程 82
3.2.3 協議棧工作流程 86
3.2.4 協議棧接口 91
3.2.5 控制器驅動接口 95
3.2.6 HID類接口 97
3.2.7 MSC類接口 98
3.2.8 CDC類接口 98
3.2.9 Audio類接口 99
3.2.10 Video類接口 100
3.3 Host協議棧 101
3.3.1 協議棧架構 101
3.3.2 協議棧初始化流程 102
3.3.3 協議棧工作流程 104
3.3.4 Host驅動接口 107
3.3.5 控制器驅動接口 113
3.3.6 HID類接口 115
3.3.7 MSC類接口 116
3.3.8 CDC類接口 117
3.3.9 Audio類接口 118
第4章 USB HID類應用開發 119
4.1 簡介 120
4.1.1 什麼是HID 120
4.1.2HID類 120
4.1.3 子類及編碼 121
4.1.4 協議編碼 121
4.1.5 接口 122
4.2 描述符及請求 123
4.2.1 基礎知識 123
4.2.2 描述符 127
4.2.3 請求 133
4.3 代碼實例 139
4.3.1 工程關鍵文件及代碼介紹 139
4.3.2 運行工程查看結果 144
4.3.3 枚舉過程詳細解析 144
4.3.4 報告過程詳細解析 150
4.4 HID類的其他應用 151
第5章 USB MSC類應用開發 152
5.1 簡介 153
5.1.1 MSC設備的一般工作流程 154
5.1.2 USB MSC協議簡介 155
5.2 請求及描述符 156
5.2.1 MSC設備接口描述符 156
5.2.2 MSC設備端點描述符 157
5.2.3 MSC類標準請求 157
5.2.4 Buck-Only Transport協議的數據流模型 160
5.2.5 批量數據的傳輸具體細節 163
5.3 代碼實例 173
5.3.1 MSC設備入門例程 173
5.3.2 SD卡讀卡器例程 176
第6章 USB CDC類應用開發 178
6.1 簡介 179
6.1.1 USB CDC類 180
6.1.2 CDC類設備的組成 180
6.2 請求及描述符 181
6.2.1 CDC設備配置描述符 181
6.2.2 通信接口描述符 182
6.2.3 數據接口描述符 186
6.2.4 CDC類請求 187
6.3 代碼實例 189
第7章 USB Audio類應用開發 192
7.1 簡介 193
7.1.1 音頻接口集與音頻接口關聯 194
7.1.2 音頻接口類、子類及協議 195
7.1.3 音頻功能類別 196
7.1.4 音頻同步類型 196
7.1.5 聲道間同步 197
7.1.6 音頻功能拓撲 198
7.1.7 編碼與解碼 206
7.1.8 複製保護 206
7.1.9 操作模型 206
7.2 描述符、請求與中斷 208
7.2.1 描述符 208
7.2.2 請求 221
7.2.3 中斷 230
7.3 代碼實例 232
7.3.1 SDK USB音頻類應用 232
7.3.2 SDK USB音頻類的實現 233
第8章 USB組合類應用開發 235
8.1 簡介 236
8.2 請求及描述符 237
8.2.1 設備描述符的修改 238
8.2.2 使用IAD時的用戶編程模型 238
8.2.3 接口聯合描述符 239
8.2.4 其他 240
8.3 代碼實例 241
8.3.1 SDK中composite類例程 241
8.3.2 U盤+虛擬串口例程 241
第9章 USB Hub應用開發 244
9.1 簡介 245
9.2 請求與描述符 246
9.2.1 標準描述符 246
9.2.2 Hub描述符 246
9.2.3 Hub請求 247
9.3 SDK的實現 249
9.3.1 主機識別Hub 249
9.3.2 主機識別Hub上設備連接 251
9.3.3 主機識別Hub上設備斷開 252
9.3.4 Hub轉發傳輸 253
第10章 USB兼容性測試 261
10.1 簡介 262
10.2 測試要求 262
10.2.1 測試設備 263
10.2.2 測試軟件 265
10.3 電氣測試流程 266
10.3.1 低/全速USB測試 266
10.3.2 高速USB測試 272
10.3.3 主機高速信號測試 278
10.4 常見問題和解決辦法 283
10.4.1 主設備信號質量測試 283
10.4.2 USB信號佈線 284
10.4.3 ESD器件的影響 285
10.4.4 USB收發器電氣特性 285
10.4.5 設備(全速)反向電壓測試 286
10.4.6 設備(全速)浪湧電流測試 286
10.4.7 主機電壓跌落測試 287
參考文獻 289
1.1 簡介 2
1.1.1 背景 2
1.1.2 USB的特點 2
1.2 系統架構 4
1.2.1 USB總線架構 4
1.2.2 USB主機和設備 5
1.2.3 USB分層結構 6
1.2.4 USB物理連接 7
1.2.5 USB2.0電氣特性 9
1.2.6 USB2.0設備速度的識別 10
1.2.7 USB2.0電源 11
1.3 USB2.0事務處理及數據傳輸 12
1.3.1 包 13
1.3.2 事務 15
1.4 USB2.0數據傳輸類型 15
1.4.1 控制傳輸 16
1.4.2 批量傳輸 19
1.4.3 中斷傳輸 21
1.4.4 同步傳輸 22
1.5 USB2.0設備 24
1.5.1 USB設備狀態 24
1.5.2 USB總線枚舉 27
1.5.3 描述符 27
1.5.4 設備請求 35
1.5.5 枚舉過程 38
1.6 USB2.0主機 40
1.6.1 USB主機結構 40
1.6.2 USB主控制器功能 42
1.6.3 客戶軟件 45
1.6.4 系統軟件 46
1.6.5 主控制器驅動程序 48
1.6.6 總線驅動程序 49
1.6.7 嵌入式USB主機控制器 51
1.7 USB調試輔助工具 51
1.7.1 Bus Hound 52
1.7.2 Ellisys的USB Explorer系列 52
1.7.3 LeCroy的Mercury系列 54
第2章 USB硬件設計 55
2.1 USB接口簡介 56
2.2 USB電氣特性 58
2.2.1 低速USB驅動器電氣特性 59
2.2.2 全速USB驅動器電氣特性 60
2.2.3 高速USB驅動器電氣特性 63
2.2.4 低速和全速接收器特性 63
2.2.5 器件速度識別 64
2.2.6 信號電平 65
2.2.7 數據編碼/解碼 66
2.2.8 電源分佈 68
2.2.9 電壓跌落要求 71
2.2.10 信號質量的評定 72
2.3 USB電路設計 72
2.3.1 設備 73
2.3.2 主機 74
2.3.3 OTG應用 74
2.3.4 USB信號的防護 75
2.3.5 信號完整性電路設計 76
2.4 硬件電路常見的問題 77
第3章 基於SDK的USB協議棧 79
3.1 簡介 80
3.2 Device協議棧 81
3.2.1 協議棧架構 81
3.2.2 協議棧初始化流程 82
3.2.3 協議棧工作流程 86
3.2.4 協議棧接口 91
3.2.5 控制器驅動接口 95
3.2.6 HID類接口 97
3.2.7 MSC類接口 98
3.2.8 CDC類接口 98
3.2.9 Audio類接口 99
3.2.10 Video類接口 100
3.3 Host協議棧 101
3.3.1 協議棧架構 101
3.3.2 協議棧初始化流程 102
3.3.3 協議棧工作流程 104
3.3.4 Host驅動接口 107
3.3.5 控制器驅動接口 113
3.3.6 HID類接口 115
3.3.7 MSC類接口 116
3.3.8 CDC類接口 117
3.3.9 Audio類接口 118
第4章 USB HID類應用開發 119
4.1 簡介 120
4.1.1 什麼是HID 120
4.1.2HID類 120
4.1.3 子類及編碼 121
4.1.4 協議編碼 121
4.1.5 接口 122
4.2 描述符及請求 123
4.2.1 基礎知識 123
4.2.2 描述符 127
4.2.3 請求 133
4.3 代碼實例 139
4.3.1 工程關鍵文件及代碼介紹 139
4.3.2 運行工程查看結果 144
4.3.3 枚舉過程詳細解析 144
4.3.4 報告過程詳細解析 150
4.4 HID類的其他應用 151
第5章 USB MSC類應用開發 152
5.1 簡介 153
5.1.1 MSC設備的一般工作流程 154
5.1.2 USB MSC協議簡介 155
5.2 請求及描述符 156
5.2.1 MSC設備接口描述符 156
5.2.2 MSC設備端點描述符 157
5.2.3 MSC類標準請求 157
5.2.4 Buck-Only Transport協議的數據流模型 160
5.2.5 批量數據的傳輸具體細節 163
5.3 代碼實例 173
5.3.1 MSC設備入門例程 173
5.3.2 SD卡讀卡器例程 176
第6章 USB CDC類應用開發 178
6.1 簡介 179
6.1.1 USB CDC類 180
6.1.2 CDC類設備的組成 180
6.2 請求及描述符 181
6.2.1 CDC設備配置描述符 181
6.2.2 通信接口描述符 182
6.2.3 數據接口描述符 186
6.2.4 CDC類請求 187
6.3 代碼實例 189
第7章 USB Audio類應用開發 192
7.1 簡介 193
7.1.1 音頻接口集與音頻接口關聯 194
7.1.2 音頻接口類、子類及協議 195
7.1.3 音頻功能類別 196
7.1.4 音頻同步類型 196
7.1.5 聲道間同步 197
7.1.6 音頻功能拓撲 198
7.1.7 編碼與解碼 206
7.1.8 複製保護 206
7.1.9 操作模型 206
7.2 描述符、請求與中斷 208
7.2.1 描述符 208
7.2.2 請求 221
7.2.3 中斷 230
7.3 代碼實例 232
7.3.1 SDK USB音頻類應用 232
7.3.2 SDK USB音頻類的實現 233
第8章 USB組合類應用開發 235
8.1 簡介 236
8.2 請求及描述符 237
8.2.1 設備描述符的修改 238
8.2.2 使用IAD時的用戶編程模型 238
8.2.3 接口聯合描述符 239
8.2.4 其他 240
8.3 代碼實例 241
8.3.1 SDK中composite類例程 241
8.3.2 U盤+虛擬串口例程 241
第9章 USB Hub應用開發 244
9.1 簡介 245
9.2 請求與描述符 246
9.2.1 標準描述符 246
9.2.2 Hub描述符 246
9.2.3 Hub請求 247
9.3 SDK的實現 249
9.3.1 主機識別Hub 249
9.3.2 主機識別Hub上設備連接 251
9.3.3 主機識別Hub上設備斷開 252
9.3.4 Hub轉發傳輸 253
第10章 USB兼容性測試 261
10.1 簡介 262
10.2 測試要求 262
10.2.1 測試設備 263
10.2.2 測試軟件 265
10.3 電氣測試流程 266
10.3.1 低/全速USB測試 266
10.3.2 高速USB測試 272
10.3.3 主機高速信號測試 278
10.4 常見問題和解決辦法 283
10.4.1 主設備信號質量測試 283
10.4.2 USB信號佈線 284
10.4.3 ESD器件的影響 285
10.4.4 USB收發器電氣特性 285
10.4.5 設備(全速)反向電壓測試 286
10.4.6 設備(全速)浪湧電流測試 286
10.4.7 主機電壓跌落測試 287
參考文獻 289
主題書展
更多
主題書展
更多書展今日66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。