1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
封包格式

USB 裝置控制器 大綱 USB概觀 裝置組態 USB協定 UDC操作 UDC暫存器定義 USB概觀 通用序列匯流排裝置控制器(UDC): 遵循USB標準及支援所有主機發出的標準裝置請求。 支援16個端點(endpoints) 。 12 Mbps。 半雙工。 USB概觀 (cont.) UDC資料傳送欄位(Field): 同步(Sync) 封包識別字(PID) 位址(Address) 端點(Endpoint) 訊框數目(Frame Number) 資料(Data) 循環冗餘核對(CRC) USB概觀 (cont.) 結合欄位(Field) → 封包(Packet)。 封包類型: 符記(Token) 訊框的開始(Start of Frame) 資料(Data) 信號交換(Handshake) USB概觀 (cont.) 組合封包(Packet) → 交易(Transaction)。 交易種類: 大量(Bulk) 控制(Control) 中斷(Interrupt) 等時(Isochronous) USB概觀 (cont.) UDC使用雙埠(dual-port)記憶體並支援FIFO操作。 Bulk與Isochronous端點FIFO結構為雙倍緩衝區,當端點在處理一個封包時可以同時組合另一個封包。 端點0只用來傳輸設定UDC組態的控制交易,負責: 連接 指定位址 端點組態 匯流排計數 切斷連接 USB概觀 (cont.) UDC介面專用外部腳位: UDC+ UDC- USB協定在這兩個腳位上使用不同信號做半雙工資料傳輸。 USB概觀 (cont.) 序列匯流排使用不同的信號來同時傳送多個狀態: 閒置(Idle) 恢復(Resume) 封包開始(Start of Packet) 封包結束(End of Packet) 切斷連接(Disconnect) 連接(Connect) 重置(Reset) 大綱 USB概觀 裝置組態 USB協定 UDC操作 UDC暫存器定義 大綱 USB概觀 裝置組態 USB協定 UDC操作 UDC暫存器定義 USB協定 信號層級 位元編碼 欄位格式 封包格式 交易格式 UDC設備需求 信號層級 (Signaling Level) USB使用不同的信號來作資料編碼與指示不同的匯流排狀況。 UDC+與UDC-編碼會表現出4種不同的狀態: 1:UDC+為high、UDC-為low 。 0:UDC+為low、UDC-為high 。 其餘的兩個狀態用來表示目前USB狀態 。 USB狀態 位元編碼 USB使用不歸零翻轉(NRZI)做位元編碼。 有狀態轉換:0 無狀態轉換:1 欄位格式 同步(Sync) 每個封包的第一個欄位。 8位元寬(0x80)。 封包識別字(PID)。 8位元寬。 前四個位元表示封包類型(Token、Data、Handshake、Special)、封包格式、與錯誤偵測的類型。 後四個位元為確認欄位,確定傳送PID沒有發生錯誤。 位址(Address) 7位元寬,允許127個獨立的裝置置於USB上。 欄位格式(cont.) 端點(Endpoint) 4位元寬 。 決定要定址到哪一個UDC端點。 訊框數目(Frame Number) 11位元寬。 主機每一次傳送訊框會增加其值。 控制等時傳輸。 資料(Data) 0到1023位元組寬。 欄位格式(cont.) 循環冗餘核對(CRC) 用來偵測符記與資料傳輸期間所發生的錯誤。 應用至封包內全部的欄位(PID欄位除外)。 符記封包使用一個5位元CRC 。 資料封包使用一個16位元CRC 。 封包格式 USB支援四種封包類型: Token Data Handshake Special 封包格式 (cont.) Token封包: Token封包位於Frame的起端,用來識別OUT、IN、SOF、SETUP處理。 SOF為特別的Token封包,主機每隔1ms就會發出一次,以避免UDC進入暫停模式。格式如下: 封包格式 (cont.) Data封包: 用來傳輸主機和UDC之間的資料。 封包格式 (cont.) Handshake封包: 用來描述資料交易狀態,包括:確認資料已經成功接收、流量控制以及延遲情況。 三種型態: ACK:資料封包已被接收,無位元填充、無CRC或PID檢查錯誤發生。 NAK:UDC無法從主機接收資料或沒有傳輸資料。 STALL:UDC無法傳送/接收資料,需要主機介入來清除延遲狀況。 交易格式 USB協定使用四個不同的交易格式: 大量(Bulk) 控制(Control) 中斷(Interrupt) 等時(Isochronous) USB所有交易均由主機開始,主機和UDC之

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档