无线模块的透明通信方式与有线连接的比较
发表时间:2020-04-15
1、硬件连接
如果用TX表示在设备的端口上数据发送(数据离开功能块)的端子,用RX表示在设备的端口上数据接收(数据进入功能块)的端子,则设备A与设备B之间的串口连接如下图1所示。
如果将串口连线也看成一个两端口的设备并把这两个端口的端子做标注,则两设备通过绿框内的连线进行串口通讯的连接如下图2所示:
如果用无线数传模块替代串口连接线,则设备A与设备B之间的通信连接如下图3所示。
对比图2与图3可以看出如果将两个无线模块组成的无线信道也看成是一个两端口的设备,则对设备A与设备B而言,串口通讯时有线连接与无线连接的端子对应关系是一样的。
2、与有线连接的不同点
用无线信道替代有线连接后的通信程序与有线连接下的通信程序的编制基本相同,不同点只有如下三点。在注意以下三点的基础上使用无线数传模块时我们可以把两个无线模块组成的系统看做是一段连线。 不同点1:
有线连接的通讯程序中串口帧格式、串口速率可任意设置。连接线本身对上述两个参数无任何限制。
数传模块的串口帧格式、串口速率为一固定值,串口帧格式可设置成(1,8,1)或(1,9,1)。串口速率为固定的如F49P的速率是9600bit/s、D21DM模块的速率是1200 bit/s。使用无线模块的通信程序在这两个参数上应与模块一致。
不同点2:如果是设备A发出数据,设备B接收数据。有线连接时发端发出数据的时刻与收端收到数据的时刻无时间间隔。示意图如下:
因为无线模块在发送数据时要进行收发转换及时钟同步,无线通信时设备A发出数据的时刻与设备收到数据的时刻有时间间隔。这个时间间隔就叫延时时间记为T。如F49P的T为8ms,D21DM的T为138ms。示意图如下所示:
若用户的通信程序是自己编制的并且程序中有等待判断是否超时的程序操作,请在上述程序中将延时时间计算在内。例如下图A、B两点间需进行通信,通信的过程如下:A向B发三字节命令,B收到命令后向A发三字节应答数据,若A发命令后在TS时间内没有收到B发的应答数据则A显示通信故障信息。通信过程框图见下图。现以F49P模块为例量化一下以上概念。已知B处理命令的时间为1ms、三字节数据通信时间为3.2ms数据延时时间为8ms。求TS。
TS应大于等于:20.2 ms =8 ms(A发后B收到的延时)+1ms(B处理命令的时间)+8 ms(B发后A收到的延时)+3.2ms(三字节数据通信时间)+2 ms(时间的余量)
若用户使用的上位机是有固定通信程序的设备,则要看通信程序中等待时间的余量是否超过T=16ms。若超过则不用更改通信程序。若不超过则要更改通信程序使等待时间的余量超过T=16ms。绝大多数的有固定通信程序的设备的等待时间的余量都超过T=16ms。
不同点3:有线连接时串口通信是全双工的
无线模块的通信是半双工的。既无线模块发射数据时模块不能接收数据,接收数据时模块不能发射数据。因此在通信编程时应将收发的时间错开。
一般问答式的通信程序收发的时间均是错开的。
3、点对多点连接
通常自动化控制系统采用点对多点的通信方式,在点对多点的通信方式中若用有线连接所有从设备连接在通信总线上。连接示意图如下:
若用无线数传模块替代有线连接示意图如下,所有从设备与主设备的连接关系与有线连接一样均为总线连接关系。
4、编程要点
使用模块串口与使用有线连接相比应注意以下几点:
- 串口帧格式要与无线模块设置一致
- b口速率要与无线模块设置一致
- 点多点通信时,主设备与从设备之间的连接关系为总线连接关系
- 数据传输有一定延时