通訊協議

youngwuu發表於2024-08-29

UART

  • 通用非同步收發器,序列、全雙工、非同步通訊匯流排。

  • 重點是非同步,和同步相對應,意思是不需要同步的時鐘,通訊兩端預先約定好波特率(每秒傳多少bit),而不是由時鐘觸發的。

  • 波特率:用於描述UART通訊時的通訊速度,其單位為bps 即每秒鐘傳送的bit的數量。

  • 串列埠一次傳送一個位元組的資料,避免收發雙方時鐘不同步。

image-20240829101405487

  • 全雙工

image-20240829101511750

  • UART通訊時一般直接使用處理器使用的電平,即TTL電平;

​ (5V系統,邏輯1: 2.4V–5V   邏輯0: 0V–0.5V)

  • UART存在的問題:

    image-20240829101742432

    image-20240829101752612

RS232

  • RS-232介面符合美國電子工業聯盟(EIA)制定的序列資料通訊的介面標準;

  • 全雙工

  • 介面

    DB-25、DB-9;現在工業控制的RS-232介面一般只使用RXD、TXD、GND三條線;

  • RS232邏輯電平

    • 邏輯“1”為-3到-15V

    • 邏輯“0”為+3到+15V

  • 電平轉換(RS232-TTL)

image-20240829103221828

  • RS232存在的問題

    image-20240829103531543

    注:共模干擾是兩條走線和PCB地線之間的電位差引起的干擾。

RS485

  • 序列通訊標準
  • 半雙工
  • RS485採用兩線制(雙絞線),這種接線方式為匯流排式拓撲結構,在同一匯流排上可以同時存在多個節點;

image-20240829104533310

​ 該標準允許連線多個收發器,即具有多站能力,這樣可以利用單一的RS485介面方便地建立起一個裝置網路。

  • RS485邏輯電平

    採用差分訊號進行資料傳輸

    • 兩線間的電壓差為+2v到+6v表示邏輯“1”

    • 兩線間的電壓差為-2v到-6v表示邏輯“0”

    • 優點:

      • 使用差分訊號能有效地減少噪聲訊號的干擾,延長通訊距離(1500m)

      • RS485介面訊號的電平比RS232降低了所以不易損壞介面電路的晶片,且該電平與TTL電平相容,可方便地與TTL電路連線;

  • 電平轉換(TTL-RS485)

image-20240829105402786

image-20240829105628575

IIC匯流排

  • IIC匯流排是由Philips公司開發的一種半雙工雙向二線制同步序列匯流排

  • IIC匯流排有兩根雙向的訊號線,一根資料線SDA用於收發資料,一根時鐘線SCL用於通訊雙方時鐘的同步;

image-20240829112153079

  • 同一時刻可以單主機多從機單主機單從機,I2C匯流排上的任意裝置都可以當主機(同一時刻只有一個主機),一般主機是MCU,當有多個主機時,會透過匯流排仲裁的方式選出一個主機,其他退出作從機。

  • 主要用於近距離、低速的晶片之間的通訊。

  • 通訊過程

    image-20240827101013304

  • 定址方式

    image-20240827105155063

  • 空閒狀態,SCL和SDA 處於高電平

image-20240827101943589

  • 一幀包含9位,8位資料,先傳送高位,後低位;1位應答位,接收器傳送低電平應答傳送器。

image-20240827102122382

  • 時鐘線SCL低電平,傳送資料,SCL高電平,接受資料。

image-20240827102915711

image-20240827104157109

image-20240827105503609

SPI

  • 序列外設介面(Serial Peripheral Interface)

  • SPI是一種高速的,全雙工同步的通訊匯流排,SPI的速率比I2C高,一般可以到幾十Mbps。

  • 採用主從工作方式

  • SPI至少需要四根線,MIS0(主裝置輸入從裝置輸出)、MOSI(主裝置輸出從裝置輸入)、SCLK(時鐘)、CS(片選)

image-20240827160614001

  • 定址方式

    image-20240827161854136

  • 通訊過程

    image-20240827162045467

    • 資料傳送時,先傳送高位,後傳送低位;
    • 資料線為高電平表示邏輯'1’,低電平表示邏輯'0’;
    • 無需應答;
    • 同步時鐘通訊;
    • 時鐘線在上升沿(下降沿)時傳送資料,在緊接著的下降沿(上升沿)時讀取資料;
  • 極性和相位

    SPI匯流排四種不同的工作模式,取決於極性(CPOL)和相位(CPHL)這兩個因素。

    • CPOL表示SCLK空閒時的狀態
      • CPOL=0,空閒時SCLK為低電平
      • CPOL=1,空閒時SCLK為高電平
    • CPHA表示取樣時刻
      • CPHL=0,每個週期的第一個時鐘沿取樣
      • CPHL=1,每個週期的第二個時鐘沿取樣

    主從裝置的工作模式必須保持一致。

image-20240827170523007

image-20240827170535002

image-20240827170546345

image-20240827170557002

IIC和SPI的異同

◼ 相同點
1.均採用序列、同步的方式
2.均採用TTL電平,傳輸距離(距離短)和應用場景類似(電路板晶片之間的通訊);
3.均採用主從方式工作
◼ 不同點
1.IIC為半雙工,SPI為全雙工;
2.IIC有應答機制,SPI無應答機制;
3.IIC透過向匯流排廣播從機地址來定址,SPI透過向對應從機傳送使能訊號來定址;SPI傳輸速度快於IIC;
4.IIC的時鐘極性和時鐘相位固定,SPI的時鐘極性和時鐘相位可調

相關文章