DTU在数据传输中有三种工作模式:透传长连接模式,透传短连接模式和命令模式,其各有各自的特点及应用领域。下面我们说下DTU在透传下长连接的应用及特点。
应用场合:透传模式下适用于远程数据协议的调试。DTU工作于透传模式时,通过这个端口,远程客户端就接管了设备,此时客户端就成了虚拟的下位机,所有的收发数据都在客户端上完成,真正的端口将不起作用;
下面列举在水情自动测报系统中DTU透传长连接的应用。
各个水文遥测站采集系统所需要的数据,通过数据转换和数据打包后送到GPRS模块,GPRS模块根据实现定义的APN连接方式将打包好的数据增加部分冗余码和校验码并转换成适合在无线链路上传送的网络数据包信号。移动公司局端的专用APN收到信号后透明传递到水情分中心。
同样,由于是透明传递,水情分中心可以将命令、对远端遥测站的设置参数等透传到遥测站点,从而实现数据远程读取和遥测站工作参数的远程设置。

DTU进入透传模式后,既可以作为客户端模式也可作为服务端模式。工作在透传模式下的DTU将自动完成串口到网络通信的转换,所有数据可透明的在上位机软件与下位机之间双向传输。
透传模式的建立首先要用AT+I命令定义所有相关的参数,然后再用一特殊AT+I!SNMD命令进入透传模式长连接状态。
DTU一旦进入透传模式,将不再接收任何AT+I命令,通过与主机串口的连接,DTU专注于处理下位机串口的数据,DTU不对数据做任何处理(即透明传输)。在这种模式下,需要特殊说明的是自动波特率不起作用,在进入透传模式之前,固定波特率必须设置,即BDRM不能设置成自动波特率。
通过串口连续输入3个“+”号,间隔在半秒以内输入,DTU将退出透传模式进入命令模式,此时DTU切换到命令模式并可再次响应AT+I命令。
1.透传模式的配置与创建
针对透传模式,通过设置SNSI参数,串口参数配置如下:
波特率:1200(2),2400(3),4800(4),9600(5),19200(6),38400(7),57600(8)或115200(9),单位bit/秒,数据位:7或8校验位:无(N),偶校验(E),奇校验(O)停止位:1或2流控:无(0)或硬件(1)
通过如下命令,DTU将强制进入透传模式:
AT+I!SNMD(“!”代表自动重连),如果这个参数被设置,DTU将回复“I/OK”,后面跟着“I/DONE”。当这个命令被执行后,如果DTU登录GPRS网络成功,它将关闭所有打开的socket连接,并断开与ISP的连接,进入重新启动阶段。当DTU重启后工作在透传模式时,它将设置串口为固定波特率,同时串口参数的设置根据SNSI参数中定义而定。
设备从串口接收到由DSTR设置的字符串“!”是特殊的标志,DTU根据这个标志,一旦响应AT+I!SNMD命令,它将立即上线。在通信过程中,假如网络出现异常导致设备下线(从GPRS/CDMA网络中退出),此时设备会自动拨号再次建立PPP连接,同时与数据中心再次建立TCP连接,在这种情况下,DTU不将下线,即使透传模式下 的socket被关闭DTU仍将保持在线。只能通过输入“+++”可退出透传模式进入命令模式,退出后BDRF设置的波特率是命令模式下控制DTU的波特率。
2.断线重连
这里的断线重连机制包含两部分,一个是DTU拨号与移动/联通建立PPP连接的重新建立过程,一旦DTU在接入GPRS/CDMA网络出现异常,此时DTU将自动检测网络,重新拨号上线;另一个是DTU上线后,DTU与数据中心建立的TCP连接的重连过程,在无线网络通信环境里,网络连接的断线是不可避免的,因此在DTU内部设置自动重连机制,一旦网络通信链路断开(即TCP连接断开),DTU自动重新建立与数据中心的TCP连接。断线重连涉及到如下参数的设置SNRD、RTO、RDL、IATO。
3.数据包传输
DTU可将接收到的数据缓存起来,打包然后通过网络传输到远端系统。DTU在发送数据时,有如下3种触发条件,当遇到下列条件之一时数据将被打包发送。
a) 从串口接收到相应字节的数据后,数据将被发送,参数由MCBF设置;
b) 当遇到特定字符时,发送数据,参数由FCHR设置;
c) 发送数据间隔时间超时时,发送数据,即每隔这个间隔时间后,设备就发送数据,参数由MTTF设置。
上诉3个条件只要有一个条件成立,数据就会被发送,这些参数也可通过AT+I命令设置。
当为UDP传输时,数据包的大小是根据一次性写入串口数据包的大小有关。当为TCP通信时,数据包在传输之前要被合并。
4.结束透传任务
结束透传任务可通过如下方式:
a) 通过串口向DTU传输断开连接的字符串,这个字符串在DSTR参数中设置,针对短连接有效,如果是长连接,此时DTU根据SNRD参数设置的时间间隔重新与数据中心建立TCP的连接。
b) 等待非激活时间超时,超时时间在IATO参数中设置,在这个时间范围内假如没有数据传输,DTU将断开此连接。
c) 输入“+++”,将结束透传任务并从透传模式退出进入命令模式。
上诉三个条件中只要有一个条件成立,DTU将离线,透传任务将被结束,此时DTU处于等待重新建立连接的触发条件的产生。
5.应用场合及特点
应用场合:
1) 下位机是一个简单的不具备IP通信能力的串口设备(RS232/422/485/TTL电平可选),通过串口与上位机实现通信;
2) 上位机软件通过IP通信或通过串口通信,上位机通过串口通信时,在上位机环境中需增加虚拟串口软件;
3) 数据中心服务器要具有一个互联网上真实的IP地址,这个地址可以是固定的也可以是不固定的,中心IP不固定的情况下,在实际应用环境中,中心服务器还需增加一个动态域名客户端软件,或者数据中心服务器具有移动或联通内网的IP地址,此时中心需与移动或联通通过专线建立连接;
4) DTU参数的设置
基本参数设置:
a. AT+IISP1=*99***1#或AT+IISP1=#777,接入网络的特服号,通过特服号可分别接入GPRS或CDMA网络;
b. AT+IUSRN=WAP或AT+IUSRN=CARD,接入网络的用户名;
c. AT+IPWD=WAP或AT+IPWD=CARD,接入网络的密码;
d. AT+IMIS=“AT+CGDCONT=1,IP,****”或AT+IMIS=“AT&D2”,接入点名称。接入GPRS网络时,如果接入internet,此参数的****部分设置为cmnet,如果接入APN专网,则****部分设置为移动分配的特殊连接点名称,同时用户名和密码也有移动分配;接入CDMA网络时,接入点名称固定不变,如果接入INTERNET,则用户名和密码都是CARD,如果接入VPDN网络,联通会给这张卡分配一个特定的用户名和密码,根据用户名和密码的认证就可进入不同的网络;
e. AT+IHSRV=<IP< SPAN>或域名>:端口号,此时DTU作为客户端使用,该参数设置了远端服务器的IP地址和监听端口号,通过这两个参数,DTU就可以与远端服务器建立连接,实现数据通信,IP地址部分也可以为域名,此时在服务中心需增加动态域名客户端软件。
f. AT+I!SNMD(!:标志自动重连),IATO参数设置了超时时间,超过这个时间没有数据传输时,TCP和PPP(即接入GPRS/CDMA网络的连接)连接同时断开;超过IATO参数设置的超时时间没有数据传输时,此时仅断开TCP连接,然后根据SNRD参数设置的时间间隔重新与中心建立连接;
波特率的设置:
AT+ISNSI=串口参数的设置,该参数设置了DTU在透传模式下与主机串口的属性设置,包含波特率、起始位、数据位、停止位、校验位、流控,该参数只在透传模式有效。