USB入門系列之三 —— USB的電氣特性 收藏
標準的USB使用4根線:5V電源線(Vbus),差分數據線負(D-),差分數據線正(D+),地(Gnd)。在USB OTG中,又增長了一種mini接口,使用的是5根線,比標準的USB多了一根身份識別(ID)線。USB使用的是差分傳輸模式,有兩根數據線,分別是D+和D-。在USB的低速和全速模式中,採用的是電壓傳輸模式。而在高速模式下,則是電流傳輸模式。關於具體的高低電平門限值,請參看USB協議。爲了防止出現長時間的0或者1(這樣不利於時鐘信號的提取),在發送數據前要通過位填充處理。而後再將數據串行化,發送到數據線上,由兩根數據線的差分值來表示0或者1。而在接收端,則恰好是相反的過程。接收端採樣數據線,將數據並行化,並同時去掉未填充,而後解析數據。一般,咱們使用現成的USB芯片,像位填充,串行化這些芯片內部的硬件已經幫咱們作好了,所以一般咱們並不用關心這些細節。在設備接收數據時,芯片的串行接口引擎(SIE)會接收屬於本身地址的數據,並根據相應的端口號,放到相應的緩衝區內,並返回ACK給主機進行確認,而後產生中斷請求,通知咱們的程序,已經收到數據包了。在咱們還未處理完緩衝區的數據以前,若是再收到對該端點的輸出請求,USB芯片將會使用NAK返回,告訴主機端點如今忙,主機檢測到NAK後,過段時間會重試輸出數據,直到超時爲止;發送數據時,用戶將數據寫入USB芯片的緩衝區,並通知USB芯片緩衝區內數據可用,而後USB芯片檢測到主機請求對應的端點輸入時,它就會將數據返回,數據發送完畢並收到主機的ACK確認以後,產生中斷請求通知應用程序數據已經發送完畢。若是USB芯片已經收到了輸入請求,可是用戶程序還未填充好緩衝區,它也會用NAK返回,告訴主機數據還未準備好。主機收到NAK後,過段時間會重試,直到超時爲止。
在USB協議中規定,設備在未配置以前,能夠從Vbus上最多獲取100mA的電流;在配置以後,最多可從Vbus上獲取500mA的電流。Vbus是5V的電壓,具體的參數請參看USB協議。 .net
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/benny5609/archive/2008/03/18/2194753.aspxblog