USB2.0 信號分析技巧
USB有熱插拔的特性,當(dāng)USB裝置插入主機時,主機會偵測到,并且軟件會對其作規(guī)劃,即插即用。USB的連接線供應(yīng)裝置電源,可提供DC +5V的電壓,電流供應(yīng)約100mA~500mA。USB的連接線共有四條,其中兩條是電源與地線,另兩條是訊號線,分別是D+與D-。一般情況兩條線的訊號是相反的,若其中一條的訊號為High,則另一條的訊號就為Low。如此的差動訊號能提升訊號抗噪聲抗干擾的能力,USB就是利用D+ D-兩條訊號線的差動訊號,來達成高速傳輸?shù)哪康摹?/p>本文引用地址:http://cafeforensic.com/article/127891.htm
USB主機端在沒有裝置連接時,D+ D-上會有一個1.5K奧姆的電阻接地,確保這兩條線是在接地狀態(tài)??芍С种?27個地址,也就是說,一個USB系統(tǒng)最多支持127個裝置,主機會周期性的探詢每個集線器以便得知裝置的連接狀態(tài)。以USB2.0而言,分為低速、全速及高速三個模式。低速傳輸率為 1.5Mb/s ,全速為 12Mb/s,高速為480Mb/s。高速模式時,每個bit的寬度約2.08ns。
USB包簡介
包是組成USB傳輸?shù)淖钚挝?。一個Transaction通常由三個包組成,但依傳輸型態(tài)而定,一個Transaction可能包含一個、兩個、三個包。
Token 包 :每個Transaction以Token 包做起始,Token 包定義裝置、Endpoint數(shù)量,傳輸?shù)姆较颉F渲蠸OF (Start Of Frame) Token包含目前的frame數(shù),而且會廣播 (broadcast) 給所有的full-speed裝置知道。SOF也是唯一一個不指定目標(biāo)的Token。Token Packet 長度固定為4個Byte。
Data 包 :Data包包含處理此動作的數(shù)據(jù),一個Transaction中,Data包最大的資料量為1023個Bytes,高速模式時可達1024個Bytes以上,其中Data0及Data1是兩個基本的數(shù)據(jù)包,這些數(shù)據(jù)包都是接續(xù)在Address之后,且Data0及Data1采取交互出現(xiàn)方式以達到同步與除錯的效果;另外在USB2.0當(dāng)中更增加了Data2及MData數(shù)據(jù)包,用于執(zhí)行高速的實時傳輸(Isochronous Transfers)。
Handshake包:除了實時型傳輸(Isochronous)之外,所有的傳輸都保證數(shù)據(jù)的傳遞正確。Handshake包響應(yīng)資料是否正確的被收到。若執(zhí)行處理動作中發(fā)生錯誤,此處理動作將重新執(zhí)行。
包格式
包是執(zhí)行所有處理動作的機制。圖2是USB包的基本格式。包緊跟在同步序列(Synchronization sequence,SYNC) 之后,使USB裝置能跟包中的位速率同步。包的類型由一個包 ID來定義。包ID之后是隨著包Type而定義的信息,如Address或Data。最后,每個包以一個CRC (Cyclic Redundancy Check)做結(jié)尾。CRC是用來確認(rèn)數(shù)據(jù)是否正確的傳輸。每個包始使用EOP (End Of Paekct) 狀態(tài)來做辨識。
同步序列
圖3是同步序列的波形。同步序列由八個bit組成,數(shù)值是二進制的00000001,依照NRZI編碼原理,數(shù)據(jù)0代表訊號要轉(zhuǎn)換,所以前七個0之中的每個Bit都會在相對應(yīng)的Bit時間中轉(zhuǎn)換,作用就好像提供了一組可用來同步的Clock。
模擬信號相關(guān)文章:什么是模擬信號
評論