<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 計算機接口知識:串行口、并行口、USB接口是如何聯(lián)絡(luò )主機和外設的?

計算機接口知識:串行口、并行口、USB接口是如何聯(lián)絡(luò )主機和外設的?

作者: 時(shí)間:2016-10-16 來(lái)源:網(wǎng)絡(luò ) 收藏

本文主要講述了計算機接口的基礎知識。詳細描述了串行口、并行口如何通過(guò)握手信號進(jìn)行通信,并介紹了USB的硬件和軟件結構與數據傳輸的方式。

本文引用地址:http://dyxdggzs.com/article/201610/308069.htm

在控制領(lǐng)域,想要對一個(gè)相對復雜的系統進(jìn)行有效控制,要在設備之間建立一個(gè)相互聯(lián)絡(luò )和溝通的機制,計算機科學(xué)里稱(chēng)這種聯(lián)絡(luò )機制為“接口(Interface)”。譬如,當我們需要打印一份文件時(shí),首先主機需要與打印機之間要建立聯(lián)系,然后才能向打印機發(fā)送數據。那么,這是怎樣一個(gè)過(guò)程呢?

握手信號,聯(lián)系主機與外設的紐帶

計算機接口的主要功能就是使數據通過(guò)接口使之能夠在不同模塊或系統間自由流動(dòng),達到數據共享的目的。在過(guò)去很長(cháng)一個(gè)時(shí)期內,主機與打印機之間是通過(guò)并行口連接起來(lái)的,現在針式打印機仍然使用并行口,激光打印機和一部分噴墨打印機已經(jīng)采用USB接口了。先來(lái)看看并行口是怎樣進(jìn)行數據交換的。

圖1 并行口連接器

所謂并行口,是指數據在多條信號線(xiàn)上同時(shí)進(jìn)行傳送。標準的并行口為8位,也就是說(shuō)只有8條數據線(xiàn)。那么,標準的并行口為何定義了25個(gè)針腳呢?原來(lái),除了8根數據線(xiàn),還有一系列的命令線(xiàn)、狀態(tài)信號線(xiàn)和接地線(xiàn)(圖1)。其中的命令線(xiàn)由主機發(fā)往打印機,而狀態(tài)信號線(xiàn)則由打印機反饋給主機。命令線(xiàn)與狀態(tài)線(xiàn)之間往往是成對出現的——一條命令線(xiàn)對應一條狀態(tài)線(xiàn),彼此接頭的兩個(gè)信號則被形象地稱(chēng)作握手(Handshaking)信號。

表1 SPP模式下并行口信號定義

通過(guò)握手信號,主控端可獲得被控端的狀態(tài)信息,從而決定下一步做什么了。譬如,當用戶(hù)需要打印文件時(shí),會(huì )向打印機發(fā)出nSELECT命令,如果打印機電源已經(jīng)打開(kāi),則通過(guò)SELECT信號線(xiàn)傳回“在線(xiàn)”狀態(tài)信號。接下來(lái),主機向打印機傳輸nSTORBE信號,同時(shí)將存放數據的發(fā)送到數據線(xiàn)上,一旦BUSY信號為低電平,則執行數據傳輸。此時(shí),打印機輸出nACK信號,表示完成了一個(gè)字節的數據傳輸任務(wù),告訴主機可以開(kāi)始傳輸下一個(gè)字節了(圖2)。

圖2 并行口數據傳輸時(shí)序圖

如果在打印過(guò)程中紙張用完,打印機發(fā)出缺紙信號,主機收到這個(gè)信號后,會(huì )在顯示屏上顯示出對應的信息,以通知用戶(hù)放入紙張。有了這樣一個(gè)機制,機器之間便可以自動(dòng)地進(jìn)行各種工作。

采用同步通信建立聯(lián)系主機與外設的紐帶

握手信號的另一用途是對被控設備進(jìn)行故障診斷。譬如電腦在啟動(dòng)過(guò)程中會(huì )向打印機發(fā)出控制命令nINT讓打印機復位,如果應答信號nERROR為高電平,則說(shuō)明打印機功能正常,否則意味著(zhù)打印機出錯了。

