0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你分清楚SPI、I2C、UART、I2S、GPIO、SDIO、CAN!

m3eY_edn_china ? 來(lái)源:未知 ? 作者:李倩 ? 2018-03-12 08:53 ? 次閱讀

總線,總線,總要陷進(jìn)里面。這世界上的信號(hào)都一樣,但是總線卻成千上萬(wàn),讓人頭疼。

總的來(lái)說(shuō),總線有三種:內(nèi)部總線、系統(tǒng)總線和外部總線。內(nèi)部總線是微機(jī)內(nèi)部各外圍芯片處理器之間的總線,用于芯片一級(jí)的互連;而系統(tǒng)總線是微機(jī)中各插件板與系統(tǒng)板之間的總線,用于插件板一級(jí)的互連;外部總線則是微機(jī)和外部設(shè)備之間的總線,微機(jī)作為一種設(shè)備,通過(guò)該總線和其他設(shè)備進(jìn)行信息與數(shù)據(jù)交換,它用于設(shè)備一級(jí)的互連。

除了總線外,還有一些接口,它們是多種總線的集合體,或者說(shuō)來(lái)者不拒。

SPI (Serial Peripheral Interface):MOTOROLA公司提出的同步串行總線方式。高速同步串行口。3~4線接口,收發(fā)獨(dú)立、可同步進(jìn)行。

因其硬件功能強(qiáng)大而被廣泛應(yīng)用。在單片機(jī)組成的智能儀器和測(cè)控系統(tǒng)中。如果對(duì)速度要求不高,采用SPI總線模式是個(gè)不錯(cuò)的選擇。它可以節(jié)省I/O端口,提高外設(shè)的數(shù)目和系統(tǒng)的性能。標(biāo)準(zhǔn)SPI總線由四根線組成:串行時(shí)鐘線(SCK)、主機(jī)輸入/從機(jī)輸出線(MISO)。主機(jī)輸出/從機(jī)輸入線(MOSI)和片選信號(hào)(CS)。有的SPI接口芯片帶有中斷信號(hào)線或沒(méi)有MOSI。

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(Inter-Integrated Circuit):由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。

I2C總線用兩條線(SDA和SCL)在總線和裝置之間傳遞信息,在微控制器和外部設(shè)備之間進(jìn)行串行通訊或在主設(shè)備和從設(shè)備之間的雙向數(shù)據(jù)傳送。I2C是OD輸出的,大部分I2C都是2線的(時(shí)鐘和數(shù)據(jù)),一般用來(lái)傳輸控制信號(hào)。

I2C是多主控總線,所以任何一個(gè)設(shè)備都能像主控器一樣工作,并控制總線??偩€上每一個(gè)設(shè)備都有一個(gè)獨(dú)一無(wú)二的地址,根據(jù)設(shè)備它們自己的能力,它們可以作為發(fā)射器或接收器工作。多路微控制器能在同一個(gè)I2C總線上共存。

UART:通用異步串行口,按照標(biāo)準(zhǔn)波特率完成雙向通訊,速度慢。

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

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

將由計(jì)算機(jī)內(nèi)部傳送過(guò)來(lái)的并行數(shù)據(jù)轉(zhuǎn)換為輸出的串行數(shù)據(jù)流。將計(jì)算機(jī)外部來(lái)的串行數(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)記。處理由鍵盤(pán)或鼠標(biāo)發(fā)出的中斷信號(hào)(鍵盤(pán)和鼠標(biāo)也是串行設(shè)備)。可以處理計(jì)算機(jī)與外部串行設(shè)備的同步管理問(wèn)題。有一些比較高檔的UART還提供輸入輸出數(shù)據(jù)的緩沖區(qū),現(xiàn)在比較新的UART是16550,它可以在計(jì)算機(jī)需要處理數(shù)據(jù)前在其緩沖區(qū)內(nèi)存儲(chǔ)16字節(jié)數(shù)據(jù),而通常的UART是8250。現(xiàn)在如果您購(gòu)買(mǎi)一個(gè)內(nèi)置的調(diào)制解調(diào)器,此調(diào)制解調(diào)器內(nèi)部通常就會(huì)有16550 UART。

SPI、I2C和UART做個(gè)比較

