UART,I2C,SPI 介面總結
UART
一直好奇UART 一根線就能通訊的背後原理,看了一些文章,其實一直沒說到根本原因,uart拋開了clock 訊號,如果採用常規方式進行取樣,在接收端無法定位資料訊號的起始點和結束點,也就無從判決資料訊號的真實電平,所以,與其他介面的區別在於,uart訊號在接收端需要通過過取樣進行電平判決,也正因為此,在享受到uart 單訊號線便利的同時,引入了相應的缺點:
傳輸速率不能過高: 通過過取樣的方式將引入噪聲,降低訊雜比,根據夏農定理,其通道容量也相應下降。
I2C
I2C 是單工通訊協議,以其訊號線簡單,廣泛應用於低速率資料傳輸或者是控制訊號傳輸,拓撲結構:
master–>slave0
+++++–>slave 1
+++++–>slave 2
….
+++++–>slave n
多slave拓撲通過slave address 進行區分
寫入過程:
1. master傳送起始位
2. master傳送裝置地址和寫選擇位,slave 傳送ack訊號
3. master傳送內部暫存器地址,slaveack訊號
4. master傳送資料,
5. mater傳送停止位
讀取過程:
1. master 傳送起始位
2. master 傳送slave 地址+寫選擇位
3. 傳送內部暫存器地址
4. 傳送起始位,restart
5. 傳送slave 地址和讀選擇位
6. 讀取資料
SPI
SPI匯流排系統是一種同步序列外設介面,它可以使MCU與各種外圍裝置以序列方式進行通訊以交 換資訊。外圍設定FLASHRAM、網路控制器、LCD顯示驅動器、A/D轉換器和MCU等。SPI匯流排系統可直接與各個廠家生產的多種標準外圍器件直接 介面,該介面一般使用4條線:序列時鐘線(SCK)、主機輸入/從機輸出資料線MISO、主機輸出/從機輸入資料線MOSI和低電平有效的從機選擇線 SS(有的SPI介面晶片帶有中斷訊號線INT或INT、有的SPI介面晶片沒有主機輸出/從機輸入資料線MOSI)。
SPI的通訊原理很簡單,它以主從方式工作,這種模式通常有一個主裝置和一個或多個從裝置,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於SPI的裝置共有的,它們是SDI(資料輸入),SDO(資料輸出),SCK(時鐘),CS(片選)。
(1)SDO – 主裝置資料輸出,從裝置資料輸入
(2)SDI – 主裝置資料輸入,從裝置資料輸出
(3)SCLK – 時鐘訊號,由主裝置產生
(4)CS – 從裝置使能訊號,由主裝置控制
其中CS是控制晶片是否被選中的,也就是說只有片選訊號為預先規定的使能訊號時(高電位或低電位),對此晶片的操作才有效。這就允許在同一匯流排上連線多個SPI裝置成為可能。
接下來就負責通訊的3根線了。通訊是通過資料交換完成的,這裡先要知道SPI是序列通訊協議, 也就是說資料是一位一位的傳輸的。這就是SCK時鐘線存在的原因,由SCK提供時鐘脈衝,SDI,SDO則基於此脈衝完成資料傳輸。資料輸出通過 SDO線,資料在時鐘上升沿或下降沿時改變,在緊接著的下降沿或上升沿被讀取。完成一位資料傳輸,輸入也使用同樣原理。這樣,在至少8次時鐘訊號的改變 (上沿和下沿為一次),就可以完成8位資料的傳輸。
轉載圖片:
相關文章
- 必看版指南:BTB擴充套件介面——LCD、Camera、UART、I2C…套件
- Spring SPI 機制總結Spring
- 萬變不離其宗之UART要點總結
- MCU的SPI通訊介面
- PostgreSQL的 SPI_介面函式SQL函式
- Java SPI機制總結系列之萬字最詳細圖解Java SPI機制原始碼分析Java圖解原始碼
- SPI介面在LCD上的應用
- Java SPI機制總結系列之開發入門例項Java
- Java總結-抽象類與介面Java抽象
- UART
- restful介面設計規範總結REST
- arm uart
- Uart 接收
- 常見線纜介面型別總結型別
- 溫習 SPI 機制 (Java SPI 、Spring SPI、Dubbo SPI)JavaSpring
- 基於SPI/IIC介面的OLED資料顯示
- 關於Webservice介面對接相關總結Web
- 介面自動化測試框架搭建總結框架
- UART協議協議
- 串列埠UART串列埠
- UART學習
- Java SPI 與 Dubbo SPIJava
- 超詳細——介面測試總結與分享(一)
- 超詳細——介面測試總結與分享(三)
- 關於呼叫三方平臺介面與推送介面的總結(2020.7.25)
- I2C
- Java 基礎學習總結(一)抽象類和介面Java抽象
- 介面最佳化的常見方案實戰總結
- 基於STM32的OLED的SPI介面資料顯示
- JDK8 四大核心函式式介面及擴充套件介面總結JDK函式套件
- Flutter之擼一個漂亮的登入介面的總結Flutter
- iOS 點選推送訊息跳轉指定介面 —總結篇iOS
- 關於介面測試自動化的總結與思考
- JDK SPIJDK
- SPI 原理
- spi概念
- NUC980 執行 RT-Thread 驅動 SPI 介面 OLED 播放 badapplethreadAPP
- I2C匯流排 | I2C匯流排介紹