You are on page 1of 45

使用 Cypress EZ-USB FX2&FX2LP

USB 2.0 高速裝置設計

蔡宗廷
NYUST ME
ROBOTIC EMBEDDED
SYSTEMS LAB
USB 2.0 高速裝置設計
 USB基本架構
 Cypress EZ-USB FX2&FX2LP 晶片特性

USB 基本架構
 什麼是USB?
 USB的匯流排架構
 USB資料流的模式與管線的概念
 USB傳輸類型
 USB的連接器與纜線
 USB匯流排狀態
 USB的編碼方式
 USB界面的通訊協定
 USB 描述元及標準裝置要求
什麼是 USB?
 在 1996 年 USB-IF(USB Implementers
Forum) 公佈了 USB1.0 規範,這是第一
個為所有的 USB 介面產品提出設計要
求的標準。
 在 1998 年由
Compaq 、 Intel 、 Microsoft 及 NEC
等公司發佈 USB1.1(12Mbps) 規格。
 在 1999 年時發佈了 USB2.0(480Mbps) ,
隨著 USB 介面的普及與推廣 USB-IF 成
員不斷持續增加如今已是非常龐大的組
織。
什麼是 USB?
 USB 介面是一種標準連接介面,允許使用
者把外面設備連接電腦時不必重新配置
規劃系統 ( 即插即用 ) ,也不必打開機
殼 ( 熱插拔 ) 。
 USB 規範更統一了全球通用的標準連接器
(A 型與 B 型 ) 。
什麼是 USB?
 USB 介面還允許將多達 127 個周邊配備
同時串聯至 PC 主機。
 USB 特性及優點。
1. USB 介面統一各種周邊設備包含通訊、印
表機、顯示器輸出、音效輸出入、媒體
儲存。
2.即插即用 (Plug-and-Play) 自動偵測與配
置系統資源,無須系統資源即不須設定
IRQ 中斷、 I/O 位置以及 DMA 等資
源。

什麼是 USB?
3. 具有熱插拔 (Hot Attach & Detach) 等特性在
作業系統已開機的狀態中可隨時可以接上
或是拔離 USB 裝置,而不需再另外關閉
電源。
4. USB1.1 規格可達到 12Mbps 可滿足大部分裝
置需求而 USB2.0 更可提供 480Mbps 提
供更快的傳輸率。
5. USB 介面最多可連接 127 個週邊設備, USB
介面定址使用 7-Bit ,位置 0 為第一次插
上裝置定址用所以實際可用位置為 1~128

6. USB 介面接頭全球統一並可以使用 USB 集
線器 (HUB) 擴充連接埠數目。
USB 的匯流排架構
 USB 匯流排採用階梯式星狀 (tiered star)
的拓樸 (topology) 結構。

USB 的匯流排架構
 當 PC 主機接上電源時所有 USB 裝置與集
線器都預設位置為” 0” 此時 USB 裝置皆
處於失效。
 PC 向 USB 查詢發現的第一個裝置就
給” 1” 再向下找尋下一個裝置如果是集
線器就把” 2” 給集線器在找尋集線器下
的第一個裝置直到所有裝置都賦予新的
位置或是達到 127 個位置極限為止。
USB 的匯流排架構
 PC 主機可經由 D+ 或 D- 的電壓變化偵測
裝置被安裝上主機或是被移除掉,移除
掉後主機將把其位置回收。
 當 USB2.0 與 USB1.1 裝置一起使用時唯
有在 USB2.0 集線器及 USB2.0 裝置連
接下才能使用 USB2.0 的高速 (High
speed) 規格。
USB 資料流的模式與管線的概

 USB 規格標準定義了兩種裝置
1.單機裝置,如 : 滑鼠、鍵盤等。
2.複合裝置,如 Webcam 影像和聲音共用一
個 USB 通訊埠。
 每個週邊設備都具有”端點“ (Endpoint) 位
置,它是由執照封包內的 4-Bit 欄位
(ENDP) 所構成的。
 PC 主機與端點通訊是經由”虛擬管
線“ (virtual pipe) 所構成的。
USB 資料流的模式與管線的概

 一旦虛擬管線建立好之後,每個端點會回
