0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于USB 2.0的數(shù)據(jù)傳輸方法的分析和介紹

立錡科技 ? 來源:djl ? 2019-10-10 09:02 ? 次閱讀

普通的消費(fèi)者使用USB設(shè)備的時(shí)候是不需要了解USB本身到底是怎么回事的,實(shí)際上,這樣的人對(duì)USB到底是怎么回事都是處于無知的狀態(tài)。無知,同時(shí)又享受著USB帶來的便利,這種無知其實(shí)是很幸福的。

對(duì)于工程師來說,無知就常常意味著無能。你沒有辦法在無知的情況下進(jìn)行思考,自然也沒有辦法開展相關(guān)的工作,要想把它變成安生立命的基礎(chǔ),或是僅僅滿足求知的欲望,那就唯有從了解開始學(xué)習(xí),使自己成為有知的狀態(tài),然后在遇到問題的時(shí)候就有了很好的思考基礎(chǔ),從而能夠展開思考并且確定自己應(yīng)該采取的行動(dòng),這樣才有可能從中獲得正面的結(jié)果。

USB的規(guī)范既要滿足已有應(yīng)用的需求,又要滿足不斷增加的帶寬要求,就從1.0版本發(fā)展到了3.0版本(雙向5Gbps),又在2013年進(jìn)入了3.1時(shí)代,最終把它的速度提升到了雙向10Gbps的水平。

雙向同時(shí)進(jìn)行的通訊是無法和USB 2.0以前的單一總線雙向輪流進(jìn)行的通訊方法兼容的,所以,USB 3.0以后的最大的變化并不是速度提高了,而是變成了雙總線的結(jié)構(gòu):

關(guān)于USB 2.0的數(shù)據(jù)傳輸方法的分析和介紹


為了持續(xù)兼容于過去的標(biāo)準(zhǔn),很顯然,USB 2.0的總線將持續(xù)存在下去,我想這種狀況將持續(xù)到低速設(shè)備消亡以后才會(huì)發(fā)生改變。所以,首先認(rèn)識(shí)USB 2.0的做法將具有比較長久的價(jià)值。我們今天關(guān)注的重點(diǎn)是USB 2.0以前版本的數(shù)據(jù)傳輸方法。

實(shí)際有效的數(shù)據(jù)傳輸大多是通過二進(jìn)制的數(shù)據(jù)表達(dá)方式來進(jìn)行的,由于二進(jìn)制數(shù)據(jù)的每個(gè)位只有兩個(gè)狀態(tài),其實(shí)現(xiàn)方法相對(duì)比較簡單。對(duì)于低速的數(shù)據(jù)傳輸來說,用高低不同的電壓信號(hào)就可以表達(dá)一個(gè)數(shù)據(jù)位的兩種狀態(tài),其驅(qū)動(dòng)電路和接收電路都非常簡單。但是,USB是用于不同設(shè)備之間的遠(yuǎn)距離傳輸?shù)?,在這種情況下,用電壓傳遞信號(hào)變得很不可靠,所以,它采用了電流傳遞信號(hào)的方法。下圖是USB 2.0規(guī)范中提供的收發(fā)器接口電路示意圖:

關(guān)于USB 2.0的數(shù)據(jù)傳輸方法的分析和介紹


一個(gè)典型的USB 2.0收發(fā)器就是由這樣的接口加上數(shù)據(jù)串并行轉(zhuǎn)換器、數(shù)據(jù)時(shí)鐘恢復(fù)電路以及一個(gè)ULPI(UTMI+ Low Pin Interface)接口和其它一些輔助電路構(gòu)成的。

為了在USB總線上傳遞信息驅(qū)動(dòng)器的內(nèi)部會(huì)有一個(gè)電流源(標(biāo)稱值為17.78mA),它被一個(gè)高速開關(guān)輪流切換引導(dǎo)至D+或D-。當(dāng)電流被引導(dǎo)至D+時(shí),它就對(duì)外表達(dá)了一個(gè)信號(hào)狀態(tài)J;如果電流被引導(dǎo)至D-,它對(duì)外表達(dá)的信號(hào)狀態(tài)是K。由J和K組成的信號(hào)序列來源于原始數(shù)據(jù),它們之間是通過不歸零反向編碼的方法來進(jìn)行轉(zhuǎn)換的:

關(guān)于USB 2.0的數(shù)據(jù)傳輸方法的分析和介紹


如上圖所示,以0和1組成的二進(jìn)制串行數(shù)據(jù)經(jīng)過NRZI編碼后形成的J/K序列送入前面圖中的LS/FS Driver或High Speed Current Driver,其輸出就呈現(xiàn)為總線上的連續(xù)不斷的數(shù)據(jù)流了。

如果要將電壓信號(hào)在傳輸線上進(jìn)行傳輸,由于傳輸線是有阻抗的,其信號(hào)幅度會(huì)隨著線路的延長而衰減,到了接收端,很可能信號(hào)幅度已經(jīng)變得不足以被檢出正確的數(shù)據(jù)了,而電流信號(hào)則不會(huì)有這個(gè)問題。當(dāng)然了,電流信號(hào)的傳輸也會(huì)受到線路阻抗的影響,其脈沖形狀也會(huì)發(fā)生變化,但相對(duì)來說就要更好些。
以我的直覺來看,除了傳輸?shù)目煽啃酝猓捎秒娏餍盘?hào)傳輸數(shù)據(jù)對(duì)于及時(shí)發(fā)現(xiàn)外設(shè)的接入和拔出非常有好處。由于發(fā)送器的輸出是電流源,當(dāng)沒有負(fù)載的時(shí)候,有電流輸出的端子就總是會(huì)處于高壓狀態(tài),而當(dāng)負(fù)載接入的時(shí)候,其電壓馬上就降低了,這是非常方便檢測(cè)電路的設(shè)計(jì)的。

要進(jìn)行通訊,收發(fā)兩端的同步是非常重要的。同步分為兩種,一種是數(shù)據(jù)位的同步,一種是數(shù)據(jù)包的同步。

位同步要求收發(fā)兩側(cè)要有同步運(yùn)作的時(shí)鐘,這個(gè)時(shí)鐘的信息是包含在NRZI編碼之中的。在數(shù)據(jù)與NRZI編碼的轉(zhuǎn)換過程中,一個(gè)為0的數(shù)據(jù)位將造成NRZI編碼的狀態(tài)發(fā)生變化,為1的數(shù)據(jù)位則不會(huì)。編碼發(fā)生變化的信息是很重要的,它正好對(duì)應(yīng)著信號(hào)發(fā)生變化的地方,接收端的數(shù)據(jù)時(shí)鐘恢復(fù)電路利用此信息將與發(fā)端同步的時(shí)鐘恢復(fù)出來,然后再延遲一點(diǎn)時(shí)間后讀入狀態(tài)信息,就可以得到與發(fā)端相同的J/K數(shù)據(jù)流,再經(jīng)過反向的NRZI編碼,原始數(shù)據(jù)就可以被恢復(fù)出來了。

由于NRZI編碼僅在數(shù)據(jù)為0的時(shí)候發(fā)生變化,如果長時(shí)間出現(xiàn)連續(xù)的1就會(huì)造成NRZI編碼持續(xù)處于一種狀態(tài),其中便沒有了時(shí)鐘信息,數(shù)據(jù)時(shí)鐘恢復(fù)電路的時(shí)鐘輸出就可能失去與發(fā)端的同步。為了避免這個(gè)問題的發(fā)生,USB規(guī)范規(guī)定:如果數(shù)據(jù)串中連續(xù)出現(xiàn)了6個(gè)1,其后就要插入一個(gè)為0的數(shù)據(jù)位。這樣就可使接收器在7個(gè)數(shù)據(jù)位的傳輸時(shí)間內(nèi)至少會(huì)看到一次編碼信號(hào)的狀態(tài)轉(zhuǎn)換,從而保證其時(shí)鐘恢復(fù)電路不至于丟掉同步狀態(tài)。當(dāng)然了,這些插入的數(shù)據(jù)需要在接收端再把它們消除掉以恢復(fù)原始數(shù)據(jù)。

