1.通信接口
通信的目的:將一個設備的數據傳送到另一個設備,擴展硬件系統
通信協議:制定通信的規則,通信雙方按照協議規則進行數據收發
名稱 | 引腳 | 雙工 | 時鐘 | 電平 | 設備 |
---|---|---|---|---|---|
USART | TX(數據發送腳)、RX(數據接收腳) | 全雙工 | 異步 | 單端 | 點對點 |
I2C | SCL(時鐘)、SDA(數據) | 半雙工 | 同步 | 單端 | 多設備 |
SPI | SCLK(時鐘)、MOSI(主機輸出數據腳)、MISO(主機輸入數據腳)、CS(片選—指定通信對象) | 全雙工 | 同步 | 單端 | 多設備 |
CAN | CAN_H、CAN_L(一對差分數據腳) | 半雙工 | 異步 | 差分 | 多設備 |
USB | DP、DM(一對差分數據腳) | 半雙工 | 異步 | 差分 | 點對點 |
雙工:
全雙工:指通信雙方能夠同時進行雙向通信(一般有兩根通信線)
單工:數據只能從一個設備到另一個設備,而不能反著來
時鐘:
同步:具有單獨的時鐘線,接收方可以在時鐘信號的指引下進行采樣
異步:沒有時鐘線,所以需要雙方約定一個采樣頻率,還需要加一些幀頭幀尾等,進行采樣位置對齊
電平特性:
單端信號:引腳的高低電平都是對GND的電壓差,所以單端信號通信的雙方必須共地,就是把GND接在一起
差分信號:靠兩個差分引腳的電壓差來傳輸信號,在通信的時候,可以不需要GND(注意:USB協議里有一些地方需要單端信號,所以USB還是需要共地)
使用差分信號可以極大的提高抗干擾特性,所以差分信號一般傳輸速度和距離都非常高
2.串口通信
串口是一種應用十分廣泛的通訊接口,串口成本低、容易使用、通信線路簡單,可實現兩個設備的互相通信
單片機的串口可以使單片機與單片機、單片機與電腦、單片機與各式各樣的模塊互相通信,極大地擴展了單片機的應用范圍,增強了單片機系統的硬件實力
USB轉串口模塊(可以把串口協議轉化為USB協議)
陀螺儀傳感器模塊(可以測量角速度、加速度)
藍牙串口模塊
3.硬件電路
簡單雙向串口通信有兩根通信線(發送端TX和接收端RX)
TX與RX要交叉連接
當只需單向的數據傳輸時,可以只接一根通信線
當電平標準不一致時,需要加電平轉換芯片
4.電平標準
電平標準是數據1和數據0的表達方式,是傳輸線纜中人為規定的電壓與數據的對應關系,串口常用的電平標準有如下三種:
TTL電平:+3.3V或+5V表示1,0V表示0(最常見)
RS232電平:-3 — -15V表示1,+3 — +15V表示0
RS485電平:兩線壓差+2—+6V表示1,-2 — -6V表示0(差分信號)
5.串口參數及時序
波特率:串口通信的速率
起始位:標志一個數據幀的開始,固定為低電平
數據位:數據幀的有效載荷,1為高電平,0為低電平,低位先行
校驗位:用于數據驗證,根據數據位計算得來
停止位:用于數據幀間隔,固定為高電平
距離開學還有7天!!!加油!!