计算机扩展串口的三种方法现在的计算机,特别是笔记本计算机基本上没有带RS-232串口了,但是在许多工业通信的场合需要用到RS-232口和RS-485口。这样就需要从计算机扩展出RS-232口,有了RS-232口加波仕RS-232/RS-485转换器就可以扩出RS-485口。现在的计算机都带有USB、以太网、总线扩展槽,都有相应产品可以扩展出RS-232串口。本文将以波仕电子的产品为例简要介绍分别从USB、以太网、总线扩展槽3种扩展出RS-232串口的方法,并且介绍它们之间的区别,以帮助用户正确选择。
1 USB 扩展串口
由于USB接口具有即插即用并且易于用HUB扩展的特性,现在只有USB口而没有传统接口的PC已经成为主流,那么在这样的计算机上如何使用基于串行接口的设备呢? 通过去除串口、并口以及PS2口等老式端口,然后用诸如USB之类即插即用端口加以替代,最终计算机客户现在被迫接受了这样的结局。
USB为消费类电子产品提供了轻松的扩展功能,许多设备操作系统本身就可以提供支持,不要求外设开发人员提供驱动程序,从而使添加外设变得更为简单。同时通过集线器扩展总线功能使普通用户能够方便地添加更多外设,无传统接口的PC目前已成为现实,正在向普通用户提供着种种便利。但是,许多业界专业人士或嵌入式应用人员却并不像普通用户那样对无传统接口PC的出现这么振奋。许多应用一直采用各种UART接口(就是RS-232协议的接口,一般指TTL电平的),既不需要也不希望有什么改变。不管是RS-232、RS-422还是RS-485,UART连接方式数十年来一直是低带宽通信的主流。就控制、监控与小容量数据传输而言, UART连接提供了一种成本低廉使用方便的解决方案,应用系统开发人员在上面已耗费了大量时间与金钱,同时对其性能也感到满意。对工业通信等专业用户而言,无传统接口PC的优势并不明显。
USB转串口的产品已经经过几代产品的进化,性能全面提高。从最初的USB/RS-232转换到USB/RS-232/485/422转换,再到加光电隔离以及光纤传输。现在最新的波仕电子的微型高速光隔USB到RS-232/485/422转换器已经可以做到一根带USB插头的DB-9外壳中,注意不是那种特意加大的看似DB-9的大外壳。还可以选择不同的驱动程序以满足不同用户或者不同场合的需求。
图1
波仕最新的型号为USB232GH3的产品号称是世界上最小的高速光隔USB/RS-232/485/422转换器。USB232GH3外形如图1,RS-232、RS-485、RS-422通用,可以虚拟成为本地COM串口(COM1-COM256)、实现2500V光电隔离、支持0-115200bps速率、内置有600W抗雷击浪涌保护器。与以前USB232GH1的型号产品相比,外形和大小相同,但是驱动由ProLific改成了FTDI。USB232GH3拥有波仕RS-485零延时自动切换核心技术、在DB-9插头内置1个USB-UART接口芯片、一个RS-232接口芯片、一个RS-485接口芯片、一个RS-422接口芯片、DC/DC隔离电源以及2500V的光电隔离器等、还带600W抗雷击浪涌保护。 从使用方便性方面,新的USB232GH3改用了固定的USB电缆,不用担心USB线松动。
这里顺便介绍一下FTDI与ProLific的USB-UART的区别。在绝大部分情况下,用户使用时也许体会不到两者的区别。但是显然它们是有区别的。在驱动程序上,WIN XP/VISTA/7以后ProLific只提供了SETUP.EXE可执行文件形式的驱动程序。不能够说SETUP.EXE的驱动不好,但是还是有一些场合WINDOWS提醒发现USB设备需要安装驱动程序并要求指出驱动程序的位置,这时SETUP.EXE就无效了,必须先运行SETUP.EXE再插USB设备才行。比如接以太网/USB服务器时,如果WINDOWS不能够自动识别USB设备就要求必须指定USB驱动程序的位置,而在本地计算机上运行SETUP.EXE驱动是无效的,因为USB设备不是在本地而是在远端。FTDI的驱动程序是带有安装信息的INF配置文件而不是EXE可执行文件,而且在各种WINDOWS版本下都通用,就不会存在以上SETUP.EXE的问题。 波仕电子通过大量的应用表明:单独使用时,FTDI与ProLific的USB-UART几乎体验不到差别,但是当与其他产品级联使用时在发送和接收数据时有些情况下感觉到ProLific有明显的延时而FTDI几乎没有延时。FTDI的优势在于延时要远远小于ProLific的,虽然大部分情况下不影响用户的使用。FTDI的成本明显高于ProLific,我们认为应该有它的理由。ProLific的优势在于应用量非常大,而且产品规格齐全,占据了绝大部分市场份额。
USB串口扩展器现在几乎都基于USB全速的,即12M的USB口。由于RS-232串口的最高通信速率只有115.2Kbps,所以12M速率的USB口已经足够。至于基于USB高速480M的串口扩展器很少,除了功耗较大、发热较大,并没有比12M的全速USB口在性能上有明显的优势。
2 笔记本EXPRESS或者台式机PCMCIA扩展槽扩展串口
既然USB扩展串口如此方便,产品也很齐全,那为什么在USB出现之后仍然需要从总线扩展槽扩展出RS-232口呢?这里所说的总线扩展槽是指笔记本的EXPRESS或者台式机的PCI。根本原因是USB扩展出的串口是虚拟串口,没有真实物理地址,不能够进行地址I/O操作。从总线扩展槽扩展出的串口是真实物理地址的实串口,因而克服了虚拟串口固有的缺点。
从总体上讲,计算机串口扩展器分为两类:真实物理地址串口与虚拟串口。真实物理地址串口有固定的I/O地址以及中断号,比如COM1的基地址规定为3FC,中断号为INT 14。通信软件可以通过对地址的直接I/O读写来实现。虚拟串口就是没有固定I/O地址的,它的通信只能通过比如被包装的WINDOWS API函数或者比如MSCOMM控件来实现。当然真实物理地址串口的通信也可以用API函数或MSCOMM控件来实现。虽然我们确信实现串口的通信必然存在对计算机内部的串口通信芯片的地址总线和数据总线的读写,但是因为虚拟串口的这些读写不是固定地址的,而是WINDOWS内核智能随机分配的,那么用户就无法编写出读写这些动态I/O的指令。显然如果通信软件中有I/O地址,那么就只有真实物理地址串口是可行的。而在我们的大量实际使用例子中,有些通信软件即使用的就是API函数或者MSCOMM控件,但是在比如数据采集等实时性要求较高的场合,往往就是用不了的,而必须使用真实物理地址串口。原因可能是虚拟串口由于API函数或是MSCOMM控件因为相对于直接I/O读写过于复杂而耗时,使得读写时间超过了实时性要求而通信失败。已经有的大量工业串口通信软件由于实时性和可靠性的考虑仍然使用了I/O读写,或者就是用API函数或MSCOMM控件但是实时性要求高,这样就只有用真实物理地址串口卡。注意无论是真实物理地址串口卡还是虚拟串口卡,这些扩展出来的RS-232口都是独立的。区别它们的方法就是看COM口的号码,是绝对不会重复的。目前能够从计算机扩展出真实物理地址串口的接口,对于笔记本来讲只有现在EXPRESS插口,对于台式机来讲只有PCI插槽。
图2
图2是波仕电子的EXPRESS插口扩展出真实物理地址的串口卡。EXPRESS插口全称是RXPRESS PCI或者PCI EXPRESS,也简称为E-PCI,它与台式机的PCI接口规范是一样的,但是在物理尺寸上有一些减小,注意EXPRESS总线还包含有USB信号。就是因为EXPRESS总线还包含有USB信号,因此我们要特别注意。因为这就意味着EXPRESS扩展出来的串口可能是真实物理地址也可能是虚拟串口的。如果用EXPRESS中的USB信号扩展的串口肯定是虚拟的。
另外也并非所有EXPRESS的真实物理地址串口卡在任何WINDOWS版本下都可以用的起来。目前主流的WINDOWS版本是XP,而实际安装的XP绝大部分是GHOST版本。可能因为XP出现的比EXPRESS早,也可能目前EXPRESS串口卡正在发展阶段,许多的EXPRESS真实物理地址串口卡无法在GHOST版本的XP下完成安装。
安装好了驱动程序后,如何识别EXPRESS CARD扩展的串口是虚拟串口还是真实物理地址串口呢?以Windows XP为例,点击:我的电脑/属性/系统属性/硬件/设备管理器/端口,找到新出现的COM口,再点击: 属性/详细信息,如果是真实物理地址的串口,就会显示物理地址以及中断号,比如3FC、2FC之类,如果是USB虚拟串口,就会显示USB的字样,比如设备范例ID:USB/VID_067B&PID_2303/5&18CD3484&1&2。
由于受到光耦和DC/DC隔离电源体积大小的限制,而RXPRESS卡的厚度限制只有4毫米,所以目前的EXPRESS串口卡还没有带光电隔离的。波仕电子正在进行这些方面的技术探索,这也是EXPRESS串口扩展的未来发展方向。工业应用的串口通信往往要求进行光电隔离保护,暂行的解决办法是在RS-232端加光电隔离器或者光电隔离的RS-232/485转换器。
台式计算机的PCI卡扩展串口的技术已经非常成熟,产品也很齐全。目前都是真实物理地址的串口,也有本身带光电隔离保护的。人们并不喜欢用PCI串口扩展卡的原因在于安装和维护都要打开计算机的机箱。长期实际使用表明,PCI卡容易松动,每次固定都必须打开机箱。
3 以太网扩展出串口
以太网虽然也可以算作传统的接口,但是由于局域网技术的不断更新发展,计算机的以太网口却能够成功地被保留下来,算是一个奇迹。虽然用USB/以太网转换器扩展出以太网是很方便的,但是由于以太网口(就是RJ-45口)应用太广泛,与其用USB扩展出以太网,还不如直接保留以太网。
波仕电子成功地推出了适合工业通信的第一款带光电隔离的以太网/串口转换器ETH232GH。 ETH232GH具有超小型的外形(80*23*47mm)、从10M以太网口扩展出一个光电隔离的RS-232、RS-485、RS-422口,并且可以虚拟成为本地COM串口。ETH232GH实现了以太网、电源、串口的三方隔离。
将ETH232GH以太网/串口转换器接上直流5V电源,将RJ-45座插入以太网的RJ-45插头。使用时需要用配置程序config.exe对产品的以太网IP地址、串口速率等进行设置。通过Config设置后ETH232GH产品可以脱离计算机。 此时向ETH232GH的以太网口(RJ-45口)传送的TCP/IP协议数据将自动转换为串口的RS-232协议数据。同样此时向串口传送的RS-232协议数据将自动转换为ETH232GH以太网口(RJ-45口)的TCP/IP协议数据。用户还可以直接通过操作ETH232GH的IP地址读写来实现串口数据的发送和接收的,也可以将程序的源代码嵌入用户的应用程序中。如果再运行“虚拟串口软件”VSPmaneger还可以将ETH232GH的IP地址虚拟成为一个本计算机的串口COM号,这样在Windows下的各种串口通信程序都可以使用。
虽然以太网扩展出的串口也是虚拟串口,但是我们的大量应用表明以太网扩展出的串口在通用性和稳定性方面均优于USB扩展出的串口。这可能是因为以太网的信号的发送与接收分开的,而USB信号的收与发是分时共用的。虽然现在以太网的速率已经达到100M至1000M,但是都是向下兼容10M以太网标准的。由于RS-232串口最高只有115.2Kbps的速率,所以无论从10M还是100M甚至1000M以太网扩展出的RS-232串口的性能可以说几乎没有什么差别,反而高速以太网的功耗更大。
以太网扩展的串口缺点就是需要外接电源。对于这个以太网的天然缺陷,已经早有人提出了以太网供电的技术规范POE(POWER OVER ETHENET)。简要地说,就是利用8根以太网线中空着的4根线作为电源线,这4根线原本是作为屏蔽线的。POE的定义为4-5脚短接后共同接+48V电源正极,7-8脚短接后共同作为电源的地线。相信随着POE技术的普及,将来的以太网也可以象USB一样做到无需供电。