傳”描述元” (descriptor) ,描述元資訊
包含了 : 群組特性、傳輸種類、最大封
包大小、頻寬等與周邊裝置的重要訊
息。
 USB2.0 規格使用四種資料傳輸類型
1.控制傳輸 (Control Transfer)
2.中斷傳輸 (Interrupt Transfer)
3.巨量傳輸 (Bulk Transfer)
4.等時傳輸 (Isochronous Transfer)
USB 資料流的模式與管線的概

 PC 主機與各 USB 雖然是階梯式星狀拓
墣,主機跟各裝置之間卻為一對一等式
連接。
 USB 通訊可以視為一種虛擬管線概念。
USB 傳輸類型
 USB2.0 規格使用四種資料傳輸類型
1.控制傳輸 (Control Transfer)
2.中斷傳輸 (Interrupt Transfer)
3.巨量傳輸 (Bulk Transfer)
4.等時傳輸 (Isochronous Transfer)
 慢速裝置僅支援控制傳輸以及中斷傳輸而
已。
USB 傳輸類型 ( 控制傳輸 )
 控制傳輸 (ControlTransfer)
 屬於雙向傳輸,用來支援 PC 主機與裝
置之間的配置,命令,或狀態的通訊。
 控制傳輸包含了 3 種控制傳輸型態
 1. 控制讀取 2. 控制寫入 3. 無資料控
制。
 控制傳輸型態又可分為 2~3 個階段
 1. 設定階層 2. 資料階層 ( 無資料控制
無此階段 ) 3. 狀態階層。
USB 傳輸類型 ( 控制傳輸 )
 資料階層
 資料傳輸 (IN/OUT 執照封包 ) 是以設定階
層中所設定的方向作為資料傳輸。
 狀態階層
 裝置將回傳一個交握 (ACK) 封包給主機來
結束整段控制傳輸。
 USB 裝置須將端點“ 0” 作為控制傳輸的端
點,當裝置第一次接到 PC 主機控制傳輸
就可以設定裝置位置或是讀取裝置描述
元,傳輸過程將以 CRC 檢查錯誤。
USB 傳輸類型 ( 中斷傳輸 )
 中斷傳輸 (Interrupt
Transfer)
 中斷傳輸由於 USB 不支援硬體中斷,
必須靠 PC 主機以週期性輪詢的方式以便
知道是否有裝置需要傳送資料給 PC 主
機。
 全速裝置端點可設定 1ms 至 255ms 之間
的輪詢間隔,低速裝置僅能設定 10ms
至 255ms 的輪詢間隔,因此傳送失敗
時可在等下一輪詢期間重新傳送一次。
 中斷傳輸常用在 HID 裝置如鍵盤、滑鼠。
USB 傳輸類型 ( 巨量傳輸 )
 巨量傳輸 (Bulk
Transfer)
 巨量傳輸是用來傳輸大量的資料,且資
料須準確的傳輸,但無傳輸速度上的限
制。
 巨量傳輸是針對未使用到的 USB 頻寬為
基準,不斷調整本身的傳輸速率。
 如果某些錯誤使得傳送失敗就重新再傳一
次,常用在印表機、掃描器。
USB 傳輸類型 ( 等時傳輸 )
 等時傳輸 (Isochronous
Transfer)
 等時傳輸需維持一定的傳輸速度,且可
以默許錯誤的發生。
 等時傳輸採用協定好的固定頻寬,以確保
發送端與接收端的速度的速率吻合。
 例如 USB 麥克風、喇叭等裝置,在 1ms
的 USB 訊框中等時傳輸最大封包量是
1023-Byte 換算傳送速度為
8.184Mbps 。
USB 傳輸類型
USB1.1 規格各種傳輸類型的相關特性與功能表

傳送模式 中斷傳輸 巨量傳輸 等時傳輸

傳輸速率 Mbps 12( 低速 1.5) 12 12

資料最大長度 Byte 64( 低速 8) 64 1023

資料週期性 有 沒有 有

發生錯誤再次傳送 可 可 不可

應用裝置 鍵盤、滑鼠 印表機、掃描器 麥克風、喇叭


