虚拟串口在CAN-bus网络中的构建技术研究

2022-09-11

1 基于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通讯的应用领域。

远程RS-232通讯的设备驱动软件就是虚拟串口服务器, 即VCOM服务器。虚拟串口服务器是一款专用的配置工具;运行此服务器软件, 即可以在同一台PC上安装一个或多个虚拟串口, 虚拟串口的数目可以多达2048个。这些虚拟串口可以同真实串口执行完全一致的操作;实际上, 通过普通双绞线构成的CAN-bus网络, 在这些虚拟串口上通讯的数据被快速映射到CAN-bus网络中远端CAN232MB转换器的RS-232通讯端口。这样, 在同一CAN-bus网络中连接n个CAN232MB转换器, 即可以映射成本地的n个远程虚拟串口。通过软件的无缝衔接, 远程虚拟串口和本地串口在操作上并不存在任何差异。例如, 将一些设备的串口程序升级到通过远程虚拟串口来实现时, 升级软件可以不作任何修改, 只需在打开串口时设定所操作的远程虚拟串口号, 就可以实现正常的串行数据通讯。

2 虚拟串口特点

可在同一PC上添加多达2048个虚拟串口。

可以动态添加设备映射到任意已安装的虚拟串口上, 也可以动态删除映射到任意虚拟串口上的设备。

可保存当前配置到文件。

可设置虚拟串口服务器的启动条件 (比如开机自启动) , 也可以设置启动服务器时

的默认配置。

3 虚拟串口的建立

下面以一个提供8个串口的虚拟串口网络实例为原型, 说明如何在同一台PC建立多个虚拟串口, 并且提供了虚拟串口测试网络的实现方法。如需要建立更多数目的虚拟串口, 可以参考建立上述网络的方法, 只需要在C A N-b u s网络中增加CAN232MB转换器的数目, 并通过软件适当配置参数即可以工作。

3.1 硬件设备配置

PC微机 (其中有1台供测试用) 2台。

CAN232MB智能协议转换器8个。

P C I-9 8 1 0/9 8 2 0/9 8 4 0接口卡或US BCA N-I I接口卡1块。

MOX A CP-168U 8路串口卡 (供测试用) 1块。

3.2 软件配置

虚拟串口服务器 (VCOM for CAN) 1.01版。

串口调试软件 (如:超级终端、串行调试助手等) 1套。

虚拟串口服务器可以在安装PCI-9810/9820/9840接口卡的PC上添加多达2048个远程虚拟串口。

同一台PC上可安装多块CAN接口卡。无论安装有多少块CAN卡, 虚拟串口服务器都会把它们统一管理起来。不同的CAN接口卡以及同一块CAN接口卡上的不同CAN通道将共同分享0~204 8的CAN ID号。每一个ID号对应一个串口号, 这样CAN-bus网络中的任一个CAN232MB转换器就对应着PC上的一个虚拟串口。

3.3 虚拟串口服务器的配置

通过服务器软件安装虚拟串口, 和远程RS-232设备建立通讯, 首先需要新建一个配置。

文件, 并进行一些相关配置。

首先根据具体情况配置CAN网络参数, 然后建立虚拟串口, 在虚拟串口数下拉框中选择所要建立的串口数量。如果通讯正确, 则可以设置一些工件参数, 包括RS-232的通讯波特率、CAN-bus网络的通讯波特率、虚拟串口的ID号 (范围:0~2048) 等;用户也可以自定义设置CAN-bus网络的通讯波特率。

3.4 CAN232MB转换器的配置

CAN232MB智能协议转换器可以通过一个设备配置工具软件, 来设置运行时的工作参数, 包括RS-232串口通讯速率、CAN-bus通讯速率、网络ID设备号等, 且支持用户自行定义的CAN-bus通讯速率。为了使转换器进入配置模式, 须要在掉电的情况下将CAN外接端口一侧的“CFG”引脚和“GND”引脚短接。同时, 用串口线连接CAN232MB转换器和计算机。重新上电后, CAN232MB转换器进入“配置”模式。这时, 可通过设置软件配置CAN232MB转换器。

4 结语

虚拟串口服务器实现了在同一台PC上控制多达2048个RS-232设备, 通讯距离可以达到10公里甚至更远。用户对虚拟串口的操作与PC的标准串口操作基本兼容。虚拟串口服务器利用CAN-bus网络实现数据通讯, 在保证通信可靠性的同时, 提高了RS-232的传输距离, 并简化了布线过程。

利用CAN485MB智能协议转换器, 用户也可以很方便地为同一PC安装多个基于RS-485标准的远程虚拟串口。但在实际使用中, 需要注意CAN-bus网络的带宽问题。串口的波特率虽然可以任意选择, 但是实际的数据传输率要受限于CAN-bus网络。

摘要:介绍了一种简单、可靠的方法, 通过利用ZLGCAN接口卡、CAN232MB转换器等设备, 可以在1条普通双绞线上连接多达2048个RS-232设备, 通讯距离可以长达10公里甚至更远的距离。

关键词:CAN-bus,虚拟串口,VCOM,CAN232MB转换器,PCI-9820接口卡

参考文献

[1] 邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社, 2006.

[2] 饶运涛, 等.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社, 2007.

上一篇:小学语文教师应关注的几种教学观下一篇:浅论大学生职业指导的科学方法