USB串口转换器的发展过程
USB串口转换器包括USB/RS-232转换器和USB/RS-485/422转换器等,是一种把USB转换为串口(RS-232、RS-485、RS-422)的转换装置。最早的产品大约出现于十年前,通过最近十年的发展,产品从早期的支持RS-232口发展到现在的带RS-485/RS-422口、带光电隔离等功能,但是从原理上却没有任何变化。本文将着重介绍波仕电子最新推出的一种采用全新原理设计的USB网络串口转换器。
传统的RS-232串口的操作完全依赖于对串口物理地址的读写操作,USB串口转换器本质上就是把传统串口的几个寄存器物理地址在WINDOWS下改变为虚拟地址,USB串口转换器虚拟出这几个地址,软件对虚拟地址的读写操作使用读写api函数,也可以打包为MSCOMM.OCX的通信控件。常用的串口通信格式为(9600,N,8,1),意思就是通信的速率(波特率)为9600bps,即每秒9600位,N表示无奇偶校验位,8表示用8个字节表示一个数,1就是最后再加上1位附加位。近年来计算机的USB口,已经从USB1.0的全速12M逐步普及到了USB2.0的高速480M,甚至USB3.0的5G。由于USB的速率的提高都是保持了对以前速率的兼容,所以USB3.0的性能仍然兼容USB2.0,USB2.0兼容USB1.0。虽然计算机的USB口已经基本上普及到了480M的性能,但是同时USB串口转换器的性能提高却相对缓慢,几乎都是12M的USB。主要的问题在于USB串口转换器采用的CPU几乎都相当于是8位单片机,性能达不到480M的要求。
USB网络串口转换器的出现
波仕USB232ET型USB网络串口转换器是一种采用全新原理设计的USB-串口转换器。内部采用了32位的ARM处理器,支持480M的高速USB口。由于ARM的强劲性能,USB网络串口转换器不仅支持串口通信协议,而且支持TCP/IP网络协议。原理上USB232ET不同于已有的任何一种USB串口转换器,它的特点在于内置了TCP/IP网络协议、还内置了Android平板电脑的USB驱动程序,所以接到平板电脑上时无需驱动即可使用,可以在计算机和平板电脑上跨平台使用,并且同时支持MODBUS的TCP/IP协议和RTU/ASCII协议。产品具有超小型的外形(80*23*47mm)、RS-232、RS-485、RS-422通用。接计算机时可以虚拟成为本地串口。USB232ET的性能特点使得它成为业界唯一无驱支持平板电脑的USB串口转换器。
将USB232ET通过USB打印线接到计算机、或者加USB-OTG线连接到平板电脑。USB232ET产品的RS-232/485/422串口端是一个DB-9针座,具有RS-232、RS-485、RS-422全部引脚。这款型号为USB232ET的USB网络串口转换器不仅可以从USB扩展出一个三合一的RS-232/485/422口,还可以虚拟成为本地COM串口(COM1-COM256)、这样就无须修改已有的串口通信软件。
USB232ET的配置程序用于查看或修改USB232ET产品的IP地址、串口波特率等。注意计算机接USB232ET的IP地址选“自动获取IP地址”。也可以用户自行修改IP地址,但是前3位必须一致,最后一位1到254均可,但是不要与USB232ET本身IP的最后一位重复。连接通了以后可以通过网页查看USB232ET的IP地址、设置和修改密码。运行虚拟串口软件后可以将USB232ET虚拟为本地计算机的一个串口。
与传统USB串口转换器的比较
虽然USB网络串口转换器的RS-232/485串口与传统的USB串口转换器的RS-232/485口一样都是虚拟串口而不是物理地址串口,但是从我们使用的情况看,USB网络串口转换器的虚拟串口的通用性远远强于传统的USB-串口转换器的虚拟串口,原因可能是因为以太网的信号是全双工的,也就是说是以太网收、发信号分开的并且可以同时收发。另外USB网络串口转换器内部使用了32位的ARM处理器,内部以太网速率为100M,而传统的USB-串口转换器内部采用的是8位单片机,内部总线12M。USB网络串口转换器还减少了传统的USB-串口转换器对RTS/CTS、DTR/DSR这些虚拟握手信号的操作。传统的USB-串口转换器对内部虚拟UART的握手信号导致延时的处理一直是一个技术难点。USB网络串口转换器免去这些握手信号就是最好的解决方法。所谓的“物理地址RS-232口”是指从PC机的主板或者从总线,比如台式机的PCI总线或者ISA总线、笔记本的PCMCIA总线上扩展出来的RS-232口。它们与PC机主板上的RS-232口一样分配有自己固定的物理I/O地址。现在WINDOWS下的串口通信软件已经几乎没有了对物理地址的I/O操作指令而是使用api函数或者通信控件,通信程序完全适合于虚拟串口。
USB网络串口转换器与传统的USB-串口转换器的差别还在于驱动程序和应用程序。驱动程序的差别使得USB网络串口转换器可以在Android平板电脑上使用而传统的USB-串口转换器则不能。以前虽然有号称带android驱动的USB串口转换器,但是在android下安装驱动需要回到ubuntu界面下对linux内核进行操作,这对于普通用户而言几乎是一场噩梦。就算成功安装了驱动,android下的串口通信操作也非常困难且没有统一的标准,而android的TCP/IP通信却是成熟的且有标准的socket。USB网络串口转换器在android下正是使用了TCP/IP网络协议来操作串口。USB网络串口转换器的通信方式既可以使用RS-232串口通信协议,也可以使用TCP/IP网络通信协议,而传统的USB-串口转换器只能够使用串口通信协议。比如MODBUS协议包括TCP/IP与RTU/ASCII两种,USB网络串口转换器对这两种协议都可以使用,而传统的USB串口转换器只能够使用后者RTU/ASCII协议。所以USB网络串口转换器也特别适合工业通信。