USB 傳輸類型
各種傳輸速度資料傳輸速率比較表
低速 全速 高速
資料速率 1.5Mbps 12Mbps 480Mbps
最大的端點數 3 31 31
最大的巨量封包大 不支援 64 Bytes 512 Bytes

最大的巨量資料傳 不支援 1.1 Mbytes/sec 56 Mbytes/sec
輸率
最大的等時封包大 不支援 1023 Bytes 1024 Bytes

最大的等時資料傳 不支援 1.0 Mbytes/sec 24 Mbytes/sec
輸率
中斷封包大小 8 Bytes 64 Bytes 1024 Bytes
最大的中斷資料傳 800 Bytes/sec 32 Kbytes/sec 24 Mbytes/sec
輸率
USB 傳輸類型
 1msec 訊框
各種傳輸類型或是裝置共享
頻寬示意圖。
USB 的連接器與纜線
 由於 USB 屬於星樸結構必須依序由上到
下連接,為了避免錯誤 USB 規格中定
義了兩種接頭 A 型與 B 型。
 每個連接頭內擁有四個接腳,其中兩個用
來傳遞差動資料另外兩個則是用來提供
裝置電源。
 新的 USB2.0 增加了 mini-B 接頭應用在小
型的電子產品上。
USB 的連接器與纜線
 USB 纜線 / 連接器的訊號與顏色

標準 A/B 腳 Mini-B 腳位纜線顏色 連接器 纜線型式



1 1 紅 Vcc(+5V) AWG20~28
2 2 白 D- AWG28
3 3 綠 D+ AWG28
4 5 黑 接地 AWG20~28
- 4 無 ID 沒連接
USB 的連接器與纜線
USB 的連接器與纜線
 HIGH-SPEED 連接方式
USB 的連接器與纜線
 FULL-SPEED 連接方式
USB 的連接器與纜線
 LOW-SPEED 連接方式
USB 匯流排狀態
 USB D+ D- 電位變化定義
信號狀態 信號定義
差動“ 1” (D+)-(D-)>200mV
差動” 0” (D+)-(D-)<200mV
J 全速裝置 : 差動” 1”
K 低速裝置 : 差動” 0”
全速裝置
IDEL 低速裝置 差動” 1”
全速裝置 : (D+)>VIHZ(min) ,
SOP (D-)<VIHZ(min)
IDEL(J)==>K
低速裝置 : (D-)>VIHZ(min) ,
(D+)<VIHZ(min)
USB 匯流排狀態
 USB 高速傳輸時 J 與 K 狀態與全速定義一
樣。
 高速傳輸會多兩個狀態 Chirp J 與 Chirp K ,
在 Chirp J 中 D+ 為正電壓, Chirp K 中 D-
則為負電壓。
 當匯流排重置時會產生 Chirp J 與 Chirp K 狀
態,當具有高速能力的裝置偵測到時即會
發送 1ms 的 Chirp K 狀態給集線器此時高
速集線器也會偵測到 Chirp K 狀態,重置
結束時集線器與周邊裝置會至於高速致能
中。
USB 的編碼方式
 USB 採用 NRZI(Non
Return to Zero
Invert) 編碼方式傳送。
 當資料位元遇到” 0” 時做轉換,且當連續
遇到六個” 1” 時會在最後一個位元填塞
一個” 0” 。
USB 界面的通訊協定
 USB 介面是以執照封包為主 (token-
based) 的匯流排協定。

USB 界面的通訊協定
 封包第一個位元組總是封包辨識位元
(PID) 用來定義其餘的訊息位元組所要
表達的意義。
 封包的最後一部分則是封包結束
EOP(End-of-Packet) 辨識元。
 USB 介面的串列傳輸是由最低位元 LSB
依序送出直到最高位元 MSB 為止。

LSB MSB
PID0 PID1 PID2 PID3 PID0 PID1 PID2 PID3
USB 界面的通訊協定
(SYNC)
 同步列 (Synchronization
sequence , SYNC) 欄。
 SYNC 欄是由 8-bit 所組成,作為每個資
