由于RS232通訊距離短(根據EAT/TAI-232標準,僅為15米),而且,只能進行點到點通訊,不能直接組多點通訊網絡。為了延長RS232的通訊距離,并將RS232節點組成通訊網絡,目前廣泛使用RS232/RS485信號轉換器。但是,由于RS485通訊本身的局限性,在實際應用中存在許多不足:總線效率低、系統的實時性差、通訊的可靠性低、網絡工程調試復雜、傳輸距離不理想、單總線可掛接的節點少、應用不靈活等。
本文介紹一種方法,可以將RS232通訊網絡轉換成CAN通訊網絡,以更好地解決用戶建立遠程通訊網絡的問題。
CAN總線特性
CAN-bus(Controller Area Network)即控制器局域網。目前,CAN-bus是應用最廣的現場總線國際標準之一。
CAN-bus是一種多主方式的串行通訊總線,可以實現較高通訊速率、高抗電磁干擾性,而且能夠檢測出產生的任何錯誤,以保證實時通訊的可靠性。CAN-bus總線具有以下特性:
1: 低成本的現場總線;
2: 極高的總線利用率;
3: 很遠的數據傳輸距離(長達10Km)或高速的數據傳輸速率(高達1Mbps);
4: 可根據報文的ID決定接收或屏蔽該報文;
5: 可靠的錯誤處理和檢錯機制;發送的信息遭到破壞后,可自動重發;
6: 節點在錯誤嚴重的情況下具有自動退出總線的功能;
當信號傳輸距離達到5Km時,CAN-bus仍可提供高達10Kbps的數據傳輸速率。CAN-bus通訊速率與傳輸距離的關系如下圖2-1所示

CAN232B轉換器
我們可以方便地運用CAN232B轉換器,來實現RS232的多點組網和遠程通訊。CAN232B轉換器內置數據處理微控制器與CAN控制器,能夠實現RS232/CAN網絡的數據智能轉換。

主要技術參數
1:支持CAN2.0B協議(兼容CAN2.0A協議),符合ISO/DIS 11898規范;
2:集成1路CAN通道,波特率在10Kbps~1Mbps之間可選;
3:集成1路RS232通道,波特率在1200bps~57600bps之間可選;
4:CAN通道采用光電隔離,隔離模塊絕緣電壓:1000Vrms。
工作原理

由微處理器負責實現通訊協議,轉換RS232通訊數據與CAN通訊數據;集成CAN控制器完成CAN協議的硬件實現。為了提高系統的抗干擾能力,在CAN數據通道上增加了完整的電氣隔離電路。隔離電路采用光電隔離元件,自帶DC/DC電源模塊,無需外接電源。
利用CAN232B組建CAN控制網絡

利用CAN232B轉換器實現RS232點對點遠程通訊,如圖4-1所示。只需要將每個用戶設備分別連接一個CAN232B轉換器,再通過雙絞線連接兩個CAN232B轉換器的CAN端口即可。當通訊距離較遠時,需要在CAN網絡的兩個端點處各安裝1個120歐姆的電阻,電阻跨接在CAN_H和CAN_L上。
在實現通訊前,只需要設置CAN232B轉換器的2個參數:RS232通訊波特率、CAN通訊波特率,其他參數無需進行設置。CAN通訊波特率可以查找圖2-1中的參照數據。
由于CAN232B轉換器完全支持CAN2.0A和CAN2.0B協議,利用CAN232B實現RS232點對點遠程通訊,可充分利用CAN總線的優點,如傳輸距離遠、傳輸速率高、無損仲裁和錯誤檢測處理等。在CAN波特率為10kbps時,數據傳輸距離可達到5km,極大地提高了RS232數據的傳輸距離,同時也能夠大大改善RS232數據傳輸的可靠性。
如果用戶的數據傳輸距離超過5km距離,則需要在CAN網絡中間安裝CANrep中繼器。

