基于MicroBlaze的测控应答机地面站发射系统的设计与实现

2018-01-18 07:10孙冬雪周玉婷王竹刚侯鸿杰
电子设计工程 2018年1期
关键词:遥控以太网载波

孙冬雪 ,周玉婷 ,王竹刚 ,侯鸿杰

(1.中国科学院国家空间科学中心,北京100190;2.中国科学院大学计算机与控制学院,北京100190)

地面站能够在测控应答机的配合下,与星上遥控终端进行通信,完成对卫星的跟踪测量。传统的PXI地面站遥控设备模块多,架构复杂,开发难度大。因此研制一套架构简单、开发难度小的地面站发射系统对卫星的实时监控有重大意义。

现场可编程门阵列(FPGA)是近年来发展迅速的一种大规模可编程器件[1],它内部拥有大量LUT和RAM块等资源,设计方便、便于修改[2]、被广泛地应用在通信、航空航天子等诸多领域。

随着信息技术的发展,"TCP/IP"协议已成为互联网事实上的标准协议[2-3]。而传统以PC为中心的互联网应用现已开始转向以嵌入式设备为中心。因此,嵌入式系统如何实现以太网互联成为近些年来较热门的研究课题[3-4]。文中正是基于以上事实,设计了架构简单的“上位机+FPGA+射频一体化芯片”地面站发射系统。其中上位机和FPGA之间的数据通信则采用嵌入式以太网实现。

1 系统概述

系统总体设计方案是由上位机通过以太网口将遥控指令发送到下位机。下位机系统基于FPGA平台、集射频模块于一体完成中频调制和射频调制的功能。与传统的以太网设计平台相比较,本方法最大的优势就是引入了MicroBlaze软核处理器和嵌入式xilkernel操作系统,并结合使用极为广泛的LWIP协议栈,大大降低了系统平台的设计复杂度,缩短了开发周期[5]。同时,本次设计中使用了大量的IP核,其软硬件部分可分离的设计架构,使得对系统进行修改和重构更加方便。本系统的基本框架如图1所示。

图1 系统基本框架

2 系统设计

2.1 硬件电路构架

在本系统的硬件结构中,我们选用Xilinx公司的Kintex-7系列FPGA芯片XC7K325T-2FFG900C[6]作为控制芯片,外部存储选择DDR3 SDRAM;由于要进行网络协议栈的移植,所以需选择以太网IP核和定时器,并且均设置为允许中断模式;在调试过程要显示调试信息,所以需选择串口,设置波特率为115 200。系统的硬件连接框图如图2所示。

图2 系统各功能模块连接框图

2.2 硬件开发环境

本次设计中的“系统硬件平台的搭建、外设与控制芯片功能引脚的连接和地址分配”均在XILINX公司的嵌入式开发套件Vivado内完成,具体操作流程如图 3所示[7-8]。

图3 硬件平台生成流程

2.3 软件开发环境

系统软件平台设计主要包括建立应用软件工程、编辑源代码和库文件、调试应用软件等。本次设计基于Xilkernel操作系统,移植了精简的LWIP协议栈完成嵌入式以太网通信。

Xilkernel[1,9]是一种能根据系统资源及系统功能进行定制的简单高效系统,它可以应用在不同的系统配置环境下,是一个小的、模块化的、用户可定制的内核。

LwIP协议是一个开源的TCP/IP协议栈的实现,有无操作系统都可以运行,其设计的目的在于:在保证嵌入式产品拥有TCP/IP协议功能的同时,又能保证协议栈对处理器资源的有限消耗,其运行一般仅需要几十KB的RAM和40KB左右的ROM[10]。LWIP[4,10]协议栈支持服务器模式和客户机模式,提供RAW和SOCKET两种API[3],本次设计采用SOCKET API,Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。

3 网络通信程序的设计

传统的通信过程通过串口进行,然而串口数据率偏低,并且具有距离限制。USB(Universal Serial Bus)传输可以实现较高的速率,然而开发实现较为复杂,并且仍然存在距离限制。所以本次设计利用以太网传输上行遥控指令,传输层协议采用UDP协议,在上位机上用VS软件编写客户端程序,在下位机SDK上编写服务器端程序,同时在FPGA外部的DDR3 SDRAM内建立文件系统,将UDP服务器等文件保存在该文件系统中。

下位机服务器端程序设计思路[2]:

1)在Xilkernel系统的静态启动线程main_Thread中初始化LWIP栈[11],调用LWIP的线程生成函数sys_thread_new()并启动线程1。

