總線基礎(chǔ)總線(Bus)是計(jì)算機(jī)各種功能部件之間傳送信息的公共通信干線,,它是由導(dǎo)線組成的傳輸線束,按照計(jì)算機(jī)所傳輸?shù)男畔⒎N類,,計(jì)算機(jī)的總線可以劃分為數(shù)據(jù)總線,、地址總線和控制總線,分別用來(lái)傳輸數(shù)據(jù),、數(shù)據(jù)地址和控制信號(hào),。總線是一種內(nèi)部結(jié)構(gòu),,它是CPU,、內(nèi)存、輸入,、輸出設(shè)備傳遞信息的公用通道,,主機(jī)的各個(gè)部件通過(guò)總線相連接,外部設(shè)備通過(guò)相應(yīng)的接口電路再與總線相連接,,從而形成了計(jì)算機(jī)硬件系統(tǒng),。在計(jì)算機(jī)系統(tǒng)中,,各個(gè)部件之間傳送信息的公共通路叫總線,微型計(jì)算機(jī)是以總線結(jié)構(gòu)來(lái)連接各個(gè)功能部件的,。
總線的工作原理當(dāng)總線空閑(其他器件都以高阻態(tài)形式連接在總線上)且一個(gè)器件要與目的器件通信時(shí),,發(fā)起通信的器件驅(qū)動(dòng)總線,,發(fā)出地址和數(shù)據(jù),。其他以高阻態(tài)形式連接在總線上的器件如果收到(或能夠收到)與自己相符的地址信息后,即接收總線上的數(shù)據(jù),。發(fā)送器件完成通信,,將總線讓出(輸出變?yōu)楦咦钁B(tài))。
總線的分類
A. 按功能和規(guī)范分,。
(1) 片總線(Chip Bus,, C-Bus) 又稱元件級(jí)總線,是把各種不同的芯片連接在一起構(gòu)成特定功能模塊(如CPU模塊)的信息傳輸通路,,它的寬度可以是8,、16、32或64位,。目前比較流行的幾種內(nèi)部總線技術(shù):I2C總線,、SCI總線等。
(2) 內(nèi)總線(Internal Bus,, I-Bus) 又稱系統(tǒng)總線或板級(jí)總線,,是微機(jī)系統(tǒng)中各插件(模塊)之間的信息傳輸通路。例如CPU模塊和存儲(chǔ)器模塊或I/O接口模塊之間的傳輸通路,。常用的有PC總線,、AT總線(ISA總線)、PCI總線等,。
(3) 外總線(External Bus,, E-Bus)又稱通信總線,是微機(jī)系統(tǒng)之間或微機(jī)系統(tǒng)與其他系統(tǒng)(儀器,、儀表,、控制裝置等)之間信息傳輸?shù)耐罚鏓IA RS-232C,、IEEE-488等,。
其中的系統(tǒng)總線,即通常意義上所說(shuō)的總線,,一般又含有三種不同功能的總線,,即數(shù)據(jù)總線DB、地址總線AB和控制總線CB,。
有的系統(tǒng)中,,數(shù)據(jù)總線和地址總線是復(fù)用的,即總線在某些時(shí)刻出現(xiàn)的信號(hào)表示數(shù)據(jù)而另一些時(shí)刻表示地址;而有的系統(tǒng)是分開的。
51系列單片機(jī)的地址總線和數(shù)據(jù)總線是復(fù)用的,,而一般PC中的總線則是分開的,。“數(shù)據(jù)總線DB”用于傳送數(shù)據(jù)信息,。數(shù)據(jù)總線是雙向三態(tài)形式的總線,,即他既可以把CPU的數(shù)據(jù)傳送到存儲(chǔ)器或I/O接口等其它部件,也可以將其它部件的數(shù)據(jù)傳送到CPU,。數(shù)據(jù)總線的位數(shù)是微型計(jì)算機(jī)的一個(gè)重要指標(biāo),,通常與微處理的字長(zhǎng)相一致。例如Intel 8086微處理器字長(zhǎng)16位,,其數(shù)據(jù)總線寬度也是16位,。
需要指出的是,數(shù)據(jù)的含義是廣義的,,它可以是真正的數(shù)據(jù),,也可以是指令代碼或狀態(tài)信息,有時(shí)甚至是一個(gè)控制信息,,因此,,在實(shí)際工作中,數(shù)據(jù)總線上傳送的并不一定僅僅是真正意義上的數(shù)據(jù),?!暗刂房偩€AB”是專門用來(lái)傳送地址的,由于地址只能從CPU傳向外部存儲(chǔ)器或I/O端口,,所以地址總線總是單向三態(tài)的,,這與數(shù)據(jù)總線不同。地址總線的位數(shù)決定了CPU可直接尋址的內(nèi)存空間大小,,比如8位微機(jī)的地址總線為16位,,則其最大可尋址空間為2^16=64KB,16位微型機(jī)(x位處理器指一個(gè)時(shí)鐘周期內(nèi)微處理器能處理的位數(shù)多少,,即字長(zhǎng)大小)的地址總線為20位,,其可尋址空間為2^20=1MB。一般來(lái)說(shuō),,若地址總線為n位,,則可尋址空間為2^n字節(jié)?!翱刂瓶偩€CB”用來(lái)傳送控制信號(hào)和時(shí)序信號(hào),。控制信號(hào)中,,有的是微處理器送往存儲(chǔ)器和I/O接口電路的,,如讀/寫信號(hào),,片選信號(hào)、中斷響應(yīng)信號(hào)等;也有是其它部件反饋給CPU的,,比如:中斷申請(qǐng)信號(hào),、復(fù)位信號(hào)、總線請(qǐng)求信號(hào),、設(shè)備就緒信號(hào)等,。
因此,控制總線的傳送方向由具體控制信號(hào)而定,,一般是雙向的,,控制總線的位數(shù)要根據(jù)系統(tǒng)的實(shí)際控制需要而定,。實(shí)際上控制總線的具體情況主要取決于CPU,。
B. 按傳輸數(shù)據(jù)的方式劃分
可以分為串行總線和并行總線。串行總線中,,二進(jìn)制數(shù)據(jù)逐位通過(guò)一根數(shù)據(jù)線發(fā)送到目的器件;并行總線的數(shù)據(jù)線通常超過(guò)2根,。常見的串行總線有SPI、I2C,、USB及RS232等,。常見并行總線有VME總線和PCI總線等。串行總線傳輸速度比并行快,,并行總線的時(shí)鐘一般為33MHz或66MHz,。
C. 按時(shí)鐘信號(hào)是否獨(dú)立分
可以分為同步總線和異步總線。同步總線的時(shí)鐘信號(hào)獨(dú)立于數(shù)據(jù),,而異步總線的時(shí)鐘信號(hào)是從數(shù)據(jù)中提取出來(lái)的,。I2C總線、SPI總線,、PCI總線,、CPCI總線是同步串行總線,SCI總線,、IEEE 488和ANSI X3.131-1986 SCSI總線,、VME總線、RS232采用異步串行總線,。 4. 總線的主要技術(shù)指標(biāo)
1,、總線的帶寬(總線數(shù)據(jù)傳輸速率)
總線的帶寬指的是單位時(shí)間內(nèi)總線上傳送的數(shù)據(jù)量,即每鈔鐘傳送MB的最大穩(wěn)態(tài)數(shù)據(jù)傳輸率,。與總線密切相關(guān)的兩個(gè)因素是總線的位寬和總線的工作頻率,,它們之間的關(guān)系:總線的帶寬=總線的工作頻率*總線的位寬/8 或者 總線的帶寬=(總線的位寬/8 )/總線周期
2、總線的位寬
總線的位寬指的是總線能同時(shí)傳送的二進(jìn)制數(shù)據(jù)的位數(shù),,或數(shù)據(jù)總線的位數(shù),,即32位,、64位等總線寬度的概念??偩€的位寬越寬,,每秒鐘數(shù)據(jù)傳輸率越大,總線的帶寬越寬,。
3,、總線的工作頻率
總線的工作時(shí)鐘頻率以MHZ為單位,工作頻率越高,,總線工作速度越快,,總線帶寬越寬。
4. 總線的優(yōu)缺點(diǎn)采用總線結(jié)構(gòu)的主要優(yōu)點(diǎn):
- 簡(jiǎn)化了硬件的設(shè)計(jì),。便于采用模塊化結(jié)構(gòu)設(shè)計(jì)方法,,面向總線的微型計(jì)算機(jī)設(shè)計(jì)只要按照這些規(guī)定制作cpu插件、存儲(chǔ)器插件以及I/O插件等,,將它們連入總線就可工作,,而不必考慮總線的詳細(xì)操作。
- 簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),。整個(gè)系統(tǒng)結(jié)構(gòu)清晰,。連線少,底板連線可以印制化,。
- 系統(tǒng)擴(kuò)充性好,。一是規(guī)模擴(kuò)充,規(guī)模擴(kuò)充僅僅需要多插一些同類型的插件,。二是功能擴(kuò)充,,功能擴(kuò)充僅僅需要按照總線標(biāo)準(zhǔn)設(shè)計(jì)新插件,插件插入機(jī)器的位置往往沒有嚴(yán)格的限制,。
- 系統(tǒng)更新性能好,。因?yàn)閏pu、存儲(chǔ)器,、I/O接口等都是按總線規(guī)約掛到總線上的,,因而只要總線設(shè)計(jì)恰當(dāng),可以隨時(shí)隨著處理器的芯片以及其他有關(guān)芯片的進(jìn)展設(shè)計(jì)新的插件,,新的插件插到底板上對(duì)系統(tǒng)進(jìn)行更新,,其他插件和底板連線一般不需要改。
- 便于故障診斷和維修,。用主板測(cè)試卡可以很方便找到出現(xiàn)故障的部位,,以及總線類型。
采用總線結(jié)構(gòu)的缺點(diǎn): 1,、利用總線傳送具有分時(shí)性,。當(dāng)有多個(gè)主設(shè)備同時(shí)申請(qǐng)總線的使用是必須進(jìn)行總線的仲裁,。 2、總線的帶寬有限,,如果連接到總線上的個(gè)硬件設(shè)備沒有資源調(diào)控機(jī)制容易造成信息的延時(shí)(這在某些即時(shí)性強(qiáng)的地方是致命的),。3、連到總線上的設(shè)備必須有信息的篩選機(jī)制,,要判斷該信息是否是傳給自己的,。
嵌入式總線技術(shù)分類
一、 內(nèi)部總線,、系統(tǒng)總線和外部總線
1,、內(nèi)部總線Internal Bus :將處理器的所有結(jié)構(gòu)單元內(nèi)部相連。它的寬度可以是8,、16,、32、或64位,。
目前比較流行的幾種內(nèi)部總線技術(shù): I2C總線
I2C(Inter-IC)總線10多年前由Philips公司推出,,是近年來(lái)在微電子通信控制領(lǐng)域廣泛采用的一種新型總線標(biāo)準(zhǔn),。它是同步通信的一種特殊形式,,具有接口線少,控制方式簡(jiǎn)化,,器件封裝形式小,,通信速率較高等優(yōu)點(diǎn)。在主從通信中,,可以有多個(gè)I2C總線器件同時(shí)接到I2C總線上,,通過(guò)地址來(lái)識(shí)別通信對(duì)象。
SPI總線
串行外圍設(shè)備接口SPI(serial peripheral interface)總線技術(shù)是Motorola公司推出的一種同步串行接口,。Motorola公司生產(chǎn)的絕大多數(shù)MCU(微控制器)都配有SPI硬件接口,,如68系列MCU。SPI總線是一種三線同步總線,,因其硬件功能很強(qiáng),,所以,與SPI有關(guān)的軟件就相當(dāng)簡(jiǎn)單,,使CPU有更多的時(shí)間處理其他事務(wù),。
串行通信接口SCI(serial communicaTIon interface)也是由Motorola公司推出的。它是一種通用異步通信接口UART,,與MCS-51的異步通信功能基本相同,。
2、系統(tǒng)總線:系統(tǒng)總線又稱內(nèi)總線或板級(jí)總線,。因?yàn)樵摽偩€是用來(lái)連接微機(jī)各功能部件而構(gòu)成一個(gè)完整微機(jī)系統(tǒng)的,,所以稱之為系統(tǒng)總線,。常用的有PC總線、AT總線(ISA總線),、PCI總線等,。
系統(tǒng)總線上傳送的信息包括數(shù)據(jù)信息、地址信息,、控制信息,,因此,系統(tǒng)總線包含有三種不同功能的總線,,即數(shù)據(jù)總線DB(Data Bus),、地址總線AB(Address Bus)和控制總線CB(Control Bus)
目前比較流行的幾種系統(tǒng)總線技術(shù): ISA總線
ISA(industrial standard architecture)總線標(biāo)準(zhǔn)是IBM 公司1984年為推出PC/AT機(jī)而建立的系統(tǒng)總線標(biāo)準(zhǔn),所以也叫AT總線,。它是對(duì)XT總線的擴(kuò)展,,以適應(yīng)8/16位數(shù)據(jù)總線要求。它在80286至80486時(shí)代應(yīng)用非常廣泛,,以至于現(xiàn)在奔騰機(jī)中還保留有ISA總線插槽,。ISA總線有98只引腳。