出版時(shí)間:2012-7 出版社:北京航空航天大學(xué)出版社 作者:王川北,劉強(qiáng) 主編 頁數(shù):425 字?jǐn)?shù):597000
內(nèi)容概要
本書系統(tǒng)地闡述了USB協(xié)議、Stellari
USB處理器的體系結(jié)構(gòu)、工作原理和設(shè)計(jì)方法,并通過多個(gè)USB開發(fā)實(shí)例,詳細(xì)介紹了USB開發(fā)思路、流程及編程方法,并在此基礎(chǔ)上講解了嵌入式USB主機(jī)、USB
OTG開發(fā)。全書共分15章:第1章介紹USB系統(tǒng)基礎(chǔ)知識、基本術(shù)語、USB基本結(jié)構(gòu)、開發(fā)流程、USB枚舉、USB描述符格式、主機(jī)和設(shè)備開發(fā)過程等。第2章介紹Cortex-M3內(nèi)核的USB處理器,包括USB基本模塊、工作方式、USB寄存器操作、寄存器級編程等。第3章介紹使用設(shè)備驅(qū)動(dòng)庫函數(shù)進(jìn)行Cortex-m3編程,包括內(nèi)核操作、中斷控制、GPIO編程、USB基本編程等。第4章介紹TI的USB庫使用及編程。第5章至第10章介紹USB設(shè)備開發(fā)。第11章介紹USB主機(jī)開發(fā)。第12章介紹USB
OTG開發(fā)。第13章介紹USB設(shè)備開發(fā)總結(jié)及注意事項(xiàng)。第14章介紹USB主機(jī)開發(fā)總結(jié)及注意事項(xiàng)。第15章USB系統(tǒng)開發(fā)總結(jié),包括常見概念性問題、開發(fā)問題等,闡述其產(chǎn)生的基本原因,并提供了解決此類問題的方案
書籍目錄
第1章 USB基礎(chǔ)
1.1 USB介紹
1.2 USB常用術(shù)語
1.3 USB設(shè)備開發(fā)流程
1.4 USB設(shè)備枚舉
1.4.1 USB設(shè)備請求
1.4.2 描述符
1.4.3 設(shè)備枚舉過程
1.5 USB主機(jī)開發(fā)流程
1.6 USB OTG介紹
1.7 小結(jié)
第2章 Stellaris的USB處理器
2.1 Stellaris處理器簡介
2.2 Stellaris USB模塊
2.2.1 功能描述
2.2.2 USB控制器作為USB設(shè)備
2.2.3 USB控制器作為主機(jī)
2.2.4 OTG模式
2.3 寄存器描述
2.3.1 控制狀態(tài)寄存器
2.3.2 中斷控制
2.3.3 端點(diǎn)寄存器
2.4 USB處理器配置使用
2.5小結(jié)
第3章 底層庫函數(shù)
3.1 底層庫函數(shù)
3.2 通用庫函數(shù)
3.2.1 內(nèi)核操作
3.2.2 系統(tǒng)中斷控制
3.2.3 GPIO控制
3.3 USB基本操作
3.4 設(shè)備庫函數(shù)
3.5 主機(jī)庫函數(shù)
3.6 小結(jié)
第4章 USB庫介紹
4.1 USB庫函數(shù)簡介
4.2 USBlib介紹
4.3 使用底層驅(qū)動(dòng)開發(fā)
4.4 使用USB庫開發(fā)
4.5 小結(jié)
第5章 HID設(shè)備
5.1 HID介紹
5.2 HID類描述符
5.3 USB鍵盤
5.3.1 數(shù)據(jù)類型
5.3.2 API函數(shù)
5.3.3 USB鍵盤開發(fā)
5.4 USB鼠標(biāo)
5.4.1 數(shù)據(jù)類型
5.4.2 API函數(shù)
5.4.3 USB鼠標(biāo)開發(fā)
5.5 小結(jié)
第6章 Audio設(shè)備
6.1 Audio設(shè)備介紹
6.2 Audio描述符
6.3 Audio數(shù)據(jù)類型
6.4 API函數(shù)
6.5 Audio設(shè)備開發(fā)
6.6 小結(jié)
第7章 Bulk設(shè)備
7.1 Bulk設(shè)備介紹
7.2 Bulk數(shù)據(jù)類型
7.3 API函數(shù)
7.4 Bulk設(shè)備開發(fā)
7.5 小結(jié)
第8章 CDC設(shè)備
8.1 CDC設(shè)備介紹
8.2 CDC數(shù)據(jù)類型
8.3 API函數(shù)
8.4 CDC設(shè)備開發(fā)
8.5 小結(jié)
第9章 Mass Storage設(shè)備
9.1 Mass Storage設(shè)備介紹
9.2 MSC數(shù)據(jù)類型
9.3 API函數(shù)
9.4 MSC設(shè)備開發(fā)
9.5 小結(jié)
第10章 Composite設(shè)備
10.1 Composite設(shè)備介紹
10.2 Composite數(shù)據(jù)類型
10.3 API函數(shù)
10.4 Composite設(shè)備開發(fā)
10.5 小結(jié)
第11章 USB主機(jī)開發(fā)
11.1 USB主機(jī)開發(fā)介紹
11.2 USB主機(jī)開發(fā)過程
11.2.1 主機(jī)配置
11.2.2 注冊驅(qū)動(dòng)
11.2.3 運(yùn)行主機(jī)
11.3 主機(jī)開發(fā)實(shí)例
11.3.1 鼠標(biāo)
11.3.2 鍵盤
11.3.3 U盤
11.4 小結(jié)
第12章 USB OTG開發(fā)
12.1 OTG介紹
12.1.1 主機(jī)通信協(xié)議與對話請求協(xié)議
12.1.2 OTG功能的構(gòu)建
12.1.3 LM3S的0TG功能
12.1.4 OTG函數(shù)
12.2 OTG B開發(fā)
12.3 OTG A開發(fā)
12.4 OTG開發(fā)實(shí)例
12.5 OTG開發(fā)小結(jié)
第13章 USB設(shè)備工程實(shí)例
13.1 USB設(shè)備開發(fā)流程
13.2 USB設(shè)備之USB BootLoadel
13.3 USB設(shè)備開發(fā)總結(jié)
第14章 USB主機(jī)開發(fā)實(shí)例
14.1 USB主機(jī)開發(fā)流程
14.2 USB主機(jī)之音頻輸入輸出
14.3 USB主機(jī)開發(fā)總結(jié)
第15章 USB系統(tǒng)開發(fā)總結(jié)
15.1 常見問題
15.1.1 概念問題
15.1.2 開發(fā)問題
15.2 本章小結(jié)
附錄A LM3S5749應(yīng)用電路圖
附錄B LM—Link下載器原理圖
附錄C USB常見術(shù)語及縮略詞
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: (4)單包緩沖:如果發(fā)送端點(diǎn)FIFO的大小小于該端點(diǎn)最大包長的兩倍時(shí),只能使用單包緩沖,在FIFO中緩沖一個(gè)數(shù)據(jù)包。當(dāng)數(shù)據(jù)包已裝載到TXFIFO中時(shí),USB端點(diǎn)n發(fā)送控制和狀態(tài)低字節(jié)寄存器USBTXCSRLn中的TXRDY位必須被置位,如果USB端點(diǎn)n發(fā)送控制和狀態(tài)高字節(jié)寄存器USBTXCSRHn中的AUTOSET位被置1,TXRDY位將在最大包長的包裝載到FIFO中時(shí)自動(dòng)置位;如果數(shù)據(jù)包小于最大包長,TXRDY位必須手動(dòng)置位。當(dāng)TXRDY位被手動(dòng)或自動(dòng)置1時(shí),表明要發(fā)送的數(shù)據(jù)包已準(zhǔn)備好。如果數(shù)據(jù)包成功發(fā)送,TXRDY位和FIFONE位將被清0,同時(shí)產(chǎn)生相應(yīng)的中斷信號,此時(shí)下一包數(shù)據(jù)可裝載到FIFO中。 (5)雙包緩存:如果發(fā)送端點(diǎn)FIFO的大小至少兩倍于該端點(diǎn)最大包長時(shí),允許使用雙包緩存,F(xiàn)IFO中可以緩沖兩個(gè)數(shù)據(jù)包。當(dāng)數(shù)據(jù)包已裝載到TXFIFO中時(shí),USBTXCSRLn中的TXRDY位必須被置位,如果寄存器USBTXCSRHn中的AU-TOSET位被置1,TXRDY位將在最大包長的包裝載到FIFO中時(shí)自動(dòng)置位;如果數(shù)據(jù)包小于最大包長,TXRDY位必須手動(dòng)置位。當(dāng)TXRDY位被手動(dòng)或自動(dòng)置1時(shí),表明要發(fā)送的數(shù)據(jù)包已準(zhǔn)備好。在裝載完第一個(gè)包后,TXRDY位立即清除,同時(shí)產(chǎn)生中斷信號;此時(shí)第二個(gè)數(shù)據(jù)包可裝載到TXFIFO中,TXRDY位重新置位(手動(dòng)或自動(dòng)),此時(shí),兩個(gè)要發(fā)送的包都已準(zhǔn)備好,如果任一數(shù)據(jù)包成功發(fā)送,TXRDY位和FIFONE位將被清0,同時(shí)產(chǎn)生相應(yīng)的發(fā)送端點(diǎn)中斷信號,此時(shí)下一包數(shù)據(jù)可裝載到TXFIFO中。寄存器USBTXCSRLn中的FIFONE位的狀態(tài)表明此時(shí)可以裝載幾個(gè)包,如果FIFONE位置1,表明FIFO中還有一個(gè)包未發(fā)送,只能裝載一個(gè)數(shù)據(jù)包;如果FIFONE位為0,表明FIFO中沒有未發(fā)送的包,可以裝載兩個(gè)數(shù)據(jù)包。 如果USB發(fā)送雙包緩存禁止寄存器USBTXDPKTBUFDIS中的EPn位置位,相應(yīng)的端點(diǎn)禁止雙包緩存。此位默認(rèn)為置1,需要使能雙包緩存時(shí)必須清0該位。
編輯推薦
《深入淺出USB系統(tǒng)開發(fā):基于ARM Cortex-M3》可作為高等院校電子類、儀器儀表類、控制類等專業(yè)的USB系統(tǒng)開發(fā)教材或參考用書,也可供廣大從事USB系統(tǒng)開發(fā)的工程技術(shù)人員參考。
圖書封面
評論、評分、閱讀與下載