SPI和I2C這兩種通信方式都是短距離的,芯片和芯片之間或者其他元器件傳感器和芯片之間的通信。SPI和IIC是板上通信,IIC有時(shí)也會(huì)做板間通信,不過(guò)距離甚短,不過(guò)超過(guò)一米,例如一些觸摸屏,手機(jī)液晶屏那些薄膜排線很多用IIC,I2C能用于替代標(biāo)準(zhǔn)的并行總線,能連接的各種集成電路和功能模塊。I2C是多主控總線,所以任何一個(gè)設(shè)備都能像主控器一樣工作,并控制總線。總線上每一個(gè)設(shè)備都有一個(gè)獨(dú)一無(wú)二的地址,根據(jù)設(shè)備它們自己的能力,它們可以作為發(fā)射器或接收器工作。多路微控制器能在同一個(gè)I2C總線上共存這兩種線屬于低速傳輸。

而UART是應(yīng)用于兩個(gè)設(shè)備之間的通信,如用單片機(jī)做好的設(shè)備和計(jì)算機(jī)的通信。這樣的通信可以做長(zhǎng)距離的。UART速度比上面兩者者快,最高達(dá)100K左右,用與計(jì)算機(jī)與設(shè)備或者計(jì)算機(jī)和計(jì)算之間通信,但有效范圍不會(huì)很長(zhǎng),約10米左右,UART優(yōu)點(diǎn)是支持面廣,程序設(shè)計(jì)結(jié)構(gòu)很簡(jiǎn)單,隨著USB的發(fā)展,UART也逐漸走向下坡。

I2S(Inter-IC Sound Bus)是飛利浦公司為數(shù)字音頻設(shè)備之間的音頻 數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn)。

I2S則大部分是3線的(除了時(shí)鐘和數(shù)據(jù)外,還有一個(gè)左右聲道的選擇信號(hào)),I2S主要用來(lái)傳輸音頻信號(hào)。如STB、DVD、MP3等常用

I2S標(biāo)準(zhǔn)中,既規(guī)定了硬件接口規(guī)范,也規(guī)定了數(shù)字音頻數(shù)據(jù)的格式。I2S有3個(gè)主要信號(hào):1)串行時(shí)鐘SCLK,也叫位時(shí)鐘(BCLK),即對(duì)應(yīng)數(shù)字音頻的每一位數(shù)據(jù),SCLK都有1個(gè)脈沖。SCLK的頻率=2×采樣頻率×采樣位數(shù)。2)幀時(shí)鐘LRCK,(也稱WS),用于切換左右聲道的數(shù)據(jù)。LRCK為“1”表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù),為“0”則表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。LRCK的頻率等于采樣頻率。3) 串行數(shù)據(jù)SDATA,就是用二進(jìn)制補(bǔ)碼表示的音頻數(shù)據(jù)。

有時(shí)為了使系統(tǒng)間能夠更好地同步,還需要另外傳輸一個(gè)信號(hào)MCLK,稱為主時(shí)鐘,也叫系統(tǒng)時(shí)鐘(Sys Clock),是采樣頻率的256倍或384倍。

GPIO (General Purpose Input Output 通用輸入/輸出)或總線擴(kuò)展器,利用工業(yè)標(biāo)準(zhǔn)I2C、SMBus或SPI接口簡(jiǎn)化了I/O口的擴(kuò)展。

當(dāng)微控制器或芯片組沒(méi)有足夠的I/O端口,或當(dāng)系統(tǒng) 需要采用遠(yuǎn)端串行通信或控制時(shí),GPIO產(chǎn)品能夠提供額外的控制和監(jiān)視功能。每個(gè)GPIO端口可通過(guò)軟件分別配置成輸入或輸出。Maxim的GPIO產(chǎn)品線包括8端口至28端口的GPIO,提供推挽式輸出或漏極開(kāi)路輸出。提供微型3mm x 3mm QFN封裝。

GPIO的優(yōu)點(diǎn)(端口擴(kuò)展器):

低功耗:GPIO具有更低的功率損耗(大約1μA,μC的工作電流則為100μA)。

集成IIC從機(jī)接口:GPIO內(nèi)置IIC從機(jī)接口,即使在待機(jī)模式下也能夠全速工作。

小封裝:GPIO器件提供最小的封裝尺寸 ― 3mm x 3mm QFN!

低成本:您不用為沒(méi)有使用的功能買(mǎi)單!

快速上市:不需要編寫(xiě)額外的代碼、文檔,不需要任何維護(hù)工作!

靈活的燈光控制:內(nèi)置多路高分辨率的PWM輸出。

可預(yù)先確定響應(yīng)時(shí)間:縮短或確定外部事件與中斷之間的響應(yīng)時(shí)間。

