女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

USB的四大傳輸方式介紹

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-02-09 14:37 ? 次閱讀

來源:公眾號【魚鷹談單片機
作者:魚鷹Osprey
ID :emOsprey

我們知道,傳輸事務解決了主機、設備之間交互一次數據的問題,但是有些端點是需要進行多次雙向傳輸或者多次單向傳輸的,同時因為設備的功能不同,所需要的帶寬和傳輸特性也不同,那么就需要一個更上層的機制解決以上問題,四大傳輸應運而生。

控制傳輸(Control Transfers)、中斷傳輸(Interrupt Transfers)、批量傳輸(Bulk Transfers)、同步傳輸(Isochronous Transfers)稱之為四大傳輸。
接下來我們看看這些傳輸各自的特點,同時了解一下這些傳輸方式在生活中的應用。

控制傳輸

一種可靠的雙向傳輸,所有USB設備必須支持的一種傳輸方式,該傳輸一般發生在端點0 中,用于USB的枚舉、配置(也可能進行其他數據傳輸)等階段。而我們接下來需要詳細介紹的傳輸方式就是它。

當設備插入主機后,主機通過端點 0 (還記得前面說它是雙向端點嗎)進行控制傳輸,通過一系列的數據交互,主機可以了解設備有多少個接口,有多少可用的端點等各種設備信息。

你的設備能否被主機(電腦)正確識別,完全取決于控制傳輸能否正常進行,這是 USB 學習中最先遇到的攔路虎,也是很多人望而卻步的一個地方,但是希望大家通過魚鷹的介紹能夠真正掌握它。

