金譽(yù)半導(dǎo)體筆記:什么是MCU單片機(jī)的SPI、UART、I2C通訊接口
正如我們之前所了解的 ,MCU單片機(jī)是一個集成芯片 ,但這個集成芯片有一些特殊的功能 ,可以控制外部設(shè)備 ,處理外部設(shè)備收到的數(shù)據(jù),就像人腦一樣 ,可以控制手腳的運(yùn)動 ,可以處理感官收到的信息,這就是獨(dú)特的 MCU單片機(jī) 。
單片機(jī)的常用功能包括:定時器(TImer)、I/O口、外部中斷、通訊接口、A/D轉(zhuǎn)換、PWM等。之前金譽(yù)半導(dǎo)體已經(jīng)帶大家重點(diǎn)了解過定時器(TImer)和I/O口這兩個功能,那接下來我們了解一下通訊接口的功能是怎樣的。
MCU單片機(jī)所提供的通訊接口一般包括SPI接口,UART,I2C接口等,它們的功能如下:
SPI接口:此類接口是絕大多數(shù)MCU都提供的一種最基本通訊方式,其數(shù)據(jù)傳輸采用同步時鐘來控制,信號包括:SDI(串行數(shù)據(jù)輸入)、SDO(串行數(shù)據(jù)輸出)、SCLK(串行時鐘)及Ready信號;有些情況下則可能沒有Ready信號;此類接口可以工作在Master方式或Slave方式下,通俗說法就是看誰提供時鐘信號,提供時鐘的一方為Master,相反的一方則為Slaver。
UART(Universal Asynchronous Receive Transmit):屬于最基本的一種異步傳輸接口,工作原理是將傳輸數(shù)據(jù)的每個字符一位接一位地傳輸,這個特點(diǎn)使得UART只要2 根傳輸線就可以實(shí)現(xiàn)雙向通信,一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。那就是Rx和Tx兩條,一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)?;镜臄?shù)據(jù)格式為:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even,Odd or None) + Stop Bit(1~2Bit)。一位數(shù)據(jù)所占的時間稱為Baud Rate(波特率)。
對于大多數(shù)的MCU來講,數(shù)據(jù)位的長度、數(shù)據(jù)校驗(yàn)方式(奇校驗(yàn)、偶校驗(yàn)或無校驗(yàn))、停止位(Stop Bit)的長度及Baud Rate是可以通過程序編程進(jìn)行靈活設(shè)定。此類接口最常用的方式就是與PC機(jī)的串口進(jìn)行數(shù)據(jù)通訊。
I2C接口:I2C是由Philips開發(fā)的一種數(shù)據(jù)傳輸協(xié)議,同樣采用2根信號來實(shí)現(xiàn):SDAT(串行數(shù)據(jù)輸入輸出)和SCLK(串行時鐘),SCL線——負(fù)責(zé)產(chǎn)生同步時鐘脈沖。SDA線——負(fù)責(zé)在設(shè)備間傳輸串行數(shù)據(jù)。其優(yōu)勢是可以在此總線上掛接多個設(shè)備,連接到I2C總線上的設(shè)備既可以用作主設(shè)備,也可以用作從設(shè)備,支持多個主設(shè)備的同時存在。I2C總線的一個最大的好處就是非常方便用軟件通過IO口來實(shí)現(xiàn),其傳輸?shù)臄?shù)據(jù)速率完全由SCLK來控制,可快可慢,不像UART接口,有嚴(yán)格的速率要求。
任何一款 MCU,其基本原理和功能都是大同小異,不同的只是其外圍功能模塊的配置及數(shù)量、指令系統(tǒng)等。對于指令系統(tǒng),雖然形式上看似千差萬別,但實(shí)際上只是符號的不同,其所代表的含義、所要完成的功能和尋址方式基本上是類似的,所以在編程時只要根據(jù)自己的邏輯和程序的邏輯要求來編寫相關(guān)的指令即可。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理