信號協議,在電子行業中,信號協議有I2C,SPI,USB,UART,RS485等,每個協議都有自身的特點和應用場景。

其中的RS485協議就是一種在電路板設計中非常常見的協議,是美國電子工業協會(EIA)在1983年批準的一個差分傳輸協議,距今差不過也有三十年的歷史瞭。

因為是差分信號,所以是具有抑制共模幹擾的能力的,在一些通信距離比較遠的場景下,它可以比較好的傳輸數據,是一種應用非常廣泛的信號總線。

RS485通常采用一條總線將各個節點進行連接,是不支持環形或者星鏈型連接的。

它有分兩線制和四線制,在使用上四線制隻能實現點對點的通信方式,目前比較少使用。

兩線制是目前主流的用法,這種接線方式可以使得總線式拓撲結構在一條總線上能夠最多連接上32個節點。

RS485一個很好的特點就是支持長距離傳輸,通訊距離可以達到1200米(理論狀況下),實際情況中,隻有通訊線材優質達標,負載設備少,通訊距離就遠,如果設備太多,傳輸線的線材又是劣質產品,波特率(每秒種發送的比特數)不夠等等不良因素,就會使得傳輸距離降低。

RS485電路可以分為兩種:一種是隔離型,一種是非隔離型。

非隔離型

非隔離型的電路比較簡單,如下圖所示,隻需要一個RS485芯片直接和MCU的串行通訊口連接,然後在與I/O控制口連接就可以。

如果是完整的485通信電路,就需要在上圖中的A線加上一個4.7千歐的上拉電阻,在B線加上一個同樣4.7千歐的下拉電阻。

至於為什麼要加上上下拉電阻,就需要從RS485本身的性質說起,它的標準定義是信號閾值上下限是正負200mV,當A-B的值大於200mV時,總線的狀態就表示為“1”,當A-B的值小於-200mV時,總線的狀態就表示為“0”,但是當A-B的值在-20mV~20mV之間的話,總線狀態就是不確定狀態,所以需要上下拉電阻來初始化固定狀態,避免不確定狀態的出現。

隔離型

對於一些工業控制領域,電路控制單元中各個節點之間可能存在很高的共模電壓,而RS485接收器共模電壓是有極限電壓的,也就是大於+12V或者小於-7V時,接收器就不能正常工作瞭,甚至會燒毀芯片及電路板。

隔離型的RS485電路就可以應用在這種場景,通過DC-DC將系統電源和RS485收發器的電源進行隔離,通過隔離器件將信號進行隔離,從而消除共模電壓的影響,使得接收器能不受限制正常工作。

光電隔離RS485典型電路

典型的串行通訊標準是RS232和RS485,它們定義瞭電壓,阻抗等,但不對軟件協議給予定義,區別於RS232, RS485的特性包括:

1.RS-485的電氣特性:邏輯"0"以兩線間的電壓差為+(2-6)V表示;邏輯"1"以兩線間的電壓差為-(2-6)V表示。接口信號電平比RS-232-C降低瞭,就不易損壞接口電路的芯片, 且該電平與TTL電平兼容,可方便與TTL 電路連接。

2. RS-485的數據最高傳輸速率為10Mbps 。

3. RS-485接口強,即抗噪聲幹擾性好。

4. RS-485接口的最大傳輸距離標準值為4000英尺,實際上可達 3000米(理論上的數據,在實際操作中,極限距離僅達1200米左右),另外RS-232-C接口在總線上隻允許連接1個收發器,即單站能力。而RS-485接口在總線上是允許連接多達128個收發器。即具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設備網絡。

因RS-485接口具有良好的抗噪聲幹擾性,長的傳輸距離和多站能力等上述優點就使其成為首選的串行接口。因為RS485接口組成的半雙工網絡一般隻需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。