亚洲色婷婷综合开心网,老师粉嫩小泬喷水视频90,天天躁夜夜躁狠狠综合,欧美日韩一区二区三区自拍

 
您好,歡迎訪問(wèn)上海力矽微電子技術(shù)有限公司
021-31063206
力矽微電子
?Leapix Microelectronics?
I2C和SPI,UART的區(qū)別
來(lái)源: | 作者:electronics-101 | 發(fā)布時(shí)間: 2022-03-31 | 1062 次瀏覽 | 分享到:
I2C和SPI,UART的區(qū)別

SPI--(Serial Peripheral Interface:串行外設(shè)接口)串行外圍設(shè)備接口,是Motorola公司推出的一種同步串行通訊方式,是一種三線同步總線,因其硬件功能很強(qiáng),與SPI有關(guān)的軟件就相當(dāng)簡(jiǎn)單,使CPU有更多的時(shí)間處理其他事務(wù)。


I2C--(INTER IC BUS:意為IC之間總線)串行總線的縮寫,是PHILIPS公司推出的芯片間串行傳輸總線。它以1根串行數(shù)據(jù)線(SDA)和1根串行時(shí)鐘線(SCL)實(shí)現(xiàn)了雙工的同步數(shù)據(jù)傳輸。具有接口線少,控制方式簡(jiǎn)化,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。在主從通信中,可以有多個(gè)I2C總線器件同時(shí)接到I2C總線上,通過(guò)地址來(lái)識(shí)別通信對(duì)象。


能用于替代標(biāo)準(zhǔn)的并行總線,能連接的各種集成電路和功能模塊。I2C是多主控總線,所以任何一個(gè)設(shè)備都能像主控器一樣工作,并控制總線??偩€上每一個(gè)設(shè)備都有一個(gè)獨(dú)一無(wú)二的地址,根據(jù)設(shè)備它們自己的能力,它們可以作為發(fā)射器或接收器工作。多路微控制器能在同一個(gè)I2C總線上共存。


最主要的優(yōu)點(diǎn)是其簡(jiǎn)單性和有效性。它支持多主控(multimastering),其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線。一個(gè)主控能夠控制信號(hào)的傳輸和時(shí)鐘頻率。當(dāng)然,在任何時(shí)間點(diǎn)上只能有一個(gè)主控。


UART--(Universal Asynchronous Receiver Transmitter:通用異步收發(fā)器)單端,遠(yuǎn)距離傳輸。大多數(shù)計(jì)算機(jī)包含兩個(gè)基于RS232的串口。串口同時(shí)也是儀器儀表設(shè)備通用的通信協(xié)議;很多GPIB兼容的設(shè)備也帶有RS-232口。同時(shí),串口通信協(xié)議也可以用于獲取遠(yuǎn)程采集設(shè)備的數(shù)據(jù)。串口通信的概念非常簡(jiǎn)單,串口按位(bit)發(fā)送和接收字節(jié)。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時(shí)用另一根線接收數(shù)據(jù)。它很簡(jiǎn)單并且能夠?qū)崿F(xiàn)遠(yuǎn)距離通信。比如IEEE488定義并行通行狀態(tài)時(shí),規(guī)定設(shè)備線總常不得超過(guò)20米,并且任意兩個(gè)設(shè)備間的長(zhǎng)度不得超過(guò)2米;而對(duì)于串口而言,長(zhǎng)度可達(dá)1200米。 

-----------------------------------------------------------------------------------------------------------------------------------


