最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

嵌入式系统设计 -Ch14_USB装置控制器

IT圈 admin 22浏览 0评论

2024年4月27日发(作者:校运凯)

嵌入式系統硬體架構設計

第十四章 USB裝置控制器

此章節說明通用序列匯流排(USB)協定與PXA250與PXA210應用處理器裝置

控制器的特殊實作選擇。這些選擇包括端點數目、類型、功能;對Megacell的

中斷;以及一個傳送/接收FIFO介面。關於USB標準的操作知識對於要有效

率地使用此章節是很重要的。通用序列匯流排裝置控制器(UDC)為遵從USB

及支援所有主機(host)發出的標準裝置請求。關於USB協定完整的說明,請

參考

Universal Serial Bus Specification, revision 1.1

。在可以取得

這份文件。

14.1 USB概觀

UDC支援16個端點,而且可以12 Mbps的半雙工速率來操作(只可當成slave,

不可當成host或hub控制器)。UDC支援4種裝置組態。組態1、2、3各個都支

援2個介面。這允許主機容許實體匯流排拓撲之動態改變。組態為USB裝置上

可用資源的特殊結合。介面為與端點有關的組合,呈現裝置的特色與功能給主

機。

UDC傳送序列資料,包含溝通協定的階層。欄位為最基本的協定。UDC欄位包

含:同步、封包識別字、位址、端點、訊框數目、資料,以及循環冗餘核對(CRC)。

欄位被結合來產生封包。一個封包的功能決定結合與組成封包的欄位數目。封

包類型包含:符記(token)、訊框的開始、資料、信號交換。封包被組合成群組

來產生交易(transaction)。交易分成四種的種類:大量(bulk)、控制、中斷、

等時性的(isochronous)。端點0只用來與設定UDC組態的控制交易作溝通。端

點0的職責包括:連接、指定位址、端點組態、匯流排計數、切斷連接。

UDC使用雙埠(dual-port)記憶體支援FIFO操作。每一個Bulk與Isochronous

端點FIFO使用雙倍緩衝區來啟動端點處理封包(當此封包與其他封包組合

時)。DMA與Megacell可為填滿或是將FIFO清空。當接收一個封包時,會產生

一個中斷或DMA服務請求。DMA引擎以32位元組增加量來服務UDC FIFO。

當FIFO遭遇一個短的封包或長度為0的封包時,也會產生中斷。端點0具有一

個16個通道長、8位元寬的FIFO,只可被處理器讀取或寫入。

對於端點1 ~ 15,UDC使用它的雙埠記憶體在確認交易錯誤時保留Bulk OUT交

易的資料。若Bulk OUT交易資料為無效的,則UDC會傳送一個NAK交換信號

來請求主機重送資料。軟體不會被通知OUT資料是無效的,直到Bulk OUT資

14-1

嵌入式系統硬體架構設計

料被接收及驗證。若主機傳送一個NAK信號來回覆Bulk IN資料交易,UDC會

重傳資料。因為FIFO會維持一份資料的拷貝,所以軟體不需要重新載入資料。

UDC介面專用的外部腳位為UDC+與UDC-。USB協定在兩個腳位使用不同的

信號來作半雙工資料傳輸。當UDC+腳位沒有驅動時,必須連接一個1.5 kΩ的

拉起(pull-up)電阻至USB電纜的D+訊號來將UDC+腳位拉高。當UDC+沒有

被驅動時將其拉高可允許UDC為高速模式、12-Mbps裝置,以及為資料傳輸提

供正確極性。序列匯流排使用不同的信號來同時傳送多個狀態。組合這些狀態

來產生傳輸資料與多種匯流排狀態,包括:閒置(Idle)、恢復(Resume)、封包

開始(Start of Packet)、封包結束(End of Packet)、切斷連接(Disconnect)、連

接(Connect)、重置(Reset)。

14.2 裝置組態

表14-9為裝置組態。

表14-9 端點組態

端點編號

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

類型

Control

Bulk

Bulk

Isochronous

Isochronous

Interrupt

Bulk

Bulk

Isochronous

Isochronous

Interrupt

Bulk

Bulk

Isochronous

Isochronous

Interrupt

IN

OUT

IN

OUT

IN

IN

OUT

IN

OUT

IN

IN

OUT

IN

OUT

IN

功能

IN/OUT

FIFO大小(bytes)×FIFO數目

16

64×2

64×2

256×2

256×2

8

64×2

64×2

256×2

256×2

8

64×2

64×2

256×2

256×2

8

資料流程與USB主機相關。IN封包資料流程為從UDC至主機。OUT封包資料

