USB 3.0規範中譯本 附錄

原文地址 https://www.cnblogs.com/coryxie/p/3956491.html

本文爲CoryXie原創譯文,轉載及有任何問題請聯繫cory.xie#gmail.com

附錄A 符號編碼

 

表A-1顯示了對於數據字符字節到符號的編碼。 表 A-2顯示了對於特殊符號的編碼。 RD- 和 RD+是指以per-Lane爲基準的符號序列的Running Disparity。

 

附錄B     符號加擾(Symbol Scrambling)

 

B.1 數據加擾(Data Scrambling

下面的子函數使用LFSR來對"inbyte" 中包含的8-bit值進行編碼和解碼。這僅僅時作爲例子展示。有許多方法來獲得恰當的輸出。這個例子展示瞭如何在一個操作中讓LFSR 步進(advance)8次,以及如何在一個操作中對數據XOR。有許多其他可能的實現,但是他們必須要能產生與這裏相同的輸出。下面的算法使用"C"編程語言傳統,其中"<<"以及">>"代表左移和右移操作,">"是大於比較操作,而"^"是異或操作,"&"是"與"操作。

復位(reset)之後的最先128個 LFSR步進的初始16-bit LFSR值如下:

復位(reset)之後,0值使用LFSR連續8-bit值編碼,產生下面的連續8-bit值:

附錄C 電源管理

 

本附錄提供了USB 3.0的系統級概述電源管理特性和能力。包括下面的主題:

  • 如何計算端到端的低功耗狀態鏈路退出延時
  • 討論一個設備發起的鏈路電源管理策略
  • 一個延遲容忍消息(Latency Tolerance Messaging)的設備實現示例
  • 超高速設備與高速設備接口在系統功耗方面的考慮

C.1超高速環境下電源管理概述

超高速體系架構被設計爲以平臺的功耗有效性作爲首要目標。增強功耗有效性的關鍵點包括:

  • 去除對設備的連續輪詢方式
  • 去除通過集線器的廣播數據包的傳輸
  • 引入鏈路電源管理,使空閒狀態下可達到具有挑戰性的節能狀態
  • 主機和設備都可以發起到低功耗狀態的轉換
  • 設備和功能層級的掛起能力使得設備可以將全部或者部分沒有使用到的電路的功耗消除
  • C.1.1鏈路電源管理

    當鏈路雙方處於空閒狀態時,鏈路電源管理功能可以使鏈路進入低功耗狀態。一對鏈路雙方處於空閒狀態的時間越長,鏈路從U0 (鏈路處於活動(active)狀態) 逐步進入到 U1 (鏈路處於 待機(standby)狀態並可快速退出), 再進入到 U2 (鏈路處於待機(standby)狀態且能稍慢退出), 以及最後進入到U3 (鏈路處於掛起(suspend)狀態) 這一過程中節省的功耗越多。

    在被軟件配置之後,U1 U2鏈路狀態會通過硬件自動控制而進入或者退出。硬件自動從U1轉換到U2鏈路狀態使得響應時間更快。從而,這也在進入節能狀態時轉換到更好的節能模式 ,並且在退出節能狀態時對操作狀態的影響更小。但是U3 鏈路狀態只會在軟件的控制下才能進入,典型的是在一段軟件不活動超時期之後才進入,並且要麼通過軟件(主機發起退出)或者硬件(遠程喚醒)退出。U3 鏈路狀態直接與設備的掛起狀態掛鉤(參考附錄C.1.4)。

    C.1.1.1 鏈路狀態總結

    C-1 提供了對超高速鏈路狀態和特性的總結。

    C-1. 鏈路狀態和特性總結

    鏈路狀態

    描述

    特性

    狀態轉換髮起者

    設備時鐘生成(On/Off

    典型的退出延時範圍

    U0

    鏈路活動

    鏈路處於可操作狀態

    N/A

    On

    N/A

    U1

    鏈路空閒-快速退出

    Rx和Tx電路被設置爲靜止狀態(quiesced

    硬件

    On或者Off

    μs

    U2

    鏈路空閒-稍慢退出

    時鐘生成電路可能也會被附加地被設置爲靜止狀態(quiesced

    硬件

    On或者Off

    μs – ms

    U3

    鏈路掛起

    接口(例如物理層)電源可能會被切除

    進入:只能是軟件

    退出:可能是硬件或者軟件

    Off

    ms

    注意:

    1. 在系統測試條件下,可能人爲通過軟件發起U1U2狀態轉換。
    2. 從功耗有效性角度看,在U2狀態期間,設備有必要關閉它們的時鐘生成電路(例如,它們的PLL)。

     

    C.1.1.2 U0 – 鏈路活動狀態

    U0 是完全可操作的, 鏈路活動狀態。處於U0狀態時,任何類型的數據包都可以在鏈路上通信。

    C.1.1.3 U1 – 鏈路空閒並且可快速退出

    U1 是一種節能狀態,具有能夠從該狀態快速回到U0狀態的特性。注意到當從U1->U0轉換過程中的主要延時是由獲得鏈路夥伴雙方的符號鎖(symbol lock)所需要的時間引起。

    C.1.1.3.1 進入U1狀態

    鏈路夥伴的每一方都可以請求將鏈路轉換到U1鏈路狀態。 所有的下游端口(集線器或者根端口)通過一個不活動計時器機制來跟蹤鏈路的不活動。當一個端口的不活動計時器過期的時候,如果其被使能了,就會請求轉換到U1狀態。基於設備特定的策略,上游口也可能發起進入U1狀態。

    當一個端口發起進入U1的請求時,它的鏈路對方可以接受也可以拒絕該請求。鏈路層級的U0->U1轉換過程包含一個端口發送一個LGO_U1鏈路命令,並且其鏈路對方用LAU(接受該請求)命令或者LXU(拒絕該請求)命令做出迴應。

    拒絕進入U1狀態請求的最典型原因可能是因爲請求者的鏈路對方還有一些活動,短期內就需要進行包傳輸。如果沒有使能其接受U1轉換請求,下游口也可能拒絕轉換到U1。上游口拒絕轉換到U1的請求,只會簡單地復位並且重啓請求者一方的不活動計時器。

    系統軟件配置並且接着使能每一個設備來發起進入U1的請求。設置硬件的自動鏈路狀態管理主要的編程參數包括:

    U1DevExitLat 被設備用於報告它們的最大的U1U0的退出延時(參考第9章的細節)。

    PORT_U1_TIMEOUT 設置下游端口的U1不活動計時器初值。當設置在0x01-0xFE 之間的值時,也會使能下游端口發送轉換進入U1的請求給其鏈路對方(參考第10章的細節)。

    U1_Enable 使能上游端口發起轉換到U1狀態的請求(參考第9章的細節)。

    U1_Enable 特性控制該特定的上游端口是否可能發起進入U1的請求。不論是否上游端口是否被使能了發起進入U1請求,它都要響應其鏈路對方發起的進入U1的請求,要麼接受要麼拒絕該轉換請求。下表展示了在下游端口超時和上游端口使用U1_Enable來配置平臺以達到鏈路電源管理的任意組合之間的關係。例如,如果U1_Enable被使能,並且PORT_U1_TIMEOUT 被設置爲 FFH,那麼只有上游端口可以發起轉換到U1的請求。

    關於進入U1過程的特定細節,參看本規範的第7章。

    C.1.1.3.2 退出U1狀態

    有兩種方式可以退出U1狀態。鏈路可以返回到活動的U0狀態,或者進入更深的節能狀態(U2)。

    從U1轉換到U0

    鏈路夥伴任意一方都可以啓動從U1到U0的轉換。這個過渡通常都是在需要傳送一個數據包時被啓動,例如從主機端收到IN消息,或者一個來自設備的ERDY消息。轉換過程首先由一個低頻週期信號(LFPS)握手所啓動,接着是鏈路恢復和訓練序列。參考第6和第7章。

    從U1轉換到U2

    這將把鏈路轉換到一個更低的功耗狀態,並且是被第二個不活動定時器所觸發(U2不活動定時器)。當鏈路進入U1的時候就啓動了U2不活動定時器了。如果當鏈路處於U1期間,U2不活動定時器超時,那麼鏈路夥伴雙方都默默地從U1轉換到U2,沒有更多的總線活動。後面的章節會討論這一點的更多細節。

    C.1.1.4 U2 – 鏈路空閒伴隨緩慢退出(Link Idle with Slow Exit)

    U2鏈路狀態的目的就是使用比U1狀態更低的功耗,但是以增加的退出延時爲代價。例如,時鐘生成電路可以被置於靜態(quiesced),以便比U1節省更多的能耗。在某些實現特定的環境下,這不一定有意義。例如,一個集線器可能在其所有的端口之間共享一個PLL,因此這個PLL不能被置於靜態(quiesced),除非所有的端口都處於U2狀態。

    影響配置端口的U2鏈路轉換的參數主要包括以下一些:

    U2DevExitLat – 用於設備報告他們的最大U2到U0退出時延的參數(參考第9章)。

    PORT_U2_TIMEOUT – 設置一個下游口的U2不活動定時器的值。當被指定了在0x01-0xFE範圍內的值時,也就使能了下游端口啓動向其鏈路夥伴發起U2進入轉換請求(參考第10章)。

    U2_Enable – 使能一個上游端口啓動請求轉換進入U2(參考第9章)。

    U2_Enable特性控制一個上游口是否可以啓動從U0進入U2。不論上游口是否被使能了進入U2的啓動功能,它仍然要響應來自其鏈路夥伴的U2進入請求,要麼接受,要麼拒絕該轉換請求。

    下面的表格展示了用來配置平臺的任意端口鏈路狀態管理所需要的下游口超時值和上游口U2_Enable特性之間的關係。例如,如果U2_Enable被使能了,並且PORT_U2_TIMEOUT被設置爲FFH,那麼只有上游端口可以啓動轉換到U2的請求。

    U1轉換到U2

    正如前面所提到的,U2典型地是從U1直接進入的。U2不活動定時器在進入U1時就啓動,並且當U2不活動定時器超時時,鏈路夥伴雙方都摸摸地從U1轉換到U2

    鏈路夥伴雙方必須被配置成相同的U2不活動超時值。這是通過讓軟件首先編程下游端口的U2不活動超時值,下游端口接着發送包含該U2不活動超時值的LMP給其鏈路夥伴。任何對該值的改變都會使用相同的方式被更新到鏈路夥伴(參考第10章)。

    注意,在鏈路夥伴間的U2不活動定時器的同步永遠不可能非常完美,因此可能有一小段時間一個端口處於U2,而其鏈路夥伴處於U1。但是,由於U1àU0U2àU0的狀態轉換過程互相兼容,因此這個邊角情形處理得很乾淨。

    從U0直接轉換到U2

    通過將U1不活動定時器編程到零而將U2不活動定時器編程到一個在0x01- 0xFE之間的非零值,一個下游端口可以被配置成可以由硬件自動從U0直接轉換到U2。在這個情形下,當U2不活動定時器超時,下游端口啓動從U0進入U2

    當端口啓動從U0進入U2,其鏈路夥伴可能要麼接受要麼拒絕該請求。鏈路層的U0àU2轉換過程包含一個端口發送一個LGO_U2鏈路命令,而其鏈路夥伴用一個LAU(接受該請求)或者LXU(拒絕該請求)鏈路命令來響應。

    退出U2

    退出U2只能導致鏈路狀態轉換到U0。鏈路夥伴雙方都可以啓動退出U2,這是在當有包需要傳輸時啓動的。退出過程與U1àU0的類似,包含一個低頻週期信號(LFPS)握手,接着是鏈路恢復和訓練序列。

    C.1.1.5 U3 – 鏈路掛起狀態(Link Suspend

    U3狀態是一個深節能狀態,除了需要用來完成下面功能的部分,設備電源的部分可能被移除:

    • 對於設備和集線器的上游端口:

    熱重啓(Warm Reset )信號的檢測

    喚醒(Wakeup信號的檢測 (用於主機發起的喚醒)

    喚醒(Wakeup信號的傳送 (用於具有遠程喚醒功能的設備)

    • 對於集線器和主機的下游端口:

    熱重啓(Warm Reset )信號的生成

    斷開(Disconnect)事件的檢測

    喚醒(Wakeup信號的檢測(用於遠程喚醒)

    喚醒(Wakeup信號的傳送 (用於主機發起的喚醒)

    U3狀態的目的是在設備或系統處於掛起狀態時最小化功耗。

    U3期間,VBUS仍然有效。設備的任何電源軌跡(power rail)關斷都是實現特定的,並且超出了本規範的範圍。

    進入U3狀態

    U3的進入只可能被主機啓動(詳情請參考第10章)。軟件典型地會實現一個不活動超時值,目的是在一段很長時間的不活動之後,將一個功能設置到掛起狀態。

    當一個下游端口啓動U3進入請求時,其鏈路夥伴不允許拒絕。下游端口發送一個LGO_U3鏈路命令,而其鏈路夥伴用一個LAU鏈路命令響應(詳情請參考第7章)。

    退出U3狀態

    唯一合法的源自U3的狀態轉換是U3àU0,並且鏈路夥伴的雙方都可以啓動該轉換。

    主機軟件通過發送一個SetPortFeature(PORT_LINK_STATE)請求到想要的下游端口,來啓動在一個該下游端口上的U3退出。上游端口(例如,集線器的上游端口,或者外設的上游端口)在響應一個遠程喚醒事件時發起U3退出。可能的一個例子是,USB網卡接口設備(USB attached network interface device)收到一個Wake on LAN包。退出過程包含一個低頻週期信號(LFPS)握手,接着是鏈路恢復和訓練序列。

    設備發起的U3退出

    如果退出是由設備發起的,發起該喚醒的設備中的特定功能(function)應該接着在由LFPS觸發的到U0的轉換之後,發送一個Function Wake設備通知包給主機。

    主機發起的U3退出

    對於主機發起的U3退出,LFPS握手過程允許設備有最多20ms來完成,允許設備有足夠的時間來打開一個被關閉的電源軌跡(power rail),如果實現了點話(詳情請參考第6章)。

    U3相關的軟件接口包括一組端口控制和功能控制。端口控制,例如在一個集線器下游端口上啓動U3,在附錄C.1.2.3節描述。功能控制,例如使能一個功能(設備)的遠程喚醒,在附錄C.1.4.1描述。

    C.1.2 下游端口的鏈路電源管理

    在鏈路電源管理中,集線器了扮演幾個關鍵角色。他們完成下面的功能:

    • 在上游端口和他們的下游端口之間,協調上游鏈路電源管理狀態

    • 處理包的延後(packet deferral),在這裏,集線器告訴主機,包被髮送到了一個當前不處於U0的下游端口

    • 在下游端口上提供不活動定時器,來啓動進入U1和U2

    C.1.2.1 鏈路狀態協調和管理

    集線器監控其下游端口的鏈路狀態,並保持其上游端口處於它可以保持的最低功耗狀態,而不允許其置於比其任意的下游端口更低的功耗狀態。這個策略的目的是確保到主機的路徑(即,上游端口)處於與其下游端口中最活躍的端口一樣活躍。

    當設備在一個集線器的下游端口上發起一個從低功耗狀態回到U0的轉換時,集線器立即開始將其上游端口轉換到U0,與其下游端口的轉換同時進行。

    對於向下遊發送的包,集線器必須首先接收該包,判斷該包的目的端口是哪個,而且只發起對那個特定下游端口的到U0的轉換。

    USB 3.0集線器使用一種單播(unicast)包傳輸模型,這就在每個部署有集線器的平臺上,增強了平臺的電源有效性。

    C.1.2.2 包推後(Packet Deferring

    包推後是在支持深度鏈路電源管理時使得可以有效利用總線的一種機制。包推後通過使集線器代表處於低功耗狀態的設備發出(對主機的)響應來達到該目標。這使得主機可以在設備被帶回活躍狀態的同時向前推進。

    集線器在包推後中的角色

    在從主機端接收到一個頭包並且檢測到需要包推後情形時,集線器通過發送一個推後的頭包給主機來通知主機這一情形。一旦設備被帶回到U0狀態,集線器就把原始的頭包發送給設備,其中設置了deferred字段。主機像接收到一個NRDY一樣對待這個推後的頭包,因此之後他可以有空發起到其他設備的斷點的傳輸,而不是一直等待處於沉睡中的鏈路返回到U0(詳情請參考第10章)。

    設備在包推後中的角色

    當設備收到具有deferred 字段被設置的IN或者OUT頭包時,它就準備該傳輸,發送一個ERDY給主機,並保持鏈路處於U0,直到傳輸發生。

    主機最終會響應該ERDY,重新調度原來的傳輸。

    C.1.2.3 軟件接口

    下游端口電源管理包括下面的端口控制和狀態字段:

    PORT_LINK_STATE 特性和端口狀態字段

    PORT_REMOTE_WAKE_MASK 特性

    C_PORT_LINK_STATE 端口狀態改變位

    PORT_U1_TIMEOUT 特性

    PORT_U2_TIMEOUT 特性

    PORT_LINK_STATE

    這一特性用於請求鏈路狀態從任何當前U-狀態改變到下一個U-狀態。在正常操作環境中,這個特性純粹用於請求U0àU3以及U3àU0的轉換。但是,它也可以用於測試目的,用來請求其他的狀態轉換。

    PORT_REMOTE_WAKE_MASK

    這一特性用於禁止掉可能源自於下游端口的遠程喚醒事件。    

    注意到如果禁止掉了對於連接(connect),斷開(disconnect),過流(over current)事件的遠程喚醒通知,這些事件仍然會被捕獲,並在主機或者集線器恢復之後,作爲端口狀態改變事件來報告。

    C_PORT_LINK_STATE

    這個標誌用於標示一次從U3àU0的轉換完成。特別地,一次主機發起的喚醒會導致這個標誌在下游端口上被設置。

    一旦C_PORT_LINK_STATE標誌被設置,一個端口狀態改變事件會被髮送給系統軟件,指示該下游端口和其鏈路夥伴已經完成轉換到U0狀態。

    注意到在遠程喚醒事件時C_PORT_LINK_STATE沒有被設置。如前面所討論的,在Remote Wakeup時,相關的功能(function)發送一個Function Wake設備通知包給主機。

    PORT_U1_TIMEOUT

    這個特性是用來使能和禁止下游端口上的U1進入的。它也用來指定U1不活動超時值。

    PORT_U2_TIMEOUT

    這個特性是用來使能和禁止下游端口上的U2進入的。它也用來指定U2不活動超時值。

    其他集線器端口控制也可以影響鏈路電源管理行爲,例如,PORT_RESET特性,但是不在這裏討論(詳情請參考第10章)。

    C.1.3 其他鏈路電源管理支持機制

    C.1.3.1 有包等待標誌(Packets Pending Flag

    設備可以使用有包等待標誌(Packets Pending flag)(參考第8章)來幫助決定是否將其鏈路設置到低功耗狀態。Packets Pending標誌爲主機控制器在特定端點的調度上是否還有更多的包需要傳輸提供了一個指示。當對於一個設備的所有端點沒有更多包等待傳輸時,設備可以立即將其鏈路設置到低功耗狀態。

    C.1.3.2 對等時(Isochronous)傳輸的支持

    如果鏈路在有等時傳輸被調度時還處於低功耗狀態,從源端到目的端轉換到U0所需的時延可能會使得該傳輸延遲超出其所指定的等時傳輸服務時段。

    爲了保證能夠滿足等時服務協定,定義了一個超高速機制(Ping),用來將主機和等時端點之間的路徑帶回到U0,作爲對等時端點服務的一個常規步驟。

    主機控制器(擁有足夠的信息來判定任何一條給定的路徑可能需要多長時間被完全激活),將這條鏈路路徑的退出時延考慮進它的等時服務調度器,並使用Ping協議來保證鏈路及時被帶回到完全活躍狀態以滿足等時服務協定。

    Ping過程包括下面流程:

    • 主機發送PING 包給設備。

    • 集線器向目標設備路由該PING包。

    • 設備通過發送PING_RESPONSE 包來響應PING包。

    • 設備保持處於U0直到它後續收到一個來自主機的包。

    在發送PING包到設備之後,且在接收到PING_RESPONSE之前,主機可以和其他設備傳送數據。這非常像包推後(Packet Deferring)機制, Ping機制使得可以有效利用總線,同時還支持重要的節能功能。

    C.1.3.3 對中斷傳輸的支持

    如果在主機和被調度的中斷端點之間的任意鏈路還處於低功耗狀態,端到端轉換到U0所需的時延可能會使得該傳輸延遲超出其所指定的中斷傳輸服務時段。主機控制器(擁有主機自己到任何設備之間的鏈路層級內部任何鏈路路徑上的退出時延的知識),爲了補償這些時延,能夠把中斷傳輸提前調度得足夠遠。

    C.1.4 設備電源管理

    設備電源管理重要是由軟件控制,包括各種硬件機制來支持它。設備電源管理包括一些功能層級的機制,以及一些設備和集線器層級的機制。

    C.1.4.1 功能掛起(Function Suspend

    一個功能(function)可以獨立於其他功能,被使用FUNCTION_SUSPEND特性置於功能掛起狀態。FUNCTION_SUSPEND特性也被用來使能功能遠程喚醒(詳情請參考第9章)。

    如果一個複合設備的多個功能中至少有一個功能處於掛起狀態而其他功能仍然保持在活躍狀態,例如,設備的上游端口不處於U3,需要有一個機制來讓被掛起的功能發遠程喚醒信號。這是用Function Wake設備通知包來完成的(詳情請參考第8章)。

    C.1.4.2 設備掛起(Device Suspend

    設備掛起是設備範圍內的狀態,它是隨着設備的上游端口進入或者退出U3狀態而進入或者退出該狀態。設備可能被轉換到設備掛起狀態,無論其內部功能的功能掛起狀態如何。

    設備可能實現一個可開關的電源軌跡(power rail),並在掛起狀態將設備大部分的電源移除。有些設備狀態信息必須在掛起過程中要被持續保存(詳情請參見第9章)。

    C.1.4.3 主機發起的掛起(Host Initiated Suspend

    掛起設備(Suspending a Device)

    主機按照下面的順序將設備轉換到掛起狀態:

    • 如果需要的話,使能遠程喚醒。

    • 發送一個SetPortFeature(PORT_LINK_STATE, U3) 請求給其鏈路夥伴即是該目標設備的端口。

    • 下游端口通過發送一個LGO_U3 鏈路命令發起進入U3

    • 設備發送一個LAU 鏈路命令(接受吧,這是不可協商的)。

    • 下游端口發送一個LPMA 鏈路命令。

    • 鏈路夥伴雙方都將它們的發射器轉換到電氣空閒狀態,即進入U3狀態(詳情請參見第7章)。

    掛起USB鏈路層級(Suspending the USB Link Hierarchy)

    在主機軟件的控制下,一個鏈路層級上的所有設備和集線器被一個接一個地放置到掛起狀態。首先,所有的外設被置於掛起狀態。接着,與外設相連接的集線器被置於掛起狀態。這樣一直沿着層級往上重複,直到遇到USB層級的根端口。注意到,如果需要的話,使用與此相同的技術,可以只將一組選定子集的USB鏈路層級掛起。

    C.1.4.4 主機發起的從掛起的喚醒(Host Initiated Wake from Suspend

    對於單個設備,一組設備,或者整個鏈路層級,主機發起的從掛起狀態的喚醒過程,也是使用相同的重複過程來完成的,一次一條鏈路。圖C-1 顯示了主機發起的喚醒序列。

    C.1.4.5 設備發起的從掛起狀態的喚醒(Device Initiated Wake from Suspend

    設備發起的從掛起狀態的喚醒(U3àU0)依照下面概述的順序:

    1. 設備發送LFPS 喚醒信號給其鏈路夥伴。

    2. LFPS 信號向上傳導,直到它遇到根集線器,或者不處於U3狀態的集線器。這個集線器被稱爲控制集線器(Controlling Hub)。

    3. 接着,該控制集線器(Controlling Hub)就在接收到該喚醒信號的下游端口上反射(reflectsLFPS 喚醒信號。

    4. 在到遠程喚醒設備直接路徑上的每個集線器,都在其接收到遠程喚醒信號的下游端口上傳導該喚醒信號。隨着該喚醒信號向下傳導,每條鏈路都完成其LFPS 握手,並轉換到U0狀態(詳情請參考第6和第7章)。

    5. 在該控制集線器(Controlling Hub)和遠程喚醒設備直接的所有鏈路都轉換到U0之後,遠程喚醒內起先發起遠程喚醒的功能會發送一個Function Wake 設備通知到主機。這就接着導致一個軟件中斷,在該中斷的中斷服務過程中就將該功能掛起狀態清除。

    C.1.5 平臺電源管理支持

    延遲忍耐消息【Latency Tolerance Message (LTM)】特性允許平臺在功耗和性能之間做出動態權衡。這與設備協同而使之成爲可能,並且沒有引起附加的代價。

    LTM協議使得USB設備可以通知主機,在出現不想要的副作用之前,它們可以忍受主機多長時間不給其服務。每個設備通過BELTBest Effort Latency Tolerance )的形式來提供該信息。給定設備的BELT是通過考慮所有被配置的端點而得到的,典型地,與具有最低延遲忍耐的端點一致。

    LTM爲設備提供了動態改變BELT值的能力,從而可以,例如,更精確地反映預期的長期空閒時間。平臺潛在地可以將這個內部因素利用起來,與其他系統相關的信息一起,來在系統層級節省更多能量,而不遭受不想要的副作用。

    C.1.5.1 系統退出時延以及BELT System Exit Latency and BELT

    設備報告的BELT值的組成,必須不僅要考慮其自身的設計特性(例如其內部緩衝),還要考慮它本身和主機之間其他端到端的延遲因素。這些應該包括其他因素相關的時延,例如用來喚醒鏈路的時間,在設備和主機之間集線器的數量,主機處理時間,包傳導延遲,等等。通過SET_SEL請求,系統提供給設備附加的系統時延信息, 這樣設備的固有BELT值可以被向下調整,用來將其他因素考慮進去。參考第8章中詳細的LTM規範,以及第9章關於SET_SEL請求的詳細規範。設備實現決定設備可以忍受的總共時延。主要的因素是設備需要產生和消費的數據量,以及設備上的緩衝。總共的設備時延忍耐度必須在不同的系統組件之間被分配。

    C-2顯示了設備在LTM上下文中可能經受的總共時延。該時延是參數t1, t2, t3, t4的綜合:

    t1: 當轉換是由設備發起時,將到主機的所有鏈路轉換到U0所需要的時間

    t2: ERDY 從設備向着主機穿過互聯層級傳送所需的時間

    t3: 主機處理該ERDY 並傳送一個對於該請求的響應所需的時間

    t4: 該響應從主機向着設備穿過互聯層級傳送所需的時間

    設備可以通過從它們總共的固有時延忍耐中減去U1SEL 或者 U2SEL來計算它們的BELT值(參考第9章的SET_SEL請求)。如果設備允許其鏈路進入U2,那麼設備通過從其總共的固有時延忍耐中減去U2SEL來計算其BELT值。如果設備不允許其鏈路進入U2,但是允許其鏈路進入U1,那麼設備通過從其總共的固有時延忍耐中減去U1SEL來計算其BELT值。

    U1SEL 以及 U2SEL被主機軟件計算並編程。對於t1計算的例子在C.2節提供。針對LTM的目的,t2 t4應該由主機軟件按照下面來計算:

    • 對於t2,集線器可能延遲轉發ERDY,當有一個傳輸正在進行時,最多達1個最大包大小的時間(大約2.1 μs,包括framing的時間)。每一個集線器,會延遲轉發ERDY多達大約250 ns來傳輸該包。t2的值作如下判定:

    如果在設備和主機之間的直接路徑中沒有集線器,則t2 0

    如果在設備和主機之間的直接路徑中由多於1個集線器,則t2 大致爲【2.1 μs + 250 ns * (number of hubs – 1)】。

    • 對於t4, 集線器轉發一個包可能最多延遲大約250 nsT4的值大致爲250 ns 乘以在設備和主機主機直接路徑上集線器的個數。

    C.2 計算U1U2端到端退出時延

    本節提供如何計算從設備到主機之間延展的端到端的退出時延(也即,從非U0狀態轉換到U0狀態所用的時間)的例子。對於設備發起的和主機發起的退出都給出了例子。

    C-3描繪了一個超高速層級圖,並且列出了在後面將會描述的相關參數。

     

    C.2.1 設備直接連到主機的情形

    C.2.1.1 主機發起的轉換

    在這個例子中,一個外圍設備 (Dev1) 以及一個主機控制器根端口 (RP1)時鏈路夥伴,通過一個鏈路通信 (Link1)

     

    U1àU0 轉換時延

    主機通過傳送LFPS發起轉換。在這一時間點,鏈路夥伴雙方的U1àU0轉換同步進行。

    退出時延由兩個設備退出時延中最大者決定:Dev1:U1DEL和 RP1:U1DEL

    U2 à U0轉換時延

    在本例中,假定至少鏈路雙方之一(例如,RP1)被使能了U2。主機通過傳送LFPS發起轉換。在這一時間點,鏈路夥伴雙方的U1àU0轉換同步進行。

    退出時延由兩個設備退出時延中最大者決定:Dev1:U2DEL和 RP1:U2DEL

    C.2.1.2 設備發起的轉換

    這些轉換時延和主機發起轉換的情形相同

    U1端到端退出時延是 Dev1:U1DEL 和 RP1:U1DEL中的大者。

    U2端到端退出時延是 Dev1:U2DEL 和 RP1:U2DEL中的大者。

    C.2.2 通過集線器連接的設備

    在本例中,一個外圍設備(Dev2)通過鏈路(Link3)連接到一個集線器的下游端口(DP2),而集線器則通過鏈路(Link2)連接到主機控制器的根端口(RP2)

    C.2.2.1 主機發起的轉換

    U1 à U0 轉換時延

    本例着重顯示在將Link2 Link3兩者都從U1轉換到U0時所引起的端到端時延。爲了這個示例的目的,假設所有的鏈路夥伴都被使能了U1,並且Link2 Link3兩者都處於U1狀態。

    C-6顯示了按時間順序的一系列事件。在圖後是對此多跳鏈路狀態轉換的每個階段的更詳細的描述。

     

    1. 主機準備好要發送一個包給Dev2,但是在能夠發送包之前它必須要將鏈路Link2 帶出U1狀態。主機通過在RP2上傳送LFPSHub1的上游端口來開始這一過程,這就使得鏈路雙方同時開始向U0轉換。這個時延由RP2:U1DEL Hub1:U1DEL的大者決定(characterized)。

    2. 一旦鏈路Link2 處於U0,主機就通過Link2發送目的指向Dev2 的包,而這又需要向Link3路由。這就引起了由於集線器解析包頭來判定包的目的下游端口需要的相關時延。這個時延就由集線器參數HHDL決定

    3. 最後一跳,需要Hub1:DP2通過Link3發送LFPS信號,在這點上,最後的端到端時延組件就被Link3的夥伴雙方同時執行了。這個最後的端到端時延組件由Hub1:U1DEL Dev2_UP:U1DEL 的大者決定。

    鏈路轉換到U0總共時延可以被求和爲:

    Max(RP2:U1DEL, Hub1:U1DEL) + HSD + HUB1:HHDL + Max(Hub1:U1DEL, Dev2_UP:U1DEL)

    U2 à U0 轉換時延

    本例着重顯示在將Link2 Link3兩者都從U2轉換到U0時所引起的端到端時延。爲了這個示例的目的,假設所有的鏈路夥伴都被使能了U2,並且Link2 Link3兩者都處於U2狀態。

    1. 主機準備好要發送一個包給Dev2,但是在能夠發送包之前它必須要將鏈路Link2 帶出U2狀態。主機通過在RP2上傳送LFPSHub1的上游端口來開始這一過程,這就使得鏈路雙方同時開始向U0轉換。這個時延由RP2:U2DEL Hub1:U2DEL的大者決定(characterized)。

    2. 一旦鏈路Link2 處於U0,主機就通過Link2發送目的指向Dev2 的包,而這又需要向Link3路由。這就引起了由於集線器解析包頭來判定包的目的下游端口需要的相關時延。這個時延就由集線器參數HHDL決定

    3. 最後一跳,需要Hub1:DP2通過Link3發送LFPS信號,在這點上,最後的端到端時延組件就被Link3的夥伴雙方同時執行了。這個最後的端到端時延組件由Hub1:U2DEL Dev2_UP:U2DEL 的大者決定。

    鏈路轉換到U0總共時延可以被求和爲:

    Max(RP2:U2DEL, Hub1:U2DEL) + HSD + Hub1:HHDL + Max(Hub1:U2DEL, Dev2_UP:U2DEL)

    C.2.2.2 設備發起的轉換

    本節提供一些計算由設備發起的端到端退出時延的示例。

    U1 à U0 轉換時延

    本例着重顯示在將Link2 Link3兩者都從U1轉換到U0時所引起的端到端時延。爲了這個示例的目的,假設所有的鏈路夥伴都被使能了U1,並且Link2 Link3兩者都處於U1狀態。

    C-7顯示了按時間順序的一系列事件。在圖後是對此多跳鏈路狀態轉換的每個階段的更詳細的描述。

    1. Dev2準備好要向上遊發送一個包給主機,但是在能夠發送包之前它必須要將鏈路Link3 帶出U1狀態回到U0。Dev2傳送LFPSHub1:DP2來開始這一過程,這就使得鏈路雙方同時開始向U0轉換。這個退出時延(Link3_EL)Dev2_UP:U1DEL Hub1_DP2:U1DEL的大者決定(characterized)。

    2. 在一段時延tPort2PortU1EL(即集線器用來判定其下游端口之一正在被喚醒)之後,集線器就開始在Link2上發送LFPS信號,開始發起Link2夥伴雙方(集線器上游端口和主機控制器根端口RP2)轉換到U0。

    3.端到端時延最後的組件由Hub1_UP:U1DEL RP2:U1DEL的大者決定,這代表Link2的退出時延(Link2_EL)

    端到端退出時延 = Max(Link3_EL, (Link2_EL + tHubPort2PortU1ExitLat))

    U2 à U0 轉換時延

    本例着重顯示在將Link2 Link3兩者都從U2轉換到U0時所引起的端到端時延。爲了這個示例的目的,假設所有的鏈路夥伴都被使能了U2,並且Link2 Link3兩者都處於U2狀態。

    1. Dev2準備好要向上遊發送一個包給主機,但是在能夠發送包之前它必須要將鏈路Link3 帶出U2狀態回到U0。Dev2傳送LFPSHub1:DP2來開始這一過程,這就使得鏈路雙方同時開始向U0轉換。這個退出時延(Link3_EL)Dev2_UP:U2DEL Hub1_DP2:U2DEL的大者決定(characterized)。

    2. 在一段時延tPort2PortU2EL(即集線器用來判定其下游端口之一正在被喚醒)之後,集線器就開始在Link2上發送LFPS信號,開始發起Link2夥伴雙方(集線器上游端口和主機控制器根端口RP2)轉換到U0。

    3.端到端時延最後的組件由Hub1_UP:U2DEL RP2:U2DEL的大者決定,這代表Link2的退出時延(Link2_EL)

    端到端退出時延= Max(Link3_EL, Link2_EL + tHubPort2PortU2EL)

    C.3 設備發起的鏈路電源管理策略

    有效利用鏈路電源管理所得到的功耗節省可以對系統功耗產生極大影響。例如,不用使用鏈路電源管理,筆記本電腦電池的平均壽命可能會被降低多大15%。設備和下游端口都可以發起進入U1 U2

    下游端口具有不活動定時器用來發起進入U1和U2。下游端口不活動超時使用系統軟件編程。

    設備可能具有更多信息可用來更嚴苛地(aggressively)決定進入U1或者U2。

    本節描述設備發起進入U1 U2的策略。

    C.3.1 縱覽和背景信息

    設備通過比等待不活動定時器更嚴苛地發起進入U1 U2可以節省更多功耗。例如,等時設備可以在每隔服務時段期間一旦完成等時傳輸之後就發起進入U1來充分增加在U1狀態的時間。

    設備可以使用下面的信息來幫助決定什麼時候根據端點的空閒情形來發起U1或者U2

    • 設備端點的類型和相關的標識(參考第8章)

    有包等待標誌(Packets Pending flag, 用於bulk端點

    突發結束標誌(End of Burst flag, 用於interrupt端點

    最後的包標誌(Last Packet flag, 用於isochronous端點

    • 協議層端點流控條件, 例如, 一個已經發送了NRDY端點

    • 設備類和設備實現

    • U1和U2設備到主機退出時延

    U1和U2設備到主機退出時延是指,當退出是由設備發起時,所需要的將設備到主機路徑上所有鏈路都轉換到U0的總共時延。設備可以基於最差情形的退出時延(設備連接在5級集線器深)來假設一個設備到主機的退出時延。設別也可以使用由SET_SEL請求的U1PELU2PEL字段所提供的設備到主機退出時延(參考第9章)。

    C.3.2 U1U2的進入條件

    設備應該在所有端點的空閒條件都滿足時發起進入U1和U2。設備典型地會發起進入U1。但是,如果設備有能力判定其鏈路在很長一段時間都不會被需要,那麼設備能夠發起進入U2。例如,WiFi有一個協議,可以讓其射頻被關閉很長一段時間,例如,100ms,由於鏈路在這段時間不被需要,就可以被置於U2。

    如果能夠判定其鏈路在超過U2設備到主機退出時延(加上一段適當的防護帶)的一段時間週期內都不被需要,設別應該發起進入U2。設備在其他所有情形下都應該發起進入U1。

    在判定是否發起進入U1和U2時,設備應該考慮到設備到主機退出時延。主機到設備退出時延和設備到主機退出時延都被主機軟件在判定是否使能每條鏈路上U1或U2時被考慮到。設備被使用U1_Enable U2_Enable特性選擇子來被使能可以發起進入U1和U2參考第9章

    下面的子小節提供一些建議,以供判定何時端點空閒,或者根據端點類型,判定是否在一段已知的週期內需要使用鏈路。空閒情形也可以依據其他實現特定的方式來判定。

    C.3.2.1 控制端點

    當下面所列的所有條件都滿足時,控制端點處於空閒

    • 設備處於已被配置(configured)狀態。

    • 設備當前不處於一個控制傳輸中。

    • 要麼已經發送了一個NRDY,或者在上一個從主機接收到的ACK 包中的有包等待標誌(Packets Pending flag)被設置爲0。

    • 設備沒有ERDY等待

    C.3.2.2 批量端點

    當下面所列的所有條件都滿足時,批量端點處於空閒

    有些設備可以判定它們的鏈路在一段已知的時間段內不會被需要。例如,大容量存儲設備可能需要啓動一個軸承(spin up a spindle)來服務一個請求。由於啓動時間可能需要幾百毫秒,設備應該將其鏈路置於U2。

    在設備發送一個於批量端點相關的ERDY後,鏈路應該被保持在U0,直到主機發送一個請求來響應該ERDY(或者直到tERDYTimeout發生,請參考8.13節)。

    C.3.2.3 中斷端點

    當下面所列的所有條件都滿足時,中斷端點處於空閒

    在設備發送一個於中斷端點相關的ERDY後,鏈路應該被保持在U0,直到主機爲了達到預先設定(subscribed)的中斷服務時段而發送一個請求來響應該ERDY(或者直到tERDYTimeout發生)。但是,當給定的服務時段中的所有傳輸都完成的之後,端點直到下一個服務時段都不會再需要該鏈路。在這期間,設備可能能夠將其鏈路置於U1或者U2。突發結束標誌(End of Burst flag)可以用來判定是否一個服務時段中的所有傳輸都完成了。注意,這裏要求主機要遠早於一個傳輸窗口就發起中斷傳輸,以便能夠滿足所預設(subscribed)的服務請求。

    C.3.2.4 等時端點

    等時傳輸端點在給定的服務時段內所有的傳輸都完成之後就處於空閒,這可由最後一個包標誌(Last Packet flag)來指示。端點直到下一個服務時段都不會再需要該鏈路。注意,這裏要求主機要遠早於一個傳輸窗口就發送一個PING包,以便能夠滿足所預設(subscribed)的服務請求。

    C.3.2.5 需要時間戳包(Timestamp Packets的設備

    當設備需要時間戳信息時,它需要確保當下一個總線時段範圍(bus interval boundary)達到時,其鏈路處於U0,以便接收時間戳包。如果設備的鏈路不處於U0,他應該在下一個總線服務時段範圍之前轉換到U0。設備因此必須跟蹤總線時段範圍何時回發生。設備在總線服務時段範圍發生之前"一段時間"就發起轉換到U0,這裏的"一段時間"就是設備到主機鏈路退出時延(device-to-host link exit latency)。

    C.4 延遲忍耐消息【Latency Tolerance Message (LTM)】實現示例

    計算機系統典型地都會保持高度迅捷的響應度(maintain a high state of readiness)來爲設備服務,即使在計算機系統處於空閒idle狀態也如此。LTM支持在USB 3.0設備的合作下的一種機制,讓系統不那麼迅捷reduce its state of readiness)。這樣可能產生較大的功耗節省而不需要設備付出附加的代價。    

    本節提供一個設備實現LTM支持的一個示例。本示例基於使用兩個設備延遲忍耐(Latency Tolerance)狀態(一個活躍狀態和一個空閒狀態)的模型。每個狀態都具有不同的最大努力延遲忍耐值【Best Effort Latency Tolerance (BELT)】。

    在接下來的子小節中,首先給出對BELT的描述以及其與整體系統退出時延的關係。接着,描述一個設備狀態機實現的示例。

    C.4.1 設備狀態機實現示例

    本節描述一個典型的設備實現的示例。這裏假設設備實現支持U1和U2,同時也包括LTM。

    在本例中,定義了兩個設備延遲忍耐狀態(LT-states)

    LT-idle 狀態: 設備處於空閒並且可以忍耐系統更大的時延(這是默認狀態)。

    LT-active 狀態: 設備已經決定需要執行與主機的數據傳輸並且想要喜用有一個更短的時延。

    C-8顯示了一個狀態機。

     

    本實現示例所描述的設備被設計得可以容許在LT-activeU1SEL最差情形值,以及在LT-idleU2SEL最差情形值

    如下的設備實現目標需要被滿足

    • 設計需要在LT-idle時最小的LTM 1 ms

    • 設計需要在LT-active時最小LTM BELT 125

    C.4.1.1 LTM-Idle 狀態下的 BELT

    設備用它可以忍耐的總共時延中減去U2SEL來決定其在LT-idle狀態下BELT值。爲了達到最小1 msLT-idle狀態下BELT值,設備必須能夠忍耐的總共時延是1 ms加上最差情形下的U2SEL值,或者說總共大約3.1 ms(參考C.1.5.1節)。最差情形下的U2SEL值是基於最差情形下設備到主機U2退出時延(即t1)2.053 ms (2.047 ms設備退出時延,加上5個集線器每個所需的1 μs),加上t20.003 ms,加上t40.001 ms,加上一些防護帶。

    對於U2SEL小於其最差情形值的系統實現,設備報告一個大於1 msBELT值。

    C.4.1.2 LTM-Active狀態下的 BELT

    設備用它可以忍耐的總共時延中減去U1SEL來決定其在LT-active狀態下BELT值。爲了達到最小125 μsLT-active狀態下BELT值,設備必須能夠忍耐的總共時延是125 μs加上U1SEL的最大值,或者說總共大約145 μs最差情形下的U1SEL值是基於最差情形下設備到主機U1退出時延(即t1)15 μs (10 μs設備退出時延,加上5個集線器每個所需的1 μs),加上t23.1 μs,加上t41.3 μs,加上一些防護帶。這裏假設設備不允許其鏈路在改變其狀態到LT-idle之前進入U2。如果設備允許其鏈路在LT-active時進入U2,那麼設備必須能夠忍耐的總共時延是125 μs加上最差情形下的U2SEL值。

    對於U1SEL小於其最差情形值的系統實現,設備報告一個大於125 μsBELT值。

    C.4.1.3 LT-States 之間轉換

    當設備在LT-states之間轉換時,設備發送一個具有更新了的BELT值的LTM事務包LTM Transaction Packet (TP)】。設備應該儘快在LT-state改變後將所有的BELT更新發送出來。

    C.4.1.3.1 LT-idle 轉換到 LT-active

    當設備判定bulk 或者 interrupt數據傳輸需要發生時,設備從LT-idle轉換到LT-active。下面給出一些例子:

    • 主機發送一個bulk OUT 傳輸給閃存設備,將有包等待標誌(Packets Pending flag)置位。作爲收到這個OUT 請求的結果,設備轉換到LT-active 併發送一個更新了的BELT給主機。

    •主機發送一個bulk IN傳輸給一個硬盤設備,將有包等待標誌(Packets Pending flag)置位,而這個硬盤設備的轉軸當前已經停轉,並且所請求的設備又不在硬盤的cache裏。作爲收到這個IN請求的結果,設備判定需要進行與主機的bulk數據傳輸。但是,設備將會在其轉軸轉起來之後來服務該IN請求,這就會需要比前一次報告的BELT更久的時間。設備可以延遲轉換到LT-active狀態。當設備判定轉軸會在上一次報告的BELT時間之內完成起轉,設備就轉換到LT-active併發送一個更新了的BELT給主機。

    • 一個網絡接口控制器設備開始接收其網絡接口上的數據,從而需要與主機進行bulk IN數據傳輸。作爲在網絡接口上收到數據的結果,設備轉換到LT-active,並開始將其鏈路轉換到U0(如果不是已經處於U0的話),接着發送一個ERDY 和更新了的BELT給主機。

    • 一個多點觸控人機接口設備multi-touch Human Interface Device)建立了一箇中斷端點。當人的輸入被檢測到時,設備轉換到LT-active,並開始將其鏈路轉換到U0(如果不是已經處於U0的話),接着發送一個ERDY 和更新了的BELT給主機。

    在有些情形下,從LT-idle轉換到LT-active並不一定合適,即使設備需要向主機做傳輸。例如:

    • 主機發送一個GetStatus 請求給設備。由於是控制傳輸而不是批量或者中斷傳輸,設備保持在LT-idle狀態。

    當設備LT-idle轉換到LT-active,設備發送一個LTM TP,其中BELT至少爲tBELTmin

    C.4.1.3.2 LT-active 轉換到 LT-idle

    當設備判定它處於空閒時,就從LT-active 轉換到LT-idle。本例所用到的空閒檢測基於U2的進入。當設備處於LT-active時,當其鏈路剛剛要進入U2時,設備就轉換到 LT-idle

    設備應該執行下面的動作來準備從U0轉換到U2:

    1. 設備轉換到LT-idle.

    2. 設備發送一個LTM,其BELT值至少爲tBELTdefault.

    3. 設備發起一個從U0到U2的轉換.

    處於in LT-active 的設備應該執行下面的動作來準備從U1轉換到U2:

    1. 設備在將其鏈路轉換進入U2前先轉換其鏈路到U0.

    2. 設備轉換到LT-idle.

    3. 設備發送一個LTM,其BELT值至少爲tBELTdefault.

    4. 設備發起一個從U0到U2的轉換.

    對於後面一種情形,由於設備在將其鏈路轉換進入U2前必須先轉換其鏈路到U0,設備必須超前於U2不活動定時器超時,以免其鏈路夥伴已經從U1直接轉換到了U2。例如,設備可以在U2不活動定時器超時之前1 μs 就發起轉換到U0。

    C.4.2 其他考慮

    下面是與設備支持TLM相關的其他一些考慮:

    BELT 代表整個外圍設備的延遲忍耐。BELT值必須綜合考慮設備的所有端點,包括複合設備的所有功能的端點。應該選擇所有端點中最小的BELT值。由於是以LTM爲目的,在判定BELT值時isochronous端點會被忽略。

    • 如果設備支持LTM,在將設備置於掛起之前應該將LTM禁止掉(參考第10章的PORT_LINK_STATE特性選擇子)。當LTM被使能時,或者在LTM剛要被禁止之前,設備都要發送一個更新了的LTM,正如第10章所定義的那樣。將LTM這樣禁止掉,就保證了一個被掛起的設備不會將系統保持在一個較高的響應性狀態,那樣會浪費能源。

    C.5 超高速(SuperSpeed)和高速(High Speed)電源管理比較

    有些設備在高速(480 Mbps)下可能已經能工作得很好,但是如果使用超高速接口來實現則可以很大的降低系統功耗。除了設備電源管理之外,在選擇新設備設計的接口時,系統電源管理也應該考慮在內。

    當設備正在活躍地傳輸數據時,系統組件也在傳輸這些數據。對於有些系統,系統組件的功耗遠大於一個USB設備對於系統功耗的貢獻。

    在典型情形下,數據傳輸越快完成,系統組件就可以越快返回到低功耗狀態。平均地說,久而久之(on average, over time),以更快的速度傳輸數據可以節省功耗。系統組件的例子包括,主機控制器,DRAM控制器,DRAM組件,具有需要監測(snoop)DRAM訪問的cache的微處理器,等等。

    C-9展示了一個例子設備,當被活躍地使用時,具有平均20 MBps的數據傳輸速率。圖中顯示了當設備在超高速和高速模式下工作時的系統功耗。

    當沒有數據傳輸時,系統功耗是PIDLEPIDLE 在超高速和高速時被估計爲大致相同。爲了說明的目的,鏈路功耗考慮在此被忽略。

    當有數據傳輸發生時,系統功耗對於超高速和高速分別是PSS-ACTIVE PHS-ACTIVEPSS-ACTIVE PHS-ACTIVEWhen之間的不同是由於物理層接口功耗以及其鏈路夥伴(這裏沒有集線器)的原因造成的。

    在超高速模式下,數據傳輸粗略地10倍快於高速模式。這就導致高速模式下的系統功耗遠大於超高速模式下的系統功耗。在一次數據傳輸中,平均系統功耗的差別可能高達50%。這對於移動系統的電池壽命可能具有較大的影響。

    附錄D     示例數據包

    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章