區(qū)別在電氣信號(hào)線上:

     SPI總線由三條信號(hào)線組成:串行時(shí)鐘(SCLK)、串行數(shù)據(jù)輸出(SDO)、串行數(shù)據(jù)輸入(SDI)。SPI總線可以實(shí)現(xiàn)多個(gè)SPI設(shè)備互相連接。提供SPI串行時(shí)鐘的SPI設(shè)備為SPI主機(jī)或主設(shè)備(Master),其他設(shè)備為SPI從機(jī)或從設(shè)備(Slave)。主從設(shè)備間可以實(shí)現(xiàn)全雙工通信,當(dāng)有多個(gè)從設(shè)備時(shí),還可以增加一條從設(shè)備選擇線。

     如果用通用IO口模擬SPI總線,必須要有一個(gè)輸出口(SDO),一個(gè)輸入口(SDI),另一個(gè)口則視實(shí)現(xiàn)的設(shè)備類型而定,如果要實(shí)現(xiàn)主從設(shè)備,則需輸入輸出口,若只實(shí)現(xiàn)主設(shè)備,則需輸出口即可,若只實(shí)現(xiàn)從設(shè)備,則只需輸入口即可。


     I2C總線是雙向、兩線(SCL、SDA)、串行、多主控(multi-master)接口標(biāo)準(zhǔn),具有總線仲裁機(jī)制,非常適合在器件之間進(jìn)行近距離、非經(jīng)常性的數(shù)據(jù)通信。在它的協(xié)議體系中,傳輸數(shù)據(jù)時(shí)都會(huì)帶上目的設(shè)備的設(shè)備地址,因此可以實(shí)現(xiàn)設(shè)備組網(wǎng)。

     如果用通用IO口模擬I2C總線,并實(shí)現(xiàn)雙向傳輸,則需一個(gè)輸入輸出口(SDA),另外還需一個(gè)輸出口(SCL)。(注:I2C資料了解得比較少,這里的描述可能很不完備)


     UART總線是異步串口,因此一般比前兩種同步串口的結(jié)構(gòu)要復(fù)雜很多,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線,一根用于發(fā)送,一根用于接收。

     顯然,如果用通用IO口模擬UART總線,則需一個(gè)輸入口,一個(gè)輸出口。


從以上很明顯可以看出,SPI和UART可以實(shí)現(xiàn)全雙工,但I(xiàn)2C不行;

-----------------------------------------------------------------------------------------------------------------------------------


看看牛人們的意見(jiàn)吧!

     A:I2C線更少,我覺(jué)得比UART、SPI更為強(qiáng)大,但是技術(shù)上也更加麻煩些,因?yàn)镮2C需要有雙向IO的支持,而且使用上拉電阻,我覺(jué)得抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,較少用于遠(yuǎn)距離通信。SPI實(shí)現(xiàn)要簡(jiǎn)單一些,UART需要固定的波特率,就是說(shuō)兩位數(shù)據(jù)的間隔要相等,而SPI則無(wú)所謂,因?yàn)樗怯袝r(shí)鐘的協(xié)議。

     B:I2C的速度比SPI慢一點(diǎn),協(xié)議比SPI復(fù)雜一點(diǎn),但是連線也比標(biāo)準(zhǔn)的SPI要少。


-----------------------------------------------------------------------------------------------------------------------------------


SPI 是一種允許一個(gè)主設(shè)備啟動(dòng)一個(gè)與從設(shè)備的同步通訊的協(xié)議,從而完成數(shù)據(jù)的交換。也就是SPI是一種規(guī)定好的通訊方式。這種通信方式的優(yōu)點(diǎn)是占用端口較少,一般4根就夠基本通訊了。同時(shí)傳輸速度也很高。一般來(lái)說(shuō)要求主設(shè)備要有SPI控制器(但可用模擬方式),就可以與基于SPI的芯片通訊了。


    SPI 的通信原理很簡(jiǎn)單,它需要至少4根線,事實(shí)上3根也可以。也是所有基于SPI的設(shè)備共有的,它們是SDI(數(shù)據(jù)輸入),SDO(數(shù)據(jù)輸出),SCK(時(shí) 鐘),CS(片選)。其中CS是控制芯片是否被選中的,也就是說(shuō)只有片選信號(hào)為預(yù)先規(guī)定的使能信號(hào)時(shí)(高電位或低電位),對(duì)此芯片的操作才有效。這就允許 在同一總線上連接多個(gè)SPI設(shè)備成為可能。


     接下來(lái)就負(fù)責(zé)通訊的3根線了。通訊是通過(guò)數(shù)據(jù)交換完成的,這里先要知道SPI是串行通訊協(xié)議,也就是說(shuō)數(shù)據(jù)是一位一位的傳輸?shù)?。這就是SCK時(shí)鐘線存在的原 因,由SCK提供時(shí)鐘脈沖,SDI,SDO則基于此脈沖完成數(shù)據(jù)傳輸。數(shù)據(jù)輸出通過(guò)SDO線,數(shù)據(jù)在時(shí)鐘上沿或下沿時(shí)改變,在緊接著的下沿或上沿被讀取。 完成一位數(shù)據(jù)傳輸,輸入也使用同樣原理。這樣,在至少8次時(shí)鐘信號(hào)的改變(上沿和下沿為一次),就可以完成8位數(shù)據(jù)的傳輸。


     要注意的是,SCK信號(hào)線只由主設(shè)備控制,從設(shè)備不能控制信號(hào)線。同樣,在一個(gè)基于SPI的設(shè)備中,至少有一個(gè)主控設(shè)備。


     這樣傳輸?shù)奶攸c(diǎn):這樣的傳輸方式有一個(gè)優(yōu)點(diǎn),與普通的串行通訊不同,普通的串行通訊一次連續(xù)傳送至少8位數(shù)據(jù),而SPI允許數(shù)據(jù)一位一位的傳送,甚至允許暫停,因?yàn)镾CK時(shí)鐘線由主控設(shè)備控制,當(dāng)沒(méi)有時(shí)鐘跳變時(shí),從設(shè)備不采集或傳送數(shù)據(jù)。也就是說(shuō),主設(shè)備通過(guò)對(duì)SCK時(shí)鐘線的控制可以完成對(duì)通訊的控制。


     SPI還是一個(gè)數(shù)據(jù)交換協(xié)議:因?yàn)镾PI的數(shù)據(jù)輸入和輸出線獨(dú)立,所以允許同時(shí)完成數(shù)據(jù)的輸入和輸出。


     不同的SPI設(shè)備的實(shí)現(xiàn)方式不盡相同,主要是數(shù)據(jù)改變和采集的時(shí)間不同,在時(shí)鐘信號(hào)上沿或下沿采集有不同定義,具體請(qǐng)參考相關(guān)器件的文檔。


