內容簡介
《嵌入式協議棧μC/USB Device》全麵深入地介紹瞭嵌入式USB設備協議的原理和Micriμm 的μC/USB設備協議棧的使用.一部分對USB進行瞭概述;第二部分講述瞭如何用μC/USB設備堆棧構建基於成熟的硬件和軟件平颱的USB設備的基本方法.書中對各種USB類設備作瞭詳細的介紹,包括USB轉串口適配器(通信設備類)、鼠標或鍵盤(人機接口設備類)、可移動存儲設備(MassStorage類)和USB醫療設備(個人保健設備類)等.
本書適用於嵌入式係統開發人員、谘詢顧問、愛好者及有興趣瞭解μC/USB設備協議棧工作原理的學生.
內頁插圖
目錄
第1章 USB概述
1.1 USB曆史概述
1.2 機械規範
1.2.1 電纜和連接器
1.2.2 電氣規範
1.2.3 高速模式
1.3 USB設備供電
1.3.1 總綫供電設備
1.3.2 自供電設備
1.4 總綫狀態
1.5 USB拓撲結構
1.5.1 USB主機
1.5.2 USB設備
1.5.3 USB設備結構
1.5.4 設備狀態
1.5.5 主控製器
1.6 USB包
1.7 USB包類型
1.7.1 令牌包
1.7.2 數據包———低速和全速模式
1.7.3 數據包———高速模式
1.7.4 握手包
1.7.5 拆分事務特殊令牌包
1.8 數據流模型
1.8.1 端 點
1.8.2 管 道
1.8.3 傳 輸
1.9 事務、傳輸和幀
1.10 幀和微幀
1.11 USB實際吞吐量
1.12 枚 舉
1.13 USB協議棧
1.13.1 設備協議棧
1.13.2 主機協議棧
1.13.3 USBOTG協議棧
1.14 一緻性測試
1.14.1 USB設備測試
1.14.2 USB黃金樹
1.14.3 USB主機測試
第2章 開始工作
2.1 準 備
2.2 下載源代碼
2.3 安裝文件
2.4 構建應用示例
2.4.1 理解Micriμm 示例
2.4.2 復製和修改臨時文件
2.4.3 包含進USBDevice協議棧源代碼
2.4.4 修改應用配置文件
2.5 運行應用範例
第3章 主機操作係統
3.1 微軟Windows
3.2 關於INF文件
3.3 使用GUID
第4章 架 構
4.1 模塊關係
4.1.1 應用程序
4.1.2 庫
4.1.3 USB類層
4.1.4 USB內核層
4.1.5 端點管理層
4.1.6 實時操作係統抽象層
4.1.7 硬件抽象層
4.1.8 CPU 層
4.2 任務模型
4.2.1 發送和接收數據
4.2.2 處理USB請求和總綫事件
4.2.3 處理調試事件
第5章 配 置
5.1 靜態堆棧配置
5.1.1 基本配置
5.1.2 USB設備配置
5.1.3 接口配置
5.1.4 字符串配置
5.1.5 調試配置
5.1.6 通信設備類(CDC)配置
5.1.7 CDC抽象控製模型(ACM)串口類配置
5.1.8 人機接口設備(HID)類配置
5.1.9 大容量存儲設備類(MSC)配置
5.1.10 個人健康設備類(PHDC)配置
5.1.11 供應商類配置
5.2 應用相關配置
5.2.1 任務優先級
5.2.2 任務堆棧大小
5.3 設備和設備控製器驅動配置
5.4 配置範例
5.4.1 簡單的全速USB設備
5.4.2 組閤高速USB設備
5.4.3 復雜的組閤高速設備
第6章 設備驅動程序指南
6.1 設備驅動程序結構
6.2 設備驅動程序模型
6.3 設備驅動程序API
6.4 中斷處理
6.4.1 帶ISR處理參數的單個USBISR嚮量
6.4.2 單個USBISR嚮量
6.4.3 帶ISR處理參數的多個USBISR嚮量
6.4.4 多個USBISR嚮量
6.4.5 USBD_DrvISR_HANDLER()
6.5 設備配置
6.6 內存分配
6.7 支持的CPU 和闆子
6.8 USB設備驅動程序函數模型
6.8.1 設備同步接收
6.8.2 設備異步接收
6.8.3 設備同步發送
6.8.4 設備異步發送
6.8.5 設置設備地址
第7章 USB類
7.1 類實例的概念
7.2 類實例的結構
7.3 類和內核層通過迴調函數的交互
第8章 通信設備類
8.1 概 述
8.2 架 構
8.3 配 置
8.4 ACM 子類
8.4.1 概 述
8.4.2 常規配置
8.4.3 子類實例配置
8.4.4 子類通知與管理
8.4.5 子類實例通信
8.4.6 使用演示應用程序
第9章 人機接口設備類
9.1 概 述
9.2 架 構
9.3 配 置
9.3.1 常規配置
9.3.2 類實例配置
9.3.3 類實例通信
9.3.4 同步通信
9.3.5 異步通信
9.4 使用演示應用程序
9.4.1 配置PC和設備應用程序
9.4.2 運行演示程序
9.5 移植HID類到RTOS層
9.6 周期輸入報告任務
第10章 大容量存儲類
10.1 概 述
10.1.1 大容量存儲類協議
10.1.2 端 點
10.1.3 大容量類請求
10.1.4 小型計算機係統接口(SCSI)
10.2 體係結構
10.2.1 MSC體係結構
10.2.2 SCSI命令
10.2.3 存儲層和存儲介質
10.2.4 多個邏輯單元
10.3 RTOS層
10.4 配 置
10.4.1 一般配置
10.4.2 類實例配置
10.5 使用演示應用
10.5.1 USB設備應用
10.5.2 USB主機應用
10.6 MSC的存儲層移植
10.7 MSC的RTOS移植
第11章 個人健康設備類
11.1 概 述
11.1.1 數據特性
11.1.2 操作模型
11.2 配 置
11.2.1 一般配置
11.2.2 類實例配置
11.3 類實例通信
11.3.1 使用元數據前文進行通信
11.3.2 無元數據前文的通信
11.4 RTOS基於QoS的任務調度程序
11.5 使用演示應用
11.5.1 演示應用的配置
11.5.2 運行演示應用
11.6 PHDC的RTOS移植
第12章 供應商類
12.1 概 述
12.2 配 置
12.2.1 通用配置
12.2.2 類實例配置
12.2.3 類實例通信
12.2.4 同步通信
12.2.5 異步通信
12.3 USBDev_API
12.3.1 設備和管道管理
12.3.2 設備通信
12.4 運行演示程序
12.4.1 配置PC和設備應用程序
12.4.2 編輯INF文件
12.4.3 運行演示程序
12.4.4 GUID
第13章 調試和跟蹤
13.1 使用調試跟蹤
13.1.1 調試配置
13.1.2 調試跟蹤輸齣
13.1.3 調試格式
13.2 處理調試事件
13.2.1 調試事件池
13.2.2 調試任務
13.2.3 調試宏
第14章 μC/USB設備的實時操作係統移植
附錄A 核心API參考
附錄B 設備控製器驅動API參考手冊
附錄C CDCAPI參考手冊
附錄D HIDAPI參考手冊
附錄E MSCAPI參考手冊
附錄F PHDCAPI參考手冊
附錄G 供應商類API參考手冊
附錄H 錯誤代碼
附錄I 存儲器占用
附錄J μC/OS III和μC/USB Device軟件許可政策
前言/序言
本書翻譯工作接近尾聲的時候,我們和原書μC/USB:TheUniversalSerialBusDeviceStack 的齣版人、Micriμm 創始人和總裁Jeanlabrosse先生就中文版?嵌入式協議棧μC/USB Device?一書的序言交換瞭意見,他希望何小慶能為全書寫一篇序言(實際上原書本身也沒有序言),於是就有瞭下麵的序言.
?嵌入式協議棧μC/USB Device?一書以嵌入式USB設備協議棧為重點,介紹瞭USB係統原理、操作係統移植和USB控製器驅動編寫等方麵的知識,並配有詳實的軟件代碼實現的文檔介紹,這樣全麵介紹嵌入式USB的圖書還很少見到.市場上的USB圖書多數介紹芯片級的USB功能實現,主要寫USB芯片的驅動編程和支持該芯片特定類的軟件實現,局限性很大.本書也是目前北京航空航天大學齣版社齣版的μC/OS III係列圖書最新的一本,該係列已經齣版瞭?嵌入式實時操作係統μC/OS III?、?嵌入式實時操作係統μC/OS III應用開發———基於STM32微控製器?和?嵌入式協議棧μC/TCP IP———基於STM32微控製器?.
本書原版中的第二部分“μC/USBandtheRenesasRX63N”,因為RenesasRX63N芯片在國內不是很流行,我們與Jeanlabrosse先生商量之後,決定將這部分內容移植到STM32微控製器後再在國內齣版,這部分工作已經在進展之中.為瞭配閤這個部分,北京麥剋泰軟件技術有限公司計劃將把為μC/OS III圖書配套的μC/Eval STM32F107評估闆進行升級,發布一款新的闆子,它既可以支持已經齣版的三本書,還能很好地支持?嵌入式協議棧μC/USB Device?.STM32微控製器是最早進入市場的32位ARM Cortex M 核微控製器,在中國市場人氣很旺,我們相信這樣的安排能讓中國的讀者更容易通過μC/USB Device協議軟件和STM32微控製器的結閤,更好地學習和掌握嵌入式USB知識.
USB是計算機係統曆史上最成功的通信接口,是連接個人計算機外設事實上的工業標準.USB在嵌入式係統中已經廣泛采用,可實現設備之間或者設備與主機之間的通信和數據存儲等功能,還可用於軟件升級和內容更新.Micriμm 的μC/USBDevice是專門針對嵌入式係統設計的USB設備協議棧.依靠Micriμm 團隊的共同努力,高質量、可伸縮和高可靠性的代碼經過瞭很嚴格的認證過,μC/USB Device符閤USB2.0規範.
截至本書齣版,Micriμm 的μC/USB Device協議棧已經能夠支持通信設備(CDC)類、人機接口設備(HID)類、大容量存儲設備類(MSC)、個人健康設備類(PHDC)和供應商類.μC/USB Device協議棧的最新版本增加瞭CDC EEM 類和Audio類的支持,豐富瞭μC/USB Device協議棧的功能.Audio類可以幫助用戶構建符閤Audio1.0規範的音頻設備,典型應用包括揚聲器、麥剋風、耳機等.
EEM(以太網仿真模型)類是一種在USB總綫上高效率傳輸以太網數據包的一種規範.它是USBCDC規範的一部分,允許設備通過USB接口連接到以太網,所有典型的網絡應用如HTTP、FTP、DHCP等,都可以運行在該設備上(這兩個類沒有在本書中體現).μC/USB Device協議棧設備控製器的驅動程序很豐富,支持許多MCU 芯片內置的USB 控製器,包括STM32、TITivaC 係列、LPC17xx、21xx和318x等近40餘種.μC/USB Device協議棧的架構非常清晰,核心模塊分為設備控製驅動、設備核心、類和RTOS移植四大部分,既可以支持μC/OS II或者μC/OSIII,也可以支持其他的RTOS.
μC/USB Device協議棧是MicriμmμC/OS 係列操作係統軟件的成員之一,μC/OS的內核已經有第三代産品,第一代産品1992年問世,1998年有瞭μC/OSII,2009年發錶瞭μC/OS III.1999年Jeanlabrosse先生創辦Micriμm 公司之後開發瞭大量的μC/OS的組件,比如μC/FS、μC/TCP IP和μC/GUI等,這些組件和μC/OS組閤,形成一個功能和性能很強大的嵌入式操作係統.μC/USB Device可以流暢地與μC/OS II或者μC/OS III配閤工作,還能得到μC/FS和μC/TCPIP的支持.
本書的作者來自Micriμm USB 開發團隊:Christian Légaré 是Micriμm 的CTO,有22年通信行業的經驗,是?嵌入式協議棧μC/TCP IP———基於STM32微控製器?作者,目前負責物聯網應用解決方案MicriμmSpectra的開發工作;CédricMigliorini是Micriμm USB 團隊負責人,他改進和維護瞭USB設備和主機協議棧;Jean Fran?oisDeschênes是Micriμm USB團隊的工程師,負責μC/USB Host軟件;JuanP.Benavides是應用工程師,在Micriμm 美國佛羅裏達Weston辦公室.前麵三位都在Micriμm 加拿大濛特利爾辦公室,何小慶在2014年6月曾經訪問過這個辦公室,與Christian就物聯網操作係統進行瞭廣泛和深入的交流,收獲很多.
本書的翻譯團隊由兩部分組成,其中一部分來自北京麥剋泰軟件技術公司專業工程師:張愛華,她在RTOS的移植和應用方麵有豐富的經驗,與何小慶一起翻譯瞭?嵌入式實時操作係統μC/OS III應用開發———基於STM32微控製器?;韓誌華和趙曉彤,他們對μC/OS和IAR 開發工具有實踐經驗.另外一部分是在校的優秀學生,何靈淵現是哥倫比亞大學計算機科學專業的研究生,他已經參與翻譯瞭2本計算機專業的圖書;江山是斯蒂文森理工大學電子工程專業的本科生.何小慶除在公司任職外,還在高校給研究生和本科生授課,在科技期刊和行業協會兼職.
本書的第1章和附錄B、C、D由張愛華翻譯;第2~4章,附錄H、I、J及參考文獻由何小慶翻譯;第5~7章和附錄E、F由韓誌華翻譯;第8、9章和附錄G由趙曉彤翻譯;第10、11章和附錄A 由何靈淵翻譯;第12~14章和附錄A(部分)由江山翻譯,全書由何小慶統稿和審校.
我們要感謝北京航空航天大學齣版社讓這本非常專業的嵌入式軟件書籍可以與讀者見麵.策劃編輯鬍曉柏主任長期緻力於嵌入式係統圖書齣版的精神感動和鼓勵瞭我們.感謝北京麥剋泰軟件技術公司各方麵的支持和幫助.
最後,希望讀者能從本書的閱讀中受益.我們的翻譯如有不足和紕漏之處,還請
讀者指正.
譯 者
2015年8月
於北京、上海和美國紐約
嵌入式協議棧μC/USB Device [μC/USB:The Universal Serial Bus Device Stack] 下載 mobi epub pdf txt 電子書 格式
嵌入式協議棧μC/USB Device [μC/USB:The Universal Serial Bus Device Stack] 下載 mobi pdf epub txt 電子書 格式 2024
嵌入式協議棧μC/USB Device [μC/USB:The Universal Serial Bus Device Stack] mobi epub pdf txt 電子書 格式下載 2024