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