正如我們之前所了解的 ,MCU單片機是一個集成芯片 ,但這個集成芯片有一些特殊的功能 ,可以控制外部設備 ,處理外部設備收到的數據,就像人腦一樣 ,可以控制手腳的運動 ,可以處理感官收到的信息,這就是獨特的 MCU單片機 。
單片機的常用功能包括:定時器(TImer)、I/O口、外部中斷、通訊接口、A/D轉換、PWM等。之前金譽半導體已經帶大家重點了解過定時器(TImer)和I/O口這兩個功能,那接下來我們了解一下通訊接口的功能是怎樣的。
MCU單片機所提供的通訊接口一般包括SPI接口,UART,I2C接口等,它們的功能如下:
SPI接口:此類接口是絕大多數MCU都提供的一種最基本通訊方式,其數據傳輸采用同步時鐘來控制,信號包括:SDI(串行數據輸入)、SDO(串行數據輸出)、SCLK(串行時鐘)及Ready信號;有些情況下則可能沒有Ready信號;此類接口可以工作在Master方式或Slave方式下,通俗說法就是看誰提供時鐘信號,提供時鐘的一方為Master,相反的一方則為Slaver。
UART(Universal Asynchronous Receive Transmit):屬于最基本的一種異步傳輸接口,工作原理是將傳輸數據的每個字符一位接一位地傳輸,這個特點使得UART只要2 根傳輸線就可以實現雙向通信,一根線發送數據的同時用另一根線接收數據。那就是Rx和Tx兩條,一根線發送數據的同時用另一根線接收數據。基本的數據格式為:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even,Odd or None) + Stop Bit(1~2Bit)。一位數據所占的時間稱為Baud Rate(波特率)。
對于大多數的MCU來講,數據位的長度、數據校驗方式(奇校驗、偶校驗或無校驗)、停止位(Stop Bit)的長度及Baud Rate是可以通過程序編程進行靈活設定。此類接口最常用的方式就是與PC機的串口進行數據通訊。
I2C接口:I2C是由Philips開發的一種數據傳輸協議,同樣采用2根信號來實現:SDAT(串行數據輸入輸出)和SCLK(串行時鐘),SCL線——負責產生同步時鐘脈沖。SDA線——負責在設備間傳輸串行數據。其優勢是可以在此總線上掛接多個設備,連接到I2C總線上的設備既可以用作主設備,也可以用作從設備,支持多個主設備的同時存在。I2C總線的一個最大的好處就是非常方便用軟件通過IO口來實現,其傳輸的數據速率完全由SCLK來控制,可快可慢,不像UART接口,有嚴格的速率要求。
任何一款 MCU,其基本原理和功能都是大同小異,不同的只是其外圍功能模塊的配置及數量、指令系統等。對于指令系統,雖然形式上看似千差萬別,但實際上只是符號的不同,其所代表的含義、所要完成的功能和尋址方式基本上是類似的,所以在編程時只要根據自己的邏輯和程序的邏輯要求來編寫相關的指令即可。
審核編輯 黃昊宇
-
單片機
+關注
關注
6032文章
44525瀏覽量
633261 -
mcu
+關注
關注
146文章
17019瀏覽量
350374 -
接口
+關注
關注
33文章
8526瀏覽量
150862
發布評論請先 登錄
相關推薦
評論