freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于usb單片機(jī)與pc的串行通信(編輯修改稿)

2025-02-12 11:13 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 以看出每一段的連接都是點(diǎn)對(duì)點(diǎn)的。 USB的物理層USB的物理接口包括電氣特性和機(jī)械特性。USB通過(guò)一個(gè)四線(xiàn)電纜來(lái)傳輸信號(hào)與電源,如圖33所示。 圖33 USB電纜定義 其中,D+和D是一對(duì)差模的信號(hào)線(xiàn),而VBus和GND則提供了+5V的電源,它可以給一些設(shè)備(包括Hub)供電,但也要有一定的條件限制。USB提供了兩種數(shù)據(jù)傳輸率:一種是12Mb的高速(fullspeed)模式。這兩種模式可以同時(shí)存在于一個(gè)USB系統(tǒng)中。而引入低速模式,主要是為了降低要求不高的設(shè)備的成本,比如鼠標(biāo)、鍵盤(pán)等等。USB信號(hào)線(xiàn)在高速模式下必須使用帶有屏蔽的雙絞線(xiàn),而且最長(zhǎng)不能超過(guò)5m;而在低速模式時(shí)中可以使用不帶屏蔽或不是雙絞的線(xiàn),但最長(zhǎng)不能超過(guò)3m。這主要是由于信號(hào)衰減的限制。為了提供信號(hào)電壓保證,以及與終端負(fù)載相匹配,在電纜的每一端都使用了不平衡的終端負(fù)載。這種終端負(fù)載也保證了能夠檢測(cè)外設(shè)與端口的連接或分離,并且可以區(qū)分高速與低速設(shè)備。所有的設(shè)備都有上行的接口。上行和下行的接頭是不能互換的,這保證了不會(huì)有非法的連接出現(xiàn)。插頭與插座有A和B兩個(gè)系列,系列A用于基本固定的外圍設(shè)備,而系列B用于經(jīng)常拔插的設(shè)備,這兩個(gè)系列是不能互換的 。 USB總線(xiàn)協(xié)議所有總線(xiàn)操作都可以歸結(jié)為三種包的傳輸。任何操作都是從主機(jī)開(kāi)始的,主機(jī)以預(yù)先排好的時(shí)序,發(fā)出一個(gè)描述操作類(lèi)型、方向、外設(shè)地址以及端點(diǎn)號(hào)的包,我們稱(chēng)之為令牌包(Token Packet)。然后在令牌中指定的數(shù)據(jù)發(fā)送者發(fā)出一個(gè)數(shù)據(jù)包或者指出它沒(méi)有數(shù)據(jù)可以傳輸。而數(shù)據(jù)的目的地一般要以一個(gè)確認(rèn)包(Handshake Packet)來(lái)作出響應(yīng)以表明傳輸是否成功。1.域的類(lèi)型同步域(SYNC field):所有的包都起始于SYNC域,它被用于本地時(shí)鐘與輸入信號(hào)的同步,并且在長(zhǎng)度上定義為8位。SYNC的最后兩位作為一個(gè)記號(hào)表明PID域(標(biāo)識(shí)域)的開(kāi)始。標(biāo)識(shí)域(Packet Identifier Field):對(duì)于每個(gè)包,PID都是緊跟著SYNC的,PID指明了包的類(lèi)型及其格式。主機(jī)和所有的外設(shè)都必須對(duì)接收到的PID域進(jìn)行解碼。如果出現(xiàn)錯(cuò)誤或者解碼為未定義的值,那么這個(gè)包就會(huì)被接收者忽略。如果外設(shè)接收到一個(gè)PID,它所指明的操作類(lèi)型或者方向不被支持,外設(shè)將不作響應(yīng)。地址域(Address Field):外設(shè)端點(diǎn)都是由地址域指明的,它包括兩個(gè)子域:外設(shè)地址和外設(shè)端點(diǎn)。外設(shè)必須解讀這兩個(gè)域,其中若有任何一個(gè)不匹配,這個(gè)令牌就會(huì)被忽略。外設(shè)地址域(ADDR)指定了外設(shè),它根據(jù)PID所說(shuō)明的令牌的類(lèi)型,指明了外設(shè)是數(shù)據(jù)包的發(fā)送者或接收者。ADDR共6位,因此最多可以有127個(gè)地址。一旦外設(shè)被復(fù)位或上電,外設(shè)的地址被缺省為0,這時(shí)必須在主機(jī)枚舉過(guò)程中被賦予一個(gè)獨(dú)一的地址。而0地址只能用于缺省值而不能分配作一般的地址。端點(diǎn)域(ENDP)有4位,它使設(shè)備可以擁有幾個(gè)子通道。所有的設(shè)備必須支持一個(gè)控制端點(diǎn)0(endpoint0)。低速的設(shè)備最多支持2個(gè)端點(diǎn):0和一個(gè)附加端點(diǎn)。高速設(shè)備可以支持最多16個(gè)端點(diǎn)。幀號(hào)域(Frame Number Field):這是一個(gè)11位的域,指明了目前幀的排號(hào),每過(guò)一幀(1ms)這個(gè)域的值加1,到達(dá)最大值XFF后返回0。這個(gè)域只存在于每幀開(kāi)始時(shí)的SOF令牌中。數(shù)據(jù)域(Data Field):范圍是0~1023字節(jié),而且必須是整數(shù)個(gè)字節(jié)。CRC校驗(yàn):包括令牌校驗(yàn)和數(shù)據(jù)校驗(yàn)。2.包的類(lèi)型令牌包(Token Packed): 其中包括:IN(輸入)、OUT(輸出)、SETUP(設(shè)置)和SOF(Start of Frame,幀起始)四種類(lèi)型。其中IN、OUT、SETUP的格式如圖34所示。圖34 IN、OUT、SETUP數(shù)據(jù)格式對(duì)于OUT和SETUP來(lái)說(shuō),ADDR和ENDP中所指明的端點(diǎn)將接收到主機(jī)發(fā)出的數(shù)據(jù)包,而對(duì)IN來(lái)說(shuō),所指定的端點(diǎn)將輸出一個(gè)數(shù)據(jù)包。Token和SOF在三個(gè)字節(jié)的時(shí)間內(nèi)以一個(gè)EOP(End of Packet)結(jié)束。如果一個(gè)包被解碼為T(mén)oken包但是并沒(méi)有在3個(gè)字節(jié)時(shí)間內(nèi)以EOP結(jié)束,就會(huì)被看作非法包或該包被忽略。對(duì)于SOF包,它的格式如圖35所示。主機(jī)以一定的速率(1ms177。)發(fā)送SOF包,SOF不引起任何操作。圖35 SOF數(shù)據(jù)格式數(shù)據(jù)包:包括Data0和Data1兩種類(lèi)型。這兩種包的定義是為了支持?jǐn)?shù)據(jù)觸發(fā)同步。數(shù)據(jù)包包含了PID、DATA和CRC三個(gè)域,如圖36所示。圖36 DATA數(shù)據(jù)格式應(yīng)答包(Handshake Packet):僅包含一個(gè)如圖37所示的PID域。Handshake用來(lái)報(bào)告數(shù)據(jù)傳輸?shù)臓顟B(tài)。只有支持流控制的傳輸類(lèi)型(控制中斷和批傳輸)才能返回Handshake。圖37 PID數(shù)據(jù)格式Handshake包有三種類(lèi)型:(1)確認(rèn)包ACK:表明數(shù)據(jù)接收成功。(2)無(wú)效包NAK:指出設(shè)備暫時(shí)不能傳送或接收數(shù)據(jù),但無(wú)需主機(jī)介入,可以解釋成設(shè)備忙。(3)出錯(cuò)包STALL:指出設(shè)備不能傳送或接收數(shù)據(jù),但需要主機(jī)介入才能恢復(fù),NAK和STALL不能由主機(jī)發(fā)出。特殊包(Special):PID名稱(chēng)為PRE(preamble),用于低速操作的情形 。圖38 批操作流程批操作(bulk transaction):批操作包括令牌、數(shù)據(jù)、應(yīng)答三個(gè)階段,如圖38所示。對(duì)于輸入操作,如果設(shè)備不能返回?cái)?shù)據(jù),那么必須發(fā)出NAK或STALL包;對(duì)于輸出如果設(shè)備不能接收數(shù)據(jù),也要返回NAK或STALL。 圖39描述了批操作的讀寫(xiě)過(guò)程以及序列位(sequence bit)和數(shù)據(jù)包PID的使用。圖39批操作讀寫(xiě)過(guò)程控制操作(control transaction):主要包括兩個(gè)操作階段(transaction stage):設(shè)置和狀態(tài)。圖310給出了設(shè)置操作的細(xì)節(jié),如果數(shù)據(jù)沒(méi)有正確接收,那么設(shè)備就會(huì)忽略它,而且不返回應(yīng)答包。圖310 控制操作流程控制操作的詳細(xì)描述如圖311所示,其中我們要注意數(shù)據(jù)包PID的使用。圖311控制操作讀寫(xiě)過(guò)程中斷操作(interrupt transaction):中斷操作只有輸入這一個(gè)方向,具體格式與批操作的輸入情形如圖312所示。圖312中斷操作流程同步操作(isochronous transaction): 同步操作不同于其他類(lèi)型,如圖313所示,其只包含兩個(gè)階段:令牌和數(shù)據(jù)。因?yàn)橥絺鬏敳恢С种匕l(fā)的能力,所以沒(méi)有應(yīng)答階段。另外它也不支持?jǐn)?shù)據(jù)的觸發(fā)同步與重試。圖313同步操作流程USB提供了保證數(shù)據(jù)序列同步的機(jī)制,這一機(jī)制確保了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。這一同步過(guò)程是通過(guò)Data0和Data1的PID以及發(fā)送者與接收者上的數(shù)據(jù)觸發(fā)序列位(data toggle sequence bit)來(lái)實(shí)現(xiàn)的。接收者的序列位只有當(dāng)接收到一個(gè)正確的數(shù)據(jù)包時(shí)(包括正確的PID)才能被觸發(fā)。而發(fā)送者的序列位只有當(dāng)接收到確認(rèn)包ACK時(shí)才能被觸發(fā)。在總線(xiàn)傳輸?shù)拈_(kāi)始,發(fā)送者與接收者的序列位必須一致,這是由控制命令來(lái)實(shí)現(xiàn)的。同步傳輸方式不支持?jǐn)?shù)據(jù)觸發(fā)同步。圖31圖31圖316說(shuō)明了數(shù)據(jù)觸發(fā)同步的基本原理。圖314 數(shù)據(jù)觸發(fā)與同步一圖315數(shù)據(jù)觸發(fā)與同步二圖316數(shù)據(jù)觸發(fā)與同步三每次總線(xiàn)操作,接收者將發(fā)送者的序列位(被譯碼成數(shù)據(jù)包PID的一位,即Data0或Data1)與本身的相比較。如果數(shù)據(jù)不能接收,則必須發(fā)送NAK。如果數(shù)據(jù)可以被接收,并且兩者的序列位匹配,則該數(shù)據(jù)被接收并且發(fā)送ACK,同時(shí)接收者的序列位被觸發(fā)。如果數(shù)據(jù)可以被接收,但兩者的序列位不匹配,則接收者只發(fā)出ACK而不進(jìn)行其它操作。對(duì)于發(fā)送者來(lái)說(shuō),在接收到NAK時(shí)或在規(guī)定時(shí)間內(nèi)沒(méi)有接收到ACK,則將上一次的數(shù)據(jù)重發(fā)。5.低速操作Hub具有禁止高速信號(hào)進(jìn)入低速設(shè)備的能力,這既防止了電磁干擾的發(fā)生,又保護(hù)了低速設(shè)備。圖317是一次低速的輸入操作,主機(jī)發(fā)送令牌與應(yīng)答包并且接收了一個(gè)數(shù)據(jù)包。圖317 低速方式的輸入操作所有下行的低速傳輸?shù)陌?,必須先發(fā)送一個(gè)PRE包。Hub必須解釋PRE包,而所有其它的USB設(shè)備必須忽略這個(gè)包。主機(jī)在發(fā)送完P(guān)RE包后,必須等待至少4位的時(shí)間,而在這個(gè)期間,Hub完成必要的設(shè)置,使之能接收低速的信號(hào)。在接收到EOP信號(hào)之后,Hub關(guān)閉低速設(shè)備的端口。上行的操作則沒(méi)有上述的行為,低速與高速是一樣的。 低速操作還有其它的限制:(1)數(shù)據(jù)包最大限制為8個(gè)字節(jié)。(2)只支持中斷和控制傳輸方式。 USB具有檢查錯(cuò)誤的能力,并且可以根據(jù)傳輸類(lèi)型的要求進(jìn)行相應(yīng)的處理。例如,控制傳輸?shù)男枰芨叩臄?shù)據(jù)準(zhǔn)確度,因此支持所有錯(cuò)誤檢驗(yàn)與重試來(lái)實(shí)現(xiàn)端對(duì)端的數(shù)
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1