摘要:以形象生動(dòng)的比喻來(lái)描繪了總線(xiàn)技術(shù)的基本思想,指出了總線(xiàn)的基本分類(lèi)和總線(xiàn)傳輸的基本原理,以及在學(xué)習過(guò)程中應當掌握的最基本的知識,對初學(xué)者有起到拋磚引入的作用。
關(guān)鍵詞:總線(xiàn)技術(shù),基礎知識,學(xué)習探討
中圖文號:G714 文獻標識碼:A
0引言
如果一座只能容一個(gè)人來(lái)往的獨木橋,兩端的人都想要過(guò)橋,為了不擁擠、阻塞,那我們就得采取有效的辦法。比如規定某段時(shí)間哪端的人過(guò)橋,另一端的人就等著(zhù)該他過(guò)橋的時(shí)間段的到來(lái),同時(shí)也還可以規定人多時(shí)要按先來(lái)后到或年齡長(cháng)幼的次序過(guò)橋。在這不經(jīng)意間,我們就體會(huì )到了現代電子信息數據通過(guò)總線(xiàn)按時(shí)分系統傳輸的最原始的思想。
現代網(wǎng)絡(luò )信息的發(fā)展,特別是對于成本和空間而言,總線(xiàn)傳輸替代點(diǎn)對點(diǎn)傳輸是目前發(fā)展的熱點(diǎn),它的出現將給信息傳輸上提供了最大的方便和最有效的技術(shù)解決方案。假如一個(gè)微處理器與它的部件和外圍設備都分別用點(diǎn)對點(diǎn)的線(xiàn)路來(lái)連接通訊,則所有連線(xiàn)將會(huì )錯綜復雜,甚至難以實(shí)現。
目前與我們生活習習相關(guān)的一系列活動(dòng)都無(wú)不牽涉到總線(xiàn)技術(shù)的應用,如我們上英特網(wǎng)、給親戚朋友打電話(huà)、用U盤(pán)來(lái)存儲信息等。雖然流行的總線(xiàn)所采取的形式不同,但他們主要的原則性思想無(wú)非就是時(shí)分系統、頻分系統、相分系統和碼分系統等。常言道“兵來(lái)將擋,水來(lái)土淹”,面對種類(lèi)繁多的總線(xiàn),我們只有從基本原理出發(fā),從骨子里去了解它的實(shí)質(zhì),而不要被它形式多樣的外表所迷惑,才能熟練掌握和靈活運用眼下正在或將要用到的各種總線(xiàn)技術(shù)。
1總線(xiàn)的定義及分類(lèi)
1.1定義
總線(xiàn),英文叫作“BUS”,即我們中文的“公共車(chē)”,這是非常形象的比如,公共車(chē)走的路線(xiàn)是一定的,我們任何人都可以坐公共車(chē)去該條公共車(chē)路線(xiàn)的任意一個(gè)站點(diǎn)。如果把我們人比作是電子信號,這就是為什么英文叫它為“BUS”而不是“CAR”的真正用意。當然,從專(zhuān)業(yè)上來(lái)說(shuō),總線(xiàn)是一種描述電子信號傳輸線(xiàn)路的結構形式,是一類(lèi)信號線(xiàn)的集合,是子系統間傳輸信息的公共通道[1]。通過(guò)總線(xiàn)能使整個(gè)系統內各部件之間的信息進(jìn)行傳輸、交換、共享和邏輯控制等功能。如在計算機系統中,它是CPU、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個(gè)部件通過(guò)主機相連接,外部設備通過(guò)相應的接口電路再于總線(xiàn)相連接。
1.2分類(lèi)
總線(xiàn)分類(lèi)的方式有很多,如被分為外部和內部總線(xiàn)、系統總線(xiàn)和非系統總線(xiàn)等等,下面是幾種最常用的分類(lèi)方法[2]。
1.2.1按功能分
最常見(jiàn)的是從功能上來(lái)對數據總線(xiàn)進(jìn)行劃分,可以分為地址總線(xiàn)(address bus)、數據總線(xiàn)(data bus)和控制總線(xiàn)(control bus)。在有的系統中,數據總線(xiàn)和地址總線(xiàn)可以在地址鎖存器控制下被共享,也即復用。
地址總線(xiàn)是專(zhuān)門(mén)用來(lái)傳送地址的。在設計過(guò)程中,見(jiàn)得最多的應該是從CPU地址總線(xiàn)來(lái)選用外部存儲器的存儲地址。地址總線(xiàn)的位數往往決定了存儲器存儲空間的大小,比如地址總線(xiàn)為16位,則其最大可存儲空間為216(64KB)。
數據總線(xiàn)是用于傳送數據信息,它又有單向傳輸和雙向傳輸數據總線(xiàn)之分,雙向傳輸數據總線(xiàn)通常采用雙向三態(tài)形式的總線(xiàn)。數據總線(xiàn)的位數通常與微處理的字長(cháng)相一致。例如Intel 8086微處理器字長(cháng)16位,其數據總線(xiàn)寬度也是16位。在實(shí)際工作中,數據總線(xiàn)上傳送的并不一定是完全意義上的數據。
控制總線(xiàn)是用于傳送控制信號和時(shí)序信號。如有時(shí)微處理器對外部存儲器進(jìn)行操作時(shí)要先通過(guò)控制總線(xiàn)發(fā)出讀/寫(xiě)信號、片選信號和讀入中斷響應信號等?刂瓶偩(xiàn)一般是雙向的,其傳送方向由具體控制信號而定,其位數也要根據系統的實(shí)際控制需要而定。
1.2.2按傳輸方式分
按照數據傳輸的方式劃分,總線(xiàn)可以被分為串行總線(xiàn)和并行總線(xiàn)。從原理來(lái)看,并行傳輸方式其實(shí)優(yōu)于串行傳輸方式,但其成本上會(huì )有所增加。通俗地講,并行傳輸的通路猶如一條多車(chē)道公路,而串行傳輸則是只允許一輛汽車(chē)通過(guò)單線(xiàn)公路。目前常見(jiàn)的串行總線(xiàn)有SPI、I2C、USB、IEEE1394、RS232、CAN等;而并行總線(xiàn)相對來(lái)說(shuō)種類(lèi)要少,常見(jiàn)的如IEEE1284、ISA、PCI等。
1.2.3按時(shí)鐘信號方式分
按照時(shí)鐘信號是否獨立,可以分為同步總線(xiàn)和異步總線(xiàn)。同步總線(xiàn)的時(shí)鐘信號獨立于數據,也就是說(shuō)要用一根單獨的線(xiàn)來(lái)作為時(shí)鐘信號線(xiàn);而異步總線(xiàn)的時(shí)鐘信號是從數據中提取出來(lái)的,通常利用數據信號的邊沿來(lái)作為時(shí)鐘同步信號。
2總線(xiàn)傳輸基本原理
依據前面對總線(xiàn)的定義可知總線(xiàn)的基本作用就是用來(lái)傳輸信號,為了各子系統的信息能有效及時(shí)的被傳送,為了不至于彼此間的信號相互干擾和避免物理空間上過(guò)于擁擠,其最好的辦法就是采用多路復用技術(shù)[3],也就是說(shuō)總線(xiàn)傳輸的基本原理就是多路復用技術(shù)。所謂多路復用就是指多個(gè)用戶(hù)共享公用信道的一種機制,目前最常見(jiàn)的主要有時(shí)分多路復用、頻分多路復用和碼分多路復用等。
2.1時(shí)分多路復用(TDMA)
時(shí)分復用是將信道按時(shí)間加以分割成多個(gè)時(shí)間段,不同來(lái)源的信號會(huì )要求在不同的時(shí)間段內得到響應,彼此信號的傳輸時(shí)間在時(shí)間坐標軸上是不會(huì )重疊。
2.2頻分多路復用(FDMA)
頻分復用就是把信道的可用頻帶劃分成若干互不交疊的頻段,每路信號經(jīng)過(guò)頻率調制后的頻譜占用其中的一個(gè)頻段,以此來(lái)實(shí)現多路不同頻率的信號在同一信道中傳輸。而當接收端接收到信號后將采用適當的帶通濾波器和頻率解調器等來(lái)恢復原來(lái)的信號。
2.3碼分多路復用(CDMA)
碼分多路復用是所被傳輸的信號都會(huì )有各自特定的標識碼或地址碼,接收端將會(huì )根據不同的標識碼或地址碼來(lái)區分公共信道上的傳輸信息,只有標識碼或地址碼完全一致的情況下傳輸信息才會(huì )被接收。
3總線(xiàn)的通信協(xié)議
對于總線(xiàn)的學(xué)習,了解其通訊協(xié)議是整個(gè)過(guò)程中最關(guān)鍵的一步,所有介紹總線(xiàn)技術(shù)的資料都會(huì )花很大的篇幅來(lái)描述其協(xié)議,特別是ISO/OSI的那七層定義。其實(shí)要了解一種總線(xiàn)的協(xié)議,最主要的就是去了解總線(xiàn)的幀數據每一位所代表的特性和意義,總線(xiàn)各節點(diǎn)間有效數據的收發(fā)都是通過(guò)各節點(diǎn)對幀數據位或段的判斷和確信來(lái)得以實(shí)現。

