Real-time data exchange of beam steering system for phased array antenna
-
摘要: 波束控制系统是高功率相控阵天线的神经中枢,负责天线阵面中所有单元相位的精确控制和状态监测任务。为实现天线阵面的快速、精确波束转换,采用分布式拓扑结构和嵌入式实时操作系统,设计了两级分布式波束控制方案,开发了基于VxWorks的相控阵天线主控系统。通过UDP协议实现主控系统与其他系统的多节点网络通讯;针对高速、实时通讯需求,利用VxWorks多任务编程接口,设计了一种基于双缓冲队列的Socket通讯方法;为使通讯被各方正确解析,制定了自定义的应用层协议。基于VxWorks的相控阵天线主控系统的开发应用,验证了方案的可行性以及控制软件的可靠性和稳定性。Abstract: Beam steering system serves as the nerve center of high power phased array antenna, and it is responsible for the precise phase control and status monitoring of all element in antenna array. To achieve fast and accurate beam steering conversion, two level distributed beam steering scheme is designed using distributed topology and embedded real-time operating system VxWorks, and beam steering host system of phased array antenna based on VxWorks is developed. Multi-node network communication between beam steering host system and other systems is achieved via UDP protocol, and VxWorks multitask programming interface is utilized to design a Socket communication method based on the buffering queue to meet the high-speed and real-time communication demands, and a custom application layer protocol is designed for parties to accurately interpret communications. Feasibility of the scheme and reliability and stability of the control software have been verified through developing and applying the phased array antenna beam steering host system based on VxWorks.
-
近年来,高功率微波技术得到长足的发展,高功率微波阵列天线是高功率微波技术实验和应用的一个重要方向[1-2]。波束控制系统是相控阵天线的神经中枢,担负着天线波束的扫描与控制任务。随着相控阵技术发展,波束控制系统已经慢慢地从单一的波束扫描控制到复杂的天线阵面控制发展过渡,并且随着系统的复杂度和相位控制技术多样性的增加,波束控制系统慢慢呈现出多元化的态势。这对波束控制系统提出了越来越高的要求[3-4],主要功能包括:高速解算功能,实现灵活多变的波束扫描;高速数据传输接口及高精度同步功能;补偿功能,实现参数在线读写和快速加载;实现对阵面温度、相位等状态监测功能等等。这些任务都是相对独立的,且不需要串行完成的,而且任务也有优先级之分,优先级高的任务需要及时响应,而其他的一些任务可以延后一些完成。这就要求控制系统必须具备实时处理多任务的能力。整个相控阵天线都要在系统软件的统一管理指挥下运行。VxWorks嵌入式实时操作系统,以其良好的可靠性和卓越的实时性被广泛应用于通信、军事、航空航天等高精尖技术及实时性要求极高的领域中[5-8]。同时,VxWorks提供了强大的网络功能,它的网络模块完全兼容BSD4.4网络协议栈。本文采用分布式拓扑结构和嵌入式实时操作系统,设计了两级分布式波束控制方案,开发了基于VxWorks的相控阵天线主控系统。针对主控系统与其他系统的多节点网络通讯需求,利用用户数据报协议(UDP)和VxWorks多任务编程接口,设计了一种基于双缓冲队列的Socket通讯方法,并制定了自定义的应用层协议。
1. 分布式波束控制系统
1.1 波束控制系统结构
所研究的相控阵天线波束控制系统采用两级分布式拓扑结构,由主控子系统、n个子阵级的分控子系统构成,如图 1所示。这里的主控子系统负责对相控阵天线工作进行调度和控制,包括接收指控系统的命令,实现对天线工作参数到天线阵面和其他系统的传输以及对天线阵面状态的监测等。分控子系统位于天线阵面的各个子阵上,负责该子阵上所有单元天线的相位计算,并控制各单元相位的到位。每个子阵的相位计算及控制逻辑都相同,设计工作量不会随着天线阵面的增大而增加。
图 1中,系统由上到下的通讯介质分别为以太网和控制器局域网络(CAN)总线。以太网通讯标准统一、快速和开放性好,用于指控系统与主控子系统之间,易于系统扩展。CAN总线以其较高的通讯速率和实时可靠的通讯性能,便于完成现场实时控制所需的数据传输。作为一个统一的控制系统,要求从上到下的协调通讯,以保证底层的现场数据信息能及时传送到上层,上层的控制信息能可靠实时传送到底层以实现现场控制,保证系统可靠运行。
1.2 主控系统软硬件体系结构
阵列天线主控子系统的硬件结构框图如图 2所示,由主控计算机、监控计算机,以及时码卡、RS485卡、CAN卡、数字I/O卡、定时器卡等外设接口组成。主控计算机是整个控制系统的调度和控制中心,能够完成网络通讯、波束指向解算、波束指向下传、同步控制、状态监测,以及电源控制等功能。监控计算机主要完成参数设置、界面显示以及人机交互等功能。主控计算机是基于Intel Pentium平台开发的,采用嵌入式结构设计,是一款具有低功耗,易于维护、扩展、升级的多功能控制器,配合Wind River公司的VxWorks实时操作系统使阵列天线的主控子系统更具优势,如将大大提升可扩展性和降低系统复杂度。阵列天线主控计算机即采用VxWorks实现,通过Intel Pentium计算机进行搭载,其优势体现在三个方面。
(1) 多任务调度。阵列天线主控计算机的系统任务分为四大类:网络通讯任务、波束指向解算任务、波束指向下传任务和状态监控任务,其功能由多个子任务分担完成,如图 3所示。采用VxWorks支持基于优先级的抢占式调度方式,同时支持同优先级任务间的分时间片调度方式,保证了四大任务间的实时切换,实现近乎并行工作的实际效果。这样既可避免单任务延迟导致的系统故障,又能保证整个系统的高效运转。
(2) 强实时性。VxWorks在Intel Pentium平台下支持最高2.26 GHz主频,使任务切换时间、中断响应时间可降至几μs量级,再加上VxWorks本身对系统响应时间的确定性保证,使其在处理外部事件和任务调度的过程中速度较其他系统大大提升。
(3) 可靠性。VxWorks采用分布式消息队列和异常事件处理等机制,支持系统的冗余设计和容错设计,具有异常自动重启功能,保证了控制软件设计的可靠性和稳定性。
主控计算机内部集成了一个高性能10/100 Mbps以太网媒体访问控制器(MAC),与支持媒体独立接口(MII)的外置PHY IC相连接,可在半双工或全双工模式下提供10/100 Mbps的网络接入,实现主控计算机同时与指控系统、监控计算机等多台设备的网络通讯。本文接下来将详细讨论VxWorks下的多节点网络通讯的设计及其实现方法。
2. VxWorks下的多节点网络通信
2.1 多节点网络通信模式
VxWorks提供了强大的网络功能,网络协议栈兼容BSD4.4标准,提供Socket编程接口,有流Socket(TCP协议)和数据报Socket(UDP协议)两种传输方式。TCP是面向连接的可靠传输方式,主要适合远程网络通讯;而UDP方式是无连接、不可靠的传输,但传输的效率高、实时性好,很适合局域网内的数据传输。由于波束控制系统的网络功能主要是处理实时采集的波束指向信息,实时性要求很高,利用UDP协议实现VxWorks与其他系统的多节点网络通讯。
基于UDP协议的通讯建立过程如下:
(1) 创建Socket。利用Socket()函数创建UDP套接字,返回一个套接字描述符,该描述符作为创建的Socket的唯一标识,供其他Socket接口函数和标准I/O函数使用。
(2) 配置Socket。调用bind()函数将本机的IP地址、端口号等信息捆绑到创建的套接字上。网络中的其他节点,同样也各自需要创建一个套接字并加以绑定。
(3) 数据发送/接收。调用sendto()和recvfrom()函数实现UDP报文的传输。为实现VxWorks与不同节点的报文传输,通过使用不同IP地址和不同Socket端口号的传输技术来确定相应的接收节点。
(4) 关闭Socket。当所有的数据传输结束后,应调用close()函数释放套接字。
2.2 基于缓冲队列的Socket通讯软件架构
VxWorks下使用Socket进行通信时,需要利用多任务的方法才能实现。通信软件运行的任务可分为两种:一种是循环运行的任务,包括信息接收任务、信息解释任务、信息执行任务和信息发送任务;另一种是只在特定情况下才会运行的任务,即根据需要发起的信息执行任务,如硬件定时中断请求任务。为了保证信息的不丢失,使用缓冲队列将所有信息缓存,然后再逐个读出并执行[9-11]。使用两个缓冲队列来分别接收发送过来的信息和即将发送出去的信息,多任务通讯软件架构如图 4所示。循环运行任务的软件流程为:信息接收任务从Socket端口接收命令,将其添加到接收缓冲队列中;信息解释任务从接收缓冲队列取出信息,根据具体情况发起特定的信息执行任务,或者将信息传送给已经被发起的特定任务,供其进一步执行使用;信息执行任务进行特定的软硬件操作,操作结束后将执行结果添加到发送缓冲队列中;信息发送任务从发送缓冲队列取出信息,通过Socket端口将其返回。
网络通信采用多任务方式实现,必须保证各任务工作的协调性。VxWorks提供了丰富灵活的任务间通信机制,包括信号量、消息队列、管道和共享内存等,这里采用计数型信号量用于协调任务之间及任务和中断之间的同步。为接收缓冲队列和发送缓冲队列各自创建一个计数型信号量,操作过程如图 5所示。对于接收缓冲队列信号量,信息接收任务调用semGive()将其加1,信息解释任务调用semTake()将其减1,信号量的值代表了队列中的信息数量,只有信息数量大于0时,semTake()才会返回,使信息解释任务有可能被执行。
为了保证控制软件的正常运行,需要提高硬件定时中断服务任务的优先级。对于用户任务所发送的信息可根据其紧急情况来选择是置于缓冲队列头部还是尾部。这种方式实现了VxWorks的FIFO调度和优先级调度两种基本的多任务调度方式在网络通信中的合理折衷,有效实现了系统对紧急任务优先响应的需求。
2.3 应用层通讯协议
为了规范VxWorks与其他系统的网络通信过程,必须对应用层协议进行定义,规定特定位置上字符的含义,以保证下传命令和上传信息能够得到正确接收和解释。通信协议中实际使用的基本帧格式如图 6所示,各字段的说明如下。
发送方地址字段包含16位,用于指示发送方的逻辑地址,这不同于实际发送的IP地址。接收方地址字段也包含16位,用于指示接收方的逻辑地址。
命令号字段包含16位,用于指示该UDP报文所需实现的功能,信息解释任务根据报文中的命令号调用不同的信息执行任务,然后进行相应的软硬件操作。
定义总长度字段是因为报文长度会根据所携带的数据包内容发生变化。报文总长度最小为12个字节,最大为1438个字节。该报文封装在UDP报文中,而UDP报文又封装在IP报文中。为了避免IP数据包在经过以太网数据帧发送时产生分片,将IP数据包长度限定在1500字节内。
标示符字段是一个8位域,它提供了UDP协议的信息类型。具体定义为:b0 = 0表示本报文需要确认,b0=1表示不需要确认;b1表示报文的紧急程度,默认值0表示普通,1表示紧急。
报文数据字段是一个变长域,其内容就是实际的有用数据,长度应为四倍的字节数,便于32位系统的信息处理用途。
3. 实验测试
在模拟测试的局域网中,有四台主机:一台为天线主控计算机,运行本文设计的VxWorks控制软件;另外三台主机模拟不同的指控计算机;它们均连接到高性能的交换机上。模拟结果表明,天线主控计算机能够正确接收三台指控计算机的命令,并根据不同命令作出相应的响应。设计的控制软件能实现VxWorks与多个节点的网络通信,验证了方案的可行性。
模拟指控计算机1分别以不延时、延时5 ms、延时10 ms的时间间隔向天线主控计算机发送命令,连续发送100 000帧,数据帧长度均为128 Bytes,测试结果总结于表 1中。由表 1可知,当两次发送任务之间没有延时时,丢包率较高;随着发送间隔的增大,丢包率得以降低。分析认为,丢包主要与这些因素有关:(1) UDP协议本身原因,UDP协议是一种不可靠的连接,它不能保证数据传输的可靠性。当网络节点任务繁忙或网络流量较大时,会出现UDP丢包现象; (2) 与交换机的性能有关,若交换机的交换能力小,也会带来不同程度的丢包问题; (3) 与VxWorks任务所消耗的时间有关。值得一提的是,目前有很多学者开展了基于UDP的可靠数据传输技术的研究[12]。
表 1 UDP数据包丢包情况测试Table 1. Experimental results of UDP packet lossinterval time/ms sent packets received packets bytes per packet loss packets loss packets rate/% 0 100 000 99 907 128 93 0.093 5 100 000 99 995 128 5 0.005 10 100 000 99 998 128 2 0.002 4. 结论
为了满足相控阵天线波束快速、精确转换,本文采用分布式拓扑结构和嵌入式实时操作系统,设计了两级分布式波束控制方案,开发了相控阵天线的基于VxWorks主控系统。针对与其他系统的多节点网络通信需求,利用VxWorks支持的UDP/IP协议栈,设计了一种基于缓冲队列的多节点Socket通信方法,并根据实际需求制定了应用层协议。这种通信方式充分利用了缓冲队列的特点,可以满足对紧急任务的优先处理,并且可以避免单任务延迟导致的系统故障,在VxWorks与其他系统间建立了一种灵活、高效的多节点网络通信。基于VxWorks的相控阵天线主控系统的开发应用,验证了该方案的可行性以及控制软件的可靠性和稳定性。
-
表 1 UDP数据包丢包情况测试
Table 1. Experimental results of UDP packet loss
interval time/ms sent packets received packets bytes per packet loss packets loss packets rate/% 0 100 000 99 907 128 93 0.093 5 100 000 99 995 128 5 0.005 10 100 000 99 998 128 2 0.002 -
[1] Li X Q, Liu Q X, Wu X J, et al. A GW level high-power radial line helical array antenna[J]. IEEE Trans Antennas Propag, 2008, 56(9): 2943-2948. doi: 10.1109/TAP.2008.928781 [2] 张健穹, 刘庆想, 胡舰, 等. 92单元三角栅格径向线子阵馈电系统的设计和实验研究[J]. 强激光与粒子束, 2015, 27: 043003. doi: 10.11884/HPLPB201527.043003Zhang Jianqiong, Liu Qingxiang, Hu Jian, et al. Design and experiment research on 92-element triangle-grid subarray radial-line feed network. High Power Laser and Particle Beams, 2015, 27: 043003 doi: 10.11884/HPLPB201527.043003 [3] 王邦继, 刘庆想, 张政权, 等. 机械相控阵列天线的电机控制系统设计[J]. 强激光与粒子束, 2011, 23(11): 3123-3126. http://www.hplpb.com.cn/article/id/5511Wang Bangji, Liu Qingxiang, Zhang Zhengquan, et al. Design of motor control system for mechanical phased array antenna. High Power Laser and Particle Beams, 2011, 23(11): 3123-3126 http://www.hplpb.com.cn/article/id/5511 [4] 王邦继, 刘庆想, 周磊, 等. 相控阵天线内部通信的CAN控制器IP核设计[J]. 强激光与粒子束, 2017, 29: 093003. doi: 10.11884/HPLPB201729.170090Wang Bangji, Liu Qingxiang, Zhou Lei, et al. Design of CAN controller IP core for intercom of phased array antenna. High Power Laser and Particle Beams, 2017, 29: 093003 doi: 10.11884/HPLPB201729.170090 [5] Barbalance A, Luchetta A, Manduchi G, et al. Performance comparison of VxWorks, Linux, PTAI, and Xenomai in a hard real-time application[J]. IEEE Trans Nuclear Science, 2008, 55(1): 435-439. doi: 10.1109/TNS.2007.905231 [6] 孙玉山, 王建国, 万磊, 等. 基于VxWorks的水下机器人嵌入式导航系统的研究[J]. 应用基础与工程科学学报, 2009, 17(6): 899-909. doi: 10.3969/j.issn.1005-0930.2009.06.011Sun Yushan, Wang Jianguo, Wan Lei, et al. Research on the embedded navigation system of autonomous underwater vehicle based on the VxWorks. Journal of Basic Science and Engineering, 2009, 17(6): 899-909 doi: 10.3969/j.issn.1005-0930.2009.06.011 [7] 袁志, 王益民. 基于VxWorks的多阵面雷达控制系统的设计[J]. 现代雷达, 2014, 36(8): 14-16. doi: 10.3969/j.issn.1004-7859.2014.08.004Yuan Zhi, Wang Yimin. Design and realization of radar control system with multi-antenna array based on VxWorks. Modern Radar, 2014, 36(8): 14-16 doi: 10.3969/j.issn.1004-7859.2014.08.004 [8] 聂建多, 禇振忠, 朱大奇. 基于VxWorks的微小型AUV体系结构设计[J]. 上海海事大学学报, 2016, 37(3): 90-94. https://www.cnki.com.cn/Article/CJFDTOTAL-SHHY201603017.htmNie Jianduo, Chu Zhenzhong, Zhu Daqi. An architecture design of small AUV based on VxWorks. Journal of Shanghai Maritime University, 2016, 37(3): 90-94 https://www.cnki.com.cn/Article/CJFDTOTAL-SHHY201603017.htm [9] 程敬原, 宋克柱, 安琪. VxWorks下基于缓冲队列的全双工网络通讯[J]. 计算机工程与应用, 2004, 11: 118-120. https://www.cnki.com.cn/Article/CJFDTOTAL-JSGG200411037.htmCheng Jingyuan, Song Kezhu, An Qi. Full duplex network communication under VxWorks based on buffering queues. Computer Engineering and Applications, 2004, 11: 118-120 https://www.cnki.com.cn/Article/CJFDTOTAL-JSGG200411037.htm [10] 唐晓平, 何峰, 梁甸农. 基于VxWorks的双缓冲队列网络通信设计与实现[J]. 计算机工程与设计, 2009, 30(19): 4361-4363. https://www.cnki.com.cn/Article/CJFDTOTAL-SJSJ200919003.htmTang Xiaoping, He Feng, Liang Diannong. Design and implementation of double buffering queues for network communication based on VxWorks. Computer Engineering and Design, 2009, 30(19): 4361-4363 https://www.cnki.com.cn/Article/CJFDTOTAL-SJSJ200919003.htm [11] 彭大四, 张政权, 刘庆想, 等. 基于VxWorks阵列天线主控系统的多节点通信[J]. 强激光与粒子束, 2016, 28: 033026. doi: 10.11884/HPLPB201628.033026Peng Dasi, Zhang Zhengquan, Liu Qingxiang, et al. Multi-node communication of main control system of array antenna based on VxWorks. High Power Laser and Particle Beams, 2016, 28: 033026 doi: 10.11884/HPLPB201628.033026 [12] 吴海昕. 基于VxWorks的高可靠性网络通信研究[J]. 计算机工程与设计, 2009, 30(7): 1564-1567. https://www.cnki.com.cn/Article/CJFDTOTAL-SJSJ200907001.htmWu Haixin. Investigation on highly reliable communication network based on VxWorks. Computer Engineering and Design, 2009, 30(7): 1564-1567 https://www.cnki.com.cn/Article/CJFDTOTAL-SJSJ200907001.htm -