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