-----------------------------------------------------------------------------------------------------------------------------------

I2C


只要求兩條總線線路:一條串行數(shù)據(jù)線SDA 一條串行時(shí)鐘線SCL


每個(gè)連接到總線的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)從機(jī)關(guān)系軟件設(shè)定地址主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器


它是一個(gè)真正的多主機(jī)總線如果兩個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸可以通過(guò)沖突檢測(cè)和仲裁,防止數(shù)據(jù)被破壞


串行的8 位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s 快速模式下可達(dá)400kbit/s 高速模式下可達(dá)3.4Mbit/s


片上的濾波器可以濾去總線數(shù)據(jù)線上的毛刺波保證數(shù)據(jù)完整


連接到相同總線的IC 數(shù)量只受到總線的最大電容400pF 限制


-----------------------------------------------------------------------------------------------------------------------------------

UART


UART總線是異步串口,因此一般比前兩種同步串口的結(jié)構(gòu)要復(fù)雜很多,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線,一根用于發(fā)送,一根用于接收。


     顯然,如果用通用IO口模擬UART總線,則需一個(gè)輸入口,一個(gè)輸出口。


UART常用于控制計(jì)算機(jī)與串行設(shè)備的芯片。有一點(diǎn)要注意的是,它提供了RS-232C數(shù)據(jù)終端設(shè)備接口,這樣計(jì)算機(jī)就可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設(shè)備通信了。


明顯可以看出,SPI和UART可以實(shí)現(xiàn)全雙工,但I(xiàn)2C不行。


-----------------------------------------------------------------------------------------------------------------------------------


什么是CAN總線?


CAN 全稱為Controller Area Network,即控制器局域網(wǎng),由德國(guó)Bosch 公司最先提出,是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。CAN 是一種多主方式的串行通訊總線,基本設(shè)計(jì)規(guī)范要求有高的位速率、高抗電磁干擾性,而且要能夠檢測(cè)出總線的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)10Km 時(shí)CAN 仍可提供高達(dá)50Kbit/s 的數(shù)據(jù)傳輸速率。CAN 具有十分優(yōu)越的特點(diǎn):

A、較低的成本與極高的總線利用率;

 B、 數(shù)據(jù)傳輸距離可長(zhǎng)達(dá)10Km,傳輸速率可高達(dá)1Mbit/s;

 C、可靠的錯(cuò)誤處理和檢錯(cuò)機(jī)制,發(fā)送的信息遭到破壞后可自動(dòng)重發(fā);

 D、節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)退出總線的功能;

 E、報(bào)文不包含源地址或目標(biāo)地址僅用標(biāo)志符來(lái)指示功能信息和優(yōu)先級(jí)信息;

由于人為、自然、其它外界環(huán)境的影響和人們對(duì)公交系統(tǒng)的安全可靠性、真實(shí)、實(shí)時(shí)性的追求,使得我們對(duì)通信方式,通信設(shè)備有了更高的要求,基于CAN總線的網(wǎng)絡(luò)則成為我們最佳的選擇

-----------------------------------------------------------------------------------------------------------------------------------


CAN總線 

 


現(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。CAN(Controller Area Network)屬于現(xiàn)場(chǎng)總線的范疇,它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。較之目前許多RS-485基于R線構(gòu)建的分布式控制系統(tǒng)而言,基于CAN總線的分布式控制系統(tǒng)在以下方面具有明顯的優(yōu)越性:

    首先,CAN控制器工作于多主方式,網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線訪問(wèn)優(yōu)先權(quán)(取決于報(bào)文標(biāo)識(shí)符)采用無(wú)損結(jié)構(gòu)的逐位仲裁的方式競(jìng)爭(zhēng)向總線發(fā)送數(shù)據(jù),且CAN協(xié)議廢除了站地址編碼,而代之以對(duì)通信數(shù)據(jù)進(jìn)行編碼,這可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這些特點(diǎn)使得CAN總線構(gòu)成的網(wǎng)絡(luò)各節(jié)點(diǎn)之間的數(shù)據(jù)通信實(shí)時(shí)性強(qiáng),并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。而利用RS-485只能構(gòu)成主從式結(jié)構(gòu)系統(tǒng),通信方式也只能以主站輪詢的方式進(jìn)行,系統(tǒng)的實(shí)時(shí)性、可靠性較差;

    其次,CAN總線通過(guò)CAN控制器接口芯片82C250的兩個(gè)輸出端CANH和CANL與物理總線相連,而CANH端的狀態(tài)只能是高電平或懸浮狀態(tài),CANL端只能是低電平或懸浮狀態(tài)。這就保證不會(huì)出現(xiàn)象在RS-485網(wǎng)絡(luò)中,當(dāng)系統(tǒng)有錯(cuò)誤,出現(xiàn)多節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù)時(shí),導(dǎo)致總線呈現(xiàn)短路,從而損壞某些節(jié)點(diǎn)的現(xiàn)象。而且CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線上其他節(jié)點(diǎn)的操作不受影響,從而保證不會(huì)出現(xiàn)象在網(wǎng)絡(luò)中,因個(gè)別節(jié)點(diǎn)出現(xiàn)問(wèn)題,使得總線處于“死鎖”狀態(tài)。

    而且,CAN具有的完善的通信協(xié)議可由CAN控制器芯片及其接口芯片來(lái)實(shí)現(xiàn),從而大大降低系統(tǒng)開發(fā)難度,縮短了開發(fā)周期,這些是只僅僅有電氣協(xié)議的RS-485所無(wú)法比擬的。另外,與其它現(xiàn)場(chǎng)總線比較而言,CAN總線是具有通信速率高、容易實(shí)現(xiàn)、且性價(jià)比高等諸多特點(diǎn)的一種已形成國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。這些也是目前 CAN總線應(yīng)用于眾多領(lǐng)域,具有強(qiáng)勁的市場(chǎng)競(jìng)爭(zhēng)力的重要原因。

    CAN (Controller Area Network)即控制器局域網(wǎng)絡(luò),屬于工業(yè)現(xiàn)場(chǎng)總線的范疇。與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。由于其良好的性能及獨(dú)特的設(shè)計(jì),CAN總線越來(lái)越受到人們的重視。它在汽車領(lǐng)域上的應(yīng)用是最廣泛的,世界上一些著名的汽車制造廠商,如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時(shí)捷)、ROLLS-ROYCE(勞斯萊斯)和JAGUAR(美洲豹)等都采用了CAN總線來(lái)實(shí)現(xiàn)汽車內(nèi)部控制系統(tǒng)與各檢測(cè)和執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)通信。同時(shí),由于CAN總線本身的特點(diǎn),其應(yīng)用范圍目前已不再局限于汽車行業(yè),而向自動(dòng)控制、航空航天、航海、過(guò)程工業(yè)、機(jī)械工業(yè)、紡織機(jī)械、農(nóng)用機(jī)械、機(jī)器人、數(shù)控機(jī)床、醫(yī)療器械及傳感器等領(lǐng)域發(fā)展。CAN已經(jīng)形成國(guó)際標(biāo)準(zhǔn),并已被公認(rèn)為幾種最有前途的現(xiàn)場(chǎng)總線之一。其典型的應(yīng)用協(xié)議有: SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。



什么是CAN總線?

CAN意為Controller Area Network的縮寫,意為控制區(qū)域網(wǎng)絡(luò)。是國(guó)際上流行的現(xiàn)場(chǎng)總線中的一種。是一種特別適合于組建互連的設(shè)備網(wǎng)絡(luò)系統(tǒng)或子系統(tǒng)。

2. CAN總線特點(diǎn)?

l CAN是到目前為止為數(shù)不多的有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線

l CAN通訊距離最大是10公里(設(shè)速率為5Kbps),或最大通信速率為1Mbps(設(shè)通信距離為40米)。


CAN總線上的節(jié)點(diǎn)數(shù)可達(dá)110個(gè)。通信介質(zhì)可在雙絞線,同軸電纜,光纖中選擇。


     CAN采用非破壞性的總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送數(shù)據(jù)時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)會(huì)主動(dòng)退出發(fā)送,高優(yōu)先級(jí)的節(jié)點(diǎn)可繼續(xù)發(fā)送,節(jié)省總線仲裁時(shí)間。

     CAN是多主方式工作,網(wǎng)上的任一節(jié)點(diǎn)均可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息。


CAN采用報(bào)文識(shí)別符識(shí)別網(wǎng)絡(luò)上的節(jié)點(diǎn),從而把節(jié)點(diǎn)分成不同的優(yōu)先級(jí),高優(yōu)先級(jí)的節(jié)點(diǎn)享有傳送報(bào)文的優(yōu)先權(quán)。


報(bào)文是短幀結(jié)構(gòu),短的傳送時(shí)間使其受干擾概率低,CAN有很好的效驗(yàn)機(jī)制,這些都保證了CAN通信的可靠性。


-----------------------------------------------------------------------------------------------------------------------------------


SPI通常有SCK時(shí)鐘,STB片選,DATA數(shù)據(jù)信號(hào)三個(gè)信號(hào)。 I2C通常有 SDA數(shù)據(jù)和SCL時(shí)鐘兩個(gè)信號(hào)。


 


SPI:Motorola推出的同步串行通訊方式,三線同步總線,硬件強(qiáng)大,軟件相對(duì)簡(jiǎn)單,cpu有更多時(shí)間處理其他事務(wù)。SCK時(shí)鐘,STB片選,DATA數(shù)據(jù)信號(hào)三信號(hào)。多了一個(gè)片選信號(hào)


I2C:PHilips推出的串行總線,一根SDA串行數(shù)據(jù)線,一根串行時(shí)鐘線SCL。按照地址來(lái)計(jì)算的



UART


Universival Asychronous Receiver/Transmitter(通用異步串行口),UART是一種較為通用的數(shù)據(jù)傳輸?shù)姆椒ǎ碨tart Bit+Data+Check+StopBit),而COM口中Rx、Tx的數(shù)據(jù)格式即為UART。UART和RS232是兩種異步數(shù)據(jù)傳輸標(biāo)準(zhǔn).計(jì)算機(jī)中的COM1和COM2都是RS232串行通信標(biāo)準(zhǔn)接口。當(dāng)Uart接口連到PC機(jī)上時(shí),需要接RS232電平轉(zhuǎn)換電路。


UART使用發(fā)送數(shù)據(jù)線TXD和接收數(shù)據(jù)線RXD來(lái)傳送數(shù)據(jù),接收和發(fā)送可以單獨(dú)進(jìn)行也可以同時(shí)進(jìn)行。它傳送數(shù)據(jù)的格式有嚴(yán)格的規(guī)定,每個(gè)數(shù)據(jù)以相同的位串形式傳送,每個(gè)串行數(shù)據(jù)由起始位,數(shù)據(jù)位,奇偶校驗(yàn)位和停止位組成。從起始位到停止位結(jié)束的時(shí)間稱為一幀(frame),即一個(gè)字符的完整通信格式。



