1 USB總線電平標(biāo)準(zhǔn)
USB總線電平標(biāo)準(zhǔn)如下,下圖標(biāo)識了低速/全速、高速總線輸出特性的電平標(biāo)準(zhǔn)。
2 USB總線狀態(tài)
下圖顯示了USB低速和全速總線信號1、信號0、SE0狀態(tài)、SE1狀態(tài)、J狀態(tài)、K狀態(tài)、空閑IDLE狀態(tài)下D+、D-線分別對應(yīng)的電平信號范圍。
下圖顯示了USB高速總線信號1、信號0、J狀態(tài)、K狀態(tài)、Chirp J狀態(tài)、Chirp K狀態(tài)、空閑IDLE狀態(tài)下D+、D-線分別對應(yīng)的電平信號范圍。
注:由上面兩張圖可以總結(jié)出low speed和full/high spped J狀態(tài)/K狀態(tài)相反。
3 USB總線信號
USB總線信號有SOP信號、EOP信號、Reset信號、Suspend信號、Resume信號、SYNC信號、連接信號、斷開信號等。那么當(dāng)USB總線狀態(tài)發(fā)生怎樣的變化才會生成這些信號呢?我們在這里只討論低速/全速的總線信號,高速的略有差別,大家可以查閱usb_20.pdf進(jìn)行學(xué)習(xí)。
3.1.SOP信號
低速設(shè)備SOP信號:總線從IDLE狀態(tài)(J狀態(tài):差分0)切到K狀態(tài)(差分1),即可完成低速SOP信號的發(fā)送。
全速設(shè)備SOP信號:總線從IDLE狀態(tài)(J狀態(tài):差分1)切到K狀態(tài)(差分0),即可完成全速SOP信號的發(fā)送。
3.2.EOP信號
低速設(shè)備EOP信號:總線持續(xù)2位時間的SE0(單端0)狀態(tài),后跟隨1位時間的J狀態(tài)(差分0),即可完成低速EOP信號的發(fā)送。
全速設(shè)備EOP信號:總線持續(xù)2位時間的SE0(單端0)狀態(tài),后跟隨1位時間的J狀態(tài)(差分1),即可完成全速EOP信號的發(fā)送。
3.3.Reset信號
主機可以對USB設(shè)備進(jìn)行復(fù)位,主要是主機在和設(shè)備通訊之前會發(fā)送Reset信號把設(shè)備設(shè)置到默認(rèn)的未配置狀態(tài), 即主機拉低兩根信號線(SE0狀態(tài))并保持10ms。
3.4.Suspend信號
總線3ms以上的IDLE狀態(tài),則設(shè)備會認(rèn)為主機發(fā)起了一次掛起操作。
3.5.Resume信號
USB設(shè)備進(jìn)入掛起狀態(tài)之后,將由Resume信號進(jìn)行喚醒。Resume信號可以由USB主機發(fā)起,也可以由USB設(shè)備本身觸發(fā), 但是只有USB主機可以結(jié)束Resume信號。
- 主機在掛起設(shè)備后可通過翻轉(zhuǎn)數(shù)據(jù)線上的極性并保持20ms來喚醒設(shè)備,并以低速EOP信號結(jié)尾。
- 如果設(shè)備支持遠(yuǎn)程喚醒,設(shè)備可向主機發(fā)起遠(yuǎn)程喚醒請求,前提是設(shè)備已進(jìn)入idle狀態(tài)至少5ms,設(shè)備會驅(qū)動總線進(jìn)入K狀態(tài),如下圖,K狀態(tài)必須維持1ms-15ms之內(nèi),此信號會在1ms內(nèi)被主機接管,主機會繼續(xù)驅(qū)動喚醒信號直到20ms,并以低速EOP信號結(jié)尾。
3.6.SYNC信號
3個KJ狀態(tài)的切換,后跟隨2位時間的K狀態(tài),完成一次同步信號的發(fā)送。如下圖所示。
3.7.連接信號
當(dāng)主機檢測到 某一個數(shù)據(jù)線電平拉高保持了一段時間 ,就認(rèn)為有設(shè)備連接上來了。低速設(shè)備連接時,主機會檢測到D-線被拉高,全速/高速設(shè)備連接時,主機會檢測到D+線被拉高。
(1)低速設(shè)備連接檢測時序圖
(2)全速/高速設(shè)備連接檢測時序圖
TDCNN針對Hub不同的狀態(tài),時間是不同的,如下對應(yīng)表(見usb_20.pdf P186)。
Hub狀態(tài) | TDCNN |
---|---|
沒有被掛起 | 2.5us < TDCNN < 2000us |
被掛起 | 2.5us < TDCNN < 12000us |
3.8.斷開信號
沒有設(shè)備連接時或者設(shè)備斷開時,主機端D+、D-數(shù)據(jù)線上的下拉電阻起作用,使得二者都在低電平;當(dāng)?shù)碗娖匠掷m(xù)TDDIS時間就會被主機認(rèn)為是斷開狀態(tài)。如下圖,TDDIS在2到2.5us之間。
STM32 USB設(shè)備也可以對自身進(jìn)行復(fù)位,置位控制寄存器的FRES對USB模塊強制復(fù)位,此時USB模塊將一直保持在復(fù)位狀態(tài)下直到軟件清除此位。如果USB復(fù)位中斷被使能,將產(chǎn)生一個復(fù)位中斷。USB設(shè)備在上電后首先會強制對自己進(jìn)行復(fù)位,讓自己處于未配置狀態(tài)。
評論