常常弄混的總線分類,你能分清嗎?
你知道常常弄混的總線分類嗎?總線是什么?度娘的完整定義總線是計算機各種功能部件之間傳送信息的公共通信干線,它是由導線組成的傳輸線束,按照計算機所傳輸?shù)男畔⒎N類。
其實,筆者認為,總線就是是一種內(nèi)部結構,它是 cpu、內(nèi)存、輸入、輸出設備傳遞信息的公用通道。工程師為了簡化硬件電路設計、簡化系統(tǒng)結構,常用一組線路,配置以適當?shù)慕涌陔娐?,與各部件和外圍設備連接,這組共用的連接線路被稱為總線。另外就是采用總線結構便于部件和設備的擴充,尤其制定了統(tǒng)一的總線標準則容易使不同設備間實現(xiàn)互連。
總線分類
1、總線按功能和規(guī)范可分為五大類型:數(shù)據(jù)總線、地址總線、控制總線、擴展總線及局部總線。
數(shù)據(jù)總線、地址總線和控制總線也統(tǒng)稱為系統(tǒng)總線,即通常意義上所說的總線。常見的數(shù)據(jù)總線為 ISA、EISA、VESA、PCI 等。
地址總線:是專門用來傳送地址的,由于地址只能從 CPU 傳向外部存儲器或 I/O 端口,所以地址總線總是單向三態(tài)的,這與數(shù)據(jù)總線不同,地址總線的位數(shù)決定了 CPU 可直接尋址的內(nèi)存空間大小。
控制總線:用來傳送控制信號和時序信號??刂菩盘栔?,有的是微處理器送往存儲器和 I/O 接口電路的;也有是其它部件反饋給 CPU 的,比如:中斷申請信號、復位信號、總線請求信號、設備就緒信號等。
2、按照傳輸數(shù)據(jù)的方式劃分,可以分為串行總線和并行總線。串行總線中,二進制數(shù)據(jù)逐位通過一根數(shù)據(jù)線發(fā)送到目的器件;并行總線的數(shù)據(jù)線通常超過 2 根。常見的串行總線有 SPI、I2C、USB 及 RS232 等。
3、按照時鐘信號是否獨立,可以分為同步總線和異步總線。同步總線的時鐘信號獨立于數(shù)據(jù),而異步總線的時鐘信號是從數(shù)據(jù)中提取出來的。SPI、I2C 是同步串行總線,RS232 采用異步串行總線。
4、微機中總線一般有內(nèi)部總線、系統(tǒng)總線和外部總線。內(nèi)部總線是微機內(nèi)部各外圍芯片與處理器之間的總線,用于芯片一級的互連;而系統(tǒng)總線是微機中各插件板與系統(tǒng)板之間的總線,用于插件板一級的互連;外部總線則是微機和外部設備之間的總線,微機作為一種設備,通過該總線和其他設備進行信息與數(shù)據(jù)交換,它用于設備一級的互連。
那么多分類,筆者也只能選擇一種介紹了,就選擇內(nèi)部總線、系統(tǒng)總線和外部總線咯。
內(nèi)部總線
I2C 總線:I2C(Inter-IC)總線 10 多年前由 Philips 公司推出,是近年來在微電子通信控制領域廣泛采用的一種新型總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡化,器件封裝形式小,通信速率較高等優(yōu)點。在主從通信中,可以有多個 I2C 總線器件同時接到 I2C 總線上,通過地址來識別通信對象。
SCI 總線:串行通信接口 SCI 也是由 Motorola 公司推出的。它是一種通用異步通信接口 UART,與 MCS-51 的異步通信功能基本相同。
IIS:I2S(Inter-IC Sound Bus)是飛利浦公司為數(shù)字音頻設備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標準。I2S 有 3 個主要信號:1. 串行時鐘 SCLK,也叫位時鐘,即對應數(shù)字音頻的每一位數(shù)據(jù),SCLK 有 1 個脈沖。2. 幀時鐘 LRCK,用于切換左右聲道的數(shù)據(jù)。LRCK 為“1”表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù),為“0”則表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。3. 串行數(shù)據(jù) SDATA,就是用二進制補碼表示的音頻數(shù)據(jù)。有時為了使系統(tǒng)間能夠更好地同步,還需要另外傳輸一個信號 MCLK,稱為主時鐘,也叫系統(tǒng)時鐘(Sys Clock)。
SPI:SPI(Serial Peripheral Interface:串行外設接口);SPI 是 Motorola 首先在其 MC68HCXX 系列處理器上定義的。SPI 接口主要應用在 EEPROM,F(xiàn)LASH,實時時鐘,AD 轉(zhuǎn)換器,還有數(shù)字信號處理器和數(shù)字信號解碼器之間。SPI 接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器件,其接口包括以下四種信號:(1)MOSI – 主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入 (2)MISO – 主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出 (3)SCLK – 時鐘信號,由主器件產(chǎn)生(4)/SS – 從器件使能信號,由主器件控制。
UART:UART(Universal Asynchronous Receiver Transmitter:通用異步收發(fā)器)。將由計算機內(nèi)部傳送過來的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。將計算機外部來的串行數(shù)據(jù)轉(zhuǎn)換為字節(jié),供計算機內(nèi)部使用并行數(shù)據(jù)的器件使用。在輸出的串行數(shù)據(jù)流中加入奇偶校驗位,并對從外部接收的數(shù)據(jù)流進行奇偶校驗。在輸出數(shù)據(jù)流中加入啟停標記,并從接收數(shù)據(jù)流中刪除啟停標記。處理由鍵盤或鼠標發(fā)出的中斷信號(鍵盤和鼠票也是串行設備)??梢蕴幚碛嬎銠C與外部串行設備的同步管理問題。有一些比較高檔的 UART 還提供輸入輸出數(shù)據(jù)的緩沖區(qū)。常用 TXD,RXD,/RTS,/CTS。
JTAG:JTAG (Joint Test Action Group 聯(lián)合測試行動小組)是一種國際標準測試協(xié)議(IEEE1149.1 兼容),主要用于芯片內(nèi)部測試。標準的 JTAG 接口是 4 線:TMS、TCK、TDI、TDO,分別為模式選擇、時鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。測試復位信號(TRST,一般以低電平有效)一般作為可選的第五個端口信號。一個含有 JTAGDebug 接口模塊的 CPU,只要時鐘正常,就可以通過 JTAG 接口訪問 CPU 的內(nèi)部寄存器和掛在 CPU 總線上的設備,如 FLASH,RAM,內(nèi)置模塊的寄存器,象 UART,Timers,GPIO 等等的寄存器。
CAN:CAN 全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應用最廣泛的現(xiàn)場總線之一。最初,CAN 被設計作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置 ECU 之 間交換信息,形成汽車電子控制網(wǎng)絡。比如:發(fā)動機管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中,均嵌入 CAN 控制裝置。一個由 CAN 總線構成的單一網(wǎng)絡中,理論上可以掛接無數(shù)個節(jié)點。實際應用中,節(jié)點數(shù)目受網(wǎng)絡硬件的電氣特性所限制。例如,當使用 Philips P82C250 作為 CAN 收發(fā)器時,同一網(wǎng)絡中允許掛接 110 個節(jié)點。CAN 可提供高達 1Mbit/s 的數(shù)據(jù)傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了 CAN 的抗電磁干擾能力。
SDIO:SDIO 是 SD 型的擴展接口,除了可以接 SD 卡外,還可以接支持 SDIO 接口的設備,插口的用途不止是插存儲卡。支持 SDIO 接口的 PDA,筆記本電腦等都可以連接象 GPS 接收器,Wi-Fi 或藍牙適配器,調(diào)制解調(diào)器,局域網(wǎng)適配器,條型碼讀取器,F(xiàn)M 無線電,電視接收 器,射頻身份認證讀取器,或者數(shù)碼相機等等采用 SD 標準接口的設備。
GPIO:GPIO (General Purpose Input Output 通用輸入 / 輸出)或總線擴展器利用工業(yè)標準 I2C、SMBus?或 SPI?接口簡化了 I/O 口的擴展。當微控制器或芯片組沒有足夠的 I/O 端口,或當系統(tǒng) 需要采用遠端串行通信或控制時,GPIO 產(chǎn)品能夠提供額外的控制和監(jiān)視功能。
系統(tǒng)總線
ISA 總線:ISA(industrialstandardarchitecture)總線標準是 IBM 公司 1984 年為推出 PC/AT 機而建立的系統(tǒng)總線標準,所以也叫 AT 總線。它是對 XT 總線的擴展,以適應 8/16 位數(shù)據(jù)總線要求。它在 80286 至 80486 時代應用非常廣泛,以至于現(xiàn)在奔騰機中還保留有 ISA 總線插槽。ISA 總線有 98 只引腳。
EISA 總線:EISA 總線是 1988 年由 Compaq 等 9 家公司聯(lián)合推出的總線標準。它是在 ISA 總線的基礎上使用雙層插座,在原來 ISA 總線的 98 條信號線上又增加了 98 條信號線,也就是在兩條 ISA 信號線之間添加一條 EISA 信號線。在實用中,EISA 總線完全兼容 ISA 總線信號。
VESA 總線:VESA(videoelectronicsstandardassociation)總線是 1992 年由 60 家附件卡制造商聯(lián)合推出的一種局部總線,簡稱為 VL(VESAlocalbus)總線。它的推出為微機系統(tǒng)總線體系結構的革新奠定了基礎。該總線系統(tǒng)考慮到 CPU 與主存和 Cache 的直接相連,通常把這部分總線稱為 CPU 總線或主總線,其他設備通過 VL 總線與 CPU 總線相連,所以 VL 總線被稱為局部總線。它定義了 32 位數(shù)據(jù)線,且可通過擴展槽擴展到 64 位,使用 33MHz 時鐘頻率,最大傳輸率達 132MB/s,可與 CPU 同步工作。是一種高速、高效的局部總線,可支持 386SX、386DX、486SX、486DX 及奔騰微處理器。
PCI 總線:PCI(peripheralcomponentinterconnect)總線是當前最流行的總線之一,它是由 Intel 公司推出的一種局部總線。它定義了 32 位數(shù)據(jù)總線,且可擴展為 64 位。PCI 總線主板插槽的體積比原 ISA 總線插槽還小,其功能比 VESA、ISA 有極大的改善,支持突發(fā)讀寫操作,最大傳輸速率可達 132MB/s,可同時支持多組外圍設備。PCI 局部總線不能兼容現(xiàn)有的 ISA、EISA、MCA(microchannelarchitecture)總線,但它不受制于處理器,是基于奔騰等新一代微處理器而發(fā)展的總線。
外部總線
RS-232-C 總線:RS-232-C 是美國電子工業(yè)協(xié)會 EIA 制定的一種串行物理接口標準。RS 是英文“推薦標準”的縮寫,232 為標識號,C 表示修改次數(shù)。RS-232-C 總線標準設有 25 條信號線,包括一個主通道和一個輔助通道,在多數(shù)情況下主要使用主通道,對于一般雙工通信,僅需幾條信號線就可實現(xiàn),如一條發(fā)送線、一條接收線及一條地線。RS-232-C 標準規(guī)定的數(shù)據(jù)傳輸速率為每秒 50、75、100、150、300、600、1200、2400、4800、9600、19200 波特。RS-232-C 標準規(guī)定,驅(qū)動器允許有 2500pF 的電容負載,通信距離將受此電容限制,例如,采用 150pF/m 的通信電纜時,最大通信距離為 15m;若每米電纜的電容量減小,通信距離可以增加。傳輸距離短的另一原因是 RS-232 屬單端信號傳送,存在共地噪聲和不能抑制共模干擾等問題,因此一般用于 20m 以內(nèi)的通信。
RS-485 總線:在要求通信距離為幾十米到上千米時,廣泛采用 RS-485 串行總線標準。RS-485 采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力。加上總線收發(fā)器具有高靈敏度,能檢測低至 200mV 的電壓,故傳輸信號能在千米以外得到恢復。RS-485 采用半雙工工作方式,任何時候只能有一點處于發(fā)送狀態(tài),因此,發(fā)送電路須由使能信號加以控制。RS-485 用于多點互連時非常方便,可以省掉許多信號線。應用 RS-485 可以聯(lián)網(wǎng)構成分布式系統(tǒng),其允許最多并聯(lián) 32 臺驅(qū)動器和 32 臺接收器。
IEEE-488 總線:IEEE-488 總線用來連接系統(tǒng),如微計算機、數(shù)字電壓表、數(shù)碼顯示器等設備及其他儀器儀表均可用 IEEE-488 總線裝配起來。它按照位并行、字節(jié)串行雙向異步方式傳輸信號,連接方式為總線方式,儀器設備直接并聯(lián)于總線上而不需中介單元,但總線上最多可連接 15 臺設備。最大傳輸距離為 20 米,信號傳輸速度一般為 500KB/s,最大傳輸速度為 1MB/s。
USB 總線:通用串行總線 USB 是由 Intel、Compaq、Digital、IBM、Microsoft、NEC、NorthernTelecom 等 7 家世界著名的計算機和通信公司共同推出的一種新型接口標準。它基于通用連接技術,實現(xiàn)外設的簡單快速連接,達到方便用戶、降低成本、擴展 PC 連接外設范圍的目的。它可以為外設提供電源,而不像普通的使用串、并口的設備需要單獨的供電系統(tǒng)。
另外,汽車電子最近這么火,筆者想談一下汽車網(wǎng)絡中的 LIN 與 CAN 總線:
早在 1983 年,博世公司開始開發(fā)控制器局域網(wǎng)(CAN)總線,并且在 1986 年正式發(fā)布相關協(xié)議。目前有多種不同汽車總線標準,但是 CAN 仍然是最流行的標準。在 CAN 網(wǎng)絡中,所有節(jié)點(源于不同的 ECU)都擔當主節(jié)點(即,不存在主從拓撲結構),而且并不分配具體地址。而是由消息攜帶標識符。
在給定時間,多個節(jié)點可以同時向 CAN 總線發(fā)送數(shù)據(jù)。然后由消息標識符幫助確定消息的優(yōu)先級。最高優(yōu)先級的消息會使 CAN 總線進入顯性狀態(tài),而所有其他節(jié)點會停止發(fā)送。這些節(jié)點實際上是收發(fā)器,除發(fā)送消息之外,其可以根據(jù)特定功能從總線查找特定消息。因此,CAN 總線所連接的不同節(jié)點之間會出現(xiàn)信息流。
由于 CAN 會進行填充錯誤、誤碼、校驗和錯誤、誤幀以及應答錯誤等多項錯誤檢查, 因此具有高可靠性。CAN 支持高達 1Mbps 的數(shù)據(jù)傳輸速率,從而成為連接汽車關鍵功能 ECU(如:變速箱、溫度傳感器等)的默認選擇。
但汽車為什么選擇 LIN?
汽車電子的作用并非僅僅局限于這些關鍵單元。車身電子市場多年來一直在增長。典型車身控制應用包括座椅、車窗、智能雨刷以及汽車空調(diào)傳感器等。對車身電子的關鍵要求是確保汽車更舒適、更安全。盡管這些系統(tǒng)可能不要求像關鍵 ECU 那樣的高安全性,但是它們?nèi)匀恍枰欢ǖ钠嚲W(wǎng)絡通信標準。
LIN 與 CAN 對比:
實現(xiàn) CAN 比實現(xiàn) LIN 的成本高。導致 CAN 成本更高的因素包括:
CAN 網(wǎng)絡中的每個節(jié)點都需要時鐘發(fā)生器或晶體;
CAN 的芯片級實現(xiàn)起來更復雜;
采用雙線傳輸。
最重要的是,整個昂貴的架構對于不需要高可靠性和高數(shù)據(jù)速率的應用來說過于奢侈。以上就是常常弄混的總線分類,希望對大家有些幫助。