天天看點

嵌入式總線協定(二)——RS232、RS485

定義

RS232、RS485為電氣層(實體層)協定,依賴于序列槽(UART)存在,在電氣層進行優化處理,達到提高抗幹擾能力、提高傳輸速度、增大傳輸距離的效果。

UART存在的問題

  • 電氣接口不統一:UART隻是對信号的時序進行了定義,未定義接口的電氣特性

    1、沒有規定不同器件連接配接時的連接配接器标準,導緻不同裝置之間的UART通信連接配接不友善。

    2、UART通信時使用的高低電平的标準以自身處理器的電平為準(TTL電平),不同處理器規定的高低電平存在差異,是以不同處理器使用UART通信時一般不能直接連接配接。

  • 抗幹擾能力差:UART使用TTL信号來表示高低電平,抗幹擾能力差,使資料在傳輸過程中出錯。
  • 通信距離差:一般隻能用于一個電路闆上的兩個不同晶片之間的通信。

RS232協定

  • 點對點通信。
  • 全雙工模式,與序列槽在程式設計上相同。
  • 該協定是一個用于串行通訊的标準,采用一個标準的連接配接器,對連接配接器的每個引腳作用加以規定,還對信号的電平加以規定。
  • 采用DB-9連接配接器,現在工業控制一般隻使用RXD、TXD和GND。
  • 邏輯“1”的電平為-5V~-15V;邏輯“0”的電平為+5V~+15V。
  • 傳輸距離一般可達15m。

電平轉換

處理器産生TTL信号,需要通過232晶片進行電平轉換後進行傳輸;接收資料時,232晶片将232信号轉換為TTL信号傳輸給處理器。

RS232存在問題

  • 接口的信号電平值較高,容易損壞接口電路的晶片。
  • 通信速度較低。
  • 由于采用一根通訊線上的高低電平進行傳輸,容易産生共模幹擾,抗噪聲幹擾性弱。
  • 傳輸距離較短。
  • 與TTL電平不相容。

RS485協定

  • 該協定的通訊網絡能在遠距離條件(1500m)下以及電子噪聲大的環境下有效傳輸信号,允許連接配接多個收發器,即具有多站能力,利用單一的RS485接口友善建立起一個裝置網絡(32個)。
  • 采用差分信号(能夠抑制共模幹擾)進行資料傳輸,兩線間的電壓差為+2V~+6V表示邏輯“1”;兩線間的電壓差為-2V~-6V表示邏輯“0”。
  • 接口電平信号較RS232低,不易損壞接口電路晶片。
  • 與TTL電平相容,友善與TTL電路連接配接。
  • 采用雙絞線。
  • 很少使用的四線制,也為RS442協定。
  • 通信速度快。

接口

  • 采用兩線制,總線式拓撲結構。可以在同一總線上同時存在多個節點。
  • 該兩線制用于差分信号傳輸,而不是RXD和TXD,是以對于RS485而言不能同時發送和接收,隻能采用半雙工方式工作,在序列槽程式設計時需要進行處理。
  • 寫程式算法控制主站與從站之間的邏輯。(主站與從站通過軟體規定,通過硬體無法規定。主站通過先選擇從站位址標明從站,與特定從站進行通訊)

電平轉換

處理器産生TTL信号,需要通過485晶片進行電平轉換成差分信号後進行傳輸;接收資料時,485晶片将485信号轉換為TTL信号傳輸給處理器。