在帶寬(所謂帶寬,可以認為主機對USB總線進行分時數據傳輸,比如1秒中使用100毫秒用于控制傳輸)使用上,高速端點的控制傳輸不能占用 20 %的微幀(125 us 一個微幀),全速和低速不能超過 10 %(1 ms 一幀

在控制傳輸中,為了實現完整的一次控制傳輸,一般由三個階段組成:

建立階段、數據階段(該階段可能沒有,由建立階段的數據決定)、狀態階段,每一個階段都由傳輸事務組成,即存在三個數據包的傳輸。

我們可以具體看看上面最簡單的無數據階段控制傳輸(其他傳輸類似):

100052997-107830-2.png

這里需要特別注意的是,建立階段一定是DATA0 數據包,之后如果有數據階段,將進行翻轉,變成 DATA1,并且在每次正確數據傳輸后都會進行一次翻轉,這個機制用于保證數據被正確接收,而不是發送方發送的重復數據包(如果對方沒有正確接收數據,DATAx不會翻轉

在狀態階段,一律使用 DATA 1進行回復,狀態階段的數據包中的數據為空,也就是說不攜帶任何數據。

同時,根據建立階段中的數據要求不同,比如要求發送數據或者接收數據,將使用相反的 IN 或 OUT 令牌完成狀態階段,比如建立階段主機要求發送 15 字節到設備中,那么數據階段將先使用 OUT 令牌發送數據,之后在狀態階段主機將使用相反的 IN 令牌獲得空數據包。

因為傳輸時,可能需要多次傳輸事務才能完成數據階段,那么如何判斷對方數據傳輸已經完成,從而讓主機不再發送IN或OUT令牌包傳輸數據呢?

有兩種可能:

如果傳輸的數據大小剛好是端點支持數據大小的整數倍,比如一個端點最大數據包長度為64字節,如果傳輸128字節,就需要在最后發送一個空數據包。

而如果要傳輸127字節,那么因為最后一個包不是滿負載(只有63字節),所以也將認為數據傳輸完成。

100052997-107831-3.png

也就是說,最后一個數據包一定不是滿載的,前面的數據包一定是滿載的。這代表了數據階段的結束。

當完成了以上幾個階段,一次控制傳輸才算完成。

正因為控制傳輸的情況比較復雜,所以學習起來也比較麻煩。

中斷傳輸

中斷傳輸時一種可靠的單向傳輸方式,采用定時輪詢的方式收發數據,每次主機對中斷端點查詢時,如果設備有數據傳輸,則返回數據,否則NAK,表示未準備好。

同理,如果是主機發送數據,如果設備沒有準備好接收,也將使用 NAK 回復。

如果需要雙向傳輸,必須使用 IN 和 OUT 兩個端點。

中斷傳輸的延遲有保證,也就是說,可以在有限的延遲中完成傳輸,并且支持錯誤重傳(在下一個周期進行重傳),所以它是可靠的。因為可能產生錯誤重傳,所以中斷傳輸也會采用 PID 翻轉的機制保證收發端數據的同步。

中斷傳輸一般用于對延遲要求比較嚴格,同時數據量較小,比如我們常見的鍵盤、鼠標就是采用中斷傳輸方式。

當你的鼠標、鍵盤插入電腦后,電腦在枚舉配置成功后,就會按照描述符中的查詢時間定時發送 IN 令牌包,獲取所需的數據,如果設備沒有數據發送,則回復 NAK。

對于全速端點,中斷傳輸的間隔在 1 ms 到 255 ms 之間,對于低速端點,間隔時間限制在10ms到255ms之間, 對于高速端點,間隔為2^bInterval-1×125us, bInterval的值在1到16之間。

CMSIS-DAP 調試器使用的就是中斷傳輸,全速模式下1 ms 64 字節一包數據,所以最大傳輸速率是64 K,速率不是很高,如果使用高速,可以達到125 us 1024 字節,還有一種高速高帶寬的中斷端點,125 us 微幀內可以進行三次中斷傳輸,即125 us 內可傳輸 3072 字節。

100052997-107832-4.png

(注意上圖未畫出握手包)

批量傳輸

批量傳輸是一種可靠的單向傳輸,但是和中斷傳輸不同,傳輸延遲沒有保證,它會盡可能的利用可以利用的帶寬完成傳輸(說白了,就是個撿漏的),適合數據量比較大的傳輸。
當然如果說總線上只有批量傳輸,那么延遲也是能保證的,畢竟沒人和它競爭帶寬。

現實中,U盤就是采用批量傳輸,因為它對時間延遲不是那么嚴格,只要可靠的完成大量數據的傳輸即可。

低速設備不支持批量傳輸,高速設備批量最大包長度為512字節,全速批量可以為 8、16、32、64,選擇余地比較大。

因為會錯誤重傳,所以需要 PID 的翻轉機制,即按照 DATA0 – DATA1 – DATA0 – DATA1……的方式翻轉,允許 3 次以下的傳輸錯誤,超過三次,主機將認為端點功能錯誤 (STALL),放棄該端點的傳輸,需要主機使用控制傳輸恢復該端點的功能。

注意上面的 STALL 回復,這個代表端點錯誤,一旦回復該 STALL,如果沒有主機干預,設備將一直使用 STALL 回復,說明該端點不支持該功能或者產生了錯誤。

同步傳輸

這種傳輸是四大傳輸中唯一不可靠的傳輸方式,但是好處就是可以保證帶寬,并且沒有延遲,而且因為是不可靠的傳輸,所以沒有握手包,也不支持 PID 翻轉,主機在安排這些傳輸事務時,同步傳輸擁有最高的優先級。

高速同步端點最大包長度為 1024,全速為 1023。

高速端點在一個微幀內僅允許一次同步傳輸事務,而高速高帶寬的同步端點可以在一個微幀內傳輸三次,即3072 Byte / 125us。

在現實中,這種傳輸用于攝像頭、USB音響等,因為它們對實時性要求比較高,但是可以容忍錯誤(攝像頭偶爾出現了一幀有錯誤的畫面,沒多大關系,因為下一幀畫面馬上就會傳過來

100052997-107834-6.png

在前面的介紹中,一直都有幀、微幀的身影,那么它是什么?

我們知道,令牌包中有一種特殊的包,稱之為 SOF (start of frame)包,格式如下:

100052997-107835-7.png

CRC校驗為 5 bit,和 11 bit 的幀號剛好湊成 16 bit 兩個字節。

高速設備中每過 125 us 發出一個微幀,全速每過 1 ms 發出一幀,之后才會開始數據傳輸。

主機在每個幀(微幀)的開始傳輸一個SOF,每次幀號加 1,當達到 0x7FF 時,將清零重新開始計數。

看圖理解 SOF 和其他傳輸的關系:

CRC校驗為 5 bit,和 11 bit 的幀號剛好湊成 16 bit 兩個字節。

看上圖可以了解到,每過一定時間(1 ms或者 125 us),主機發出 SOF 包,接下來進行傳輸事務(四大傳輸中的一種),每一個傳輸事務中又包含了三個數據包(我們可以認為SOF就是 USB 總線中的時鐘信號

通過上圖,我們就可以理解幀、傳輸、傳輸事務、包之間的關系了。

再用另一個圖看看四大傳輸之間的關系:

100052997-107837-9.png

可以看到,假如總線中有四類數據需要傳輸,那么主機將在每幀開始發送SOF包,然后優先安排同步傳輸,之后安排中斷傳輸,其次是控制傳輸,最后才是批量傳輸(大容量傳輸),所以說批量傳輸是專業撿漏的。

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/weixin_42876465/article/details/108250959

審核編輯:何安

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    8146

    瀏覽量

    270891
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    無線傳輸中的四大“隱形指揮官”:頻段、功率、靈敏度和空速

    、功率、靈敏度和空中速率。在無線通信系統的設計與優化中,工作頻段、發射功率、接收靈敏度、空中速率是決定性能的四大核心參數。它們相互制約又彼此關聯,直接影響傳輸距離、數
    的頭像 發表于 03-20 19:33 ?507次閱讀
    無線<b class='flag-5'>傳輸</b>中的<b class='flag-5'>四大</b>“隱形指揮官”:頻段、功率、靈敏度和空速

    RT1735的四大優勢介紹

    業界先鋒!立錡推出專為140W以下應用設計的保護芯片 RT1735,適用于電腦顯示器、電競筆記本電腦、擴展基座(docking hub)等設備的USB-C接口保護。RT1735支持PD3.0/3.2標準,并提供高達28V的VBUS保護電壓。
    的頭像 發表于 03-14 11:02 ?460次閱讀

    STM32 USB傳輸到對端的時間是多少?為什么usb會丟幀?

    目前使用的stm32l452這款芯片,USB2.0,Full speed設備,目前通過中斷傳輸1000HZ傳輸imu數據,目前使用的是PMA 1.想問下大概USB
    發表于 03-10 08:02

    什么是編碼方式、數據質量和傳輸需求

    編碼方式、數據質量和傳輸需求是信息技術和數據傳輸中非常重要的概念,它們各自具有特定的含義和影響。下面將分別對這三個因素進行詳細介紹: 一、編碼方式
    的頭像 發表于 01-10 13:21 ?508次閱讀

    Type\USB\PD\雷電,不同C口的區別有哪些

    Type-C、USB、PD(Power Delivery,功率傳輸)、雷電是種不同的接口或技術規格,它們在功能、性能和應用場景上存在顯著區別。以下是對這種接口或技術的詳細比較: 一
    的頭像 發表于 12-07 12:13 ?2970次閱讀

    Micro USB接口數據傳輸速率分析

    Micro USB接口的數據傳輸速率分析,可以從以下幾個方面進行: 一、Micro USB版本與傳輸速率 Micro USB接口存在不同的版
    的頭像 發表于 11-27 10:05 ?1884次閱讀

    UVLED固化機結構的四大模塊

    (或固化室及反射系統),以下是對這四大模塊的詳細介紹:一、光源系統光源系統是UVLED固化機的核心部分,主要由UVLED燈珠、燈罩、變壓器和電容器等部件組成。UVL
    的頭像 發表于 11-25 16:10 ?741次閱讀
    UVLED固化機結構的<b class='flag-5'>四大</b>模塊

    樂鑫USB方案設備互聯傳輸,豐富的外設支持應用

    啟明云端/01樂鑫USB方案USB是一種通用的總線標準,用于連接主機和外部設備。樂鑫USB方案為用戶提供了方便快捷的設備互聯和數據傳輸方式
    的頭像 發表于 11-14 01:00 ?745次閱讀
    樂鑫<b class='flag-5'>USB</b>方案設備互聯<b class='flag-5'>傳輸</b>,豐富的外設支持應用

    是德萬用表USB 接口數據傳輸

    )接口是一種通用、高速、方便的接口標準,它使得不同設備之間的數據傳輸變得簡單、快捷和高效。在本文中,我們將重點介紹是德萬用表的USB接口數據傳輸特性和應用。 是德萬用表的
    的頭像 發表于 10-22 16:56 ?661次閱讀
    是德萬用表<b class='flag-5'>USB</b> 接口數據<b class='flag-5'>傳輸</b>

    USB接口常見的類型有哪些

    接口類型,以及它們的簡要介紹USB 1.x USB 1.0 :最初的USB標準,數據傳輸速度為1.5 Mbps(低速)。
    的頭像 發表于 10-21 13:45 ?2017次閱讀

    如何設置usb傳輸方式

    USB(通用串行總線)是一種廣泛使用的接口技術,用于連接計算機與外部設備。USB接口支持多種傳輸方式,包括USB 1.x、
    的頭像 發表于 10-12 14:16 ?1389次閱讀

    usb主機模式和設備模式的區別

    USB(通用串行總線)是一種廣泛使用的接口技術,用于連接計算機和外部設備。USB主機模式和設備模式是USB通信中的兩種不同角色,它們定義了設備和計算機之間的通信方式。以下是對這兩種模式
    的頭像 發表于 09-25 09:06 ?2146次閱讀

    usb和typec接口哪個傳輸

    USB(通用串行總線)和Type-C(通用串行總線C型)是兩種常見的接口類型,它們在數據傳輸速度、兼容性和使用場景等方面存在一定的差異。 一、USB接口概述 USB接口的歷史和發展
    的頭像 發表于 09-02 11:13 ?4162次閱讀

    探秘四大主流芯片架構:誰將主宰未來科技?

    在科技日新月異的今天,芯片作為現代電子設備的心臟,其架構的選擇與設計顯得尤為重要。目前市場上主流的芯片架構有種:X86、ARM、RISC-V和MIPS。它們各具特色,廣泛應用于各種電子設備中。本文將詳細剖析這四大主流芯片架構的特點、優勢及應用領域。
    的頭像 發表于 07-31 11:15 ?4346次閱讀
    探秘<b class='flag-5'>四大</b>主流芯片架構:誰將主宰未來科技?

    機器視覺的四大類應用分別是

    機器視覺是一種利用計算機視覺技術對圖像進行處理、分析和理解的技術,廣泛應用于工業、醫療、安防、交通等領域。本文將詳細介紹機器視覺的四大類應用,包括工業檢測、醫療影像分析、智能交通和安防監控。 一
    的頭像 發表于 07-04 10:49 ?2559次閱讀