電子工程網(wǎng)
標題:
SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎
[打印本頁(yè)]
作者:
技術(shù)小白
時(shí)間:
2018-1-13 09:47
標題:
SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚嗎
總線(xiàn),總線(xiàn),總要陷進(jìn)里面。這世界上的信號都一樣,但是總線(xiàn)卻成千上萬(wàn),讓人頭疼。
總的來(lái)說(shuō),總線(xiàn)有三種:內部總線(xiàn)、系統總線(xiàn)和外部總線(xiàn)。內部總線(xiàn)是微機內部各外圍芯片與處理器之間的總線(xiàn),用于芯片一級的互連;而系統總線(xiàn)是微機中各插件板與系統板之間的總線(xiàn),用于插件板一級的互連;外部總線(xiàn)則是微機和外部設備之間的總線(xiàn),微機作為一種設備,通過(guò)該總線(xiàn)和其他設備進(jìn)行信息與數據交換,它用于設備一級的互連。
除了總線(xiàn)外,還有一些接口,它們是多種總線(xiàn)的集合體,或者說(shuō)來(lái)者不拒。
SPI (Serial Peripheral Interface):MOTOROLA公司提出的同步串行總線(xiàn)方式。高速同步串行口。3~4線(xiàn)接口,收發(fā)獨立、可同步進(jìn)行。
因其硬件功能強大而被廣泛應用。在單片機組成的智能儀器和測控系統中。如果對速度要求不高,采用SPI總線(xiàn)模式是個(gè)不錯的選擇。它可以節省I/O端口,提高外設的數目和系統的性能。標準SPI總線(xiàn)由四根線(xiàn)組成:串行時(shí)鐘線(xiàn)(SCK)、主機輸入/從機輸出線(xiàn)(MISO)。主機輸出/從機輸入線(xiàn)(MOSI)和片選信號(CS)。有的SPI接口芯片帶有中斷信號線(xiàn)或沒(méi)有MOSI。
SPI總線(xiàn)由三條信號線(xiàn)組成:串行時(shí)鐘(SCLK)、串行數據輸出(SDO)、串行數據輸入(SDI)。SPI總線(xiàn)可以實(shí)現多個(gè)SPI設備互相連接。提供SPI串行時(shí)鐘的SPI設備為SPI主機或主設備(Master),其他設備為SPI從機或從設備(Slave)。主從設備間可以實(shí)現全雙工通信,當有多個(gè)從設備時(shí),還可以增加一條從設備選擇線(xiàn)。如果用通用IO口模擬SPI總線(xiàn),必須要有一個(gè)輸出口(SDO),一個(gè)輸入口(SDI),另一個(gè)口則視實(shí)現的設備類(lèi)型而定,如果要實(shí)現主從設備,則需輸入輸出口,若只實(shí)現主設備,則需輸出口即可,若只實(shí)現從設備,則只需輸入口即可。
I2C (Inter-Integrated Circuit):由PHILIPS公司開(kāi)發(fā)的兩線(xiàn)式串行總線(xiàn),用于連接微控制器及其外圍設備。
I2C總線(xiàn)用兩條線(xiàn)(SDA和SCL)在總線(xiàn)和裝置之間傳遞信息,在微控制器和外部設備之間進(jìn)行串行通訊或在主設備和從設備之間的雙向數據傳送。I2C是OD輸出的,大部分I2C都是2線(xiàn)的(時(shí)鐘和數據),一般用來(lái)傳輸控制信號。
I2C是多主控總線(xiàn),所以任何一個(gè)設備都能像主控器一樣工作,并控制總線(xiàn)?偩(xiàn)上每一個(gè)設備都有一個(gè)獨一無(wú)二的地址,根據設備它們自己的能力,它們可以作為發(fā)射器或接收器工作。多路微控制器能在同一個(gè)I2C總線(xiàn)上共存。
UART:通用異步串行口,按照標準波特率完成雙向通訊,速度慢。
UART總線(xiàn)是異步串口,因此一般比前兩種同步串口的結構要復雜很多,一般由波特率產(chǎn)生器(產(chǎn)生的波特率等于傳輸波特率的16倍)、UART接收器、UART發(fā)送器組成,硬件上由兩根線(xiàn),一根用于發(fā)送,一根用于接收。
UART是用于控制計算機與串行設備的芯片。有一點(diǎn)要注意的是,它提供了RS-232C數據終端設備接口,這樣計算機就可以和調制解調器或其它使用RS-232C接口的串行設備通信了。作為接口的一部分,UART還提供以下功能:
將由計算機內部傳送過(guò)來(lái)的并行數據轉換為輸出的串行數據流。將計算機外部來(lái)的串行數據轉換為字節,供計算機內部使用并行數據的器件使用。在輸出的串行數據流中加入奇偶校驗位,并對從外部接收的數據流進(jìn)行奇偶校驗。在輸出數據流中加入啟停標記,并從接收數據流中刪除啟停標記。處理由鍵盤(pán)或鼠標發(fā)出的中斷信號(鍵盤(pán)和鼠標也是串行設備)?梢蕴幚碛嬎銠C與外部串行設備的同步管理問(wèn)題。有一些比較高檔的UART還提供輸入輸出數據的緩沖區,現在比較新的UART是16550,它可以在計算機需要處理數據前在其緩沖區內存儲16字節數據,而通常的UART是8250,F在如果您購買(mǎi)一個(gè)內置的調制解調器,此調制解調器內部通常就會(huì )有16550 UART。
SPI、I2C和UART做個(gè)比較
SPI 和I2C這兩種通信方式都是短距離的,芯片和芯片之間或者其他元器件如傳感器和芯片之間的通信。SPI和IIC是板上通信,IIC有時(shí)也會(huì )做板間通信,不過(guò)距離甚短,不過(guò)超過(guò)一米,例如一些觸摸屏,手機液晶屏那些薄膜排線(xiàn)很多用IIC,I2C能用于替代標準的并行總線(xiàn),能連接的各種集成電路和功能模塊。I2C是多主控總線(xiàn),所以任何一個(gè)設備都能像主控器一樣工作,并控制總線(xiàn)?偩(xiàn)上每一個(gè)設備都有一個(gè)獨一無(wú)二的地址,根據設備它們自己的能力,它們可以作為發(fā)射器或接收器工作。多路微控制器能在同一個(gè)I2C總線(xiàn)上共存這兩種線(xiàn)屬于低速傳輸。
而UART是應用于兩個(gè)設備之間的通信,如用單片機做好的設備和計算機的通信。這樣的通信可以做長(cháng)距離的。UART速度比上面兩者者快,最高達100K左右,用與計算機與設備或者計算機和計算之間通信,但有效范圍不會(huì )很長(cháng),約10米左右,UART優(yōu)點(diǎn)是支持面廣,程序設計結構很簡(jiǎn)單,隨著(zhù)USB的發(fā)展,UART也逐漸走向下坡。
I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻 數據傳輸而制定的一種總線(xiàn)標準。
I2S則大部分是3線(xiàn)的(除了時(shí)鐘和數據外,還有一個(gè)左右聲道的選擇信號),I2S主要用來(lái)傳輸音頻信號。如STB、DVD、MP3等常用
I2S標準中,既規定了硬件接口規范,也規定了數字音頻數據的格式。I2S有3個(gè)主要信號:1)串行時(shí)鐘SCLK,也叫位時(shí)鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個(gè)脈沖。SCLK的頻率=2×采樣頻率×采樣位數。2)幀時(shí)鐘LRCK,(也稱(chēng)WS),用于切換左右聲道的數據。LRCK為“1”表示正在傳輸的是左聲道的數據,為“0”則表示正在傳輸的是右聲道的數據。LRCK的頻率等于采樣頻率。3) 串行數據SDATA,就是用二進(jìn)制補碼表示的音頻數據。
有時(shí)為了使系統間能夠更好地同步,還需要另外傳輸一個(gè)信號MCLK,稱(chēng)為主時(shí)鐘,也叫系統時(shí)鐘(Sys Clock),是采樣頻率的256倍或384倍。
GPIO (General Purpose Input Output 通用輸入/輸出)或總線(xiàn)擴展器,利用工業(yè)標準I2C、SMBus或SPI接口簡(jiǎn)化了I/O口的擴展。
當微控制器或芯片組沒(méi)有足夠的I/O端口,或當系統 需要采用遠端串行通信或控制時(shí),GPIO產(chǎn)品能夠提供額外的控制和監視功能。每個(gè)GPIO端口可通過(guò)軟件分別配置成輸入或輸出。Maxim的GPIO產(chǎn)品線(xiàn)包括8端口至28端口的GPIO,提供推挽式輸出或漏極開(kāi)路輸出。提供微型3mm x 3mm QFN封裝。
GPIO的優(yōu)點(diǎn)(端口擴展器):
低功耗:GPIO具有更低的功率損耗(大約1μA,μC的工作電流則為100μA)!
集成IIC從機接口:GPIO內置IIC從機接口,即使在待機模式下也能夠全速工作。
小封裝:GPIO器件提供最小的封裝尺寸 ― 3mm x 3mm QFN!
低成本:您不用為沒(méi)有使用的功能買(mǎi)單!
快速上市:不需要編寫(xiě)額外的代碼、文檔,不需要任何維護工作!
靈活的燈光控制:內置多路高分辨率的PWM輸出。
可預先確定響應時(shí)間:縮短或確定外部事件與中斷之間的響應時(shí)間。
更好的燈光效果:匹配的電流輸出確保均勻的顯示亮度。
布線(xiàn)簡(jiǎn)單:僅需使用2條IIC總線(xiàn)或3條SPI總線(xiàn)
SDIO
SDIO是SD型的擴展接口,除了可以接SD卡外,還可以接支持SDIO接口的設備,插口的用途不止是插存儲卡。支持 SDIO接口的PDA,筆記本電腦等都可以連接象GPS接收器,Wi-Fi或藍牙適配器,調制解調器,局域網(wǎng)適配器,條型碼讀取器,FM無(wú)線(xiàn)電,電視接收 器,射頻身份認證讀取器,或者數碼相機等等采用SD標準接口的設備。
SDIO協(xié)議是由SD卡的協(xié)議演化升級而來(lái)的,很多地方保留了SD卡的讀寫(xiě)協(xié)議,同時(shí)SDIO協(xié)議又在SD卡協(xié)議之上添加了CMD52和CMD53命令。由于這個(gè),SDIO和SD卡規范間的一個(gè)重要區別是增加了低速標準,低速卡的目標應用是以最小的硬件開(kāi)始來(lái)支持低速I(mǎi)/O能力。低速卡支持類(lèi)似調制解調器,條形碼掃描儀和GPS接收器等應用。高速卡支持網(wǎng)卡,電視卡還有“組合”卡等,組合卡指的是存儲器+SDIO。
SDIO和SD卡的SPEC間的又一個(gè)重要區別是增加了低速標準。SDIO卡只需要SPI和1位SD傳輸模式。低速卡的目標應用是以最小的硬件開(kāi)支來(lái)支持低速I(mǎi)/O能力,低速卡支持類(lèi)似MODEM,條形掃描儀和GPS接收器等應用。對組合卡來(lái)說(shuō),全速和4BIT操作對卡內存儲器和SDIO部分都是強制要求的。
在非組合卡的SDIO設備里,其最高速度要只有達到25M,而組合卡的最高速度同SD卡的最高速度一樣,要高于25M。
CAN
CAN,全稱(chēng)為“Controller Area Network”,即控制器局域網(wǎng),是國際上應用最廣泛的現場(chǎng)總線(xiàn)之一。最初,CAN被設計作為汽車(chē)環(huán)境中的微控制器通訊,在車(chē)載各電子控制裝置ECU之間交換信息,形成汽車(chē)電子控制網(wǎng)絡(luò )。比如:發(fā)動(dòng)機管理系統、變速箱控制器、儀表裝備、電子主干系統中,均嵌入CAN控制裝置。
一個(gè)由CAN總線(xiàn)構成的單一網(wǎng)絡(luò )中,理論上可以?huà)旖訜o(wú)數個(gè)節點(diǎn)。實(shí)際應用中,節點(diǎn)數目受網(wǎng)絡(luò )硬件的電氣特性所限制。例如,當使用Philips P82C250作為CAN收發(fā)器時(shí),同一網(wǎng)絡(luò )中允許掛接110個(gè)節點(diǎn)。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實(shí)時(shí)控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。
CAN總線(xiàn)的特點(diǎn):
1)可以多主方式工作,網(wǎng)絡(luò )上任意一個(gè)節點(diǎn)均可以在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò )上的其他節點(diǎn)發(fā)送信息,而不分主從,通信方式靈活。
2)網(wǎng)絡(luò )上的節點(diǎn)可分成不同的優(yōu)先級,可以滿(mǎn)足不同的實(shí)時(shí)要求。
3)采用非破壞性位仲裁總線(xiàn)結構機制,當兩個(gè)節點(diǎn)同時(shí)向網(wǎng)絡(luò )上傳送信息時(shí),優(yōu)先級低的節點(diǎn)主動(dòng)停止數據發(fā)送,而優(yōu)先級高的節點(diǎn)可不受影響地繼續傳送數據。
4)可以點(diǎn)對點(diǎn),一點(diǎn)對多點(diǎn)及全局廣播幾種傳送方式接收數據。
5)直接通信距離最遠可達10km(速率4Kbps以下)。
6)通信速率最高可達1MB/s(此時(shí)距離最長(cháng)40m)。
終于講完這些像繞口令一樣的名詞了,問(wèn)題是你明白了嗎?
以下課程可免費試聽(tīng)C語(yǔ)言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
想學(xué)習的你和我聯(lián)系預約就可以免費聽(tīng)課了。
宋工企鵝號:35--24-65--90-88 Tel/WX:173--17--95--19--08
歡迎光臨 電子工程網(wǎng) (http://selenalain.com/)
Powered by Discuz! X3.4
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页