<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機總線解釋

          單片機總線解釋

          作者: 時間:2011-09-20 來源:網絡 收藏

            的概念  (Bus)是計算機各種功能部件之間傳送信息的公共通信干線,它是由導線組成的傳輸線束, 按照計算機所傳輸的信息種類,計算機的可以劃分為數據總線、地址總線和控制總線,分別用來傳輸數據、數據地址和控制信號。

            總線是一種內部結構,它是cpu、內存、輸入、輸出設備傳遞信息的公用通道,主機的各個部件通過總線相連接,外部設備通過相應的接口電路再與總線相連接,從而形成了計算機硬件系統(tǒng)。在計算機系統(tǒng)中,各個部件之間傳送信息的公共通路叫總線,微型計算機是以總線結構來連接各個功能部件的。

            工作原理

            當總線空閑(其他器件都以高阻態(tài)形式連接在總線上)且一個器件要與目的器件通信時,發(fā)起通信的器件驅動總線,發(fā)出地址和數據。其他以高阻態(tài)形式連接在總線上的器件如果收到(或能夠收到)與自己相符的地址信息后,即接收總線上的數據。發(fā)送器件完成通信,將總線讓出(輸出變?yōu)楦咦钁B(tài))。

            總線的分類

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

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

            (2) 內總線(Internal Bus, I-Bus)

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

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

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

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

            有的系統(tǒng)中,數據總線和地址總線是復用的,即總線在某些時刻出現的信號表示數據而另一些時刻表示地址;而有的系統(tǒng)是分開的。51系列的地址總線和數據總線是復用的,而一般PC中的總線則是分開的。

            “數據總線DB”用于傳送數據信息。數據總線是雙向三態(tài)形式的總線,即他既可以把CPU的數據傳送到存儲器或I/O接口等其它部件,也可以將其它部件的數據傳送到CPU。數據總線的位數是微型計算機的一個重要指標,通常與微處理的字長相一致。例如Intel 8086微處理器字長16位,其數據總線寬度也是16位。需要指出的是,數據的含義是廣義的,它可以是真正的數據,也可以是指令代碼或狀態(tài)信息,有時甚至是一個控制信息,因此,在實際工作中,數據總線上傳送的并不一定僅僅是真正意義上的數據。

            “地址總線AB”是專門用來傳送地址的,由于地址只能從CPU傳向外部存儲器或I/O端口,所以地址總線總是單向三態(tài)的,這與數據總線不同。地址總線的位數決定了CPU可直接尋址的內存空間大小,比如8位微機的地址總線為16位,則其最大可尋址空間為2^16=64KB,16位微型機(個人覺得很有必要解釋下x位處理器的意思:一個時鐘周期內微處理器能處理的位數(1 、0)多少,即字長大小)的地址總線為20位,其可尋址空間為2^20=1MB。一般來說,若地址總線為n位,則可尋址空間為2^n字節(jié)。

            “控制總線CB”用來傳送控制信號和時序信號??刂菩盘栔校械氖俏⑻幚砥魉屯鎯ζ骱虸/O接口電路的,如讀/寫信號,片選信號、中斷響應信號等;也有是其它部件反饋給CPU的,比如:中斷申請信號、復位信號、總線請求信號、設備就緒信號等。因此,控制總線的傳送方向由具體控制信號而定,一般是雙向的,控制總線的位數要根據系統(tǒng)的實際控制需要而定。實際上控制總線的具體情況主要取決于CPU。

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

            按照時鐘信號是否獨立,可以分為同步總線和異步總線。同步總線的時鐘信號獨立于數據,而異步總線的時鐘信號是從數據中提取出來的。SPI、I2C是同步串行總線,RS232采用異步串行總線。

            計算機中的總線

            a.主板的總線

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

            b.硬盤的總線

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

            c.其他的總線

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

            總線的主要技術指標

            1、總線的帶寬(總線數據傳輸速率)

            總線的帶寬指的是單位時間內總線上傳送的數據量,即每鈔鐘傳送MB的最大穩(wěn)態(tài)數據傳輸率。與總線密切相關的兩個因素是總線的位寬和總線的工作頻率,它們之間的關系:

            總線的帶寬=總線的工作頻率*總線的位寬/8

            或者 總線的帶寬=(總線的位寬/8 )/總線周期

            2、總線的位寬

            總線的位寬指的是總線能同時傳送的二進制數據的位數,或數據總線的位數,即32位、64位等總線寬度的概念??偩€的位寬越寬,每秒鐘數據傳輸率越大,總線的帶寬越寬。

            3、總線的工作頻率

            總線的工作時鐘頻率以MHZ為單位,工作頻率越高,總線工作速度越快,總線帶寬越寬。

            總線的合理搭配

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

            [1][2]總線的操作

            總線一個操作過程是完成兩個模塊之間傳送信息,啟動操作過程的是主模塊,另外一個是從模塊。某一時刻總線上只能有一個主模塊占用總線。

            總線的操作步驟:

            主模塊申請總線控制權,總線控制器進行裁決。

            總線的操作步驟:

            主模塊得到總線控制權后尋址從模塊,從模塊確認后進行數據傳送。

            數據傳送的錯誤檢查。

            總線定時協議:定時協議可保證數據傳輸的雙方操作同步,傳輸正確。定時協議有三種類型:

            同步總線定時:總線上的所有模塊共用同一時鐘脈沖進行操作過程的控制。各模塊的所有動作的產生均在時鐘周期的開始,多數動作在一個時鐘周期中完成。

            異步總線定時:操作的發(fā)生由源或目的模塊的特定信號來確定??偩€上一個事件發(fā)生取決前一事件的發(fā)生,雙方相互提供聯絡信號。

            總線定時協議

            半同步總線定時:總線上各操作的時間間隔可以不同,但必須是時鐘周期的整數倍,信號的出現,采樣與結束仍以公共時鐘為基準。ISA總線采用此定時方法。

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

            單周期方式:一個總線周期只傳送一個數據。

            數據傳輸類型:

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

            總線的標準

            總線是一類信號線的集合是模塊間傳輸信息的公共通道,通過它,計算機各部件間可進行各種數據和命令的傳送。

            為使不同供應商的產品間能夠互換,給用戶更多的選擇,總線的技術規(guī)范要標準化。

            總線的標準制定要經周密考慮,要有嚴格的規(guī)定。

            總線標準(技術規(guī)范)包括以下幾部分:

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

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

            電氣規(guī)范:總線每條信號線的有效電平、動態(tài)轉換時間、負載能力等。

            總線的優(yōu)缺點

            采用總線結構的主要優(yōu)點

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

            2、簡化了系統(tǒng)結構。整個系統(tǒng)結構清晰。連線少,底板連線可以印制化。

            3、系統(tǒng)擴充性好。一是規(guī)模擴充,規(guī)模擴充僅僅需要多插一些同類型的插件。二是功能擴充,功能擴充僅僅需要按照總線標準設計新插件,插件插入機器的位置往往沒有嚴格的限制。

            4、系統(tǒng)更新性能好。因為cpu、存儲器、I/O借口等都是按總線規(guī)約掛到總線上的,因而只要總線設計恰當,可以隨時隨著處理器的芯片以及其他有關芯片的進展設計新的插件,新的插件插到底板上對系統(tǒng)進行更新,其他插件和底板連線一般不需要改。

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

            采用總線結構的缺點

            1、利用總線傳送具有分時性。當有多個主設備同時申請總線的使用是必須進行總線的仲裁。

            2、總線的帶寬有限,如果連接到總線上的個硬件設備沒有資源調控機制容易造成信息的延時(這在某些即時性強的地方是致命的)。

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

          單片機相關文章:單片機教程


          單片機相關文章:單片機視頻教程


          單片機相關文章:單片機工作原理




          關鍵詞: 單片機 總線

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();