根据TCPIP的浮标网络通信系统设计策略

根据TCPIP的浮标网络通信系统设计策略,第1张

根据TCP/IP的浮标网络通信系统设计策略

  水声信道匹配基础研究是建立在水声学、海洋物理声学以及现代信号处理技术基础上的新兴研究领域。为满足研究需要而构建的局部海域水声信道测量平台(图 1),能够实现环境信息和信道参量的系统采集和实时传递,对信道宽容匹配方法的可行性进行检验

  浮标系统以它的灵活、高效、自身干扰小等特点,在水声信道研究中发挥着其它设备不可替代的作用。现有的浮标系统大多采用直接序列扩频电台直接进行水面通讯,这种方式往往不使用网络协议或使用自定义的网络协议。而采用无线网桥进行水面通讯,以TCP/IP作为网络协议,将大大增强浮标系统网络化。同时由于TCP/IP协议是目前最为成熟的网络协议之一,浮标网络的稳定性、可扩展性都得以提高,甚至通过互联网直接控制浮标系统也成为可能。因此,本文基于TCP/IP网络协议设计并实现了浮标网络通信系统。

  1、浮标网络通讯系统设计

  1.1 基于TCP/IP网络协议的浮标通讯系统

  水声信道匹配基础研究所使用的浮标具有水下传感器单元、信号处理单元及水面通讯单元。其中水面通讯单元负责浮标与岸基控制站、测量船及其它浮标的信息交换,要求具备网络通讯功能。

根据TCPIP的浮标网络通信系统设计策略,第2张


  浮标网络通讯系统由无线网桥、TCP/IP协议控制单元及微控制器(MCU)组成,如图 2所示。无线网桥采用较为成熟网桥产品,如BreezeNET无线网桥,其功能是通过无线网路传输TCP/IP数据包。MCU负责对TCP/IP协议栈的进行设置,并写入待发数据及读出接收数据。

根据TCPIP的浮标网络通信系统设计策略,第3张


  TCP/IP协议栈的实现是浮标网络通讯系统的核心部分。其实现方式可以采用软件实现,但该方法一般要求处理速度较高的MCU,而且占用大量代码空间,同时编程需要对整个TCP/IP 协议的机制和细节十分熟悉,开发难度大。而硬件实现方式则把MCU从繁重的网络协议运行工作中解放出来,从而提高了系统效率。

  数据或指令由无线网桥发送或接收。它通过RJ45接口变压器与10Base-T通用以太网接口控制器RTL8201相连。RTL8201通过MII标准接口与W3100A交换数据。RTL8201从W3100A处接收以太帧,然后进行曼彻斯特编码,发送以太网帧时,先在帧前端加上帧起始标志。当*到网络中有以太网帧存在时,RTL8201接收模块首先用锁相环电路实现与物理信号同步,然后对物理信号采样接收并送给曼彻斯特解码功能块,最后得到W3100A能识别的归“0”码(已把帧前导码分离),并将其通过MII接口送入网络接口层模块。发送数据时,数据由MCU数据接口写入W3100A的发送缓冲区,通过控制各个协议层的相关控制寄存器,数据在TCP层中添加上各个控制标志等,封装成为TCP段,实现面向连接的可靠传输;TCP段接着交给IP层进行打包,IP层的一个重要功能是实现对TCP段的分片,以达到IP数据报能够最大效率利用以太网帧的数据区的目的。完整的IP数据报继续传给网络接口层,LLC子层使用物理层提供的不可靠的比特链路,实现可靠的分组传输服务,MAC子层为数据分组添加目的节点的物理地址,MAC实现不可靠的分组传输。经过网络接口层后,最终封装成帧格式,然后再经过MII接口送入RTL8201,在RTL8201里进行曼彻斯特编码并添加前导信号等。当RTL8201*到物理链路空闲时,立即通过RJ45接口把数据帧发送到以太网上。接收数据时则进行相反的 *** 作,收发器接收以太网上的物理信号把前导码分离出来并进行曼彻斯特解码,把结果传送给网络接口层,网络接口层MAC子层检查帧的物理目的地址是否与自己的相同,以决定是否交给LLC子层,LLC用差错检测位判断分组是否正确。正确的分组被送入IP层,在IP层中检测错误、拆封并进行分片重组后送给TCP层,TCP层实现面向连接的可靠传输,所以TCP层将进行严格的差错控制,再从TCP段中取出数据,然后通过数据接口传送回MCU。物理帧经过各个协议层进行解包,最终把数据传回MCU,但在各层解包时如果IP地址或数据出错等,数据包将被丢弃,并要求重传。如果处理的报文是ICMP、UDP 或ARP等时,其大致流程是一样的,不同报文的区别会在相应的包头指示出来,供协议识别。

  1.2 TCP/IP协议栈W3100A简介


根据TCPIP的浮标网络通信系统设计策略,第4张


  2、电路设计

  该系统的主要电路由微控制器MSP430F169、网络协议栈W3100A、以太网接口控制器RTL8201及网络接口构成。W3100A与MSP430F169的连接可采用I2C接口模式或直接总线模式。采用I2C接口模式的优点是电路简洁,占用端口资源少。但I2C接口的传输速度会受到一定限制,所以当要求更高传输速度时,可采用直接总线接口方式,如图 4所示。W3100A提供MII接口与RTL8201相连,其中引脚RX_CLK、RXDV、RXD[0:3]以及COL用于数据的接收,而TX_CLK、TXE、TXD[0:3]用于数据的发送。

根据TCPIP的浮标网络通信系统设计策略,第5张


  在接口的实现中,以太网变压器是不可缺少的。在差分发送引脚(TX+/TX-)上,需要一个专用于10BASE-T *** 作的脉冲变压器,将要发送的数据发送到网络上。网络传来的数据也经过变压器,由差分接收引脚(RX+/RX-)接收。以太网变压器的作用主要是将外部线路与RTL8201隔开,防止干扰和烧坏元器件,实现带电的插拔功能。本设计采用了PULES的J0011型变压器,其内部结构如图 5所示。该变压器集成了RJ-45接头,在简化了连线的同时也提高了高频信号传输的可靠性。

根据TCPIP的浮标网络通信系统设计策略,第6张



  同时在设计复位电路时应注意,由于W3100A的复位引脚为高电平有效,而MSP430F169和RTL8021的复位引脚为低电平有效,所以在设计复位电路时要求同时产生高、低两路复位信号,如图 6所示。

根据TCPIP的浮标网络通信系统设计策略,第7张


  3、软件设计

  3.1 MSP430总线读写

  W3100A有专门的微控制器接口与MCU相连,其总线 *** 作类似于MCU对外部存储器的读写。但MSP430微控制器没有专门的外部扩展总线接口,所以这里采用通用端口模拟外部扩展总线端口。对于W3100A的访问要依照其读写时序进行 *** 作,如图 7、图 8所示,可将读写程序作为函数在主程序中调用。

根据TCPIP的浮标网络通信系统设计策略,第8张


  下面列举了部分读总线程序:

根据TCPIP的浮标网络通信系统设计策略,第9张


  写总线过程与读总线类似,不同的是将P4端口设为输出状态,并 *** 作写有效(/WE)。要注意的是/WE恢复到高电平时的上升沿触发数据写入。

  3.2 网络传输控制

  通过Wiznet公司为W3100A专门提供的Socket API函数,可使网络通讯的软件设计更加方便。首先初始化W3100A的网络设置,即在相应的寄存器中设置默认网关、子网掩码、本机物理地址和IP地址,然后建立Socket连接以实现通讯。整个过程与Windows Socket编程十分类似。

根据TCPIP的浮标网络通信系统设计策略,第10张


  建立TCP连接的流程如图 9所示。首先完成芯片的TCP/IP初始化,设置相应通道如0通道的协议选择寄存器C0_SPOR为0X01;选择TCP协议,执行通道0命令寄存器C0_CR中的sock_init命令位, 同时将C0_TW_PR、C0_TR_PR及C0_TA_PR置成同一值;然后执行C0_CR的connect和listen命令位,此时TCP连接就建立起来。

  W3100A内部的16KB的双口RAM作为数据发送和接收缓冲。其中0x4000~0x5FFF的地址空间是发送数据缓冲区,0x6000~0x7FFF的地址空间是接收数据缓冲区。MCU程序将要发送的数据写入发送缓冲区,并从接收缓冲区读出收到的数据。当成批的数据发送时,一定要先查询1次发送数据指针,从而计算出可以利用的发送缓冲区的大小。图 10示意了TCP数据发送的程序流程。数据接收的过程与发送过程类似,在此不再赘述。

根据TCPIP的浮标网络通信系统设计策略,第11张


  4、测试及分析

  功能测试的关键在于对系统的可用性及稳定性进行实验。为此,建立了一个简化通讯网络,采用PC机作为通讯网络的一个终端,浮标作为另一终端。通过测试两者间的通讯情况来实验本系统功能。

  首先,测试网络连接情况。作为必要的IP实验,由PC机将PING命令发送给浮标,PC机显示结果如图 11所示。

根据TCPIP的浮标网络通信系统设计策略,第12张


  在局域网畅通的情况下,理论上0字节的PING请求平均响应时间为1ms,实验结果验证了网络连接的正常。

  通过大量转发数据的方法测试系统稳定性。由PC机发送数据至浮标,浮标将数据直接转发回PC机,PC机比较发出数据与接收数据,以判断误码情况。室温条件下,通讯距离100米,进行三组各持续10小时的收发实验,无丢包现象,误码率<10-9,符合设计要求。要指出的是,由于海况及通讯距离的不同,系统的传输误码率将有所不同,但在多数情况下该系统作为指令收发的通道是完全可靠的。

  5、结论

  TCP/IP协议在浮标系统中的应用极大的增强了浮标网络的稳定性及可扩展性。本设计采用MSP430微控制器及网络协议栈W3100A很好地实现了浮标系统的低功耗网络通讯系统,为水声信道匹配基础研究提供了理想的网络通讯保障。同时本设计也可以嵌入到其它设备中,如野外测量仪器、车载系统等,为更多的嵌入式系统提供网络化服务,具有非常广阔的应有前景。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2614161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-10
下一篇 2022-08-10

发表评论

登录后才能评论

评论列表(0条)

保存