SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎?

SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎?

總線,總線,總要陷進裡面。這世界上的信號都一樣,但是總線卻成千上萬,讓人頭疼。

總的來說,總線有三種:內部總線、系統總線和外部總線。內部總線是微機內部各外圍芯片與處理器之間的總線,用於芯片一級的互連;而系統總線是微機中各插件板與系統板之間的總線,用於插件板一級的互連;外部總線則是微機和外部設備之間的總線,微機作為一種設備,通過該總線和其他設備進行信息與數據交換,它用於設備一級的互連。

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

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

SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎?

因其硬件功能強大而被廣泛應用。在單片機組成的智能儀器和測控系統中。如果對速度要求不高,採用SPI總線模式是個不錯的選擇。它可以節省I/O端口,提高外設的數目和系統的性能。標準SPI總線由四根線組成:串行時鐘線(SCK)、主機輸入/從機輸出線(MISO)。主機輸出/從機輸入線(MOSI)和片選信號(CS)。有的SPI接口芯片帶有中斷信號線或沒有MOSI。

SPI總線由三條信號線組成:串行時鐘(SCLK)、串行數據輸出(SDO)、串行數據輸入(SDI)。SPI總線可以實現多個SPI設備互相連接。提供SPI串行時鐘的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。主從設備間可以實現全雙工通信,當有多個從設備時,還可以增加一條從設備選擇線。如果用通用IO口模擬SPI總線,必須要有一個輸出口(SDO),一個輸入口(SDI),另一個口則視實現的設備類型而定,如果要實現主從設備,則需輸入輸出口,若只實現主設備,則需輸出口即可,若只實現從設備,則只需輸入口即可。

I2C (Inter-Integrated Circuit):由PHILIPS公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。

SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎?

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

I2C是多主控總線,所以任何一個設備都能像主控器一樣工作,並控制總線。總線上每一個設備都有一個獨一無二的地址,它們可以作為發射器或接收器工作。多路微控制器能在同一個I2C總線上共存。

UART:通用異步串行口,按照標準波特率完成雙向通訊,速度慢。

UART總線是異步串口,因此一般比前兩種同步串口的結構要複雜很多,一般由波特率產生器(產生的波特率等於傳輸波特率的16倍)、UART接收器、UART發送器組成,硬件上由兩根線,一根用於發送,一根用於接收。

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

SPI、I2C和UART做個比較

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

而UART是應用於兩個設備之間的通信,如用單片機做好的設備和計算機的通信。這樣的通信可以做長距離的。UART速度比上面兩者快,最高達100kbps左右,用與計算機與設備或者計算機和計算之間通信,但有效範圍不會很長,約10米左右,UART優點是支持面廣,程序設計結構很簡單,隨著USB的發展,UART也逐漸走向下坡。

I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻 數據傳輸而制定的一種總線標準。

SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎?

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

I2S標準中,既規定了硬件接口規範,也規定了數字音頻數據的格式。I2S有3個主要信號:1)串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈衝。SCLK的頻率=2×採樣頻率×採樣位數。2)幀時鐘LRCK,(也稱WS),用於切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等於採樣頻率。3) 串行數據SDATA,就是用二進制補碼錶示的音頻數據。

有時為了使系統間能夠更好地同步,還需要另外傳輸一個信號MCLK,稱為主時鐘,也叫系統時鐘(Sys Clock),是採樣頻率的256倍或384倍。

GPIO (General Purpose Input Output 通用輸入/輸出)或總線擴展器,利用工業標準I2C、SMBus或SPI接口簡化了I/O口的擴展。

當微控制器或芯片組沒有足夠的I/O端口,或當系統 需要採用遠端串行通信或控制時,GPIO產品能夠提供額外的控制和監視功能。每個GPIO端口可通過軟件分別配置成輸入或輸出。Maxim的GPIO產品線包括8端口至28端口的GPIO,提供推輓式輸出或漏極開路輸出。提供微型3mm x 3mm QFN封裝。

GPIO的優點(端口擴展器):

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

集成I2C從機接口:GPIO內置I2C從機接口,即使在待機模式下也能夠全速工作。

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

低成本:您不用為沒有使用的功能買單!

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

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

可預先確定響應時間:縮短或確定外部事件與中斷之間的響應時間。

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

佈線簡單:僅需使用2條I2C總線或3條SPI總線

SDIO

SDIO是SD型的擴展接口,除了可以接SD卡外,還可以接支持SDIO接口的設備,插口的用途不止是插存儲卡。支持 SDIO接口的PDA,筆記本電腦等都可以連接象GPS接收器,Wi-Fi或藍牙適配器,調制解調器,局域網適配器,條型碼讀取器,FM無線電,電視接收 器,射頻身份認證讀取器,或者數碼相機等等採用SD標準接口的設備。

SDIO協議是由SD卡的協議演化升級而來的,很多地方保留了SD卡的讀寫協議,同時SDIO協議又在SD卡協議之上添加了CMD52和CMD53命令。由於這個,SDIO和SD卡規範間的一個重要區別是增加了低速標準,低速卡的目標應用是以最小的硬件開始來支持低速I/O能力。低速卡支持類似調制解調器,條形碼掃描儀和GPS接收器等應用。高速卡支持網卡,電視卡還有“組合”卡等,組合卡指的是存儲器+SDIO。

SDIO和SD卡的SPEC間的又一個重要區別是增加了低速標準。SDIO卡只需要SPI和1位SD傳輸模式。低速卡的目標應用是以最小的硬件開支來支持低速I/O能力,低速卡支持類似MODEM,條形掃描儀和GPS接收器等應用。對組合卡來說,全速和4BIT操作對卡內存儲器和SDIO部分都是強制要求的。

在非組合卡的SDIO設備裡,其最高速度要只有達到25M,而組合卡的最高速度同SD卡的最高速度一樣,要高於25M。

SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎?

CAN,全稱為“Controller Area Network”,即控制器局域網,是國際上應用最廣泛的現場總線之一。最初,CAN被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ECU之 間交換信息,形成汽車電子控制網絡。比如:發動機管理系統、變速箱控制器、儀表裝備、電子主幹系統中,均嵌入CAN控制裝置。

一個由CAN 總線構成的單一網絡中,理論上可以掛接無數個節點。實際應用中,節點數目受網絡硬件的電氣特性所限制。例如,當使用Philips P82C250作為CAN收發器時,同一網絡中允許掛接110個節點。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。

CAN總線的特點:

1)可以多主方式工作,網絡上任意一個節點均可以在任意時刻主動地向網絡上的其他節點發送信息,而不分主從,通信方式靈活。

2)網絡上的節點可分成不同的優先級,可以滿足不同的實時要求。

3)採用非破壞性位仲裁總線結構機制,當兩個節點同時向網絡上傳送信息時,優先級低的節點主動停止數據發送,而優先級高的節點可不受影響地繼續傳送數據。

4)可以點對點,一點對多點及全局廣播幾種傳送方式接收數據。

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

6)通信速率最高可達1MB/s(此時距離最長40m)。


終於講完這些像繞口令一樣的名詞了,現在應該都清楚了吧!歡迎大家關注我們的同名微信公眾號“麻辣軟硬件”,你會發現更多有趣有深度的內容!

今天你關注我們的微信公眾號了嗎?咱也不知道,咱也不敢問~


分享到:


相關文章: