【小项目关键技术】硬件通信三种方式、串口、IIC、SPI
文章目錄
- 串口UART:
- IIC
- SPI
- SWD 仿真下載接口
串口UART:
| VCC | |
| GND | |
| TXD | 發(fā)送數(shù)據(jù)輸出引腳。 |
| RXD | 接收數(shù)據(jù)輸入引腳。 |
IIC
引腳定義為:SCL、SDA
I2C總線是一種同步、半雙工雙向的兩線式串口總線。它由兩條總線組成:串行時鐘線SCL和串行數(shù)據(jù)線SDA。
SCL線——負(fù)責(zé)產(chǎn)生同步時鐘脈沖。
SDA線——負(fù)責(zé)在設(shè)備間傳輸串行數(shù)據(jù)。
SPI
引腳定義為:SCLK、MOSI、MISO、CS
SPI總線是同步、全雙工雙向的4線式串行接口總線。它是由“單個主設(shè)備+多個從設(shè)備”構(gòu)成的系統(tǒng)。
在系統(tǒng)中,只要任意時刻只有一個主設(shè)備是處于激活狀態(tài)的,就可以存在多個SPI主設(shè)備。常運用于AD轉(zhuǎn)換器、EEPROM、FLASH、實時時鐘、數(shù)字信號處理器和數(shù)字信號解碼器之間實現(xiàn)通信。
為了實現(xiàn)通信,SPI共有4條信號線,分別是:
主設(shè)備出、從設(shè)備入(Master Out Slave In,MOSI):由主設(shè)備向從設(shè)備傳輸數(shù)據(jù)的信號線,也稱為從設(shè)備輸入(Slave Input/Slave Data In,SI/SDI)。
主設(shè)備入、從設(shè)備出(Master In Slave Out,MISO):由從設(shè)備向主設(shè)備傳輸數(shù)據(jù)的信號線,也稱為從設(shè)備輸出(Slave Output/Slave Data Out,SO/SDO)。
串行時鐘(Serial Clock,SCLK):傳輸時鐘信號的信號線。
從設(shè)備選擇(Slave Select,SS):用于選擇從設(shè)備的信號線,低電平有效。
UART、SPI、I2C比較
I2C線更少,比UART、SPI更為強大,但是技術(shù)上也更加麻煩些,因為I2C需要有雙向IO的支持,而且使用上拉電阻,抗干擾能力較弱,一般用于同一板卡上芯片之間的通信,較少用于遠距離通信。
SPI實現(xiàn)要簡單一些,UART需要固定的波特率,就是說兩位數(shù)據(jù)的間隔要相等,而SPI則無所謂,因為它是有時鐘的協(xié)議。
I2C的速度比SPI慢一點,協(xié)議比SPI復(fù)雜一點,但是連線也比標(biāo)準(zhǔn)的SPI要少。
UART一幀可以傳5/6/7/8位,I2C必須是8位。I2C和SPI都從最高位開始傳。
SPI用片選信號選擇從機,I2C用地址選擇從機。
SWD 仿真下載接口
引腳定義為:SWCLK、SWIO、SWIO、SWCLK
Ref:
[1] 單片機常用的幾種通信接口,I2C、SPI、UART等
[2] 單片機常用的幾種通信接口
總結(jié)
以上是生活随笔為你收集整理的【小项目关键技术】硬件通信三种方式、串口、IIC、SPI的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Paper】2015_Leader–f
- 下一篇: 【控制】二阶 UGV 的无穷时间状态输入