论文部分内容阅读
随着计算机网络、通信和控制技术的发展,以太网技术在工业控制中的应用成为当前控制领域的研究热点。在雷达系统中,以太网的实时应用也成为影响其工作性能的至关重要的一环。在雷达的数据传输和处理过程中都有较高的实时确定性要求。而以太网自身存在的通信延迟不确定性是其在工业控制领域更好发挥其作用的主要技术障碍。
本文在既有的主控机和分控机数据传输的基础上,在不添加硬件和不改变协议栈的情况下,利用纯软件的方法采用时间触发的方式来提高现有以太网的数据传输效率。本文研究了IEEE1588精确时钟同步协议的工作原理,深入分析了影响时钟同步精度的因素。在VxWorks系统中,通过运用CPU内部高精度时间戳计时来提高时钟精度。采用在网卡中断处理程序中记录时间戳的方法减少网络协议栈带来的抖动,从而提高时间戳的准确度。针对实际情况对IEEE1588协议进行了调整与优化,采用应答式连续同步模型和快速同步模型以及综合模型进行同步,并且将时钟校正过程放在了链路层来实现,减少穿越协议栈带来的抖动,从而可以获得更高的精度。经测试结果显示,同步精度可达到微秒级甚至亚微秒级。
本文仔细研究了VxWorks内核的网络协议栈和其网卡驱动的实现。在精确时钟同步的基础上,通过利用VxWorks系统的MUX层实现了一个实时调度层,使各主机可以分时复用地使用以太网,从而避免了以太网中由冲突引起的传输不确定性,提高了网络的传输效率和利用率。并利用MUX层开发自有的实时协议,绕过网络协议栈进行数据的接收和发送。实时调度层中根据数据包的种类(同步消息、周期性消息,非周期性消息)划分不同的优先级队列,在节点活动区间按数据包的优先级进行发送。
组建了测试平台,使用上、下位机的方式测定了时钟同步精度、网络传输延迟等参数。并在测试机上采用网络封包分析软件进行抓包分析,验证了网络传输数据包的有序性、分时复用和确定性调度。