當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀] 本文主要講述了計算機接口的基礎(chǔ)知識。詳細(xì)描述了串行口、并行口如何通過握手信號進(jìn)行通信,并介紹了USB的硬件和軟件結(jié)構(gòu)與數(shù)據(jù)傳輸?shù)姆绞?。在控制領(lǐng)域,想要對一個相對復(fù)雜的系統(tǒng)進(jìn)行有效控制,要在設(shè)備之間建立一個

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

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

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

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

圖1 并行口連接器

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

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

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

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

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

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

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

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

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

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

圖3 PS/2鼠標(biāo)接口

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

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

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

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

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

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

圖4 基于SMBus的CPU溫度監(jiān)控電路

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

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

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

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

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

從物理結(jié)構(gòu)上,USB系統(tǒng)是一個星形結(jié)構(gòu)。USB系統(tǒng)包含三類硬件設(shè)備: USB主機(USB HOST)、 USB設(shè)備(USB DEVICE)和USB集線器(USB HUB)。USB總線上的物理連接是一個分層的星形拓?fù)?,處于每個星形拓?fù)渲醒氲氖荋UB集線器,在主機與HUB之間,HUB與HUB之間,HUB與設(shè)備之間都是點對點的連接。

圖5 USB拓?fù)浣Y(jié)構(gòu)

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

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

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

圖6 USB軟件結(jié)構(gòu)

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

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

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