USB串口的超高速通信
要实现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),在Windows7下,桌面à我的电脑属性à硬件à设备管理器à端口à通信端口(找到USB232GH2的COM口)属性à端口设置à高级àPortSettings,用户就可以看到所支持的全部波特率了。如果其中有921600,就说明可以支持921.6Kbps波特率。注意即使有显示921600,也并不意味着该USB-串口转换器就一定支持到921600。因为这还与具体USB-串口转换器的接口硬件性能相关。这个就必须参考产品的说明书的指标。只有经过921600bps波特率检测通过的、且厂家的说明书确认的产品才可以。另外一般来讲,产品支持RS-485和RS-422的最高波特率要比支持RS-232的最高波特率要高。
2、如何实现USB-串口转换器的921.6Kbps波特率通信
921600bps是比较少使用的波特率,可以说目前的常用串口通信软件几乎都不支持921600bps。一般最高到115200,少数到230400bps。由于Windowsapi实现的最高也就支持256Kbps,所以要实现921600bps串口通信就必须使用更加底层的编程。
以VisualBasic语言为例,无法使用选择波特率的下拉式菜单来选择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)。
USB串口超高速通 相关文章:
- 采用USB232GH2转换器实现USB串口的超高速通信(12-13)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)