新聞中心

單片機(jī)總線解釋

作者: 時(shí)間:2011-09-20 來(lái)源:網(wǎng)絡(luò) 收藏

  的概念  (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))。

  總線的分類

  總線按功能和規(guī)范可分為三大類型:[1]

  (1) 片總線(Chip Bus, C-Bus) 又稱元件級(jí)總線,是把各種不同的芯片連接在一起構(gòu)成特定功能模塊(如CPU模塊)的信息傳輸通路。

  (2) 內(nèi)總線(Internal Bus, I-Bus)

  又稱系統(tǒng)總線或板級(jí)總線,是微機(jī)系統(tǒng)中各插件(模塊)之間的信息傳輸通路。例如CPU模塊和存儲(chǔ)器模塊或I/O接口模塊之間的傳輸通路。

  (3) 外總線(External Bus, E-Bus)

  又稱通信總線,是微機(jī)系統(tǒng)之間或微機(jī)系統(tǒng)與其他系統(tǒng)(儀器、儀表、控制裝置等)之間信息傳輸?shù)耐?,如EIA RS-232C、IEEE-488等。

  其中的系統(tǒng)總線,即通常意義上所說(shuō)的總線,一般又含有三種不同功能的總線,即數(shù)據(jù)總線DB(Data Bus)、地址總線AB(Address Bus)和控制總線CB(Control Bus)。

  有的系統(tǒng)中,數(shù)據(jù)總線和地址總線是復(fù)用的,即總線在某些時(shí)刻出現(xiàn)的信號(hào)表示數(shù)據(jù)而另一些時(shí)刻表示地址;而有的系統(tǒng)是分開(kāi)的。51系列的地址總線和數(shù)據(jù)總線是復(fù)用的,而一般PC中的總線則是分開(kāi)的。

  “數(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”是專門(mén)用來(lái)傳送地址的,由于地址只能從CPU傳向外部存儲(chǔ)器或I/O端口,所以地址總線總是單向三態(tài)的,這與數(shù)據(jù)總線不同。地址總線的位數(shù)決定了CPU可直接尋址的內(nèi)存空間大小,比如8位微機(jī)的地址總線為16位,則其最大可尋址空間為2^16=64KB,16位微型機(jī)(個(gè)人覺(jué)得很有必要解釋下x位處理器的意思:一個(gè)時(shí)鐘周期內(nèi)微處理器能處理的位數(shù)(1 、0)多少,即字長(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接口電路的,如讀/寫(xiě)信號(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。

  按照傳輸數(shù)據(jù)的方式劃分,可以分為串行總線和并行總線。串行總線中,二進(jìn)制數(shù)據(jù)逐位通過(guò)一根數(shù)據(jù)線發(fā)送到目的器件;并行總線的數(shù)據(jù)線通常超過(guò)2根。常見(jiàn)的串行總線有SPI、I2C、USB及RS232等。

  按照時(shí)鐘信號(hào)是否獨(dú)立,可以分為同步總線和異步總線。同步總線的時(shí)鐘信號(hào)獨(dú)立于數(shù)據(jù),而異步總線的時(shí)鐘信號(hào)是從數(shù)據(jù)中提取出來(lái)的。SPI、I2C是同步串行總線,RS232采用異步串行總線。

  計(jì)算機(jī)中的總線

  a.主板的總線

  在計(jì)算機(jī)科學(xué)技術(shù)中,人們常常以MHz表示的速度來(lái)描述總線頻率。計(jì)算機(jī)總線的種類很多,前端總線的英文名字是Front Side Bus,通常用FSB表示,是將CPU連接到北橋芯片的總線。計(jì)算機(jī)的前端總線頻率是由CPU和北橋芯片共同決定的。

  b.硬盤(pán)的總線

  一般有SCSI、ATA、SATA等幾種。SATA是串行ATA的縮寫(xiě),為什么要使用串行ATA就要從PATA——并行ATA的缺點(diǎn)說(shuō)起。我們知道ATA或者說(shuō)普通IDE硬盤(pán)的數(shù)據(jù)線最初就是40根的排線,這40根線里面有數(shù)據(jù)線、時(shí)鐘線、控制線、地線,其中32根數(shù)據(jù)線是并行傳輸?shù)?一個(gè)時(shí)鐘周期可以同時(shí)傳輸4個(gè)字節(jié)的數(shù)據(jù)),因此對(duì)同步性的要求很高。這就是為什么從PATA-66(就是常說(shuō)的DMA66)接口開(kāi)始必須使用80根的硬盤(pán)數(shù)據(jù)線,其實(shí)增加的這40根全是屏蔽用的地線,而且只在主板一邊接地(千萬(wàn)不要接反了,反了的話屏蔽作用大大降低),有了良好的屏蔽硬盤(pán)的傳輸速度才能達(dá)到66MB/s、100MB/s和最高的133MB/s。但是在PATA-133之后,并行傳輸速度已經(jīng)到了極限,而且PATA的三大缺點(diǎn)暴露無(wú)遺:信號(hào)線長(zhǎng)度無(wú)法延長(zhǎng)、信號(hào)同步性難以保持、5V信號(hào)線耗電較大。那為什么SCSI-320接口的數(shù)據(jù)線能達(dá)到320MB/s的高速、而且線纜可以很長(zhǎng)呢?你有沒(méi)有注意到SCSI的高速數(shù)據(jù)線是“花線”?這可不是為了好看,那“花”的部分實(shí)際上就是一組組的差分信號(hào)線兩兩扭合而成,這成本可不是普通電腦系統(tǒng)愿意承擔(dān)的。

  c.其他的總線

  計(jì)算機(jī)中其他的總線還有:通用串行總線USB(Universal Serial Bus)、IEEE1394、PCI等等。

  總線的主要技術(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為單位,工作頻率越高,總線工作速度越快,總線帶寬越寬。

  總線的合理搭配

  主板北橋芯片負(fù)責(zé)聯(lián)系內(nèi)存、顯卡等數(shù)據(jù)吞吐量最大的部件,并和南橋芯片連接。CPU就是通過(guò)前端總線(FSB)連接到北橋芯片,進(jìn)而通過(guò)北橋芯片和內(nèi)存、顯卡交換數(shù)據(jù)。前端總線是CPU和外界交換數(shù)據(jù)的最主要通道,因此前端總線的數(shù)據(jù)傳輸能力對(duì)計(jì)算機(jī)整體性能作用很大,如果沒(méi)足夠快的前端總線,再?gòu)?qiáng)的CPU也不能明顯提高計(jì)算機(jī)整體速度。數(shù)據(jù)傳輸最大帶寬取決于所有同時(shí)傳輸?shù)臄?shù)據(jù)的寬度和傳輸頻率,即數(shù)據(jù)帶寬=(總線頻率×數(shù)據(jù)位寬)÷8。目前PC機(jī)上所能達(dá)到的前端總線頻率有266MHz、333MHz、400MHz、533MHz、800MHz幾種,前端總線頻率越大,代表著CPU與北橋芯片之間的數(shù)據(jù)傳輸能力越大,更能充分發(fā)揮出CPU的功能。現(xiàn)在的CPU技術(shù)發(fā)展很快,運(yùn)算速度提高很快,而足夠大的前端總線可以保障有足夠的數(shù)據(jù)供給給CPU,較低的前端總線將無(wú)法供給足夠的數(shù)據(jù)給CPU,這樣就限制了CPU性能得發(fā)揮,成為系統(tǒng)瓶頸。

  [1][2]總線的操作

  總線一個(gè)操作過(guò)程是完成兩個(gè)模塊之間傳送信息,啟動(dòng)操作過(guò)程的是主模塊,另外一個(gè)是從模塊。某一時(shí)刻總線上只能有一個(gè)主模塊占用總線。

  總線的操作步驟:

  主模塊申請(qǐng)總線控制權(quán),總線控制器進(jìn)行裁決。

  總線的操作步驟:

  主模塊得到總線控制權(quán)后尋址從模塊,從模塊確認(rèn)后進(jìn)行數(shù)據(jù)傳送。

  數(shù)據(jù)傳送的錯(cuò)誤檢查。

  總線定時(shí)協(xié)議:定時(shí)協(xié)議可保證數(shù)據(jù)傳輸?shù)碾p方操作同步,傳輸正確。定時(shí)協(xié)議有三種類型:

  同步總線定時(shí):總線上的所有模塊共用同一時(shí)鐘脈沖進(jìn)行操作過(guò)程的控制。各模塊的所有動(dòng)作的產(chǎn)生均在時(shí)鐘周期的開(kāi)始,多數(shù)動(dòng)作在一個(gè)時(shí)鐘周期中完成。

  異步總線定時(shí):操作的發(fā)生由源或目的模塊的特定信號(hào)來(lái)確定??偩€上一個(gè)事件發(fā)生取決前一事件的發(fā)生,雙方相互提供聯(lián)絡(luò)信號(hào)。

  總線定時(shí)協(xié)議

  半同步總線定時(shí):總線上各操作的時(shí)間間隔可以不同,但必須是時(shí)鐘周期的整數(shù)倍,信號(hào)的出現(xiàn),采樣與結(jié)束仍以公共時(shí)鐘為基準(zhǔn)。ISA總線采用此定時(shí)方法。

  數(shù)據(jù)傳輸類型:分單周方式和突發(fā)(burst)方式。

  單周期方式:一個(gè)總線周期只傳送一個(gè)數(shù)據(jù)。

  數(shù)據(jù)傳輸類型:

  突發(fā)方式:取得主線控制權(quán)后進(jìn)行多個(gè)數(shù)據(jù)的傳輸。尋址時(shí)給出目的地首地址,訪問(wèn)第一個(gè)數(shù)據(jù),數(shù)據(jù)2、3到數(shù)據(jù)n的地址在首地址基礎(chǔ)上按一定規(guī)則自動(dòng)尋址(如自動(dòng)加1)。

  總線的標(biāo)準(zhǔn)

  總線是一類信號(hào)線的集合是模塊間傳輸信息的公共通道,通過(guò)它,計(jì)算機(jī)各部件間可進(jìn)行各種數(shù)據(jù)和命令的傳送。

  為使不同供應(yīng)商的產(chǎn)品間能夠互換,給用戶更多的選擇,總線的技術(shù)規(guī)范要標(biāo)準(zhǔn)化。

  總線的標(biāo)準(zhǔn)制定要經(jīng)周密考慮,要有嚴(yán)格的規(guī)定。

  總線標(biāo)準(zhǔn)(技術(shù)規(guī)范)包括以下幾部分:

  機(jī)械結(jié)構(gòu)規(guī)范:模塊尺寸、總線插頭、總線接插件以及安裝尺寸均有統(tǒng)一規(guī)定。

  功能規(guī)范:總線每條信號(hào)線(引腳的名稱)、功能以及工作過(guò)程要有統(tǒng)一規(guī)定。

  電氣規(guī)范:總線每條信號(hào)線的有效電平、動(dòng)態(tài)轉(zhuǎn)換時(shí)間、負(fù)載能力等。

  總線的優(yōu)缺點(diǎn)

  采用總線結(jié)構(gòu)的主要優(yōu)點(diǎn)

  1、簡(jiǎn)化了硬件的設(shè)計(jì)。便于采用模塊化結(jié)構(gòu)設(shè)計(jì)方法,面向總線的微型計(jì)算機(jī)設(shè)計(jì)只要按照這些規(guī)定制作cpu插件、存儲(chǔ)器插件以及I/O插件等,將它們連入總線就可工作,而不必考慮總線的詳細(xì)操作。

  2、簡(jiǎn)化了系統(tǒng)結(jié)構(gòu)。整個(gè)系統(tǒng)結(jié)構(gòu)清晰。連線少,底板連線可以印制化。

  3、系統(tǒng)擴(kuò)充性好。一是規(guī)模擴(kuò)充,規(guī)模擴(kuò)充僅僅需要多插一些同類型的插件。二是功能擴(kuò)充,功能擴(kuò)充僅僅需要按照總線標(biāo)準(zhǔn)設(shè)計(jì)新插件,插件插入機(jī)器的位置往往沒(méi)有嚴(yán)格的限制。

  4、系統(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)行更新,其他插件和底板連線一般不需要改。

  5、便于故障診斷和維修。用主板測(cè)試卡可以很方便找到出現(xiàn)故障的部位,以及總線類型。

  采用總線結(jié)構(gòu)的缺點(diǎn)

  1、利用總線傳送具有分時(shí)性。當(dāng)有多個(gè)主設(shè)備同時(shí)申請(qǐng)總線的使用是必須進(jìn)行總線的仲裁。

  2、總線的帶寬有限,如果連接到總線上的個(gè)硬件設(shè)備沒(méi)有資源調(diào)控機(jī)制容易造成信息的延時(shí)(這在某些即時(shí)性強(qiáng)的地方是致命的)。

  3、連到總線上的設(shè)備必須有信息的篩選機(jī)制,要判斷該信息是否是傳給自己的。

單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理




關(guān)鍵詞: 單片機(jī) 總線

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