2)在线程1中设置开发板硬件的MAC地址、网关、IP地址和子网掩码等参数[12].启动数据包接收线程:

3)在数据包接收线程中初始化一个SOCKET,将它与IP地址和端口号绑定。

4)设置接收发送数据使用的缓冲,接收控制航天器运行的指令信息[13]。

5)再在上位机上编写UDP客户端程序[14]。

6)进行测试时:首先在PC端运行ping命令,结果显示:PC端可ping通FPGA,PC端共发送了四个数据包,接收的丢包率为0%,往返平均时间小于1毫秒。再用wireshark抓包软件可看到ping相关的ARP包,ICMP包[13],结果如图4所示。

图4 wireshak抓包结果

可以看出:PC到FPGA板的网络是连通的,接着进行功能复用测试,在上位机上发送调制数据指令,通过程序测试传输时间计算传输速率超过40 Mbps,满足设计要求。

4 发射模块设计

4.1 零中频架构的I/Q两路信息设计

射频发射信号是一个正弦调相波表示为:

其中,cos(ωct),sin(ωct)是由射频模块的本振产生的,是调制模块的主载波,表达式中的乘法和加法也是在射频模块错误!未找到引用源。内部实现,在FPGA内只需要产生基带调制的I/Q两路信号。地面站上行信号的信号表达式,可以用下式描述:

其中,ωc表示主载波频率,mCM表示遥控信号的调制度,mR1表示测距信号的调制度。C(t)表示遥控基带信号,ωCM表示遥控信号的频率,ωR1表示测距信号的频率。将上式和式(1)进行计算比较可知,当发射信号包括遥控副载波、主侧音和一个副侧音时:

4.2 精确频率测距音序列产生电路设计

本次设计的正弦波用DDS产生,调制模块的总时钟为15 MHz,常规的2的幂次累加器的DDS无法产生精确的侧音序列。为了产生精确的侧音频率,以满足“所有的测距音相位相干,并以某一间隔,同时通过正向的零交点”,文中采用下面的变化形式的DDS方法。

DDS的相位累加器部分:采用专门的门限累加器形式。相位累加器的最大分频倍数是:15 MHz/8 Hz=15e6/8=1 875 000,则N为1 875 000,各副载波可以理解为8 Hz的倍频,其频率控制字是8 Hz的倍数。则100 kHz的频率控制字为12 500,20 kHz的频率控制字为2 500。

因为相位累加器的数值,是从0~N-1,该范围对应相位关系是0~2pi,所以也需要重新安排查找表的内容。其表达式为:phase=2*pi/N*n,其中,N为相位累加器的返回值,n为当前相位数值。将MATLAB产生的数据转化为coe文件加载到ROM里面即为查找表。如果采用全精度的查找表,需要深度和宽度为 log2(1 875 000)=20.8 bit,所以,需要采用截短形式的查找表,可取的截断为深度12 bit,宽度12 bit。

4.3 遥控副载波的产生电路设计

标准15 MHz时基,采用常规的DDS的方法,产生8 kHz的副载波,其误差为:8e3/15e6*2^32=2290649.224533333。采用频率控制字2290649产生的8 kHz的相对频率误差为9.8e-8,该相对频差,远小于多普勒导致的相对频差(近地轨道:2.5e-5),所以,遥控副载波仍可以采用标准DDS产生。

5 测试验证

5.1 Chipescope验证

在测试环境下,遥控基带数据为m序列,用Chipescope观测中频调制信号,结果如图5所示。

图5 Chipescope显示结果

图5中波形1为未调制的遥控副载波,波形2为调制后的遥控副载波载波,波形3为映射后的基带数据,从图中可知当基带数据为+1时,未调制的载波和调制后的副载波相位一致,当基带数据为-1时,未调制的载波和调制后的副载波相位相反,表示BPSK调制正确。波形4和波形5为包含主侧音和基带调制的I/Q两路信号,与MATLAB仿真后的波形一致,说明在FPGA内产生的I/Q两路信号正确,可以进行射频调制。

5.2 频谱仪验证

本次设计选择高性能、高集成度的射频(RF)Agile Transceiver™捷变收发器AD9364作为射频处理模块。将基带I/Q两路信号传输到配置后的射频模块进行射频调制,调制后的信号通过频谱仪显示,结果如图6所示。

图6 上行信道频谱示意图

