1. 程式人生 > >SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介紹,各自的特點是什麼?

SPI、I2C、I2S、UART、GPIO、SDIO、CAN的介紹,各自的特點是什麼?

轉:http://blog.sina.com.cn/s/blog_6d0c454d0101aaym.html

SPI: SPI(Serial Peripheral Interface)MOTOROLA公司提出的同步序列匯流排方式。高速同步序列口。34線介面,收發獨立、可同步進行.

因其硬體功能強大而被廣泛應用。在微控制器組成的智慧儀器和測控系統中。如果對速度要求不高,採用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公司開發的兩線式序列匯流排,用於連線微控制器及其外圍裝置

.

I2C匯流排用兩條線(SDA和SCL)在匯流排和裝置之間傳遞資訊,在微控制器和外部裝置之間進行序列通訊或在主裝置和從裝置之間的雙向資料傳送。I2C是OD輸出的,大部分I2C都是2線的(時鐘和資料),一般用來傳輸控制訊號。

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

I2S(Inter-IC Sound Bus)是飛利浦公司為數字音訊裝置之間的音訊 資料傳輸而制定的一種匯流排標準。

I2S則大部分是3線的(除了時鐘和資料外,還有一個左右聲道的選擇訊號),I2S主要用來傳輸音訊訊號。

如STB、DVD、MP3等常用

UART:通用非同步序列口。按照標準波特率完成雙向通訊,速度慢.

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

UART是用於控制計算機與序列裝置的晶片。有一點要注意的是,它提供了RS-232C資料終端裝置介面,這樣計算機就可以和調變解調器或其它使用RS-232C介面的序列裝置通訊了 。作為介面的一部分,UART還提供以下功能: 

將由計算機內部傳送過來的並行資料轉換為輸出的序列資料流。將計算機外部來的序列 

資料轉換為位元組,供計算機內部使用並行資料的器件使用。在輸出的序列資料流中加入 

奇偶校驗位,並對從外部接收的資料流進行奇偶校驗。在輸出資料流中加入啟停標記, 

並從接收資料流中刪除啟停標記。處理由鍵盤或滑鼠發出的中斷訊號(鍵盤和鼠也是 

序列裝置)。可以處理計算機與外部序列裝置的同步管理問題。有一些比較高檔的UART 

還提供輸入輸出資料的緩衝區,現在比較新的UART16550,它可以在計算機需要處理數 

據前在其緩衝區記憶體儲16位元組資料,而通常的UART8250。現在如果您購買一個內建的 

調變解調器,此調變解調器內部通常就會有16550 UART。 

GPIO (General Purpose Input Output 通用輸入/輸出)或匯流排擴充套件器利用工業標準I²C、SMBus™或SPI™介面簡化了I/O口的擴充套件。

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

GPIO的優點(埠擴充套件器)

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

  整合IIC從機介面:GPIO內建IIC從機介面,即使在待機模式下也能夠全速工作。

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

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

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

  靈活的燈光控制:內建多路高解析度的PWM輸出。

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

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

佈線簡單:僅需使用2條IIC匯流排或3條SPI匯流排

SDIOSDIO是SD型的擴充套件介面,除了可以接SD卡外,還可以接支援SDIO介面的裝置,插口的用途不止是插儲存卡。支援 SDIO介面的PDA,膝上型電腦等都可以連線象GPS接收器,Wi-Fi或藍芽介面卡,調變解調器,區域網介面卡,條型碼讀取器,FM無線電,電視接收 器,射頻身份認證讀取器,或者數碼相機等等採用SD標準介面的裝置。

CAN CAN,全稱為“Controller Area Network”,即控制器區域網,是國際上應用最廣泛的現場匯流排之一。最初,CAN被設計作為汽車環境中的微控制器通訊,在車載各電子控制裝置ECU之 間交換資訊,形成汽車電子控制網路。比如:發動機管理系統、變速箱控制器、儀表裝備、電子主幹系統中,均嵌入CAN控制裝置。一個由CAN 匯流排構成的單一網路中,理論上可以掛接無數個節點。實際應用中,節點數目受網路硬體的電氣特性所限制。例如,當使用Philips P82C250作為CAN收發器時,同一網路中允許掛接110個節點。CAN 可提供高達1Mbit/s的資料傳輸速率,這使實時控制變得非常容易。另外,硬體的錯誤檢定特性也增強了CAN的抗電磁干擾能力。

什麼是CSMA/CD ?CSMA/CD是“載波偵聽多路訪問/衝突檢測”(Carrier Sense Multiple Access with Collision Detect)的縮寫。利 用CSMA訪問匯流排,可對總線上訊號進行檢測,只有當匯流排處於空閒狀態時,才允許傳送。利用這種方法,可以允許多個節點掛接到同一網路上。當檢測到一個衝 突位時,所有節點重新回到‘監聽’匯流排狀態,直到該衝突時間過後,才開始傳送。在匯流排超載的情況下,這種技術可能會造成傳送訊號經過許多延遲。為了避免發 送時延,可利用CSMA/CD方式訪問匯流排。當總線上有兩個節點同時進行傳送時,必須通過“無損的逐位仲裁”方法來使有最高優先權的的報文優先發送。在 CAN總線上傳送的每一條報文都具有唯一的一個11位或29位數字的ID。CAN匯流排狀態取決於二進位制數‘0’而不是‘1’,所以ID號越小,則該報文擁 有越高的優先權。因此一個為全‘0’標誌符的報文具有總線上的最高階優先權。可用另外的方法來解釋:在訊息衝突的位置,第一個節點發送0而另外的節點發送 1,那麼傳送0的節點將取得匯流排的控制權,並且能夠成功的傳送出它的資訊。- 2 -CAN的高層協議CAN的高層協議(也可理 解為應用層協議)是一種在現有的底層協議(物理層和資料鏈路層)之上實現的協議。高層協議是在CAN規範的基礎上發展起來的應用層。許多系統(像汽車工 業)中,可以特別制定一個合適的應用層,但對於

許多的行業來說,這種方法是不經濟的。一些組織已經研究並開放了應用層標準,以使系統的綜合應用變得十分容 易。一些可使用的CAN高層協議有:制定組織 主要高層協議CiA           CAL協議CiA           CANOpen協議ODVA       DeviceNet 協議Honeywell  SDS 協議Kvaser       CANKingdom協議

什麼是標準格式CAN和擴充套件格式CAN?標準CAN的標誌符長度是11位,而擴充套件格式CAN的標誌符長度可達29位。CAN 協議的2.0A版本規定CAN控制器必須有一個11位的標誌符。同時,在2.0B版本中規定,CAN控制器的標誌符長度可以是11位或29位。遵循 CAN2.0B協議的CAN控制器可以傳送和接收11位識別符號的標準格式報文或29位識別符號的擴充套件格式報文。如果禁止CAN2.0B,則CAN 控制器只能傳送和接收11位識別符號的標準格式報文,而忽略擴充套件格式的報文結構,但不會出現錯誤。目前,Philips公司主要推廣的CAN獨立控制器均支援CAN2.0B協議,即支援29位識別符號的擴充套件格式報文結構。