更好的燈光效果:匹配的電流輸出確保均勻的顯示亮度。

布線簡(jiǎn)單:僅需使用2條IIC總線或3條SPI總線

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無(wú)線電,電視接收 器,射頻身份認(rèn)證讀取器,或者數(shù)碼相機(jī)等等采用SD標(biāo)準(zhǔn)接口的設(shè)備。

SDIO協(xié)議是由SD卡的協(xié)議演化升級(jí)而來(lái)的,很多地方保留了SD卡的讀寫(xiě)協(xié)議,同時(shí)SDIO協(xié)議又在SD卡協(xié)議之上添加了CMD52和CMD53命令。由于這個(gè),SDIO和SD卡規(guī)范間的一個(gè)重要區(qū)別是增加了低速標(biāo)準(zhǔn),低速卡的目標(biāo)應(yīng)用是以最小的硬件開(kāi)始來(lái)支持低速I(mǎi)/O能力。低速卡支持類似調(diào)制解調(diào)器,條形碼掃描儀和GPS接收器等應(yīng)用。高速卡支持網(wǎng)卡,電視卡還有“組合”卡等,組合卡指的是存儲(chǔ)器+SDIO。

SDIO和SD卡的SPEC間的又一個(gè)重要區(qū)別是增加了低速標(biāo)準(zhǔn)。SDIO卡只需要SPI和1位SD傳輸模式。低速卡的目標(biāo)應(yīng)用是以最小的硬件開(kāi)支來(lái)支持低速I(mǎi)/O能力,低速卡支持類似MODEM,條形掃描儀和GPS接收器等應(yīng)用。對(duì)組合卡來(lái)說(shuō),全速和4BIT操作對(duì)卡內(nèi)存儲(chǔ)器和SDIO部分都是強(qiáng)制要求的。

在非組合卡的SDIO設(shè)備里,其最高速度要只有達(dá)到25M,而組合卡的最高速度同SD卡的最高速度一樣,要高于25M。

CAN

CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。最初,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ò)中,理論上可以掛接無(wú)數(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的抗電磁干擾能力。

CAN總線的特點(diǎn):

1)可以多主方式工作,網(wǎng)絡(luò)上任意一個(gè)節(jié)點(diǎn)均可以在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,而不分主從,通信方式靈活。

2)網(wǎng)絡(luò)上的節(jié)點(diǎn)可分成不同的優(yōu)先級(jí),可以滿足不同的實(shí)時(shí)要求。

3)采用非破壞性位仲裁總線結(jié)構(gòu)機(jī)制,當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上傳送信息時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)主動(dòng)停止數(shù)據(jù)發(fā)送,而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)傳送數(shù)據(jù)。

4)可以點(diǎn)對(duì)點(diǎn),一點(diǎn)對(duì)多點(diǎn)及全局廣播幾種傳送方式接收數(shù)據(jù)。

5)直接通信距離最遠(yuǎn)可達(dá)10km(速率4Kbps以下)。

6)通信速率最高可達(dá)1MB/s(此時(shí)距離最長(zhǎng)40m)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2663

    瀏覽量

    462452
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1669

    瀏覽量

    90733
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1452

    瀏覽量

    122253
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1175

    瀏覽量

    51515

原文標(biāo)題:SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎

文章出處:【微信號(hào):edn-china,微信公眾號(hào):EDN電子技術(shù)設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SPII2C、UARTI2S、GPIO、SDIO、CAN,你能分清嗎?

    有16550 UART。 SPI、I2CUART做個(gè)比較SPII2C這兩種通信方式都是短距
    發(fā)表于 09-21 15:40

    SPII2C、UARTI2S、GPIO、SDIO、CAN,你能分清楚嗎?

    是16550,它可以在計(jì)算機(jī)需要處理數(shù)據(jù)前在其緩沖區(qū)內(nèi)存儲(chǔ)16字節(jié)數(shù)據(jù),而通常的UART是8250?,F(xiàn)在如果您購(gòu)買(mǎi)一個(gè)內(nèi)置的調(diào)制解調(diào)器,此調(diào)制解調(diào)器內(nèi)部通常就會(huì)有16550UART。SPI、I
    發(fā)表于 07-03 16:56

    SPI、I2C、I2S、UART、CANSDIO、GPIO的介紹

    SPII2C、I2S、UARTCAN、SDIOGPIO
    發(fā)表于 12-07 11:57

    SPI、I2C、UARTI2S、GPIO、SDIO、CAN,你能分清楚

    是16550,它可以在計(jì)算機(jī)需要處理數(shù)據(jù)前在其緩沖區(qū)內(nèi)存儲(chǔ)16字節(jié)數(shù)據(jù),而通常的UART是8250?,F(xiàn)在如果您購(gòu)買(mǎi)一個(gè)內(nèi)置的調(diào)制解調(diào)器,此調(diào)制解調(diào)器內(nèi)部通常就會(huì)有16550 UART。SPI
    發(fā)表于 09-04 10:12

    SPI、I2CUART、I2S、GPIO、SDIO、CAN,你能分清楚

    是16550,它可以在計(jì)算機(jī)需要處理數(shù)據(jù)前在其緩沖區(qū)內(nèi)存儲(chǔ)16字節(jié)數(shù)據(jù),而通常的UART是8250?,F(xiàn)在如果您購(gòu)買(mǎi)一個(gè)內(nèi)置的調(diào)制解調(diào)器,此調(diào)制解調(diào)器內(nèi)部通常就會(huì)有16550 UART。SPI
    發(fā)表于 02-23 10:25

    SPI/I2C/UART/I2S/GPIO/SDIO/CAN如何區(qū)分

    SPI、I2C、UART、I2S、GPIOSDIO、CAN
    發(fā)表于 01-14 07:05

    SPI/I2C/UART/I2S/GPIO/SDIO/CAN介紹

    SPII2C、UART、I2SGPIO、SDIO、CAN
    發(fā)表于 01-25 07:59

    SPI/I2C/UART/I2S/GPIO/SDIO/CAN介紹

    SPI、I2C、UART、I2S、GPIOSDIO、CAN
    發(fā)表于 02-02 06:04

    SPI、I2CUART串行總線協(xié)議

    串口通訊通信協(xié)議UART,以及常用外設(shè)通信協(xié)議 SPI、I2C的介紹與他們之間的區(qū)別
    發(fā)表于 11-30 11:28 ?91次下載

    SPI、SCI、I2C、UART之間的異同

    詳細(xì)介紹了SPI、SCI、I2C、UART幾種通信方式的異同便于讀者整體了解通信的意義.
    發(fā)表于 12-15 14:32 ?0次下載

    CANI2S、I2C、SPI、SSP總線的介紹和比較

    CAN、I2S、I2CSPI、SSP總線的介紹和比較。
    發(fā)表于 07-14 16:20 ?52次下載

    詳細(xì)介紹GPIO、I2C、SPI通訊原理以及物理層原理

    6. I2C接口工作模式7. 硬件拉高拉低的過(guò)程8. 一對(duì)多9. 開(kāi)發(fā)流程三. SPI1. 什么是SPI2. SPI優(yōu)與缺點(diǎn)3.
    發(fā)表于 12-05 12:51 ?21次下載
    詳細(xì)介紹<b class='flag-5'>GPIO</b>、<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>通訊原理以及物理層原理

    詳細(xì)介紹GPIO、I2C、SPI通訊原理以及物理層原理

    6. I2C接口工作模式7. 硬件拉高拉低的過(guò)程8. 一對(duì)多9. 開(kāi)發(fā)流程三. SPI1. 什么是SPI?2. SPI優(yōu)與缺點(diǎn)3.
    發(fā)表于 12-05 13:21 ?9次下載
    詳細(xì)介紹<b class='flag-5'>GPIO</b>、<b class='flag-5'>I2C</b>、<b class='flag-5'>SPI</b>通訊原理以及物理層原理

    可編程USB轉(zhuǎn) UART/I2C Wire常見(jiàn)問(wèn)題及注意事項(xiàng)

    可編程USB轉(zhuǎn) UART/I2C /SMBusS/SPI/CAN/1 -Wire適配器USB2S 常見(jiàn)問(wèn)題及注意事項(xiàng)
    的頭像 發(fā)表于 08-23 14:38 ?1336次閱讀

    UART、SPII2C比較 串口通信介紹

    UART、SPI、I2C比較 I2C線更少,比UARTSPI更為強(qiáng)大,但是技術(shù)上也更加麻煩些,
    的頭像 發(fā)表于 11-09 18:06 ?1069次閱讀
    <b class='flag-5'>UART</b>、<b class='flag-5'>SPI</b>、<b class='flag-5'>I2C</b>比較 串口通信介紹