您现在的位置:智能制造网>技术首页>技术研讨会

虚拟串口与真实物理地址串口

2009年10月16日 09:46来源:武汉波仕电子有限公司 >>进入该公司展台人气:2276

 

虚拟串口与真实物理地址串口
武汉波仕电子公司 2009-10
 
本文所说的“串口”是指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/串口转换器对这些握手信号的虚拟读写过程的初始化往往比较耗时,所以容易导致握手信号读写失败。
    现在的台式计算机大部分还都保留有一个真实物理地址的RS-232口,一般是COM1口。如果在计算机的背后有一个DB-9针的口,那就是COM1串口。COM1串口的基地址为3FC,COM2串口的基地址为2FC。在WINDOWS me以及以前版本操作系统下可以直接进行物理地址的I/O读写操作,比如
     BASIC语言为OUT &H3FC,2      汇编语言为OUT 3FC,2
PASCAL语言为port[$3fc]:=2;      C语言为outportb (0x3fc,2);
VC++语言为:_outp (0x3fc,2);
在Windows XP以及以后版本操作系统下,上面的语句已经禁止执行,但是可以将I/O操作指令编为动态连接库来调用,可以达到一样的I/O操作效果。
USB/串口转换器的虚拟串口代替传统的RS-232、RS-485、RS-422口是必然的发展趋势,就象PCI总线代替ISA总线、Windows代替DOS一样,尽管后者都更加适合工业通信和工业测控。Windows操作系统从来不是优先考虑工业通信和工业测控的实时性要求,反而越来越抛弃工业通信和工业测控。只有CPU、总线等硬件速度的改进使延时减小从而接近实时性。由于通过虚拟I/O操作代替物理的固定I/O读写是解决Windows可靠性的一条基本原则,所以用户越来越远离Windows内核的操作。事实上,从Windows XP开始就没有了直接I/O读写指令,甚至Windows me的直接I/O读写也是通过将DOS的I/O读写指令编辑成为动态连接库然后来调用的。Windows XP下的直接I/O读写是通过动态连接库的调用来实现,参见波仕电子的软件。另外减少USB虚拟串口对RTS/CTS、DTR/DSR这些握手信号的虚拟操作的延时也是一个技术难点,这主要是由USB/串口转换器内部UART的信号初始化处理延时导致的。避免频繁使用不要使用这些握手信号是较好的解决方法。波仕电子所有产品的RS-485接口均使用了零延时自动收发转换技术,这就保证转换过程中不需要任何握手信号来控制收与发的切换。
如果你的计算机的RS-232口是从USB转换出来的,那么肯定地说,这个RS-232口一定是虚拟串口。这是由USB的特性决定的。虚拟串口由于没有真实物理地址所以是不能够进行以上的对COM口地址(比如3FC、2FC)的I/O读写操作,包括用调用动态连接库的方法。USB口当然是可以进行其他地址的I/O操作的,可以参考波仕的U46BL、U812BL产品说明书。
如果你的计算机串口是从台式计算机的PCI插卡扩展出来的,那么目前的产品我们还没有见到虚拟串口的,也就是说现在的PCI串口卡都是真实物理地址的串口。由于PCI串口卡的电路板是没有壳子的,所以我们也很容易地从电路板上的元件型号看出来。从原理上来讲,也可以从PCI口先扩展出USB口再将这个USB转换出RS-232口。我们现在的许多笔记本的内置光驱就已经采用了USB口(不是指外挂的光驱!)。当你准备拔下U盘,按照要求用鼠标点击左面右下脚的“安全删除硬件”,如果同时出现USB光驱的提示就是说明你的笔记本光驱是USB接口的,虽然实际物理接口可能是一排插针的插卡。
*有可能混淆的是PCMCIA串口卡以及改进型EXPRESS CARD串口卡扩展出的RS-232口。大部分PCMCIA串口卡扩展的RS-232口都是真实物理地址的,否则就失去了它相对USB的优势。PCMCIA对于笔记本的作用就象PCI对于台式计算机一样。波仕的PCMCIA、EXPRESS CARD串口卡扩展出来的都是真实物理地址的串口。EXPRESS CARD是PCMCIA的一种改进,有L形和条形,见波仕PCMCIA232的说明书。EXPRESS CARD 与PCMCIA并不兼容。zui近已经出现了某些EXPRESS CARD串口卡扩展出来的RS-232口并不是真实物理地址的串口,而是先将EXPRESS CARD转换成为USB然后再转换出RS-232口。如果你有包含读写串口物理地址的程序,就无法在这样的EXPRESS CARD上运行。
如何识别EXPRESS CARD扩展的串口是虚拟串口还是真实物理地址串口呢?以Windows XP为例,先安装驱动程序。点击:我的电脑属性系统属性硬件设备管理器端口,找到新出现的COM口,再点击: 属性详细信息,如果是真实物理地址的串口,就会显示物理地址以及中断号,比如3FC、2FC之类,如果是USB虚拟串口,就会显示USB的字样,比如设备范例ID:USBVID_067B&PID_23035&18CD3484&1&2。
如果你对以上的USB虚拟串口、PCI或PCMCIA扩展的串口都不满意,那么还有一种选择,就是以太网/串口转换器,见波仕ETH232系列说明书。虽然以太网/串口转换器生成的RS-232口也是虚拟串口,但是它并不出现在“设备管理器端口”中,所以也无法用上面看“属性详细信”的方法。我们大量应用的实际情况表明,以太网虚拟串口的通用性好于USB虚拟串口,可能是由于以太网支持全双工通信的原因。以太网/串口转换器的缺点是需要供电,另外驱动程序以及虚拟串口程序是的。

波仕电子产品包括:
RS232转485串口,RS232,RS485,RS232转485,RS232转422,RS232转USB,rs232转rs485,rs232串口线,rs232接口,rs232转以太网,rs232 ic,rs232数据线,rs485转换器,rs485转换rs232器,RS232转换器,光纤转换器,光电隔离器, 远程收发器,光纤转换器 ,USB、以太网/串口、光纤,RS-232/RS-485/光纤转换器,RS-232/RS-485/RS-422转换器,RS-485中继器、超远程驱动器,光纤转换器;RS-232;rs485;RS422;转换器;中继器;光纤收发器;多模光纤;单模光纤;扩展器;超远程驱动器;光隔远程收发器;集线器;光电隔离器;TTL转换;浪涌保护;数据采集;串口转换器;485转换器;232转换器; 其它串口类产品


请登陆我们的       了解更多产品的详细介绍,请拨 传 真: :向  / :boshika@

全年征稿/资讯合作 联系邮箱:1271141964@qq.com
  • 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
  • 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。


编辑精选

更多


宣传样本推荐图书

旗下子站

工控网机器人仪器仪表物联网3D打印工业软件金属加工机械包装机械印刷机械农业机械食品加工设备制药设备仓储物流环保设备造纸机械工程机械纺织机械化工设备电子加工设备水泥设备海洋水利装备矿冶设备新能源设备服装机械印染机械制鞋机械玻璃机械陶瓷设备橡塑设备船舶设备电子元器件电气设备



关于我们|本站服务|会员服务|企业建站|旗下网站|友情链接| 兴旺通| 产品分类浏览|产品sitemap

智能制造网 - 工业4.0时代智能制造领域“互联网+”服务平台

Copyright gkzhan.comAll Rights Reserved法律顾问:浙江天册律师事务所 贾熙明律师

客服热线:0571-87756395加盟热线:0571-87759904媒体合作:0571-89719789

客服部:编辑部:展会合作:市场部:

关闭