USB chirp信号测试
1 信號及原理分析
1.1 KJ信號說明
USBchirp信號分為K信號和J信號。根據USB速率將chirp信號做如下區別:
| USB速率 | Chirp | DP | DM | 空閑狀態 |
| Low Speed | K | 1 | 0 | K |
| J | 0 | 1 | ||
| Full Speed | K | 0 | 1 | J |
| J | 1 | 0 | ||
| High Speed | K | 0 | 1 | SE0 |
| J | 1 | 0 | ||
| SE0 | 0 | 0 |
1.2 USB全速高速識別過程分析
?
根據規范,全速(FullSpeed)和低速(LowSpeed)很好區分。因為在設備端有一個1.5k的上拉電阻,當設備插入hub或上電(固定線纜的USB設備)時,有上拉電阻的那根數據線就會被拉高,hub根據D+/D-上的電平判斷所掛載的是全速設備還是低速設備。
USB全速/低速識別相當簡單,但USB2.0,USB1.x就一對數據線,不能像全速/低速那樣僅依靠數據線上拉電阻位置就能識別USB第三種速度——高速。因此對于高速設備的識別就顯得稍微復雜些。
表1中圖3展示了一個高速設備連接到USB2.0的hub上的協商(negotiation)情形。
高速設備初始是以一個全速設備的身份出現的,即和全速設備一樣,D+線上有一個1.5k的上拉電阻。USB2.0的hub把它當作一個全速設備,之后,hub和設備通過一系列握手信號確認雙方的身份。在這里對速度的檢測是雙向的,比如高速的hub需要檢測所掛上來的設備是高速、全速還是低速,高速的設備需要檢測所連上的hub是USB2.0的還是1.x的,如果是前者,就進行一系列動作切到高速模式工作,如果是后者,就以全速模式工作。
hub檢測到有設備插入/上電時,向主機通報,主機發送Set_Port_Feature請求讓hub復位新插入的設備。設備復位操作是hub通過驅動數據線到復位狀態SE0(Single-ended0,即D+和D-全為低電平),并持續至少10ms。
高速設備看到復位信號后,通過內部的電流源向D-線持續灌大小為17.78mA電流。因為此時高速設備的1.5k上拉電阻還未撤銷,在hub端,全速/低速驅動器形成一個阻抗為45歐姆(Ohm)的終端電阻,2電阻并聯后仍是45歐姆左右的阻抗,所以在hub端看到一個約800mV的電壓(45歐姆*17.78mA),這就是ChirpK信號。ChirpK信號的持續時間是1ms~7ms。
在hub端,雖然下達了復位信號,并一直驅動著SE0,但USB2.0的高速接收器一直在檢測ChirpK信號,如果沒有ChirpK信號看到,就繼續復位操作,直到復位結束,之后就在全速模式下操作。如果只是一個全速的hub,不支持高速操作,那么該hub不理會設備發送的ChirpK信號,之后設備也不會切換到高速模式。
設備發送的ChirpK信號結束后100us內,hub必須開始回復一連串的KJKJKJ....序列,向設備表明這是一個USB2.0的hub。這里的KJ序列是連續的,中間不能間斷,而且每個K或J的持續時間在40us~60us之間。KJ序列停止后的100~500us內結束復位操作。hub發送ChirpKJ序列的方式和設備一樣,通過電流源向差分數據線交替灌17.78mA的電流實現。
再回到設備端來。設備檢測到6個hub發出的Chirp?信號后(3對KJ序列),它必須在500us內切換到高速模式。切換動作有:
1.斷開1.5k的上拉電阻;
2.連接D+/D-上的高速終端電阻(high-speedtermination),實際上就是全速/低速差分驅動器;
3.進入默認的高速狀態。
執行1,2兩步后,USB信號線上看到的現象就發生變化了:hub發送出來的ChirpKJ序列幅值降到了原先的一半,400mV。這是因為設備端掛載新的終端電阻后,配上原先hub端的終端電阻,并聯后的阻抗是22.5歐姆。400mV就是由17.78mA*22.5Ohm得來。以后高速操作的信號幅值就是400mV而不像全速/低速那樣的3V。
至此,高速設備與USB2.0hub握手完畢,進行后續的480Mbps高速信號通信。
1.3信號測試及判斷注意事項
1.?????高速檢測握手協商是在主機發出復位(reset)信號期間,由設備發起的,由主機響應的過程;
2.?????主機使用SE0狀態reset設備之后需要使用高速握手協商(chirp handshake)才可以再次正常通信;
3.?????主機使用全速的idle狀態suspend設備之后需要通過resume過程使設備進入工作狀態,這個過程不需要高速握手協商;
4.?????全速/低速模式時主機resume設備的是通過保持K狀態20ms;高速下這20ms的K狀態以轉換成SE0狀態后結束,然后主機和設備在兩次低速位(2 low speed bit times)內必須保持在高速終端模式;
5.?????DEVICE_REMOTE_WAKEUP? feature,該特性用來在設備被掛起(suspend)后,主機可以使用resume信號來喚醒設備。該特性是主機使用SET_FEATURE和CLEAR_FEATURE請求對進行設置和清除的。
2 測試表格及結果分析
?(1)基于高速傳輸的電路
(2)高速同步模式
理論波形特征:
實測結果:
(3)高速速率協商
理論波形特征:
?
實測結果
?
如實測波形圖,上圖為整體波形,下圖為上圖紅圈的放大部分,可見,
1.??????模塊被退出idle(2.9V左右電平)模式1.5ms之后;
2.??????首先D-上發出持續2ms左右的chirp K信號(800mV電平);
3.??????主機回復chirp JK序列(800mV電平)
4.??????設備收到之后斷開1.5K上拉電阻,波形賦值降低一半(400mV電平);
上述第2步是設備通知主機自己是高速設備,第3步是主機響應設備的通知,第4步電平賦值減半表示協商成功,執行同步動作。
800mV和400mV電平正常,空閑狀態高電平2.9V左右(與理論不符)
?
4)主機復位設備--RESET
理論波形特征:
?
從圖序3可以看出,復位信號是正常的。
電平幅值較低
(5)主機掛起設備--SUSPEND
理論波形特征:
實測結果:
正常,高電平值2.8V左右
(6)主機喚醒設備--RESUME
如實測波形圖,上圖為整體波形,下圖為上圖紅圈的放大部分,可見,
總結
以上是生活随笔為你收集整理的USB chirp信号测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php修改session生存时间,修改s
- 下一篇: Java开源门户