圖1
如圖1所示是常見(jiàn)的I2C總線(xiàn)上傳輸的一字節數據的數據幀,其總線(xiàn)形式是由數據線(xiàn)SDA和時(shí)鐘SCL構成的雙線(xiàn)制串行總線(xiàn),并接在總線(xiàn)上的電路模塊即可作為發(fā)送器(主機)又可作為接收器(從機)。幀數據中除了控制碼(包括從機標識碼和訪(fǎng)問(wèn)地址碼)與數據碼外還包括起始信號、結束信號和應答信號[4]。
起始信號:SCL為高電平時(shí),SDA由高電平向低電平跳變,開(kāi)始傳送數據。
控制碼:用來(lái)選澤操作目標與對象,即接通需要控制的電路,確定控制的種類(lèi)對象。在讀期間,也即SCL時(shí)鐘線(xiàn)處于時(shí)鐘脈沖高電平時(shí),SDA上的數據位不會(huì )跳變。
數據碼:是主機向從機發(fā)送的具體的有用的數據(如對比度、亮度等)和信息。在讀期間,SDA上的數據位不會(huì )跳變。
應答信號:接收方收到8bit數據后,向發(fā)送方發(fā)出特定的低電平。讀/寫(xiě)的方向與其它數據位正好相反,也即是由從機寫(xiě)出該低電平,主機來(lái)讀取該低電平。
結束信號:SCL為高電平時(shí),SDA由低電平向高電平跳變表示數據幀傳輸結束。
當然不同的總線(xiàn)其數據位或段的定義肯定不同,但依據同樣的原理可以更快的去了解它的協(xié)議的特性和特點(diǎn)。雖然其信息幀的大小不一,但具體的某一數據位或數據段都類(lèi)似于本文所提及的I2C總線(xiàn),會(huì )依據它的協(xié)議的要求來(lái)定義它所達標的意義和功能。
4主要技術(shù)指標
評價(jià)總線(xiàn)的主要技術(shù)指標是總線(xiàn)的帶寬(即傳輸速率)、數據位的寬度(位寬)、工作頻率和傳輸數據的可靠性、穩定性等。
4.1帶寬(傳輸速率)、位寬和工作頻率
總線(xiàn)的帶寬指的是單位時(shí)間內總線(xiàn)上傳送的數據量,即每鈔傳送MB的最大數據傳輸率?偩(xiàn)的位寬指的是總線(xiàn)能同時(shí)傳送的二進(jìn)制數據的位數,或數據總線(xiàn)的位數,即32位、64位等總線(xiàn)寬度的概念;總線(xiàn)的位寬越寬,數據傳輸速率越大,總線(xiàn)的帶寬就越寬?偩(xiàn)的工作時(shí)鐘頻率以MHz為單位,它與傳輸的介質(zhì)、信號的幅度大小和傳輸距離有關(guān)。在同樣硬件條件下,我們采用差分信號傳輸時(shí)的頻率常常會(huì )比單邊信號高得多,這是因為差分信號的的幅度只有單邊信號的一半而已。
總線(xiàn)的帶寬、位寬和工作頻率,這三者密切相關(guān),它們之間的關(guān)系:

4.2傳輸數據的可靠性
可靠性是評定總線(xiàn)最關(guān)鍵的參數,沒(méi)有可靠性,傳輸的數據都是錯誤的信息,便就失去了總線(xiàn)的實(shí)際意義。為了提高總線(xiàn)的可靠性,通常采用的措施有:
采用數據幀發(fā)送前發(fā)送器對總線(xiàn)進(jìn)行偵聽(tīng),只有偵聽(tīng)到總線(xiàn)處于空閑狀態(tài)下時(shí)才可向總線(xiàn)傳送數據幀,這樣避免了不同節點(diǎn)的數據沖突。
采用雙絞線(xiàn)差分信號來(lái)傳送數據,以降低單線(xiàn)的電壓升降幅度,減小信號的邊沿產(chǎn)生的高次諧波。
適當的讓數據的邊沿具有一定的斜坡。
增加匹配電阻和電容等來(lái)減少總線(xiàn)上信號的發(fā)射和平衡總線(xiàn)上的分布電容等。
采用合適的網(wǎng)絡(luò )拓撲結構和屏蔽技術(shù)等來(lái)減少受其他信號的干擾。
還有就是在軟件上通過(guò)數字濾波、數據校驗糾錯等措施來(lái)提高數據傳輸的可靠性。
5結束語(yǔ)
學(xué)習是一個(gè)循序漸進(jìn)的過(guò)程,對總線(xiàn)技術(shù)的學(xué)習和理解也是隨著(zhù)其技術(shù)的不斷發(fā)展而不斷更新的過(guò)程。子曰“工欲善其事,必先利其器。”只有從最基本的原理出發(fā),打好基礎,才能在今后的學(xué)習中融會(huì )貫通,前仆后繼,更進(jìn)一步深入該知識點(diǎn)和拓寬知識面。 |