握手信號是聯(lián)系主機與外設的紐帶,通過(guò)握手信號你來(lái)我往的過(guò)程,主機便可獲得外設必要信息,從而為數據傳輸做好準備。與并行口一樣,標準串行口RS-232C也提供了握手信號。

握手信號是聯(lián)系主機與外設的紐帶,主機通過(guò)握手信號獲得外設必要信息,為數據傳輸做好準備。那么,握手信號是不是在所有的計算機接口中都是必須的呢?回答是否定的。在鼠標和鍵盤(pán)使用PS/2接口中,就沒(méi)有握手信號。鍵盤(pán)和鼠標也需要跟主機之間進(jìn)行數據傳輸,沒(méi)有握手信號,這些設備又是怎樣與主機建立聯(lián)系的呢?

我們先考察一下PS/2鼠標端口(圖3)。PS/2端口用作鼠標接口時(shí),只用6個(gè)插針中的4個(gè),Pin1用于傳送數據,Pin3接地,Pin4向鼠標供電,Pin5為鼠標提供時(shí)鐘信號。與串行口、并行口相比,PS/2接口沒(méi)有握手信號,但是有時(shí)鐘信號,兩者的差別就在這里。

圖3 PS/2鼠標接口

難道說(shuō),時(shí)鐘信號能夠代替握手信號的一些功能嗎?也不可以這么說(shuō)。合理的解釋是,這是兩種完全不同的通信方式。并行口和串行口使用的通信方式稱(chēng)作“異步通信”,而PS/2接口則使用“同步通信”。

通信接口中是否使用時(shí)鐘信號是區別同步通信還是異步通信的標志,同步通信的雙方使用同一個(gè)時(shí)鐘,而異步通信中無(wú)須這么做。盡管如此,無(wú)論同步通信還是異步通信,通信雙方都必須相互協(xié)調,以一定的約定(協(xié)議)保持雙方同步,否則就會(huì )造成數據的錯誤與混亂。

在異步通信方式中,收發(fā)雙方取得同步的辦法是采用在字符格式中設置起始位和停止位。在一個(gè)有效字符正式發(fā)送前,先發(fā)送一個(gè)起始位,而在字符結束時(shí)再發(fā)送一個(gè)停止位。接收器不斷地檢測或監視線(xiàn)路上信號的變化,當檢測到有起始位時(shí),便知道緊隨其后的是有效字符位的到來(lái),這才開(kāi)始接收字符;當檢測到停止位時(shí),便停止接收。使用該方式進(jìn)行通信時(shí),發(fā)送器與接收器不需要相同的時(shí)鐘,所以稱(chēng)之為異步通信。

而在同步通信方式中,傳輸信息的每一位都必須在收發(fā)兩端嚴格保持同步,即所謂的“位同步”。因此,在同步通信中,收發(fā)兩端需要同一個(gè)時(shí)鐘源作為同步信號。

進(jìn)行同步傳送時(shí),發(fā)送端須先發(fā)送一個(gè)同步字符去通知接收端串行數據的第一位何時(shí)到達,接著(zhù)便以連續的形式發(fā)送信息,傳輸效率較高。而異步通信每傳送一個(gè)字符要增加大約20%的附加信息位,傳輸效率較低。

同步通信除了具有通信效率高的優(yōu)點(diǎn)之外,接口電路的結構也比較簡(jiǎn)單,而且更加易于管理。正因為如此,同步通信的應用也十分廣泛。SMBus(System Management Bus,系統管理總線(xiàn))就是一種同步通信接口,它只有兩根信號線(xiàn):一根雙向數據線(xiàn)和一根時(shí)鐘信號線(xiàn)。Windows中顯示的各種設備的制造商名稱(chēng)和型號等信息,都是通過(guò)SMBus總線(xiàn)收集的。

圖4 基于SMBus的CPU溫度監控電路

SMBus的數據傳輸率為100kbps,雖然速度較慢,卻以其結構簡(jiǎn)潔造價(jià)低廉的特點(diǎn),成為業(yè)界普遍歡迎的接口標準。主板監控系統中傳送各種傳感器的測量結果,以及BIOS向監控芯片發(fā)送命令,都是利用SMBus實(shí)現的。PCI插槽上也給SMBus預留了兩個(gè)引腳(A40為SMBus 時(shí)鐘線(xiàn),A41為SMBus 數據線(xiàn)),以便于PCI接口卡與主板設備之間交換信息。