一個(gè)含有多個(gè)連續(xù)1的原始數(shù)據(jù)包被插入0后再進(jìn)行編碼的過程如下圖所示,其中的Stuffed Bit箭頭所指的地方就是新插入的為0的數(shù)據(jù)位。

關(guān)于USB 2.0的數(shù)據(jù)傳輸方法的分析和介紹


上圖中標(biāo)識(shí)為Sync Pattern的信息被稱為同步模板,它們的作用是告訴收方后面的信息就是我要發(fā)送的數(shù)據(jù)包了,所以它們所起的作用就是數(shù)據(jù)包的同步。如果沒有包同步,收方就不會(huì)知道信息是從何時(shí)開始的,因而不能正確地理解收到的信息。

LS/FS通訊的數(shù)據(jù)包同步信號(hào)是由3個(gè)KJ序列緊接2個(gè)K狀態(tài)構(gòu)成的,如下圖所示:

關(guān)于USB 2.0的數(shù)據(jù)傳輸方法的分析和介紹


高速通訊的同步頭要長許多,它包含了15個(gè)KJ序列和緊接著的2個(gè)K狀態(tài),總共有32個(gè)信號(hào)周期。考慮到高速通訊的速度提高了幾十倍,32個(gè)信號(hào)周期其實(shí)并不算太長。

USB總線上需要傳遞的數(shù)據(jù)可以分為4種類型:用于控制的數(shù)據(jù),設(shè)備和主機(jī)之間的連接過程就需要傳輸這種數(shù)據(jù)(地址、端口編號(hào)等);批量數(shù)據(jù),主機(jī)與打印機(jī)、掃描儀之類的外設(shè)間的通訊以這類數(shù)據(jù)為主;中斷信息,這種信息的出現(xiàn)時(shí)間是不確定的,但又需要系統(tǒng)做出及時(shí)的響應(yīng),這與MCU應(yīng)用中的中斷信號(hào)很類似;同步數(shù)據(jù),它們?cè)跁r(shí)序上有嚴(yán)格的要求,而且需要按照一定的節(jié)奏進(jìn)行,一旦不同步,接收方的感覺就會(huì)很差,所以在傳輸時(shí)需要安排出足夠的帶寬與其配合,攝像頭、話筒等外設(shè)所拾取的信息用這種方式進(jìn)行傳輸就比較好。

USB屬于輪詢總線,所有的通訊都是在主機(jī)的控制下進(jìn)行的,外設(shè)只有在收到主機(jī)的詢問數(shù)據(jù)包時(shí)才可以進(jìn)行響應(yīng),告訴主機(jī)自己沒有數(shù)據(jù)或是把它要發(fā)送的數(shù)據(jù)打包發(fā)給主機(jī),主機(jī)在收到以后要進(jìn)行回應(yīng),至少它得說明收到的信息是否正確吧,所以一次正常的通訊至少會(huì)有三個(gè)數(shù)據(jù)包需要傳輸。

