微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 构建CAN-bus网络中的虚拟串口

构建CAN-bus网络中的虚拟串口

时间:07-27 来源:互联网 点击:
  基于CAN-bus网络的虚拟串口

  在工业串行通讯领域中,RS-232与RS-485都是会被经常用到的数据传输标准之一。例如,普通PC一般会提供1~4个标准RS-232端口,分别被标注为COM1~COM4端口。用户可以通过这些现成的RS-232端口连接外部设备,比如键盘、IC读卡器、条码阅读器、数字化仪、打印机、数据记录仪,或者由用户自己定制的串行通讯仪器,等等。操作或编程这些标准的COM端口也是非常方便的,因为市场上有众多的串口软件调试工具可供通讯测试,也有功能齐全的DLL程序开发库可供编程时调用。
  但是,传统RS-232串行通讯存在着数据可靠性、通讯距离、端口数量等多个方面的限制。例如,在工业控制等现场环境中,常会有电气噪声干扰传输线路,使用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个。这些虚拟串口可以同真实串口执行完全一致的操作;实际上,通过普通双绞线构成的CAN-bus网络,在这些虚拟串口上通讯的数据被快速映射到CAN-bus网络中远端CAN232MB转换器的RS-232通讯端口。这样,在同一CAN-bus网络中连接n个CAN232MB转换器,即可以映射成本地的n个远程虚拟串口。通过软件的无缝衔接,远程虚拟串口和本地串口在操作上并不存在任何差异。例如,将一些设备的串口程序升级到通过远程虚拟串口来实现时,升级软件可以不作任何修改,只需在打开串口时设定所操作的远程虚拟串口号,就可以实现正常的串行数据通讯。

  虚拟串口的建立

  下面以一个提供8个串口的虚拟串口网络实例为原型,说明如何在同一台PC建立多个虚拟串口,并且提供了虚拟串口测试网络的实现方法。如需要建立更多数目的虚拟串口,可以参考建立上述网络的方法,步骤基本一致;只需要在CAN-bus网络中增加CAN232MB转换器的数目,并通过软件适当配置参数即可以工作。
  虚拟串口服务器可以在安装PCI-9810/9820/9840接口卡的PC上添加多达2048个远程虚拟串口。
  同一台PC上可安装多块CAN接口卡。无论安装有多少块CAN卡,虚拟串口服务器都会把它们统一管理起来。不同的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设备所发出的数据,将通过CAN-bus网络送到PC机,保存在PC上虚拟串口COM33的数据缓冲区内。当用户读取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网络的优势

  CAN-bus是国际上应用最广泛的现场总线之一,被广泛应用于欧洲的中高档汽车中,用作ECU单元的串行数据传输网络;近几年来,CAN-bus开始进入中国各个行业的数据通讯应用,并于2002年被确定为电力通讯产品领域的国家标准。
  与RS-485类似,CAN-bus网络使用普通双绞线作为传输介质,采用直线拓朴结构,单条网络线路至少可连接110个节点,网络总长度最大可达10公里。在CAN-bus网络中,数据收发、硬件检错均由CAN控制器硬件完成,大大增强了CAN-bus网络的抗电磁干扰能力,即由硬件来保证CAN-bus网络运行的可靠性。据国际CiA协会统计,2001年仅在欧洲就销售了超过1亿个CAN-bus节点,几乎淘汰了欧洲所有的RS-485系统。目前,国内的汽车、电梯行业已是CAN-bus应用的典型领域,工业控制、智能楼宇、煤矿设备等行业也是日见更多型号的应用CAN-bus总线设备与产品。
  CAN-bus总线的优点:可靠性高,可以支持硬件节点的即插即用;故障节点可自动关闭,不影响其他网络节点;采用芯片硬件ID方式管理网络,故障节点界定十分方便,网络维护成本比较低。同时,CAN-bus网络可以保证良好的通讯实时性。
CAN-bus总线的适用范围:可适用于节点数目很多,传输距离在10公里以内,安全性要求高的场合;也可适用于对实时性、安全性要求十分严格的机械控制网络。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top