USB接口是怎樣進(jìn)行通信的呢?

USB接口中既沒(méi)有握手信號,也沒(méi)有時(shí)鐘信號,它是怎樣進(jìn)行通信的呢?

我們已經(jīng)知道,傳統的串行口、并行口通過(guò)握手信號進(jìn)行通信,這些接口通常通過(guò)握手信號來(lái)聯(lián)絡(luò )主機和外設。我們也已經(jīng)知道,通信雙方可以同步或異步兩種方式進(jìn)行通信,兩者最大的區別是,同步通信接口中有時(shí)鐘信號線(xiàn)。

USB接口應用很廣??墒?,USB接口中既沒(méi)有握手信號,也沒(méi)有時(shí)鐘信號,它是怎樣在主機與外設之間建立聯(lián)系的呢?又是如何交換數據的呢?為了深入理解USB接口的通信過(guò)程,先介紹USB的硬件和軟件結構。

從物理結構上,USB系統是一個(gè)星形結構。USB系統包含三類(lèi)硬件設備: USB主機(USB HOST)、 USB設備(USB DEVICE)和USB集線(xiàn)器(USB HUB)。USB總線(xiàn)上的物理連接是一個(gè)分層的星形拓撲,處于每個(gè)星形拓撲中央的是HUB集線(xiàn)器,在主機與HUB之間,HUB與HUB之間,HUB與設備之間都是點(diǎn)對點(diǎn)的連接。

圖5 USB拓撲結構

USB HOST對USB系統進(jìn)行管理、每毫秒產(chǎn)生一幀數據、發(fā)送配置請求對USB設備進(jìn)行配置、管理和恢復總線(xiàn)上的錯誤。 USB HUB用于設備擴展連接,所有USB DEVICE都連接在USB HUB的端口上。USB DEVICE接收USB總線(xiàn)上的所有數據包,通過(guò)數據包的地址域來(lái)判斷是不是發(fā)給自己的數據包:若地址不符,則簡(jiǎn)單地丟棄該數據包;若地址相符,則通過(guò)響應USB HOST的數據包與USB HOST進(jìn)行數據傳輸。

從邏輯結構上看,每個(gè)USB邏輯設備都直接與USB HOST進(jìn)行數據傳輸。與傳統接口以硬件手段實(shí)現握手的方法不同,USB接口使用“軟握手”方法。

USB的軟握手機制是透過(guò)三個(gè)層次的驅動(dòng)程序實(shí)現的,在這中間起到關(guān)鍵作用的是設備驅動(dòng)程序,該程序在主機與設備之間建立起至少一個(gè)管道。管道有兩種類(lèi)型:流管道和消息管道。其中有一個(gè)最重要的消息管道是“缺省控制管道”,這個(gè)管道在設備一加電的時(shí)候就存在了,它提供設備的配置和狀態(tài)等信息。主機與設備之間的聯(lián)絡(luò )就是通過(guò)消息管道實(shí)現的。

圖6 USB軟件結構

協(xié)議棧驅動(dòng)程序的主要作用是將設備與相應的設備驅動(dòng)程序連接起來(lái)。因為USB支持的設備很多,而每個(gè)具體的設備都有自己對應的設備驅動(dòng)程序。對于某一具體設備來(lái)說(shuō),使用哪個(gè)驅動(dòng)來(lái)管理,就要由協(xié)議棧驅動(dòng)程序通過(guò)讀取設備描述符進(jìn)行挑選。選擇好驅動(dòng)程序之后,協(xié)議棧驅動(dòng)程序還要給USB設備分配地址。

管道建立起來(lái)之后,數據的傳輸控制則由USB接口驅動(dòng)程序負責完成了。在這里,主機占有絕對主導權,設備只能是“聽(tīng)命令行事”。設備發(fā)生事件時(shí)通過(guò)消息管道報告給主機,主機伺機向設備發(fā)送命令,開(kāi)通流管道,發(fā)送或接收數據包。主機與設備之間以數據數據包的形式進(jìn)行傳送,顯然這與網(wǎng)絡(luò )上數據傳輸的方式相同,是一種異步數據傳輸模式。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>