利用CAN232B轉換器實現RS232多機通訊網絡,如圖4-2所示。注意,CAN網絡是一個“直線型”網絡。首先,需要將每個用戶設備分別連接一個CAN232B轉換器;然后,通過雙絞線連接各個CAN232B轉換器的CAN端口,即可通訊。另外,需要在CAN網絡的兩個端點處各安裝1個120歐姆的電阻,電阻跨接在CAN_H和CAN_L上。
如果用戶的數據傳輸距離超過5km距離,則需要在CAN網絡中間安裝CANrep中繼器。
利用CAN232B轉換器實現RS232多機通訊網絡,還需要考慮是否執行以下軟件設置環節:
1. 配置主控設備的CAN232B轉換器(通過配置軟件設置)
設置CAN232B的RS232通訊波特率、CAN通訊波特率。
設置CAN232B中CAN報文濾波器,使設備接收所有的CAN報文。
2. 用戶RS232主控設備的軟件設計
對RS232主控設備而言,需要具備尋址其它多個RS232設備的能力。此時,需要按照CAN232B轉換器的配置協議,對用戶主控設備的RS232程序進行補充、修改,使主控設備可向所連的CAN232B轉換器發送“命令幀”,以設置CAN幀格式,動態配置CAN232B發送的CAN幀信息。這樣,用戶主控設備就可以通過CAN232B發送具有不同ID的CAN報文幀,從而尋址不同地址的RS232設備。
3. 配置從設備的CAN232B轉換器(通過配置軟件設置)
設置CAN232B的RS232通訊波特率、CAN通訊波特率。
設置CAN232B中CAN報文濾波器,使設備接收所需要的CAN報文。
設置CAN232B中CAN幀格式,決定幀類型(標準幀/擴展幀)和幀ID。
合理使用CAN232B轉換器,可以方便地實現RS232多點組網和遠程通訊。由于CAN232B轉換器完全支持CAN2.0A和CAN2.0B協議,因此,所組建的CAN控制網絡具有組網靈活、數據傳輸可靠性高、通訊速率高、總線利用率高等優點。
RS232/CAN電平轉換器
目前,我們還接觸到一種利用CAN總線收發器的電平驅動能力而間接實現RS232遠程通訊的RS232/CAN轉換器。這里,我們稱其為非智能型RS232/CAN 電平轉換器,將上面介紹的帶微處理器產品稱為智能型RS232/CAN轉換器。下面將對非智能型RS232/CAN 電平轉換器產品及其構成網絡進行分析、判斷、比較。
非智能型RS232/CAN電平轉換器直接通過硬件電路來實現RS232信號和CAN信號的物理電平轉換。下圖5-1是非智能型RS232/CAN電平轉換器的原理框圖

上圖中,非智能型RS232/CAN轉換器沒有使用CAN控制器,只是利用CAN總線收發器的電平驅動能力,以達到延長RS232傳輸距離的目的。
利用非智能型RS232/CAN電平轉換器構建的CAN接口可以具有遠程通訊的能力,但由其構建的CAN網絡并不支持CAN基本協議。所以,利用非智能型RS232/CAN轉換器組建的網絡仍有會存在類似RS485的許多缺點:沒有錯誤控制能力、沒有硬件總線仲裁功能、通訊的可靠性低、總線效率低、系統實時性差、應用不靈活、只有主從通訊方式等等。一句話,那已經不是可靠、實時的CAN-bus通訊網絡。
與電平轉換的機制不同,智能型RS232/CAN轉換器完全支持CAN基本協議,可以實現RS232通道數據和CAN通道數據的轉換。利用智能型CAN232B轉換器構建CAN網絡,完全支持CAN2.0A和CAN2.0B協議,充分利用CAN總線的特性,實現RS232的遠程通訊和多點組網,并具有組網靈活、數據傳輸可靠性高、通訊速率高、總線利用率高等優點。這也是CAN-bus通訊網絡具有的優點。另外,智能型RS232/CAN轉換器還具有以下優點:可以實現RS232通訊數據與CAN通訊數據的透明轉換,無需更改原有RS232通訊協議,可以直接應用到原有領域。
總結
利用CAN232B轉換器組建一個CAN控制網絡,能夠很方便的實現RS232多點組網、遠程通訊,并且,不需要更改原有RS232通訊軟件,用戶可直接嵌入原有的應用領域,使系統設計達到更先進的水平。