USB規(guī)范把一個(gè)主機(jī)應(yīng)用和一個(gè)設(shè)備之間的傳輸通道稱為管道,這種管道并不真實(shí)存在,屬于一種邏輯實(shí)體。由于應(yīng)用眾多,外設(shè)也很多,所以可以有很多管道同時(shí)存在,這有點(diǎn)像現(xiàn)實(shí)中的物流系統(tǒng)的樣子。當(dāng)我向京東下了一個(gè)訂單的時(shí)候,我和京東之間就建立起了一個(gè)管道,京東將通過此管道把貨物送到我指定的地方,這個(gè)管道直到我收到貨物、京東也收到確認(rèn)信息以后才會(huì)消失。當(dāng)我需要京東的后續(xù)服務(wù)如退貨、返修之類的需求時(shí),一條新的管道又會(huì)建立起來。而在我做這些事情的時(shí)候,也有其他人在和京東之間做著同樣的事情。這個(gè)物流系統(tǒng)與USB不一樣的地方是它不是輪詢式的,因?yàn)榫〇|不會(huì)主動(dòng)來詢問我要不要什么東西。但是,京東為了做成更多的業(yè)務(wù),它會(huì)想辦法吸引我多去它那里選擇商品,這又屬于廣告性質(zhì)了,這有點(diǎn)像USB主機(jī)在總線上發(fā)布廣播信息:“我要關(guān)機(jī)了,你們大家配合一下?!敝劣谕庠O(shè)會(huì)不會(huì)配合,那是另外一回事了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    總線數(shù)據(jù)傳輸的安全性分析

    總線數(shù)據(jù)傳輸的安全性分析,特別是針對(duì)像CAN(Controller Area Network)總線這樣的重要通信協(xié)議,是一個(gè)復(fù)雜而關(guān)鍵的課題。以下是對(duì)CAN總線數(shù)據(jù)傳輸安全性的分析
    的頭像 發(fā)表于 12-31 09:51 ?114次閱讀

    如何使用 HTTP 協(xié)議進(jìn)行數(shù)據(jù)傳輸

    在互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)傳輸是信息交換的基礎(chǔ)。HTTP協(xié)議作為最常用的數(shù)據(jù)傳輸協(xié)議之一,支撐著全球數(shù)十億用戶的數(shù)據(jù)交互。 HTTP協(xié)議的基本概念 請(qǐng)求-響應(yīng)模型 :HTTP協(xié)議基于請(qǐng)求-響應(yīng)模型,客戶端
    的頭像 發(fā)表于 12-30 09:24 ?298次閱讀

    ptp對(duì)實(shí)時(shí)數(shù)據(jù)傳輸的影響

    在現(xiàn)代通信技術(shù)中,點(diǎn)對(duì)點(diǎn)(P2P)網(wǎng)絡(luò)已經(jīng)成為數(shù)據(jù)傳輸的一種重要方式。P2P網(wǎng)絡(luò)允許網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)既可以作為客戶端也可以作為服務(wù)器,直接進(jìn)行數(shù)據(jù)交換。這種去中心化的網(wǎng)絡(luò)結(jié)構(gòu)對(duì)于實(shí)時(shí)數(shù)據(jù)傳輸有著深遠(yuǎn)
    的頭像 發(fā)表于 12-29 09:53 ?139次閱讀

    信噪比對(duì)數(shù)據(jù)傳輸速度的影響

    信噪比對(duì)數(shù)據(jù)傳輸速度有著顯著的影響。以下是對(duì)這一影響的分析: 一、信噪比的定義與重要性 信噪比(SNR)是信號(hào)功率與噪聲功率的比值,通常以分貝(dB)為單位表示。它是衡量信號(hào)質(zhì)量的重要參數(shù),直接影響
    的頭像 發(fā)表于 12-10 14:38 ?440次閱讀

    Micro USB接口數(shù)據(jù)傳輸速率分析

    Micro USB接口的數(shù)據(jù)傳輸速率分析,可以從以下幾個(gè)方面進(jìn)行: 一、Micro USB版本與傳輸速率 Micro
    的頭像 發(fā)表于 11-27 10:05 ?395次閱讀

    PCIe數(shù)據(jù)傳輸協(xié)議詳解

    、網(wǎng)卡和聲卡等,以實(shí)現(xiàn)高效的數(shù)據(jù)傳輸。以下是對(duì)PCIe數(shù)據(jù)傳輸協(xié)議的介紹: 一、PCIe協(xié)議的基本概念 PCIe協(xié)議定義了一系列規(guī)范和要求,以實(shí)現(xiàn)在主機(jī)系統(tǒng)和外圍設(shè)備之間高效、可靠地進(jìn)行數(shù)據(jù)
    的頭像 發(fā)表于 11-26 16:12 ?1131次閱讀

    LORA模塊的數(shù)據(jù)傳輸速率

    有所不同。以下是關(guān)于LoRa模塊數(shù)據(jù)傳輸速率的一些關(guān)鍵點(diǎn): 數(shù)據(jù)傳輸速率的可變性 : LoRa技術(shù)允許在不同的數(shù)據(jù)速率下操作,以適應(yīng)不同的應(yīng)用需求。速率可以從幾百比特每秒(bps)到幾
    的頭像 發(fā)表于 10-31 17:03 ?1007次閱讀

    是德萬用表USB 接口數(shù)據(jù)傳輸

    )接口是一種通用、高速、方便的接口標(biāo)準(zhǔn),它使得不同設(shè)備之間的數(shù)據(jù)傳輸變得簡單、快捷和高效。在本文中,我們將重點(diǎn)介紹是德萬用表的USB接口數(shù)據(jù)傳輸特性和應(yīng)用。 是德萬用表的
    的頭像 發(fā)表于 10-22 16:56 ?256次閱讀
    是德萬用表<b class='flag-5'>USB</b> 接口<b class='flag-5'>數(shù)據(jù)傳輸</b>

    網(wǎng)絡(luò)數(shù)據(jù)傳輸速率的單位是什么

    網(wǎng)絡(luò)數(shù)據(jù)傳輸速率的單位是 bps(bit per second) ,即比特每秒,也可以表示為b/s或bit/s。它表示的是每秒鐘傳輸的二進(jìn)制數(shù)的位數(shù)。比特(bit)是計(jì)算機(jī)中數(shù)據(jù)量的單位,也是信息論
    的頭像 發(fā)表于 10-12 10:20 ?1363次閱讀

    高速串行總線,數(shù)據(jù)傳輸離不開它!#高速串行總線 #電路知識(shí) #數(shù)據(jù)傳輸

    電路數(shù)據(jù)傳輸
    安泰儀器維修
    發(fā)布于 :2024年08月20日 15:42:00

    GMSL技術(shù) 實(shí)現(xiàn)高帶寬、低延遲和高可靠性數(shù)據(jù)傳輸# ADI# GMSL# 汽車# 數(shù)據(jù)傳輸

    adi數(shù)據(jù)傳輸電機(jī)
    Excelpoint世健
    發(fā)布于 :2024年05月17日 16:34:25

    通過iap的方式對(duì)stm32f405進(jìn)行升級(jí),usb dfu數(shù)據(jù)傳輸出錯(cuò)的原因?

    想通過iap的方式對(duì)stm32f405進(jìn)行升級(jí),用usb傳輸 dfu格式; 在數(shù)據(jù)傳輸過程中,發(fā)現(xiàn)源文件和傳到設(shè)備上的數(shù)據(jù)匹配不起來,有人遇到過嗎??求助?。。?! 是
    發(fā)表于 04-28 08:56

    請(qǐng)問NFC數(shù)據(jù)傳輸如何保證數(shù)據(jù)安全?

    NFC數(shù)據(jù)傳輸如何保證數(shù)據(jù)安全
    發(fā)表于 04-07 06:18

    ST25R3911B板的有數(shù)據(jù)傳輸功能的micro USB數(shù)據(jù)線是必須專用的,還是都可以用?

    ST25R3911B板的有數(shù)據(jù)傳輸功能的micro USB數(shù)據(jù)線是必須專用的,還是都可以(只要有數(shù)據(jù)傳輸功能的micro USB
    發(fā)表于 03-20 06:23

    DTU的多種協(xié)議,解鎖數(shù)據(jù)傳輸的無限可能

    。本文將詳細(xì)介紹DTU的多種協(xié)議,看看它們?nèi)绾螏椭覀兏玫赝瓿?b class='flag-5'>數(shù)據(jù)傳輸工作。1.Modbus協(xié)議:這是一種常用于工業(yè)領(lǐng)域的通信協(xié)議,被廣泛用于連接PLC、溫控器
    的頭像 發(fā)表于 03-01 11:00 ?835次閱讀
    DTU的多種協(xié)議,解鎖<b class='flag-5'>數(shù)據(jù)傳輸</b>的無限可能