电气自动化技术网

采用USB232GH2转换器实现USB串口的超高速通信

时间:2014-08-28 来源:武汉波仕电子 编辑:编辑部 点击:次 字体设置:
摘要:USB串口的超高速通信是指波特率超过115200bps的串口通信,比如921600、460800、230400bps.由于这几种波特率是非标的,所以从硬件到软件都有特殊要求和方法才可以实现。

本文以波仕USB232GH2转换器和波特率921600bps为例来进行介绍如何实现USB串口的超高速通信。

USB串口转换器是实现USB与RS-232/RS-485/RS-422串口设备相互通讯的一种协议转换装置(USB协议-串行通信协议)。一般的USB串口转换器支持的波特率最高达到115.2Kbps(115200bps).USB串口的超高速通信是指最高波特率超过115200bps的串口通信,比如921600、460800、230400bps.由于这几种波特率是非标的,所以从硬件到软件都有特殊要求和方法才可以实现。本文以波仕USB232GH2转换器和波特率921.6Kbps(921600bps)为例来进行介绍。

要实现USB串口的921.6Kbps的高速通信,必须满足2个条件:1、USB-串口转换器本身支持921.6Kbps波特率;2、必须有支持921.6Kbps波特率的通信软件。如果软件只有应用程序(EXE可执行文件),那也就只能够进行通信的演示,因为所有的接收与发送数据都必须位于应用程序的界面内,无法提供给用户。如果用户要将这些接收或者发送的数据嵌入到用户自己的程序中,那么就必须有支持921.6Kbps波特率的通信软件的源代码。

波仕USB232GH2提供一个USB2.0口,一个隔离的RS232/RS485/RS422串口,一个可以对外提供隔离5V供电的插座等。高速光电隔离USB/串口转换器支持串口最高速率达921.6Kbps,RS-232、RS-485、RS-422通用,可以虚拟成为本地COM串口(COM1-COM256)、无须修改已有的串口通信软件。USB232GH2的RS-232/485/422的最高通信速率为921.6Kbps,并且实现了USB与串口(RS-232/485/422)之间的2500V光电隔离。 

 

1、如何判断USB-串口转换器本身是否支持921.6Kbps波特率

将USB232GH2的USB电缆插到计算机的USB口、计算机会自动检测到USB232GH2并且显示“发现新硬件”,将USB232GH2的配套光盘插入计算机的光驱,按“自动查找”计算机会自动找到驱动程序,最后按“完成”结束。用户可以查看“控制面板”的“系统\设备管理器\端口”,就会发现自动分配给USB232GH2一个新的COM口号码。如果要查看USB串口是否支持921.6Kbps(921600bps),在Windows 7下,桌面à我的电脑\属性à硬件à设备管理器à端口à通信端口(找到USB232GH2的COM口)\属性à端口设置à高级àPort Settings,用户就可以看到所支持的全部波特率了。如果其中有921600,就说明可以支持921.6Kbps波特率。注意即使有显示921600,也并不意味着该USB-串口转换器就一定支持到921600。因为这还与具体USB-串口转换器的接口硬件性能相关。这个就必须参考产品的说明书的指标。只有经过921600bps波特率检测通过的、且厂家的说明书确认的产品才可以。另外一般来讲,产品支持RS-485和RS-422的最高波特率要比支持RS-232的最高波特率要高。

2、如何实现USB-串口转换器的921.6Kbps波特率通信

921600bps是比较少使用的波特率,可以说目前的常用串口通信软件几乎都不支持921600bps。一般最高到115200,少数到230400bps。由于Windows api实现的最高也就支持256Kbps,所以要实现921600bps串口通信就必须使用更加底层的编程。

以Visual Basic语言为例,无法使用选择波特率的下拉式菜单来选择921600,因为921600是非标准的。要想让串口的波特率一开始就设置为921600,只能把选择波特率的下拉式菜单的属性中将初始值设为921600。注意通信波特率的设置必须用Windows底层函数来定义,否则会出现“无效的属性”提示,就是提示961200是不标准的。 

 

由于软件运行时默认打开COM1串口,而默认波特率又是921600,那么当COM1串口是普通串口(比如波特率最高115200,达不到921600)而不是最高921600的超高速串口时,会提示“无法打开串口”。这并不意味着COM1串口不存在,只是说明COM1不支持921600。这时按“确定”后,将COM1改选为USB232GH2的COM口即可正确运行!

本文介绍的通信方法也适合于其它非标的超高波特率,比如460800bps,230400bps。一般来讲,可以支持921600bps的USB串口转换器一定也支持460800bps和230400bps。支持460800bps和230400bps的串口通信软件与以上介绍的支持921600bps的程序编写方法是一样的,就是:要想让串口的波特率一开始就设置为460800(或230400),只能把选择波特率的下拉式菜单的属性中将初始值设为460800(或230400)。

顶一下
(0)
0%
踩一下
(0)
0%
打 印】【顶 部】【关 闭】【挑 错
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
版权与免责声明:
①凡本网注明"来源:电气自动化技术网"的所有作品,版权均属于电气自动化技术网,转载请必须注明出处“电气自动化技术网http://www.dqjsw.com.cn”。违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
>> 相关文章
栏目导航:互感器 | 智能电网 | 无功补偿 | 电容器 | 变压器 | 电源 | 避雷器 | 电抗器 | opc | 三菱PLC | 西门子PLC | 欧姆龙PLC | PLC视频教程 | 电工基础知识
© www.dqjsw.com.cn 2008-2013 版权所有 ICP网站备案:渝ICP备11003104号