SPI


Serial Perheral Interface,是一種全雙工同步串行接口標(biāo)準(zhǔn),串行通信的雙方用四根線進(jìn)行通信,這四根連線分別是:片選信號(hào),I/O時(shí)鐘,串行輸入,串行輸出,這種接口的特點(diǎn)是快速,高效,并且操作起來(lái)比I2C要簡(jiǎn)單一些,接線也比較簡(jiǎn)單,TLC2543提供SPI接口。


 

I2C


Inter-Integrated Circuit(集成電路之間), I2C總線是一種由PHILIPS公司開發(fā)的兩線式雙向串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。I2C屬于兩線式串行總線,它由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過(guò)程中,IC2總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號(hào)分為地址碼和控制量?jī)刹糠?,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對(duì)比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。


 


CAN


Controller Area Network(區(qū)域網(wǎng)絡(luò)控制器),CAN 全稱為Controller Area Network,即控制器局域網(wǎng),由德國(guó)Bosch 公司最先提出,是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。CAN 是一種多主方式的串行通訊總線,基本設(shè)計(jì)規(guī)范要求有高的位速率、高抗電磁干擾性,而且要能夠檢測(cè)出總線的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)10Km 時(shí)CAN 仍可提供高達(dá)50Kbit/s 的數(shù)據(jù)傳輸速率。現(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。CAN屬于現(xiàn)場(chǎng)總線的范疇,它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。較之目前許多RS-485基于R線構(gòu)建的分布式控制系統(tǒng)而言, 基于CAN總線的分布式控制系統(tǒng)具有明顯的優(yōu)越性。


------------------------------------------------------------------------------------------------------------------------------------


SPI來(lái)源于MOTOROLA、I2C來(lái)源于PHILIPS.


      SPI(Serial PeripheralInterface--串行外設(shè)接口)總線系統(tǒng)是一種同步串行外設(shè)接口,它可以使 MCU與各種外圍設(shè)備以串行方式進(jìn)行通信以 交換信息。外圍設(shè)置FLASH、RAM、 網(wǎng)絡(luò)控制器、LCD顯示驅(qū)動(dòng)器、A/D轉(zhuǎn)換器和MCU等。SPI總線系統(tǒng)可直接與各個(gè)廠家生產(chǎn)的多種標(biāo)準(zhǔn)外圍器件直接接口,該接口一般使用4條線:串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出數(shù)據(jù)線MISO、主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI和低電平有效的從機(jī)選擇線CS(有的SPI接口芯片帶有中斷信號(hào)線INT或INT、有的SPI接口芯片沒(méi)有主機(jī)輸出/從機(jī)輸入數(shù)據(jù)線MOSI)。

      I2C的數(shù)據(jù)輸入輸出用的是一根線,SPI則分為dataIN和dataOUT。由于這個(gè)原因,采用I2C時(shí)CPU的端口占用少,SPI多一根。但是由于I2C的數(shù)據(jù)線是雙向的,所以隔離比較復(fù)雜,SPI則比較容易。所以系統(tǒng)內(nèi)部通信可用I2C,若要與外部通信則最好用SPI帶隔離(可以提高抗干擾能力)。但是I2C和SPI都不適合長(zhǎng)距離傳輸。長(zhǎng)距離時(shí)就要用485了。

I2C和SPI,UART的區(qū)別(轉(zhuǎn)) - 喧鬧的寂寞 - 喧鬧的寂寞


   SPI最高速度達(dá)5M位/秒.


    I2C(Inter-IntegratedCircuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇??呻S時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。


   I2C速度在10--400K,數(shù)據(jù)的傳輸速度可以由主機(jī)的時(shí)鐘速度決定,但如果從機(jī)不愿意,也可以以自己的方式----拉低SCL來(lái)阻止主機(jī)時(shí)鐘速度過(guò)快。當(dāng)然,從機(jī)能阻止主機(jī)的前提是主機(jī)要檢測(cè)總線SCL線電平后才決定是否發(fā)、什么時(shí)候發(fā)下一個(gè)時(shí)鐘脈沖的。其中,在硬件上必須使用“線與”才能解決從機(jī)拉低時(shí)能阻止主機(jī)時(shí)鐘速度的功能。