本文為CoryXie原創譯文,轉載及有任何問題請聯系cory.xie#gmail.com。
6.1 物理層概覽
物理層定義超高速總線的信號技術。本章定義超高速物理層的電氣要求。
本節定義超高速組件之間互操作所要求的電氣層參數。強制性規范(Normative specifications)是必須要求的(required)。參考性規范(Informative specifications)可以幫助產品設計者和測試者理解超高速總線的預期行為(intended behavior)。
6.2 物理層功能
物理層功能在圖6-2, 圖 6-3, 以及圖 6-4中顯示。
6.2.1 測量概覽
強制性(normative)超高速眼圖(eye diagram)要通過兼容性通道(代表一個長通道,一個短通道以及一條3米線纜的總和)來測量。這要求3個獨立的兼容性測試。這些參考通道(reference channels)在USB SuperSpeed Compliance Methodology白皮書中描述。眼圖是使用第6.5.2節中描述的時鍾恢復函數(clock recovery function)測量的。
對於長通道(long channel)的情形,眼圖在接收端是完全關閉的。在第6.8.2節提供了一個參考性(informative)接收器均衡函數(receiver equalization function),其對兼容性通道(compliance channel)做了優化,被用來打開接收器眼睛(open the receiver eye)。
這一方法學允許芯片制造商將通道和元件作為匹配對(matched pair)來設計。期望芯片元件有(用戶)必須遵循的布線導引(layout guidelines),以便滿足總體規范(overall specification)以及在兼容性通道末端的眼圖(eye diagram at the end of the compliance channel)。
注意同時的(simultaneous)USB 2.0和超高速(SuperSpeed)操作是一個兼容性測試要求。
6.2.2 通道概覽
PHY是在一起操作(operate together)的發射器(transmitter)和接收器(receiver)的組合,並且位於同一元件內部。一個通道連接兩個PHY,具有兩個單向差分對(unidirectional differential pairs),總共4條線的管腳。要求PHY是AC耦合的。AC耦合電容與發射器關聯在一起。
6.3 符號編碼(Symbol Encoding)
超高速使用8b/10b傳輸碼(transmission code)。這個傳輸碼(transmission code)的定義同ANSI X3.230-1994第11部分相同(同時參考ANSI INCITS 230-1994)。正如圖6-5所示,ABCDE 映射為abcdei,而FGH映射為fghj。
【勘誤:上圖中MSB和LSB實際應該是MSb和LSb】
6.3.1 數據序列化和反序列化(Serialization and Deserialization)
一個符號(Symbol)的比特位被以比特"a"開始,並以比特"j"結束。這在圖6-6中顯示。
6.3.2 強制性8b/10b 解碼規則(Normative 8b/10b Decode Rules)
1. 在處於電氣空閑(Electrical Idle)狀態之后,發射器被允許在首次發送差分數據時選取任何不均等性(pick any disparity)。發射器應該接着遵循適當的編碼規則,直到下次進入電氣空閑狀態(Electrical Idle)。
2. 接收器(Receiver)的初始不均等性是用來獲取符號鎖(Symbol lock)的第一個符號(Symbol)的不均等性(disparity)。
3. 如果符號鎖(Symbol lock)在傳送差分信息的過程中因一個突發錯誤事件(burst error event)而丟失又重新獲取了(lost and regained),則不均等性(Disparity)可以被重新初始化。
4. 在初始不均等性(initial disparity)被設置之后接收到的所有后續符號都應該在相應於當前運行不均等性(running disparity)的恰當列中。
5. 接收不均等性誤差(Receive disparity errors)不會直接導致鏈路重新訓練。
6. 如果不均等性誤差(disparity error)或者8b/10b解碼誤差(8b/10b Decode error)被檢測到了,物理層應該通知鏈路層。
6.3.3 數據加擾(Data Scrambling)
加擾函數(scrambling function)是使用自由運行的線性反饋移位寄存器【Linear Feedback Shift Register (LFSR)】實現的。在發射方,對字符的加擾應用在8b/10b編碼之前。在接收方,對字符的解擾應用在8b/10b解碼之后。每當發送或者接收到COM符號,LFSR就被重置。【譯注:關於COM符號,見表6-1的特殊符號,用於符號對齊】
圖6-7以圖形化的方式展示了LFSR。加擾或者解擾是通過將8比特字符(D0-D7)與LFSR輸出的16比特(D0-D15)串行(serially)相異或。LFSR的一個輸出,D15,被與要處理的數據的D0相異或。LFSR和數據寄存器接着被串行地步進(serially advanced),進而輸出處理從D1到D7進行重復。LFSR在數據被異或之后才被步進。
用於通知物理層禁掉加擾的機制是實現特定的,超出了本規范的范圍。
數據加擾規則如下:
1. LFSR實現如下多項式: G(X)=X16+X5+X4+X3+1
2. 對於每個符號(Symbol)而言,除了SKP之外,LFSR值都應該被步進8個串行移位。
3. 所有的8b/10b D-碼,除了位於訓練序列有續集(Training Sequence Ordered Sets)之內的,都應該被加擾。
4. K-碼不應該被加擾。
5. LFSR種子(D0-D15)的初始值應該是FFFFh。在COM離開發送器LFSR之后,發送端的LFSR應該被初始化。每當COM進入接收器LFSR時,接收端LFSR應該被初始化。這也適用於回環模式(loopback mode)期間的BRST(測試復位)序列(見第6.8.4.1節)。【譯注:關於COM符號,見表6-1的特殊符號,用於符號對齊】
---------------------------------------------------------------------------------------------
實現注意(IMPLEMENTATION NOTE)
禁用加擾(Disabling Scrambling)
禁用加擾(Disabling scrambling)意圖在於幫助簡化測試和調試設備。控制精確的數據模式(data patterns)在測試和調試環境中很有用。由於加擾是在物理層復位的,通過軟件沒有較合理的方式(reasonable way)來可靠地控制數據轉換的狀態(state of the data transitions)。禁用加擾位(Disabling scrambling bit)在訓練序列中被提供,以用於此目的。用於通知物理層禁用加擾的機制和/或接口是元件特定於具體實現的,超出了本規范的范圍。【譯注,關於Disabling scrambling bit,請參考表6-5,鏈路配置字段】
---------------------------------------------------------------------------------------------
關於加擾的更多信息,請參考附錄B。
6.3.4 8b/10b解碼錯誤(Decode Errors)
當接收到的符號(received Symbol)與附錄A中列出的任意有效符號都不匹配時,將會產生8b/10b解碼錯誤(Decode error)。 任何接收到的不能與附錄A中列出的8b/10b符號相匹配的8b/10b符號都應該通過被替代為一個K28.4符號而轉發給鏈路層(forwarded to the link layer by substituting a K28.4 symbol)(參考表6-1)。8b/10b錯誤可以不(may not)直接導致發起恢復(Recovery)。
6.3.5 用於分幀(Framing)和鏈路管理(Link Management)的特殊符號
8b/10b編碼機制(encoding scheme)提供與代表字符的數據符號(Data Symbols)相區分的特殊符號(Special Symbols)。這些特殊符號(Special Symbols)被用於各種鏈路管理(Link Management)機制(后面將會描述這些機制)。表6-1列出了所用的特殊符號,並且每一個都給出了簡要的描述。特殊符號必須遵循恰當的8b/10b不均等性規則(disparity rules)。在USB SuperSpeed Compliance Methodology白皮書中定義了兼容性測試。
6.4 鏈路初始化和訓練(Link Initialization and Training)
本節定義用於配置和初始化(configuration and initialization)的序列(sequences)。該序列用於對下列功能的初始化狀態機(Initialization State Machine)(參考第7章):
• 配置和初始化鏈路(Configuring and initializing the link)
• 比特鎖和符號鎖(Bit-lock and symbol lock)
• Rx均衡訓練(Rx equalization training)
• 巷道極性反轉(Lane polarity inversion)
訓練序列(Training sequences)由用於初始化比特對齊(bit alignment),符號對齊(Symbol alignment)以及優化均衡(optimizing the equalization)的有續集(Ordered Sets)組成。訓練序列有續集(Training sequence Ordered Sets)絕不會被加擾,但是總會被8b/10b編碼。
比特鎖(Bit lock)是指時鍾/數據恢復電路【Clock/Data Recovery (CDR) circuit】將相位和頻率信息從輸入數據流中提取出來的能力。比特鎖(Bit lock)是通過發送足夠長的比特序列(包含交替變換的0和1的D10.2符號),以便CDR粗略地將時鍾定位在比特中間(roughly centers the clock within the bit)而實現的。
一旦CDR恰當地恢復了數據比特位,下一步就是定位一個10比特符號的起始和結束。為此,從8b/10b碼中選出特殊的叫做COMMA的K-碼(K-Code)。COMMA碼的比特模式(bit pattern)是唯一的(unique),因此從來不會在其他數據模式(data pattern)中找到,包括D-碼跟其它D-碼(D-Code appended to any other D-Code)或者D-碼跟K-碼(D-Code appended to any K-Code)的任何組合。這適用於編碼的任意極性。唯一的例外是包含有一個比特錯誤的各種比特模式(various bit patterns that include a bit error)。
訓練序列 (TS1 或 TS2) 被連續傳送,且只能被SKP有續集在有續集之間出現時所中斷(在連續的TS1集之間,連續的TS2集之間,或者當TS1跟着TS2時(在它們之間))。
6.4.1 強制性訓練序列規則(Normative Training Sequence Rules)
訓練序列(Training sequences)由用於初始化比特對齊(bit alignment),符號對齊(Symbol alignment)以及接收器均衡(receiver equalization)的有續集(Ordered Sets)組成。
下面的規則適用於訓練序列:
• 訓練序列有續集(Training sequence Ordered Sets)應該被8b/10b編碼。
• 傳送TS1或TS2有續集不應該被SKP有續集中斷。SKP有續集應該在任何TS1或TS2有續集完成之前或者之后插入。
• 在整個TSEQ時間內(65,536個有續集),不能有SKP有續集傳送。
這就意味着PHY必須比在通常操作下對彈性緩沖(elasticity buffer)進行不同的管理。
在第7章可以找到關於使用TSEQ, TS1, 以及TS2有續集的更多信息。
6.4.1.1 訓練控制位(Training Control Bits)
訓練控制位(training control bits)存在於TS1和TS2有續集中的鏈路功能性符號(Link Functionality symbol)中。它們被在表6-5中描述。
鏈路配置字段(link configuration field)的比特0和比特2不能同時被設置為1。如果接收器在接收到的鏈路配置字段(link configuration field)中檢測到這一情形,那么所有的訓練控制位(training control bits)都將會被忽略。
6.4.1.2 訓練序列值(Training Sequence Values)
TSEQ訓練序列重復65,536次,以允許測試多個系數設置(coefficient settings)。
6.4.2 巷道極性反轉(Lane Polarity Inversion)
在TSEQ訓練序列期間,接收器必須使用TSEQ有續集中的D10.2符號(D10.2 Symbol)來判定巷道極性反轉(lane polarity inversion)(即Rxp和Rxn被交換)。如果發生了極性反轉,TSEQ有續集中的D10.2符號會被接收為D21.5,而不是D10.2,從而接收器必須反轉接收到的位極性。這必須在TSEQ符號1-15被使用(來做極性反轉判斷)之前完成,因為這些符號在8b/10b域內並不是全都在反轉情況下對稱(not all symmetric under inversion in the 8b/10b domain)。如果接收器不使用TSEQ訓練序列,那么極性反轉應該針對TS1有續集的D10.2符號作檢查。
6.4.3 彈性緩沖和SKP有續集(Elasticity Buffer and SKP Ordered Set)
超高速體系結構支持在超高速鏈路的兩端都有獨立的參考時鍾。每個參考時鍾的精確度要求在+-300 ppm以內。這就給出了鏈路兩端的兩個設備的最大頻率差異為+- 600 ppm。此外,SSC產生具有最大差異為5000 ppm的頻率變動(frequency delta)。頻率變動(frequency delta)的總體幅度可以在-5300 到 300 ppm范圍內。這個頻率變動由消耗或者插入SKP有續集的彈性緩沖來管理。【譯注:ppm,parts per million,即百萬分之一。關於ppm的概念,參考附加文檔<Clock accuracy in ppm>】
SKP有續集應該被用來補償鏈路兩端的頻率差異。發送器平均每354個符號發送SKP有續集。SKP有續集不應該插入任何包中。發送器被允許緩沖最多4個SKP有續集。接收器必須實現能夠緩沖(buffering)(或者挨餓(starving))數據的8個符號。
SKP規則【SKP Rules (Host/Device/Hub)】:
• SKP有續集應該由一個SKP K-符號緊跟一個SKP K-符號組成。一個SKP有續集代表兩個符號,可用於時鍾補償。【已勘誤】
• 設備必須維護一個自從上一個SKP有續集開始已經傳送了的符號的運行計數(running count)。這個計數值將被稱為Y。每當發送器進入Polling.Active時,或者退出U1/U2/U3 低功耗狀態時,Y值被重置復位。
• 除非特別指出,在發送完TS1, TS2有續集,LMP,TP,DP,或者邏輯空閑(Logical idle)之后,發送器應該立即插入Y/354計算的整數結果有續集(the integer result of Y/354 calculation Ordered sets)。只有在訓練中,發送器被允許在Y/354的整數結果達到2時,可以選擇等待插入2個SKP有續集。發送器不應該在任何其他時候傳送SKP有續集。
注意:SKP計算中,Y/354的非整數余數不應該被丟棄掉,而應該被用於調度下一個SKP有續集的計算中。
• 在對有續集(即,在Polling 和 Recovery中的連續的TS1,TS2有續集)進行監控時,SKP命令(SKP Commands)不被作為中斷(interruptions)計數。
6.4.4 兼容模式(Compliance Pattern)
在第7章描述兼容模式(Compliance Mode)的進入【已勘誤】。這就啟動了對加擾后的D0.0兼容性序列(scrambled D0.0 compliance sequence)所生成的偽隨機數據模式(pseudo-random data pattern)的傳送【已勘誤】。在兼容性模式(compliance pattern)過程中,不發送SKP。兼容性模式(compliance pattern)應該被連續傳送,或者直到在接收器端檢測到一個ping LFPS(參考第6.9節)為止。一旦檢測到一個ping LFPS,(當前)兼容性模式應該步進到下一個兼容性模式。一旦檢測到復位(reset),兼容性模式就應該被終止(terminated)【已勘誤】。兼容性模式(compliance pattern)序列在表6-7中描述。
6.5 時鍾和抖動(Clock and Jitter)
6.5.1 參考性抖動裕量(Informative Jitter Budgeting)
針對USB 3.0的抖動,在組成端到端連接的原件之間做出了預算:發送器,通道(包括封裝,連接器和線纜),以及接收器。抖動裕量是從芯片焊盤(silicon pads)處導出。Dj分布(Dj distribution)采用雙狄拉克式方法(dual Dirac method)。表6-8列出了Tx, Rx,以及通道抖動裕量。【譯注,關於Dual Dirac方法,參見文檔< What the Dual-Dirac Model is and What it is Not >以及< Jitter Analysis - The dual-Dirac Model, RJ-DJ, and Q-Scale >】
注意:系留線纜(Captive cables)必須滿足第5.6.1.2節中的成對(mated)連接器規范。但是系留線纜不被認為是獨立的組件。為了滿足電氣裕量的目的,系留線纜被認為是設備的一部分,因此必須滿足表6-8中設備的抖動要求。
【譯注:Captive cable 即與設備不可分離的電纜。這種線纜一端是插頭,另一端是非標准的連接方式(分為hardwire或customize兩種情況)。】
6.5.2 強制性時鍾恢復函數(Normative Clock Recovery Function)
Tx相位抖動(Tx Phase jitter)的測量是通過使用標准時鍾恢復方法完成的,顯示於圖6-8中。關於golden PLL測量的信息,請參考最新版的INCITS TR-35-2004, INCITS Technical Report for Information Technology – Fibre Channel – Methodologies for Jitter and Signal Quality Specification (FC-MJSQ).
時鍾恢復函數(clock recovery function)在等式1-3中給出。正如所示,時鍾恢復電路具有低通響應(low pass response)特性。在恢復的時鍾與數據相比較(相減)后,總體時鍾恢復變成一個高通函數(high pass function)。這在圖6-9中顯示。
這些函數的等式如下:
以及
其中ωn 是自然頻率(natural frequency),ξ 是阻尼系數(damping factor)。 與3dB頻率的關系如下:
正如圖5-7所示,拐角頻率(corner frequency) 以及
。這個傳輸函數(Transfer Function)具有2 dB最大峰值(maximum peaking)。
6.5.3 強制性擴頻時鍾【Normative Spread Spectrum Clocking (SSC)】
所有端口都要求具有擴頻時鍾調制【Spread Spectrum Clocking (SSC) modulation】。允許給兩個不同元件提供相同SSC時鍾,但不是必需的,SSC可以是異步生成的。沒有指定的SSC配裝(SSC profile),這是廠商特定的。SSC調制的要求列於表6-9。SSC調制不能違反在第6.5.4節中描述的相位轉換速率(phase slew rate,也即相位斜率)。
圖6-10中顯示了一個來自三角SSC的周期調制(period modulation from triangular SSC)的示例。
6.5.4 強制性轉換斜率限制(Normative Slew Rate Limit)
CDR是一個轉換斜率受限的相位跟蹤設備(slew rate limited phase tracking device)。SSC和其他在CDR帶寬范圍內的抖動源的組合必須不超過最大可允許的轉換斜率。
執行這一測量是通過使用CDR轉換函數濾除相位抖動(filtering the phase jitter with the CDR transfer function),並選取相位抖動的首個誤差來獲取過濾后的周期抖動(taking the first difference of the phase jitter to obtain the filtered period jitter)。周期抖動的峰值必須不能超過表6-10列出的TCDR_SLEW_MAX。
在USB 3.0 Jitter Budgeting中有關於轉換斜率測量的更多細節。
6.6 信號(Signaling)
6.6.1 眼圖(Eye Diagrams)
眼圖(eye diagrams)是信號的電壓和時間限制(voltage and time limits of the signal)的圖形化表示。在應用了恰當的抖動傳輸函數(jitter transfer function)和參考接收器均衡(reference receiver equalization)之后,這一眼圖波罩(eye mask)應用於抖動(applies to jitter)。在所有情況下,眼睛(eye)都要被測量106個連續的UI(consecutive UI)。鏈路的裕量是假設總共10-12比特誤差率,且在假設隨機抖動符合高斯規律(Gaussian)的情況下,推論(extrapolated)到對106個UI的測量而獲得的。【譯注:UI即Unit Interval,單位時間間隔,對於5Gbps,長度為200ps。】
圖6-11顯示了對所有眼圖測試都使用的眼圖波罩(eye mask)。參考該圖,時間是從Txp/Txn的交叉點測量的。時間叫做眼寬度(eye width),而電壓是眼高度(eye height)。眼高度(eye height)要在張開最大處測量(在眼寬度的中間± 0.05 UI)。
眼圖要使用抖動傳輸函數【jitter transfer function (JTF)】來使之居中。恢復的時鍾是從數據中得到的,並由JTF處理。在眼圖中,恢復的時鍾的中心用於定位數據的中心。
眼圖要在50-Ω單端負載(single-ended loads)下測量。
6.6.2 電壓級別定義(Voltage Level Definitions)
參考圖6-12,差分電壓,VDIFF,是Txp上的電壓(在接收器端的Rxp)相對於Txn上的電壓(在接收器端的Rxn)。VDIFF是與一個傳導器上的單信號電壓擺幅相同的電壓(the swing on the single signal of one conductor)。差分電壓是:
(4) VDIFF = Txp – Txn
總的差分電壓擺幅(differential voltage swing)是差分電壓的峰峰值,VDIFF-PP。這是差分電壓的兩倍。差分電壓峰峰值是:
(5) VDIFF-PP=2 * VDIFF
共模電壓【Common Mode Voltage (VCM)】是呈現在同一差分對上相對於地的平均電壓。這是相對於地,如此測量而得:
(6) VCM = (Txp + Txn) / 2
DC定義為所有頻率組件小於FDC = 30 kHz。 AC定義為所有頻率組件大於或者等於FDC = 30 kHz。這些定義適合於所有電壓和電流規范。
圖6-12顯示了一個示例波形。在這個波形中,差分電壓峰峰值,VDIFF-PP,是800 mV。差分電壓,VDIFF,是400 mVPP。注意,盡管Txp和Txn的中心交叉點顯示在300 mV,相應的差分電壓的跨越點(crossover point)是0.0 V。中央交叉點在300 mV也是共模電壓,VCM。注意這些波形包含了解加重(de-emphasis)。依賴於發送器設置,根據圖6-10所允許的范圍,實際的去加重(de-emphasis)可以改變。
6.6.3 Tx和Rx輸入寄生現象(Tx and Rx Input Parasitics)
Tx和Rx輸入寄生現象(Tx and Rx input parasitics)如圖6-13中所指的集總電路(lumped circuit)所示。
在該電路中,輸入緩沖被簡化為一個與寄生電容並聯的終端電阻(termination resistance)。這一簡化電路就是負載阻抗(load impedance)。
6.7 發送器規范(Transmitter Specifications)
6.7.1 發送器電氣參數(Transmitter Electrical Parameters)
峰值【Peak (p)】以及峰峰值【peak-peak (p-p)】定義與第6.6.2節。
表6-11中的值只具有信息參考意義(informative),不是標准必須的(not normative)。 它們被包含在本文檔中,以提供在表6-10中用於發送器設計和開發的標准要求(normative requirements)之外的指導。發送器可以與標准要求完全兼容,但不一定滿足在這個表中的所有值(在完成的產品中,許多都是不可測量的)。類似地,滿足這個表中所有值的發送器並不能保證與本規范的標准要求部分完全兼容。
6.7.2 低功耗發送器(Low Power Transmitter)
除了全擺幅模式(full swing)發送器規范之外,對於超高速應用,還指定了一個可選的低功耗擺幅模式(low power swing)發送器規范。低功耗發送器典型地用於對電源和噪聲干擾敏感的系統,並具有相對短的通道。對於是否一個發送器要支持全擺幅模式(full swing),低功耗擺幅模式(low power swing),或者兩者都兼顧模式(both swings),這是依賴於使用模型的。所有超高速發送器都必須支持全擺幅模式(full swing),而對低功耗擺幅模式(low power swing)的支持是可選的。本規范沒有定義如何選取輸出擺幅模式(output swing)的方法,因此是特定與具體實現的。
盡管指定了兩個不同的發送器規范,只定義有一個接收器規范。這就隱含着,如果使用了低功耗發送器,接收器邊界(receiver margins)(如表6-13所指定的)就必須被滿足。
6.7.3 發送器眼睛(Transmitter Eye)
眼圖波罩(eye mask)是使用第6.4.4節所描述的兼容性數據模式(DJ用CP0,RJ用CP1)測量得到的。眼高(Eye height)被測量連續106個UI。抖動被推論(extrapolated)是106個UI達到10-12BER。
兼容性測試的建立如圖6-14。所有的測試都是在測試點(TP1)處進行的,且在使用兼容性參考均衡器傳輸函數(compliance reference equalizer transfer function)(在下節將描述之)處理測試數據之后,應用了Tx規范。
6.7.4 Tx兼容性參考接收器均衡函數 (Compliance Reference Receiver Equalize Function)
正規性發送器眼睛(normative transmitter eye)是在參考通道的末端捕捉的。在這一點眼睛可能是閉合的。為了使眼睛張開以便可以測量,對信號應用參考Rx均衡器。該參考均衡器的詳情在第6.8.2節描述。
6.7.5 參考性發送器去加重(Informative Transmitter De-emphasis)
通道裕量(channel budgets)和眼圖(eye diagrams)是通過使用對主機和設備參考通道(Host and the Device reference channels)的發送端去加重(transmit de-emphasis)的VTX-DE-RATIO而得到的。差分峰峰去加重(differential peak-to-peak de-emphasis)波形的示例顯示於圖6-15。
6.7.6 進入電氣空閑U1(Entry into Electrical Idle, U1)
電氣空閑(Electrical Idle)是一個穩定狀態,此時發送器Txp和Txn電壓被保持在相同值,且接收器終端(Receiver Termination)處於由ZRX-DC所指定的范圍內。電氣空閑(Electrical Idle)被用於U1節能模式。
在電氣空閑(Electrical Idle)時,低阻抗共模(low impedance common mode)和差分接收器終端阻抗(differential Receiver terminations)值(見表6-13)必須被滿足。在電氣空閑(Electrical Idle)期間,發送器(Transmitter)可以要么處於低阻抗模式,要么處於高阻抗模式。
6.8 接收器規范(Receiver Specifications)
6.8.1 接收器均衡訓練(Receiver Equalization Training)
接收器均衡訓練序列(receiver equalization training sequence)(詳見第6.3.1節),可以用來訓練接收器均衡器(receiver equalizer)。TSEQ訓練序列(TSEQ training sequence)被設計來提供頻譜上(spectrally)豐富的數據模式(data pattern),有益於訓練典型的接收器均衡體系(receiver equalization architectures)。此外,在數據中穿插(interleaved)了高邊緣密度模式(high edge density pattern),以幫助CDR維持比特鎖(bit lock)。TSEQ訓練序列(TSEQ training sequence)重復65536次,以允許測試許多系數設置(coefficient settings)。在TSEQ訓練序列(TSEQ training sequence)中不會插入SKPs。TSEQ序列(TSEQ sequence)的頻譜顯示於圖6-16。
接收器均衡訓練是特定於具體實現的。
6.8.2 參考性接收器CTLE函數(Informative Receiver CTLE Function)
USB 3.0允許使用接收器均衡(receiver equalization)來滿足系統時序(timing)和電壓(voltage)邊界(margins)。對於較長線纜和通道,(眼圖的)眼睛在Rx端是閉合的,因此如果不先應用均衡函數的話就沒有有意義的(眼圖的)眼睛。Rx均衡器(Rx equalizer)可能被要求使用Rx EQ訓練周期來適配不同的通道損耗(channel losses)。確切的Rx均衡器(Rx equalizer)和訓練方法是特定於具體實現的。
用於開發本規范的連續時間線性均衡器【continuous time linear equalizer (CTLE)】等式是下面描述的兼容性Rx EQ傳輸函數(compliance Rx EQ transfer function)。
6.8.3 接收器電氣參數(Receiver Electrical Parameters)
強制性規范(Normative specifications)應在連接器處測試。峰值(p)以及峰峰值(p-p)定義於第6.6.2節。
表6-14中的值只是參考性的(informative),不是標准要求的(normative)。它們被包含在本文檔中,以提供一些對於表6-13中關於接收器設計和開發的標准要求之外的引導。接收器可以完全兼容與本規范的標准要求,卻不滿足這個表中的所有值(其中許多在完成的產品中都是不可測量的)。類似的,滿足這個表中所有值的接收器也不能保證就完全兼容與本規范的標准部分。
6.8.4 接收器回環(Receiver Loopback)
第7章描述接收器回環(receiver loopback)的進入和退出過程。收器回環(receiver loopback)必須被重新定時(retimed)。在回環模式,從Rx放大器到發送器的直接連接是不允許的。接收器必須繼續恰當地處理SKPs。為了合適的時鍾容忍補償(clock tolerance compensation),SKP符號必須按照要求被消耗或者插入。時鍾容忍緩沖(clock tolerance buffers)運行過度或者不足(Over runs or under runs)都會重置緩沖到中間位置(neutral position)。在回環期間,接收器必須處理比特誤差率測試【Bit Error Rate Test (BERT)】命令。回環必須在10-bit域(10-bit domain)發生。不允許錯誤校正(error correction)。所有的符號(除了SKP和BERT命令之外),都必須被按照接收到的樣子被發送(transmitted as received)。
6.8.4.1 回環BERT(Loopback BERT)
在回環期間,接收器處理BERT有續集(ordered sets)BRST(測試復位), BDAT(開始測試數據), 以及BERC(誤碼查詢)。這些有續集(ordered sets)在表6-15到表6-18中被描述。BRST和BDAT如接收到一樣被回環。BERC有續集不是被回環,而是被用BCNT有續集替換。任何時間一旦收到一個BRST,錯誤計數寄存器EC就被設為0,且加擾LFSR(scrambling LFSR)被設為0FFFFh。任何個數的連續BRST有續集都可能被收到。
BRST(后面緊跟BDAT)啟動比特誤差率測試(bit error rate test)。BDAT序列是加擾器(scrambler)的輸出,等效於邏輯空閑序列。它由如附錄B中所描述的被加擾的0(scrambled 0)組成。如附錄B所列出的,該序列的最先16個字符被重新印於此處:
接收器必須將接收到的數據與BDAT序列比較。錯誤將使得錯誤計數寄存器(EC)增加1。EC可以不翻轉(如果滿足翻轉條件的話),但是必須被保持在FFh。LFSR除了SKPs之外,對每個字符都要做步進(advanced)。
LFSR在216-1個符號后翻轉。為了時鍾容忍補償(clock tolerance compensation),必須在必要時插入或者刪除SKPs。
BERC命令不會使錯誤計數寄存器增加。LFSR會被步進。BERC有續集被BCNT有續集替換。BCNT有續集包含基於運行不均等性(running disparity)的未加擾(non-scrambled)8b/10b編碼的錯誤計數(EC)寄存器。在返回BCNT有續集之后,回環從端(loopback slave)應該繼續重復收到的符號。BERC可以被多次發送。EC寄存器不會被BERC有續集清除。
BERT繼續直到回環模式被如第7章描述的那樣終止。
回環模式BERT的錯誤計數寄存器以及相關的控制機制是可選的。沒有實現回環模式BERT的錯誤計數的設備將BERC不做修改地回環。
6.8.5 強制性接收器容忍兼容性測試(Normative Receiver Tolerance Compliance Test)
接收器容忍測試(receiver tolerance test)在兼容性參考通道上測試。模式生成器(pattern generator)會通過兼容性參考通道發送一個附加有抖動的兼容性模式給接收器。接收器會回環(loop back)數據,且從模式生成器(pattern generator)和返回的數據間的任何差異(any difference)都會是一個錯誤。在運行兼容性測試時,接收器應該被置於回環模式(loopback mode)。
更多的關於接收器兼容性測試的詳情被包含在參考文檔USB SuperSpeed Compliance Methodology中。
6.9 低頻周期信號【Low Frequency Periodic Signaling (LFPS)】
低頻周期信號【Low frequency periodic signaling (LFPS)】被用於處於低功耗鏈路狀態的鏈路的兩個端口之間進行邊帶通信(side band communication)。它也被在鏈路處於訓練時,或者下游端口發送熱重啟(Warm Reset)去重置鏈路時。
6.9.1 LFPS 信號定義(LFPS Signal Definition)
表6-20定義了LFPS在發送器端的規范。圖6-20顯示了一個示例差分LFPS波形。tPeriod是LFPS循環的周期。LFPS突發(LFPS burst)是在tBurst定義的時間內連續傳送LFPS信號。LFPS序列(LFPS sequence)定義為在一段定義為tRepeat的時間內發送時間長度為tBurst的單個LFPS突發。鏈路在緊鄰的(contiguous)LFPS突發之間處於電氣空閑(electrical idle)。LFPS消息(LFPS message)基於tBurst的變化(variation of tBurst)進行編碼。tRepeat定義為下一個LFPS消息(LFPS message)被傳送的時間間隔。LFPS消息(LFPS messages)包含如表6-21定義的Polling.LFPS和Ping.LFPS。還有為U1/U2,以及Loopback exit,U3 wakeup和Warm Reset定義的LFPS信號。
LFPS信號的詳細使用在后面幾節和第7章指定。
---------------------------------------------------------------------------------------------------------------------
實現注記(IMPLEMENTATION NOTE)
檢測並區分對於處於U1或者U2的下游端口的Ping.LFPS以及 U1 LFPS Exit信號
當下游端口處於U1時,它可能從其鏈路伙伴接收到Ping.LFPS消息來通知其存在,或者接收到U1 LFPS exit信號來告知其鏈路伙伴正嘗試從U1退出。這在下游端口處於U2時也會發生,因為存在這樣的情形,當下游端口因U2不活動定時器超時而從U1進入U2時,其鏈路伙伴仍然還處於U1。
一旦檢測到由於接收到LFPS而打破電氣空閑時,下游端口可以啟動一個定時器來測量LFPS信號的長度(duration)。如果電氣空閑情形在定時器300 ns過期時沒有發生,下游端口可以申明所接收到的LFPS信號是U1 exit,並通過發送U1 LFPS exit handshake信號來響應該U1 exit。如果在定時器到達300 ns之前檢測到了電氣空閑,下游端口可以申明所接收到的LFPS信號是Ping.LFPS。
---------------------------------------------------------------------------------------------------------------------
6.9.2 U1/U2 Exit, Loopback Exit, 以及U3 Wakeup的LFPS握手示例
除了表6-22中定義的超時值之外,用於U1/U2 exit, Loopback exit, 以及U3 wakeup的LFPS信號定義與連續LFPS信號相同。對U1/U2 exit以及U3 wakeup的握手過程示於圖6-21中。對於U1 exit, U2 exit, Loopback exit, 以及U3 wakeup的時序要求是不同的。它們被列於表6-22中。
注意:圖6-21中的時序圖僅僅是用於說明LFPS握手過程。
握手過程如下:
• 鏈路伙伴1通過在t10傳送LFPS而發起退出(見圖6-21)。LFPS的傳送一直持續到握手被申明要么成功或者失敗為止。
- 鏈路伙伴2在接收器檢測到有效的LFPS,並在時間t11傳送LFPS作出響應。LFPS的傳送一直持續到握手被申明要么成功或者失敗為止。
• 如果在t10后的"tNoLFPSResponseTimeout"時間內下面的條件被滿足,則對鏈路伙伴1申明成功的握手(見圖6-21和表6-22):
1. 從鏈路伙伴2接收到有效的LFPS。
2. 對於U1 exit, U2 exit, U3 Wakeup且不是Loopback exit,鏈路伙伴1准備好傳送訓練序列,且在LFPS發送器停止傳送之后,以及超高速發送器開始傳送之前,最大時間空隙是20ns。
注意:對於超高速發送器和接收器沒有近端串擾【Near End Cross Talk (NEXT)】規范。因此,當端口進入恢復(Recovery)並開始傳送TS1有續集而其鏈路伙伴在成功LFPS握手后處於空閑,由於NEXT,端口潛在地可以使用自己的TS1有續集來訓練其接收器。添加第二個退出條件的意圖是為了防止端口在轉換到恢復(Recovery)之前進入電氣空閑(electrical idle)。
• 如果在t11后的"tNoLFPSResponseTimeout"時間內下面的條件被滿足,則對鏈路伙伴2申明成功的握手:
1. 鏈路伙伴2已經傳送了在表6-22中定義的最小LFPS,即 (t13 – t11)。
2. 對於U1 exit, U2 exit, U3 Wakeup且不是Loopback exit,鏈路伙伴2准備好傳送訓練序列,且在LFPS發送器停止傳送之后,以及超高速發送器開始傳送之前,最大時間空隙是20ns。
• 如果成功握手的條件沒有被滿足,則應該申明響應的U1 exit, U2 exit, Loopback exit, 以及U3 wakeup握手失敗。
- 如果成功握手的條件沒有被滿足,鏈路伙伴1應該申明一個失敗的握手。
- 如果成功握手的條件沒有被滿足,鏈路伙伴2應該申明一個失敗的握手。
注意:除了Ping.LFPS,當處於Ux或者Loopback.Active的上游端口接收到一個LFPS信號時,它應該繼續進行U1/U2 exit, 或者U3 wakeup, 或者Loopback exit握手,即使該LFPS后來被判定為一個Warm Reset。如果該LFPS就是一個Warm Reset,如果一個上游端口處於Ux,將進入恢復(Recovery),並最后超時進入SS.Inactive;或者(如果一個上游端口)處於Loopback Active,則會進入Rx.Detect並接着轉換到Polling.LFPS。當檢測到Warm Reset,上游端口會進入Rx.Detect。
6.9.3 Warm Reset
一個Warm Reset是一個僅由下游端口(downstream port)向一個上游端口(upstream port)生成的復位(reset)信號。下游端口可以在除了SS.Disabled之外的任何鏈路狀態下發起一個Warm Reset。上游端口被要求要能夠在除了SS.Disabled之外的任何鏈路狀態下檢測到Warm Reset。
一個Warm Reset共享相同的連續LFPS信號,將其作為低功耗鏈路狀態退出握手(low power Link state exit handshake)信號。為了使得一個上游端口能夠區分開這兩個信號,Warm Reset的tBurst被擴展了,正如表6-20所定義的。
Warm Reset的有效(assertion)在下游端口和上游端口之間是異步的(asynchronous),因為必須要一段時間讓上游端口申明檢測到了Warm Reset。然而,Warm Reset在下游端口和上游端口之間的無效(de-assertion)必須是同步的。圖6-22顯示了當一個端口處於U3時, Warm Reset的時序圖的生成和檢測。一旦一個Warm Reset被下游端口發送,就至少需要tResetDelay來使得一個上游端口來申明檢測到了Warm Reset。一旦檢測到Warm Reset,上游端口必須繼續使Warm Reset有效,直到不再從下游端口接收到任何LFPS信號。
• 一個上游端口應該在tResetDelay時間內申明檢測到Warm Reset。tResetDelay 最小應該是18 ms;tResetDelay 最大應該是50 ms 。
6.10 發送器和接收器DC規范
6.10.1 參考性ESD保護(Informative ESD Protection)
所有的信號和電源管腳必須能忍受(withstand)使用依據JEDEC JESE22-A114-A的Class 2的ESD 2000 V人體模型,以及使用依據JEDEC JESD22-C101D的CLASS III的充滿電的ESD 500 V設備模型的,而不造成破壞(damage)【已勘誤】。這個ESD保護機制也幫助保護電源關閉的接收器(powered down Receiver),以免在某些可能的復位(reset)和意外插入(surprise insertion)條件下出現潛在的共模瞬變(potential common mode transients)。
6.10.2 參考性短路要求(Informative Short Circuit Requirements)
所有的發送器(Transmitters)和接收器(Receivers)都必須支持意外熱插入/拔出而不造成對元件的破換。發送器(Transmitters)和接收器(Receivers)必須能夠容忍Txp (Rxp) 以及 Txn (Rxn)到地的持續(sustained)短路電流。
6.10.3 強制性高阻抗反射(Normative High Impedance Reflections)
在異步復位事件(asynchronous reset event)期間,一個設備可能在另一個設備正在傳輸時被復位。被復位的設備被要求斷開接收器終端阻抗(disconnect the receiver termination)。在此期間,被復位的設備可能正在接收活躍的數據。由於數據沒有被終結,進入接收器的差分電壓(differential voltage)將會翻倍(doubled)。對於一個短通道,接收器可能經受總共2* VDIFF。
接收器必須容忍這一在Rx終端阻抗被斷開時的負電壓(doubling of the negative voltage)的翻倍(doubling)的情形。元件(part)必須承受在其終生的時間內(over the life time)終端阻抗被斷開10,000次,且每次時長20 ms的接收器輸入端電壓翻倍的事件。
6.11 接收器檢測(Receiver Detection)
6.11.1 Rx檢測概覽(Rx Detect Overview)
接收器檢測電路(Receiver Detection circuit)是作為發送器(Transmitter)的一部分實現的,且必須正確檢測出是否存在與直流阻抗RRX-DC (表6-13)相等效的負載阻抗(load impedance)。 Rx檢測(Rx detection)是基於電路的RC時間常量(RC time constant)的原理操作的。這一時間常量根據是否存在接收器終端阻抗而改變。這在圖6-23中作出了概念性的說明。在此圖中,R_Detect是特定於具體實現的充電電阻(charging resistor)。C_AC是AC電容,它只有當R_Term存在時才在電路中存在,否則,只有C_Parasitic存在。
圖6-23的左側顯示了沒有終端阻抗存在的接收器檢測電路(Receiver Detection circuit)。圖的右側是具有終端阻抗的相同電路。檢測電壓轉換必須是共模的(common mode)。檢測電壓轉換必須遵循表6-10中所描述的VTX_RCV_DETECT。接收器檢測序列(receiver detect sequence)必須只能處於正共模方向(positive common mode direction)。負向的接收器檢測是不被允許的。
6.11.2 Rx檢測序列(Rx Detect Sequence)
建議的接收器檢測序列(Receiver Detection sequence)如下:
1. 在檢測共模漂移(detect common mode shift)之前發送器必須開始一個穩定的電壓。
2. 發送器(Transmitter)改變Txp和Txn上的共模電壓,與接收器高阻抗(由表6-13中列出的參數ZRX -HIGH-IMP-DC-POS所限制)的檢測一致。
3. 接收器的檢測基於信號線改變到新電壓的速率(A Receiver is detected based on the rate that the lines change to the new voltage)。
• 如果發送器一端的電壓(voltage at the Transmitter)的充電速率只由(dictated only by)發送器阻抗(Transmitter impedance),互連容抗(capacitance of the interconnect)以及序列電容(series capacitor)所決定,則接收器(Receiver)就不存在。
• 如果發送器一端的電壓(voltage at the Transmitter)的充電速率由(dictated by)發送器阻抗(Transmitter impedance),序列電容(series capacitor), 互連容抗(capacitance of the interconnect)以及接收器終端阻抗(Receiver termination)所決定,則接收器(Receiver)就存在。
每當電氣空閑(Electrical Idle)退出時,檢測序列不一定都要運行,或者可以被中止。在設備連接(Device connect)過程中,設備接收器(Device receiver)都必須保證當電源平面層(power plane)還正在穩定時,它總是處於高阻抗(high impedance)狀態。這是必須的,以防止主機(Host)錯誤檢測設備(Device)並在設備准備好之前開始訓練序列。類似的,一個被禁用的端口(disabled port)必須保持其接收器終端阻抗(receiver termination)處於高阻抗(high impedance)(這由參數ZRX -HIGH-IMP-DCPOS所限制),直到被高層引導(directed)從被禁用狀態(Disabled state)退出。相反地,處於U1/U2/U3電氣空閑(Electrical Idle)的端口必須將其接收器終端阻抗打開(Receiver Termination turned on),並滿足RRX-DC規范。
6.11.3 通道容抗的上限(Upper Limit on Channel Capacitance)
由接收器檢測電路(Receiver Detection circuit)所見的到地的互連總容抗(interconnect total capacitance)必須不超過3nF(到地),包括附着的測試儀器所添加的容抗。這一限制的需要是因為要保證在接收器檢測(Receiver detect)期間的恰當操作。注意這個容抗是獨立的,並區分於(distinct)AC耦合容抗值(AC coupling capacitance value)。