所謂總線(Bus),是指計算機設(shè)備和設(shè)備之間傳輸信息的公共數(shù)據(jù)通道??偩€是連接計算機硬件系統(tǒng)內(nèi)多種設(shè)備的通信線路,它的一個重要特征是由總線上的所有設(shè)備共享,可以將計算機系統(tǒng)內(nèi)的多種設(shè)備連接到總線上。如果是某兩個設(shè)備或設(shè)備之間專用的信號連線,就不能稱之為總線。[1]
微機中的總線分為數(shù)據(jù)總線、地址總線和控制總線3類。不同型號的CPU芯片,其數(shù)據(jù)總線、地址總線和控制總線的條數(shù)可能不同。
數(shù)據(jù)總線DB用來傳送數(shù)據(jù)信息,是雙向的。CPU既可通過DB從內(nèi)存或輸入設(shè)備讀入數(shù)據(jù),又可通過DB將內(nèi)部數(shù)據(jù)送至內(nèi)存或輸出設(shè)備。DB的寬度決定了CPU和計算機其他設(shè)備之間每次交換數(shù)據(jù)的位數(shù)。
地址總線AB用于傳送CPU發(fā)出的地址信息,是單向的。傳送地址信息的目的是指明與CPU交換信息的內(nèi)存單元或I/O設(shè)備。存儲器是按地址訪問的,所以每個存儲單元都有一個固定地址,要訪問1MB存儲器中的任一單元,需要給出1M個地址,即需要20位地址(220=1M)。因此,地址總線的寬度決定了CPU的最大尋址能力。
控制總線CB用來傳送控制信號、時序信號和狀態(tài)信息等。其中有的是CPU向內(nèi)存或外部設(shè)備發(fā)出的信息,有的是內(nèi)存或外部設(shè)備向CPU發(fā)出的信息。顯然,CB中的每一條線的信息傳送方向是一定的、單向的,但作為一個整體則是雙向的。所以,在各種結(jié)構(gòu)框圖中,凡涉及到控制總線CB,均是以雙向線表示。
總線的性能直接影響到整機系統(tǒng)的性能,而且任何系統(tǒng)的研制和外圍模塊的開發(fā)都必須依從所采用的總線規(guī)范。總線技術(shù)隨著微機結(jié)構(gòu)的改進而不斷發(fā)展與完善。 [1]
當總線空閑(其他器件都以高阻態(tài)形式連接在總線上)且一個器件要與目的器件通信時,發(fā)起通信的器件驅(qū)動總線,發(fā)出地址和數(shù)據(jù)。其他以高阻態(tài)形式連接在總線上的器件如果收到(或能夠收到)與自己相符的地址信息后,即接收總線上的數(shù)據(jù)。發(fā)送器件完成通信,將總線讓出(輸出變?yōu)楦咦钁B(tài))。
按照功能劃分,大體上可以分為地址總線和數(shù)據(jù)總線。有的系統(tǒng)中,數(shù)據(jù)總線和地址總線是復用的,即總線在某些時刻出現(xiàn)的信號表示數(shù)據(jù)而另一些時刻表示地址;而有的系統(tǒng)是分開的。51系列單片機的地址總線和數(shù)據(jù)總線是復用的,而一般PC中的總線則是分開的。
按照傳輸數(shù)據(jù)的方式劃分,可以分為串行總線和并行總線。串行總線中,二進制數(shù)據(jù)逐位通過一根數(shù)據(jù)線發(fā)送到目的器件;并行總線的數(shù)據(jù)線通常超過2根。常見的串行總線有SPI、I2C、USB及RS232等。
按照時鐘信號是否獨立,可以分為同步總線和異步總線。同步總線的時鐘信號獨立于數(shù)據(jù),而異步總線的時鐘信號是從數(shù)據(jù)中提取出來的。SPI、I2C是同步串行總線,RS232采用異步串行總線。
a.主板的總線
在計算機科學技術(shù)中,人們常常以MHz表示的速度來描述總線頻率。計算機總線的種類很多,前端總線的英文名字是Front Side Bus,通常用FSB表示,是將CPU連接到北橋芯片的總線。計算機的前端總線頻率是由CPU和北橋芯片共同決定的。b.硬盤的總線
一般有SCSI、ATA、SATA等幾種。SATA是串行ATA的縮寫,為什么要使用串行ATA就要從PATA——并行ATA的缺點說起。我們知道ATA或者說普通IDE硬盤的數(shù)據(jù)線最初就是40根的排線,這40根線里面有數(shù)據(jù)線、時鐘線、控制線、地線,其中32根數(shù)據(jù)線是并行傳輸?shù)模ㄒ粋€時鐘周期可以同時傳輸4個字節(jié)的數(shù)據(jù)),因此對同步性的要求很高。這就是為什么從PATA-66(就是常說的DMA66)接口開始必須使用80根的硬盤數(shù)據(jù)線,其實增加的這40根全是屏蔽用的地線,而且只在主板一邊接地(千萬不要接反了,反了的話屏蔽作用大大降低),有了良好的屏蔽硬盤的傳輸速度才能達到66MB/s、100MB/s和最高的133MB/s。但是在PATA-133之后,并行傳輸速度已經(jīng)到了極限,而且PATA的三大缺點暴露無遺:信號線長度無法延長、信號同步性難以保持、5V信號線耗電較大。那為什么SCSI-320接口的數(shù)據(jù)線能達到320MB/s的高速、而且線纜可以很長呢?你有沒有注意到SCSI的高速數(shù)據(jù)線是“花線”?這可不是為了好看,那“花”的部分實際上就是一組組的差分信號線兩兩扭合而成,這成本可不是普通電腦系統(tǒng)愿意承擔的。
計算機中其他的總線還有:通用串行總線USB(Universal Serial Bus)、IEEE1394、AGP等等。 任何一個微處理器都要與一定數(shù)量的部件和外圍設(shè)備連接,但如果將各部件和每一種外圍設(shè)備都分別用一組線路與CPU直接連接,那么連線將會錯綜復雜,甚至難以實現(xiàn)。為了簡化硬件電路設(shè)計、簡化系統(tǒng)結(jié)構(gòu),常用一組線路,配置以適當?shù)慕涌?a class="innerlink" title="電路" >電路,與各部件和外圍設(shè)備連接,這組共用的連接線路被稱為總線。
采用總線結(jié)構(gòu)便于部件和設(shè)備的擴充,尤其制定了統(tǒng)一的總線標準則容易使不同設(shè)備間實現(xiàn)互連。
微機中總線一般有內(nèi)部總線、系統(tǒng)總線和外部總線。內(nèi)部總線是微機內(nèi)部各外圍芯片與處理器之間的總線,用于芯片一級的互連;而系統(tǒng)總線是微機中各插件板與系統(tǒng)板之間的總線,用于插件板一級的互連;外部總線則是微機和外部設(shè)備之間的總線,微機作為一種設(shè)備,通過該總線和其他設(shè)備進行信息與數(shù)據(jù)交換,它用于設(shè)備一級的互連。
另外,從廣義上說,計算機通信方式可以分為并行通信和串行通信,相應的通信總線被稱為并行總線和串行總線。并行通信速度快、實時性好,但由于占用的口線多,不適于小型化產(chǎn)品;而串行通信速率雖低,但在數(shù)據(jù)通信吞吐量不是很大的微處理電路中則顯得更加簡易、方便、靈活。串行通信一般可分為異步模式和同步模式。---隨著微電子技術(shù)和計算機技術(shù)的發(fā)展,總線技術(shù)也在不斷地發(fā)展和完善,而使計算機總線技術(shù)種類繁多,各具特色。下面僅對微機各類總線中目前比較流行的總線技術(shù)分別加以介紹。
一、內(nèi)部總線
1.I2C總線
I2C(Inter-IC)總線10多年前由Philips公司推出,是近年來在微電子通信控制領(lǐng)域廣泛采用的一種新型總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡化,器件封裝形式小,通信速率較高等優(yōu)點。在主從通信中,可以有多個I2C總線器件同時接到I2C總線上,通過地址來識別通信對象。
2.SPI總線
串行外圍設(shè)備接口SPI(serial peripheral interface)總線技術(shù)是Motorola公司推出的一種同步串行接口。Motorola公司生產(chǎn)的絕大多數(shù)MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI總線是一種三線同步總線,因其硬件功能很強,所以,與SPI有關(guān)的軟件就相當簡單,使CPU有更多的時間處理其他事務(wù)。
3.SCI總線
串行通信接口SCI(serial communication interface)也是由Motorola公司推出的。它是一種通用異步通信接口UART,與MCS-51的異步通信功能基本相同。[1]