UART
定義
- UART是一種非常常見的接口或協(xié)議柴墩,幾乎在每臺計算機或微處理器上都可以找到它陋气,UART是英文Universal Asynchronous Receiver and Transmitter 的縮寫,中文一般稱為通用異步收發(fā)傳輸器,也稱其為RS-232標準匠童。該協(xié)議是全雙工協(xié)議,它也是一種包括特定通信的電子塑顺,機械和物理特性的全面標準汤求。
- UART允許菊花鏈拓撲(在這種拓撲結構中,可以將第一個傳感器的發(fā)送引腳連接到第二個傳感器的接收引腳严拒,再將第二個傳感器的發(fā)送引腳連接到第三個傳感器的接收引腳扬绪,以此類推,最多可以接8個)
接口
- UART TX:發(fā)送
- UART RX:接收
數(shù)據(jù)傳輸
- UART作為異步串口通信協(xié)議的一種裤唠,工作原理是將傳輸數(shù)據(jù)的每個字符一位接一位地傳輸挤牛。
- 數(shù)據(jù)傳輸
1.起始位:先發(fā)出一個邏輯”0”的信號,表示傳輸字符的開始种蘸。
2.數(shù)據(jù)位:緊接著起始位之后墓赴。資料位的個數(shù)可以是4竞膳、5、6竣蹦、7顶猜、8等,構成一個字符痘括。通常采用ASCII碼长窄。從最低位開始傳送,靠時鐘定位纲菌。
3.奇偶校驗位:資料位加上這一位后挠日,使得“1”的位數(shù)應為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗資料傳送的正確性翰舌。
4.停止位:它是一個字符數(shù)據(jù)的結束標志嚣潜。可以是1位椅贱、1.5位懂算、2位的高電平。
5.空閑位:處于邏輯“1”狀態(tài)庇麦,表示當前線路上沒有資料傳送计技。
波特率(每秒傳送的字符數(shù))
波特率時UART協(xié)議中的一個關鍵數(shù)據(jù),即發(fā)送數(shù)據(jù)的速度山橄。
發(fā)送器和接受器的波特率應該匹配垮媒,通常,我們將波特率定為9600或115200航棱。
SPI
定義
- SPI(串行外圍設備接口)睡雇,英文Serial Peripheral Interface.是一種全雙工短距單主設備通信協(xié)議,與UART不同饮醇,它是一種同步通信協(xié)議它抱。SPI簡單的連接方式之一是主從連接,如下圖
接口
SCLK:串行時鐘朴艰,用來同步數(shù)據(jù)傳輸观蓄,由主機輸出
MISO:主機輸入從機輸出(Master In Slave Out)
MOSI:主機輸出從機輸入(Master Out Slave In)
CS:片選線,低電平有效呵晚,由主機輸出
在SPI總線上,某一時刻可以出現(xiàn)多個從機沫屡,但只能存在一個主機饵隙,主機通過片選線來確定要通信的從機。這就要求從機的MISO口具有三態(tài)特性沮脖,使得該口線在器件未被選通時表現(xiàn)為高阻抗金矛。
數(shù)據(jù)傳輸
在一個SPI時鐘周期內芯急,會完成如下操作:
主機通過MOSI線發(fā)送1位數(shù)據(jù),從機通過該線讀取這1位數(shù)據(jù)驶俊;
從機通過MISO線發(fā)送1位數(shù)據(jù)娶耍,主機通過該線讀取這1位數(shù)據(jù)。
這是通過移位寄存器來實現(xiàn)的饼酿。如下圖榕酒,主機和從機各有一個移位寄存器,且二者連接成環(huán)故俐。隨著時鐘脈沖想鹰,數(shù)據(jù)按照從高位到低位的方式依次移出主機寄存器和從機寄存器,并且依次移入從機寄存器和主機寄存器药版。當寄存器中的內容全部移出時辑舷,相當于完成了兩個寄存器內容的交換。
I2C
定義
- I2C(Inter-Integrated Circuit)是一種用兩條連線工作的半雙工協(xié)議(半雙工是通信的一種類型槽片,即只要發(fā)送端在發(fā)送數(shù)據(jù)何缓,接收端只能監(jiān)聽兒不能發(fā)送數(shù)據(jù))。
接口
- SDA:數(shù)據(jù)線
- SCL:時鐘線
- I2C的連線總是要通過電阻上拉至輸入電壓还栓,I2C的連線工作于三種速度:高速碌廓,快速,慢速蝙云。
工作原理
- 如果主機要發(fā)送數(shù)據(jù)給從器件氓皱,則主機首先尋址從器件,然后主動發(fā)送數(shù)據(jù)至從器件勃刨,最后由主機終止數(shù)據(jù)傳送波材;如果主機要接收從器件的數(shù)據(jù),首先由主器件尋址從器件.然后主機接收從器件發(fā)送的數(shù)據(jù)身隐,最后由主機終止接收過程廷区。在這種情況下.主機負責產生定時時鐘和終止數(shù)據(jù)傳送。
數(shù)據(jù)傳輸
字節(jié)格式
- 每個字節(jié)必須是8位贾铝,最后一位為響應位
- 每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制
- 最開始發(fā)送的是從機地址
應答響應
地址匹配完成會得到響應信號(ACK)隙轻,說明這個設備是存在的
開始信號:主機讓時鐘SCL保持高電平,數(shù)據(jù)SDA由高電平調轉到低電平
停止線號:主機讓式中SCL保持高電平垢揩,數(shù)據(jù)SDA由低電平跳轉到高電平玖绿。
響應信號(ACK):接收器在接收到8位數(shù)據(jù)后,在第9個時鐘周期叁巨,拉低SDA為低電平斑匪。
SDA上傳輸?shù)臄?shù)據(jù)必須在SCL為高電平的期間保持穩(wěn)定,外部設備會在SCL在高電平的時候讀取數(shù)據(jù)
SDA上的數(shù)據(jù)只能在SCL為低電平期間發(fā)生變化