流程為從主機至UDC。

14-2

2024年4月27日发(作者:校运凯)

嵌入式系統硬體架構設計

第十四章 USB裝置控制器

此章節說明通用序列匯流排(USB)協定與PXA250與PXA210應用處理器裝置

控制器的特殊實作選擇。這些選擇包括端點數目、類型、功能;對Megacell的

中斷;以及一個傳送/接收FIFO介面。關於USB標準的操作知識對於要有效

率地使用此章節是很重要的。通用序列匯流排裝置控制器(UDC)為遵從USB

及支援所有主機(host)發出的標準裝置請求。關於USB協定完整的說明,請

參考

Universal Serial Bus Specification, revision 1.1

。在可以取得

這份文件。

14.1 USB概觀

UDC支援16個端點,而且可以12 Mbps的半雙工速率來操作(只可當成slave,

不可當成host或hub控制器)。UDC支援4種裝置組態。組態1、2、3各個都支

援2個介面。這允許主機容許實體匯流排拓撲之動態改變。組態為USB裝置上

可用資源的特殊結合。介面為與端點有關的組合,呈現裝置的特色與功能給主

機。

UDC傳送序列資料,包含溝通協定的階層。欄位為最基本的協定。UDC欄位包

含:同步、封包識別字、位址、端點、訊框數目、資料,以及循環冗餘核對(CRC)。

欄位被結合來產生封包。一個封包的功能決定結合與組成封包的欄位數目。封

包類型包含:符記(token)、訊框的開始、資料、信號交換。封包被組合成群組

來產生交易(transaction)。交易分成四種的種類:大量(bulk)、控制、中斷、

等時性的(isochronous)。端點0只用來與設定UDC組態的控制交易作溝通。端

點0的職責包括:連接、指定位址、端點組態、匯流排計數、切斷連接。

UDC使用雙埠(dual-port)記憶體支援FIFO操作。每一個Bulk與Isochronous

端點FIFO使用雙倍緩衝區來啟動端點處理封包(當此封包與其他封包組合

時)。DMA與Megacell可為填滿或是將FIFO清空。當接收一個封包時,會產生

一個中斷或DMA服務請求。DMA引擎以32位元組增加量來服務UDC FIFO。

當FIFO遭遇一個短的封包或長度為0的封包時,也會產生中斷。端點0具有一

個16個通道長、8位元寬的FIFO,只可被處理器讀取或寫入。

對於端點1 ~ 15,UDC使用它的雙埠記憶體在確認交易錯誤時保留Bulk OUT交

易的資料。若Bulk OUT交易資料為無效的,則UDC會傳送一個NAK交換信號

來請求主機重送資料。軟體不會被通知OUT資料是無效的,直到Bulk OUT資

14-1

嵌入式系統硬體架構設計

料被接收及驗證。若主機傳送一個NAK信號來回覆Bulk IN資料交易,UDC會

重傳資料。因為FIFO會維持一份資料的拷貝,所以軟體不需要重新載入資料。

UDC介面專用的外部腳位為UDC+與UDC-。USB協定在兩個腳位使用不同的

信號來作半雙工資料傳輸。當UDC+腳位沒有驅動時,必須連接一個1.5 kΩ的

拉起(pull-up)電阻至USB電纜的D+訊號來將UDC+腳位拉高。當UDC+沒有

被驅動時將其拉高可允許UDC為高速模式、12-Mbps裝置,以及為資料傳輸提

供正確極性。序列匯流排使用不同的信號來同時傳送多個狀態。組合這些狀態

來產生傳輸資料與多種匯流排狀態,包括:閒置(Idle)、恢復(Resume)、封包

開始(Start of Packet)、封包結束(End of Packet)、切斷連接(Disconnect)、連

接(Connect)、重置(Reset)。

14.2 裝置組態

表14-9為裝置組態。

表14-9 端點組態

端點編號

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

類型

Control

Bulk

Bulk

Isochronous

Isochronous

Interrupt

Bulk

Bulk

Isochronous

Isochronous

Interrupt

Bulk

Bulk

Isochronous

Isochronous

Interrupt

IN

OUT

IN

OUT

IN

IN

OUT

IN

OUT

IN

IN

OUT

IN

OUT

IN

功能

IN/OUT

FIFO大小(bytes)×FIFO數目

16

64×2

64×2

256×2

256×2

8

64×2

64×2

256×2

256×2

8

64×2

64×2

256×2

256×2

8

資料流程與USB主機相關。IN封包資料流程為從UDC至主機。OUT封包資料

流程為從主機至UDC。

14-2

发布评论

评论列表 (0)

  1. 暂无评论