最新技术文档
当前位置:首 页>> 技术支持>> 技术文档 [阅读]

利用Modem自动应答实现远程串口通讯

   随着一些智能化仪表及控制设置在生产和生活中的普遍应用,使得控制和测试的准确度有了进一步的提高。而这些仪表或控制系统通常还提供另一种功能——数字通讯,通过数字通讯接口可以使之与计算机或其它设置实现数据共享,从而实现更高层次的数据分析及综合控制。

   这此仪表通常提供一种或多种通讯接口,其中比较常见的通讯接口有:RS-232(串口)、RS-485、RS-422、HART、乙太网接口等。RS-232接口由于具有电器特性简单、实现成本较低的特点,而为大多数设备所支持。使用计算机直接与串口设备通讯实现过程比较简单,只需按着相关指命或协议建立应答关系即可。在这里我要介绍的是一种串口通讯的扩展方式——利用Modem自动应答实现远程串口通讯。

   在实现应用中,我们经常会遇到数据使用者(计算机、其它具有通讯功能的智能通讯设备)与智能仪表或控制设备之间的距离较远(超出了RS-232直接通讯距离),这时我们就要根据通讯距离及环境条件对通讯进行扩展。在距离不太远(不超过RS-485或RS-422通讯距离)时,我们可以通过在两端增加RS-485/RS-422转换器,并铺设通讯电线即可。对于通讯距离更远且通讯的两端都具有可互通的电话网的环境(没有其它网络环境)时,使用Modem对通讯距离进行扩展,不失为一种比好的方法。

   使用Modem对通讯距离进行扩展时,在数据请示端和远程应答端都要安装一个Modem,并将它们连接到本地的电话网上。另外,我们需通过AT命令对Modem进行初始化,使通讯网络具有自动恢复能力。下面介绍一下两端的配置方法及接线方法。

   数据请求端

   对于数据请求端无论是计算机还是智能设置,它都应该具有发AT命令(ATDTxxxxxxx)功能,实现拨号连网。并且最好能够通过硬件和软件逻辑对线路状态进行监视,线路状态发生变化时可以重新拨号,从而可以保证故障排除后能够自动恢复通讯。

   数据请求端的Modem参数通常使用出厂配置即可。如果Modem的参数已经修改过,我们可以通过AT命令AT&F0将参数恢复到出厂配置,然后执行AT&W命令将参数保存。

   另一个要解决的问题就是数据请求关于Modem与数据请求设备的接线方法在后面会统一说明。

   远程应答端

   远程应答端是指与智能仪表或控制设备相连接那端。由于智能仪表或控制设备通常只能对协议范围内的指命进行响应,而不能对拨号请求进行应答处理,因此我们选择一个具有自动应答功能Modem。另外由于智能仪表或控制设备只能工作在特定的通讯频率下(如通讯波特率为9600),因此选择的Modem也要具有通讯频率限定功能。自动应答和通讯频率限制功能通常是可选的,要通过修改Modem参数才能实现,它们的设置过程如下所示:

   自动应答设置

   对于Modem参数的修改方法常用的是:先将Modem连接到一个PC机上,然后再通过Windows的超级终端程序使用AT命令对参数进行修改。

   通过超级终端连接到Modem后,先执行AT命令ATS0=1,然后再执行AT&W命令即可将Modem设置为自动应答模式。

   Modem COM端口通讯频率设置

   Modem的COM端口通讯频率设置过程相对比较复杂,不同的Modem设置命令也各不相同。这里只以两种常见的芯片为例作简单说明,其它类型Modem可以参考相关手册或者说明文档。

  • Rockwell Modem(V.90非HCF)

   此类型Modem的COM端口的通讯频率通常是自动选择的,我们只需将自动选择模式设置非自动选择模式,通讯频率即被限定为当前使用的通讯频率上。具体设置过程如下所述:

   启动超级终端,将超级终端打开的COM端口(此COM端口与Modem相连)的属性设置为我们需要的通讯频率,然后呼叫Modem。连接建立后,先执行AT命令‘AT+MS=12,0’,然后再执行AT&W命令即可。

  • TOPIC Modem(V3.4)

   此类型与Rockwell Modem不同,它对通讯频率限定是通过AT*I<n>命令的子参数n来决定的。n是一个整型通讯波特率标识,对应表如下所示:

0 - 1200 bps

1 - 2400 bps

2 - 4800 bps

3 - 7200 bps

4 - 9600 bps

5 - 12000bps

6 - 14400bps

7 - 16800bps

8 - 19200bps

9 - 21600bps

10 - 24000bps

11 - 26400bps

12 - 28800bps

13 - 31200bps

14 - 33600bps

19 - 31200bps

20 - 33600bps

 

 

 

   下面以通讯波特率为9600为例说明一下设置过程。通过超级终端连接到Modem后,先执行AT命令AT*I4(9600对应的标识为4),然后执行AT&W命令即可。

   COM端口接线

   串口设备之间的连线方式要根据设备类型来决定。串口设备可分为:DTE数据终端设置(如:计算机)和DCE数据通讯设备两种。对于没有注明是DTE还是DCT的设备,可以通过测试TD 、RTS、 DTR与SG之间的电压来确定。通常DTE设备在TD、RTS、DTR上提供电压,而DCE设备在RD、DSR、CD上提供电压。下面三个表格列出了三种常用的接线方法。在实现应用中在有可能的情况下,我们最好先阅读一下由设备厂家提供的使用手册和相关文档,根据文档中的要求制定接线方法

   以上是对通过Modem实现扩展串口距离方法的简单介绍,其中实现的关键之处在于自动应答和通讯频率的设置。希望此文档对大家会有所帮助,但也要强调一点,在实际应用中首先要以设备厂商提供的相关资料为基础。