姓名:高巖? ? ? ? 學(xué)號(hào):13020199025
本文轉(zhuǎn)載自:http://www.eefocus.com/embedded/380839
【嵌牛導(dǎo)讀】:本文簡單介紹了嵌入式系統(tǒng)中總線的分類及用途,方便初學(xué)者學(xué)習(xí)嵌入式開發(fā)。
【嵌牛鼻子】:嵌入式,總線,I2C,SPI
【嵌牛提問】:不同系統(tǒng)總線的復(fù)用方式不同的話對(duì)實(shí)際嵌入式開發(fā)有何影響?
【嵌牛正文】:
1.總線基礎(chǔ)
總線(Bus)是計(jì)算機(jī)各種功能部件之間傳送信息的公共通信干線,它是由導(dǎo)線組成的傳輸線束,按照計(jì)算機(jī)所傳輸?shù)男畔⒎N類,計(jì)算機(jī)的總線可以劃分為數(shù)據(jù)總線、地址總線和控制總線,分別用來傳輸數(shù)據(jù)、數(shù)據(jù)地址和控制信號(hào)??偩€是一種內(nèi)部結(jié)構(gòu),它是CPU、內(nèi)存、輸入、輸出設(shè)備傳遞信息的公用通道,主機(jī)的各個(gè)部件通過總線相連接,外部設(shè)備通過相應(yīng)的接口電路再與總線相連接,從而形成了計(jì)算機(jī)硬件系統(tǒng)。在計(jì)算機(jī)系統(tǒng)中,各個(gè)部件之間傳送信息的公共通路叫總線,微型計(jì)算機(jī)是以總線結(jié)構(gòu)來連接各個(gè)功能部件的
2. 總線的工作原理
當(dāng)總線空閑(其他器件都以高阻態(tài)形式連接在總線上)且一個(gè)器件要與目的器件通信時(shí),發(fā)起通信的器件驅(qū)動(dòng)總線,發(fā)出地址和數(shù)據(jù)。其他以高阻態(tài)形式連接在總線上的器件如果收到(或能夠收到)與自己相符的地址信息后,即接收總線上的數(shù)據(jù)。發(fā)送器件完成通信,將總線讓出(輸出變?yōu)楦咦钁B(tài))。
3. 總線的分類
A. 按功能和規(guī)范分。

圖1三類總線在微機(jī)系統(tǒng)中的地位和關(guān)系
(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)總線,即通常意義上所說的總線,一般又含有三種不同功能的總線,即數(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),通常與微處理的字長相一致。例如Intel 8086微處理器字長16位,其數(shù)據(jù)總線寬度也是16位。需要指出的是,數(shù)據(jù)的含義是廣義的,它可以是真正的數(shù)據(jù),也可以是指令代碼或狀態(tài)信息,有時(shí)甚至是一個(gè)控制信息,因此,在實(shí)際工作中,數(shù)據(jù)總線上傳送的并不一定僅僅是真正意義上的數(shù)據(jù)?!暗刂房偩€AB”是專門用來傳送地址的,由于地址只能從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ù)多少,即字長大?。┑牡刂房偩€為20位,其可尋址空間為2^20=1MB。一般來說,若地址總線為n位,則可尋址空間為2^n字節(jié)?!翱刂瓶偩€CB”用來傳送控制信號(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。