图6中波峰最高的为主载波,频率为2.287 GHz,在其右侧:2 3个单位处为BPSK调制后的遥控副载波,3 2个单位处为20 kHz的副侧音信号,17 2个单位处为100 kHz的主侧音信号,其余为谐波。设计中遥控副载波和主副侧音的调制度相同,则功率也应该相同。通过频谱仪观测计算出主载波和侧音的功率比约为7.85 dB。已知不同副载波功率分量的计算公式如下[15]:

1)载波分量功率为

2)第l个正弦副载波造成的第一正旁瓣功率为:

MATLAB计算可得主载波与每个副载波的理论功率比均为7.21 dB,实际的功率分配与理论值基本一致,表示调制度正确。本次设计形成了一个功能完整,架构简单并具有实际应用价值的测控应答机地面发射系统,通过频谱仪验证显示系统的设计达到了预期的要求。

6 结论

本次设计的测控应答机地面发射系统采用FPGA开发板和射频一体化芯片配合的方案,来模拟实现地面站与卫星的通信功能。其中的射频芯片可以代替传统地面站中的上下变频模块、低噪声放大器、高功率放大器等多个模块的功能,大大降低了复杂度,具有很实用的开发价值,为测控应答机地面站的设计提供了一种新的设计思路。网络通信是本次设计的一个重要环节:本设计提出了一种以FPGA内置的MCU网络通信处理器的方法完成和上位机的数据通信[16,17],其优势就是引入了软核处理器和嵌入式操作系统xilkernel,采用多线程处理,并结合使用极为广泛的LWIP协议栈,大大降低了系统平台的设计复杂度,缩短了开发周期。本次设计形成了一个功能完整有效并具有实际应用价值的测控应答机地面站发射系统,通过频谱仪验证显示系统的设计达到了预期的要求。

[1]石梅林,赵月琴.Spartan-6系列FPGA的配置方法研究[J].电子科学技术,2016(5):553-558.

[2]张艳芳,沈莉.基于Xilinx Spartan-3E和LwIP协议的以太网通讯[J].核电子学与探测技术,2013(5):540-542.

[3]XilinlwIP designs and application examples.[EB/OL].http://www.xilinx.com/support/xapp1026.pdf.

[4]刘鸣.基于MicroBlaze和DM9000A的以太网接口设计[J].信息与电脑(理论版),2016(13):70-71.

[5]Hanafi A,Karim M.Embedded web server for realtime remote control and monitoring of an FPGA-based on-board computer system[C]//Intelligent Systems and Computer Vision.IEEE,2015:1-6.

[6]Xilinx Inc.KC705 Evaluation Board for the Kintex-7FPGA.

[7]Xilinx.Inc.MicroBlaze Processor Reference Guide[EB/OL].http://www.xilinx.com/support/documentat ion/sw_manuals/xilinx14_7/mb_ref_guide.pdf.

[8] Xilinx.Inc.Vivado Design Suite User guide Embedded Processor Hardware Design[EB/OL].[2016-10-05].https://www.xilinx.com/support/ug89 8-vivado-embedded-design.pdf.

[9]侯鸿杰,王竹刚基于Microblaze的可靠网络接口设计[J].电子设计工程 2016(21):105-108.

[10]周一兵,刘宪鹏.LwIP在嵌入式系统中的应用[J].科技视,2013(6):40-48.

[11]谢志文,许睿,黄小雪,等.基于LwIP的嵌入式Web服务器的设计与实现[J].桂林电子科技大学学报,2014(4):305-309.

[12]肖利平.基于LWIP的嵌入式串口服务器的设计与实现[J].电子科技,2009(5):11-13.

[13]杨定定,施慧彬,等.Spartan 6上嵌入式网络服务系统设计实现[J].电子产品世界,2013(9):28-31.

[14]朱桂英,张元亮.Visual C++网络编程开发与实战[M].北京:清华大学出版社,2012.

[15]李海涛.深空测控通信系统原理设计与方法[M].北京:清华大学出版社,2014.

[16]李辉,张梦瑶,张春晖.基于MicroBlaze的串口通信设计[J].计算机与网络,2016(16):61-63.

[17]宋宇飞,张俊杰,王凯,等.基于IP协议的FPGA万兆可靠互联通信设计与实现[J].上海大学学报(自然科学版),2015(5):570-578.

猜你喜欢
遥控以太网载波
如何遥控引爆的
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
他是如何遥控引爆的
谈实时以太网EtherCAT技术在变电站自动化中的应用
应急广播系统中副载波的构建与应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
遥控赛车
低压载波通讯测试仪的开发与应用
基于最优化搜索的迭代载波同步算法