关键词:USB 串口通信 RS-232 RS-485
目前计算机的USB接口已经大量使用,一般每台计算机都有2到4个USB口。USB口已经开始逐步取代传统的PS/2鼠标口、PS/2键盘口、CENTRONICS打印口、RS-232串口等。USB将是未来重要的PC机工业通信接口之一,用于实现工业通信以及存储、编程等。在USB技术逐步普及于工业通信的今天,本文回顾USB工业通信产品的发展过程。
先回顾我国USB产品的开发成就,我们不得不提到著名的深圳朗科公司。是他首次提出了“优盘”的名称,是他取得了全球领先的USB外部存储装置的专利知识产权,并且据说后来以此专利起诉打败了著名的日本SONY公司。尽管在朗科的U盘出现之前国内已经有IBM随电脑一道赠送的“IBM存储钥匙”,其实就是U盘,但是象IBM这样连微硬盘部门都出售给日立公司的蓝色巨人是看不上这小小的存储钥匙(storage key)的。这样的失误虽然远远轻于请MICROSOFT公司为IBM PC写DOS操作系统,但是也成就了一个中国的朗科以及后来国内的整个U盘市场,尽管今天的朗科还远远没有达到MICROSOFT的规模。当时早期的朗科U盘采用的是PHILIPS公司的PDIUSB12的USB接口芯片加三星的FLASH存储器,朗科当时还出售PDIUSB12的开发系统可用于开发U盘等产品。不到一年后,同样在深圳的另外一家公司鲁文公司开发出了号称是全球第一个无须驱动程序的U盘(取名为“易盘”),可以在Windows me下无须驱动程序。因为无驱才会有后来的巨大的市场。
虽然以上是国内USB产品开发历程的简单回顾并不是USB串口通信领域产品的回顾,但是正是因为中国人开发U盘技术让我国在世界计算机外设方面占了一席之地的成就鼓舞了后来国人在USB串口通信领域的产品开发,也正是当时朗科出售的USB开发系统带动波仕电子开始了USB串口通信产品的开发。况且工业通信和工业测量控制领域都是国人的传统强项,始终是国货占据绝大部分市场。
第一代产品 USB/RS-232转换器
第一代USB串口通信产品是以波仕电子的USB/RS-232转换器为典型的。波仕电子是国内最早从事USB/串口转换器的开发厂家之一。型号为USB232的USB/RS-232转换器(如图1)用于将一个USB口转换成为一个RS-232串行口。USB/RS-232转换器实现USB与RS-232串口设备相互通讯的一种协议转换装置(USB协议-串行通信协议)。在通信主机 (USB)和RS-232串口设备之间,无论是通信主机发送信息至指定的RS-232串口设备或是RS-232串口设备发送信息至指定通信主机,都可以经其轻易且正确地传输。波仕的USB232是专门为工业通信设计制造的,特别强调对工业通信的适用性。比如我们用工业通信开发常用的Visual BASIC 和 Visual C++语言的Mscomm.ocx通信控件编程后进行通信检测,波仕的USB232可以在各种版本的Windows下很流畅地正确通信并且对RTS/CTS、DTR/DSR握手信号的控制与监测也很正确,而有些市售的USB/串口转换器却不能够通过这样的检测。
图1 波仕电子的型号为USB232的USB/RS-232转换器
USB232产品还可以与波仕电子的其他产品配合使用: USB232还可以直接配接波仕电子的485C型转换器构成USB/RS-485/RS-422转换器(全双工半双工通用)。USB232还可以直接配接波仕电子的485TC型转换器构成光电隔离且无须供电的USB/RS-485/RS-422转换器。USB232还可以直接配接波仕电子的BS232-9型RS-232光电隔离器构成光电隔离无须供电的USB/RS-232转换器。
第二代产品 USB/RS-485/RS-422转换器
第二代USB串口通信产品可以从USB口直接扩展出RS-485、RS-422口。波仕电子USB/RS-485转换器(型号:USB485)用于将一个USB口转换成为RS-485(半双工)或者RS-422口(全双工),如图2。
图2 波仕电子的型号为USB485的USB/RS-485/RS-422转换器
USB485主要是为USB的远程工业通信而设计的,由于转换为RS-485或者RS-422接口所以通信距离增加到了1200米(9600bps时)。同时增加了一个5V供电脚这样可以对某些外接的仪器或设备供电。
第三代产品 光电隔离USB/RS-232/485/422转换器
图3 波仕电子的型号为USB232GL1的光电隔离USB/RS-232/485/422转换器
波仕USB232GL1可能是世界上最小的光隔USB/串口转换器之一、使用也是极简便的,专利号:200630307752。USB232GL1实现了USB与串口的2500V光电隔离。USB232GL1的RS-232/485/422的最高通信速率为19.2Kbps,实际可达38.4Kbps以上。波仕USB232GL1内置有600W抗雷击浪涌保护器。
将USB232GL1型USB/串口转换器通过配套的USB延长线(A型USB口到B型USB口)外插到计算机的USB口。在串口插座旁边有一个小LED(发光二极管),当USB232GL1产品接通后LED会一直亮着。
波仕USB232GL1产品的RS-232/485/422串口端是一个DB-9针座,具有RS-232、RS-485、RS-422全部引脚。当作为RS-232口时与PC机的DB-9针RS-232口的2、3、5脚分配完全相同。作为RS-422时,T+、T—是指从USB232GL1向外发送。注意RS-485和RS-422通信时建议要接地线(5脚)。RS-485/422无须跳线选择。RS-485/422信号的参考地线与RS-232的GND是一样的。
DB-9针端的引脚分配如下: 波仕电子USB232GL1产品具有以下基本性能特点:光电隔离且无须外接电源,无须供电而且还可以对外输出隔离的5V电源,串口为RS-232/RS-485/RS-422通用,自动识别串口号。驱动程序同波仕USB232、USB485转换器。
第四代产品 USB/串口光纤转换器
图4 波仕电子的型号为OPTU232L1的USB/串口光纤转换器
波仕电子发明和首创了USB/串口光纤转换器、同时也是世界上唯一的USB/串口光纤转换器。OPTU232SL1的传输介质为单模光纤、OPTU232L1的传输介质为多模光纤,但是外形和驱动程序是完全一样的。本产品受以下中国专利保护:200730098650、200630307752、ZL2002284234,侵权必究!
对USB虚拟串口的评论
这里所说的“串口”是指RS-232或者RS-485/RS-422口,但是由于RS-485(或RS-422)口一般都是从PC机的RS-232口转换而来,其软件是通用的,所以本文评论的“串口”一般就指PC机的RS-232口。这里所说的“虚拟串口”是指通过USB/串口转换器生成的串口。有人在使用USB/串口转换器时发现某些以前在传统RS-232口上运行正常的软件却不能够使用,因而就说通过USB转换出来的串口不是真正的串口。这里所谓的“传统RS-232口”是指从PC机的主板或者从总线,比如台式机的PCI或者ISA总线、笔记本的PCMCIA总线上扩展出来的RS-232口。USB的全称是通用串行总线,它与PCI之类的并行总线有本质的区别。USB口没有分配固定的总线I/O地址也没有固定中断号,它的地址是通过软件来虚拟的,而传统的RS-232口有固定的I/O地址以及中断号。这就是某些通信软件在传统RS-232口可以运行而在USB/串口转换器的RS-232口上不能够运行的原因。如果通信软件内有直接I/O读写语句,那么肯定无法在USB/串口转换器的串口上运行。另外还有一个原因就是对RTS/CTS、DTR/DSR这些握手信号的操作,即使是通过虚拟读写不是通过直接I/O读写来操作这些握手信号,但由于USB/串口转换器对这些握手信号的虚拟读写过程的初始化往往比较耗时,所以容易导致握手信号读写失败。
我们认为用USB/串口转换器的虚拟串口代替传统的RS-232、RS-485、RS-422口是必然的发展趋势,就象PCI总线代替ISA总线、Windows代替DOS一样,尽管后者都更加适合工业通信和工业测控。Windows操作系统从来不是优先考虑工业通信和工业测控的实时性要求,反而越来越抛弃工业通信和工业测控。只有CPU、总线等硬件速度的改进使延时减小从而接近实时性。由于通过虚拟I/O操作代替物理的固定I/O读写是解决Windows可靠性的一条基本原则,所以用户越来越远离Windows内核的操作。事实上,从Windows XP开始就没有了直接I/O读写指令,甚至Windows 98的直接I/O读写也是通过将DOS的I/O读写指令编辑成为动态连接库然后来调用的。Windows XP下的直接I/O读写也是通用动态连接库的调用来实现,不过更加复杂,可参见波仕电子网站的软件。另外减少USB虚拟串口对RTS/CTS、DTR/DSR这些握手信号的虚拟操作的延时也是一个技术难点,这主要是由USB/串口转换器内部UART的信号初始化处理延时导致的。避免频繁使用最好不要使用这些握手信号是较好的解决方法。波仕电子所有产品的RS-485接口均使用了零延时自动收发转换技术,这就保证转换过程中不需要任何握手信号来控制收与发的切换。(end)
上一篇:通过USB连接器保护电源和充电器件的安全
下一篇:通过光纤传输USB信号的电路设计
推荐阅读最新更新时间:2024-05-02 22:42