新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 構建CAN-bus網絡中的虛擬串口

構建CAN-bus網絡中的虛擬串口

作者: 時間:2012-07-27 來源:網絡 收藏
  基于

  在工業(yè)領域中,RS-232與RS-485都是會被經常用到的數據傳輸標準之一。例如,普通PC一般會提供1~4個標準RS-232端口,分別被標注為COM1~COM4端口。用戶可以通過這些現成的RS-232端口連接外部設備,比如鍵盤、IC讀卡器、條碼閱讀器、數字化儀、打印機、數據記錄儀,或者由用戶自己定制的儀器,等等。操作或編程這些標準的COM端口也是非常方便的,因為市場上有眾多的串口軟件調試工具可供通訊測試,也有功能齊全的DLL程序開發(fā)庫可供編程時調用。
  但是,傳統(tǒng)RS-232存在著數據可靠性、通訊距離、端口數量等多個方面的限制。例如,在工業(yè)控制等現場環(huán)境中,常會有電氣噪聲干擾傳輸線路,使用RS-232通訊時經常因外界的電氣干擾而導致信號傳輸錯誤;其次,在不增加緩沖器的情況下,RS-232通訊的最大傳輸距離只可以達到15米;還有,同1個RS-232端口只能夠連接1個RS-232通訊設備。上述因素大大限制了RS-232通訊的應用領域。
  本文介紹了一種簡單、可靠的方法,通過利用ZLGCAN接口卡、CAN232MB轉換器等設備,可以在1條普通雙絞線上連接多達2048個RS-232設備,通訊距離可以長達10公里甚至更遠的距離。
  下面,先介紹實現遠程RS-232通訊的設備驅動軟件:服務器,即VCOM服務器。服務器是一款專用的配置工具;運行此服務器軟件,即可以在同一臺PC上安裝一個或多個虛擬串口,虛擬串口的數目可以多達2048個。這些虛擬串口可以同真實串口執(zhí)行完全一致的操作;實際上,通過普通雙絞線構成的,在這些虛擬串口上通訊的數據被快速映射到中遠端CAN232MB轉換器的RS-232通訊端口。這樣,在同一CAN-bus網絡中連接n個CAN232MB轉換器,即可以映射成本地的n個遠程虛擬串口。通過軟件的無縫銜接,遠程虛擬串口和本地串口在操作上并不存在任何差異。例如,將一些設備的串口程序升級到通過遠程虛擬串口來實現時,升級軟件可以不作任何修改,只需在打開串口時設定所操作的遠程虛擬串口號,就可以實現正常的串行數據通訊。

  虛擬串口的建立

  下面以一個提供8個串口的虛擬串口網絡實例為原型,說明如何在同一臺PC建立多個虛擬串口,并且提供了虛擬串口測試網絡的實現方法。如需要建立更多數目的虛擬串口,可以參考建立上述網絡的方法,步驟基本一致;只需要在CAN-bus網絡中增加CAN232MB轉換器的數目,并通過軟件適當配置參數即可以工作。
  虛擬串口服務器可以在安裝PCI-9810/9820/9840接口卡的PC上添加多達2048個遠程虛擬串口。
  同一臺PC上可安裝多塊CAN接口卡。無論安裝有多少塊CAN卡,虛擬串口服務器都會把它們統(tǒng)一管理起來。不同的CAN接口卡以及同一塊CAN接口卡上的不同CAN通道將共同分享0~2048的CANID號。每一個ID號對應一個串口號,這樣CAN-bus網絡中的任一個CAN232MB轉換器就對應著PC上的一個虛擬串口。
  例如,當前PC上安裝了一個虛擬串口,名稱為COM33。用戶向COM33端口寫入的數據將直接送到CAN-bus網絡中,由一個ID設置為33值的CAN232MB轉換器接收,并在其RS-232端口輸出;同理,連接到ID設置為33值的CAN232MB轉換器的用戶RS-232設備所發(fā)出的數據,將通過CAN-bus網絡送到PC機,保存在PC上虛擬串口COM33的數據緩沖區(qū)內。當用戶讀取COM33數據的時候,虛擬串口服務器就把這些數據返回給用戶。

上圖所示的CAN-bus網絡中連接有8個CAN232MB轉換器,每個CAN232MB轉換器的串口都被映射成第1臺工作PC的1個虛擬串口,共8個虛擬串口;每個串口都和MOXA多串口卡(型號:CP-168U8路多串口卡)的其中一個串口相連,用于提供各個串口數據的測試與驗證。同時,第1臺工作PC安裝有1個PCI-9840接口卡,連接在CAN-bus網絡中;用戶也可以連接其他型號的CAN接口卡,同樣可以實現這一個虛擬串口的網絡實例。

  虛擬串口服務器的配置
  
  下面介紹虛擬串口服務器的配置軟件。軟件啟動界面如下:

  通過服務器軟件安裝虛擬串口,和遠程RS-232設備建立通訊,首先需要新建一個配置文件,并進行一些相關配置。點擊界面左上角的“新建”按鈕,此時彈出保存配置文件對話框,在其中選定保存路徑以及保存文件名。

  CAN-bus網絡的優(yōu)勢

  CAN-bus是國際上應用最廣泛的現場總線之一,被廣泛應用于歐洲的中高檔汽車中,用作ECU單元的串行數據傳輸網絡;近幾年來,CAN-bus開始進入中國各個行業(yè)的數據通訊應用,并于2002年被確定為電力通訊產品領域的國家標準。
  與RS-485類似,CAN-bus網絡使用普通雙絞線作為傳輸介質,采用直線拓樸結構,單條網絡線路至少可連接110個節(jié)點,網絡總長度最大可達10公里。在CAN-bus網絡中,數據收發(fā)、硬件檢錯均由CAN控制器硬件完成,大大增強了CAN-bus網絡的抗電磁干擾能力,即由硬件來保證CAN-bus網絡運行的可靠性。據國際CiA協(xié)會統(tǒng)計,2001年僅在歐洲就銷售了超過1億個CAN-bus節(jié)點,幾乎淘汰了歐洲所有的RS-485系統(tǒng)。目前,國內的汽車、電梯行業(yè)已是CAN-bus應用的典型領域,工業(yè)控制、智能樓宇、煤礦設備等行業(yè)也是日見更多型號的應用CAN-bus總線設備與產品。
  CAN-bus總線的優(yōu)點:可靠性高,可以支持硬件節(jié)點的即插即用;故障節(jié)點可自動關閉,不影響其他網絡節(jié)點;采用芯片硬件ID方式管理網絡,故障節(jié)點界定十分方便,網絡維護成本比較低。同時,CAN-bus網絡可以保證良好的通訊實時性。
CAN-bus總線的適用范圍:可適用于節(jié)點數目很多,傳輸距離在10公里以內,安全性要求高的場合;也可適用于對實時性、安全性要求十分嚴格的機械控制網絡。

雙絞線傳輸器相關文章:雙絞線傳輸器原理


評論


相關推薦

技術專區(qū)

關閉