料封包的前導,是用來產生同步的作
用,其數值固定為 :00000001 。
 若為高速傳輸的話, PC 主機將會傳送
32-bit 的 SYNC 序列 (KJKJKJ‧‧‧
KJKK) 。雖然集線器會消耗若干訊號但
末端裝置還是可以收到 12-bit 的 SYNC
序列。
USB 界面的通訊協定 (PID)
 封包辨識位元 (Packet Identifier , PID)
欄。
 PID 欄是緊接著 SYNC 欄位後傳送用來表
示封包的類型。
 PID 欄位是由一個 4-bit 辨識元欄以及一個
互補的檢查欄所組成。
 封包類型可分為執照、資料、交握、特殊
等四種封包類型。

USB 界面的通訊協定
(ADDR)
 位址 (Address , ADDR) 欄。
 ADDR 資料欄是由 7-bit 位元所組成,可
用來定址 127 個周邊裝置。
 裝置連接上時會先給位址” 0” 爾後再配予
新的位址。
USB 界面的通訊協定
(ENDP)
 端點 (Endpoint , ENDP) 欄。
 ENDP 資料欄是由 4-bit 所組成,端點透
過這 4-bit 可定義 16 個端點。
 低速裝置可支援端點 0 以及端點 1 作為中
斷傳輸模式,全速裝置可支援 16 個輸
入端點 16 個輸出端點。
USB 界面的通訊協定 (CRC)
 循環多餘檢核 (Cycle Redundancy
Checks , CRC) 欄。
 最重要的資料封包採用 CRC16 的欄位,
而其餘的封包型態則採用 CRC5 欄位。
 CRC 是用來做資料傳輸時的錯誤檢測技
術,由於資料在做串列傳輸時有時候會
發生若干錯誤,因此 CRC 可根據資料
算出一些檢核值。
USB 界面的通訊協定
(DATA)
 資料 (Data) 欄。
 資料欄根據不同傳輸型態擁有不同的位元
組大小,從 0 到 1024 Bytes( 等時傳
輸 ) ,而在 USB 1.X 規格則可設定 0 到
1023 Bytes ( 等時傳輸 ) 。
USB 界面的通訊協定
 訊框號碼 (Frame Number) 欄。
 僅存於 SOF 封包內,訊框號碼資料欄是
由 11-bit 所組成,這對於等時傳輸來說
是非常重要的訊息資料。
USB 界面的通訊協定 (IDLE)
 閒置 (Idle) 欄。
 存在每一個封包的結尾處,且當 D+ 與 D-
電位皆為低電位時。
USB 界面的通訊協定
(TOKEN)
 執照 (Token) 封包。
 執照封包是由下列五欄所組合成,在每一
個資料交易中須以執照封包為起始。

8 位元 8 位元 7 位元 4 位元 5 位元
 SYNC PID ADDR ENDP CRC5
 例如 PC 要透過預設位置取得裝置描述元
必須先執行下列 SETUP 執照封包做為
每一次控制傳輸的開始。
SYNC SETUP ADDR ENDP CRC5
0000000 0xB4 0x00 0x0 0x08
1
USB 界面的通訊協定
(DATA)
 資料 (Data) 封包。
 資料封包由下列四個欄位所組成。

8 位元 8 位元 0~1023 位 16 位元
 SYNC PID 元
DATA CRC16
 PID 欄中包含四種型
態 :DATA0 、 DATA1 、 DATA2 、 MDA
TA ,根據 USB 規格最初資料都已
DATA0 作為開始,其後才是 DATA1 依
此方式交替切換這種動作稱為資料緊密
連結 (Data Toggle)
USB 界面的通訊協定
(DATA)
 當主機發出取得裝置元描述元的命令如下
顯示了含有命令的 DATA 封包,其中由
於是控制傳輸所以 DATA 資料欄只有 8-
bit 。
SYNC DATA DATA CRC16

00000001 00xC3 80 06 00 01 00 00 00 0xC369
12
USB 界面的通訊協定 ( 交
握)
 交握 (Handshake) 封包。
 8 位元 8 位

 SYNC PID
 交握封包包含
ACK 、 NAK 、 STALL 、 NYET 等四種
PID 型態。