武建亮,姜照昶,王文彦,金 璇
(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.中国人民解放军94106部队,陕西 西安 710614;3.中国人民解放军63636部队,甘肃 兰州 732750)
航天测控动态数传数据模拟器的实现
武建亮1,姜照昶1,王文彦2,金 璇3
(1.中国电子科技集团公司第五十四研究所,河北 石家庄 050081;2.中国人民解放军94106部队,陕西 西安 710614;3.中国人民解放军63636部队,甘肃 兰州 732750)
在载人航天测控任务准备阶段,测控系统技术状态确认是非常重要的准备工作。航天测控动态数传模拟器利用现有系统配备的图像模拟器和测控基带终端设备,辅以话音输入设备和数据模拟软件,可以实现飞船图像和话音数据实时模拟,设备采用中断和DMA传输技术在提高数据传输速率的同时降低了系统开销。该模拟器已经应用在多套载人航天地面测控系统中,为载人航天地面系统技术状态确认节约了人力和时间成本。
USB统一测控系统;实时传输协议;中断服务例程;延迟过程调用
Abstract At the mission preparation period of aerospace measurement and control,TT&C system’s technical status confirmation is very important.Dynamic data transfers simulation uses the existing system equipped with the image simulator and the measurement and control BBE terminal,with voice input device and data simulation software,realizes real-time simulation of the vehicle image and voice data.The device also uses interrupt and DMA transmission technology to improve the data transmission rate and reduce the cost of the system.The function and performance of the equipment are verified by engineering application.
Key words USB Unified TTC&C System;RTP;ISR;DPC
近年来,随着数传技术应用领域的不断拓展,高速数传技术已经应用于载人航天器中,在“神舟”载人飞船任务中,利用数传技术实时回传了图像、话音和其他数据。在载人航天任务准备阶段,地面测控系统设备技术状态正确性验证是保证任务顺利执行的重要环节,目前主要依靠飞行器与测控系统的对接试验来实现。随着发射任务的逐年增加,对接试验成本也大幅上升,所以迫切需要开发用于进行测控系统技术状态确认的验证设备[1]。
图像话音动态模拟器将图像话音数据按照任务状态格式进行组帧,利用调制板卡调制输出与实际任务完全一致的数传信号,该模拟器利用数据配置文件进行任务格式描述,可以兼容多种飞行器,特别适合地面测控系统设备功能和性能检查和验证。
目前测控设备配备数传模拟器只能模拟固定数据,无法进行实时图像和话音数据模拟。
载人航天动态图像话音模拟器可以实现载人航天器实时图像和话音模拟,充分验证数传接收机、RTP数据传输[2-3]、图像恢复设备的功能和性能。
测控系统数传设备信号流程图如图 1所示。数传模拟器实时接收图像模拟设备输入的图像模拟数据和话音输入设备输入的音频数据按照既定格式产生数传数据模拟信号,该信号可由系统中频矩阵环回送至数传接收设备,数传接收机解调并将数传数据送至图像监视设备和话音输出设备。在该系统中数传接收设备可以接收飞船下发的数传任务信号,也可以接收模拟设备发出的数传模拟信号,二者的工作状态和参数完全一致。
图1 测控系统数传设备信号流程
模拟器设备组成如图2所示。模拟器由图像模拟器、话音输入设备、数据模拟软件、设备驱动程序、模拟器调制板卡和CPCI工控机组成。其中图像模拟器、模拟器调制板卡和工控机均为测控系统标配设备,无需重新开发;话音输入设备可利用计算机音频输入端口接入计算机;设备驱动程序需进行适应性改造,数据模拟软件需重新开发。
图2 模拟器设备组成
图像模拟器接收摄像头输入的实时视频数据经压缩编码后生成网络格式图像数据[4]送数据模拟软件;话音输入设备产生的音频数据通过工控机音频输入口送给数据生成软件;数据模拟软件负责产生数传模拟数据,将接收到的图像数据和话音数据按照既定数传格式填入模拟数据帧中,数据帧通过设备驱动程序送模拟器调制板卡进行数据调制并输出中频信号。模拟器设备接口如表1所示。
表1 模拟器设备接口
1.1 图像模拟器
图像模拟器采用测站标配的模拟设备,该设备可以接收摄像设备输入的视频信号经过编码、压缩后采用UDP+RTP协议送出图像数据包。
1.2 话音输入设备
利用模拟计算机的音频输入口将话筒的声音信号转为音频数字信号[5],数据模拟软件可以通过操作系统API接口函数获取该声音数据。
1.3 设备驱动程序
设备驱动程序是计算机操作系统内核层的重要组成部分,对于用户自己开发的硬件设备,必须开发相应的设备驱动程序以保证硬件设备的正常运行。设备驱动程序是模拟调制板卡与数据模拟软件之间通信的桥梁。由于数传速率较高,采用DMA传输方式可以大大减少CPU对数据传输的干预次数。
1.4 数据模拟软件
数据模拟软件是动态模拟器的控制核心,按照既定数传帧格式产生模拟数据,将图像模拟器送来的图像数据和话音输入设备送来的话音数据按照格式要求填入数据帧内。组帧完毕后通过驱动程序API接口函数[6-7]将数据写入模拟器调制板卡调制输出。
1.5 模拟器调制板卡
模拟器调制板卡负责将数据模拟软件送来的数据完成码型变换、数据调制后输出中频模拟信号。
图像模拟器、模拟器调制板卡、话音输入设备和工控机均为已有或成熟产品,本节不再描述,重点介绍软硬件数据交互方式、设备驱动程序[8-9]和数据模拟软件的开发过程。
2.1 数据交互方式
软硬件数据交互方式采用中断+DMA传输的通信方式。数据交互过程如下:
① 调制器板卡设计一个FIFO,该FIFO用于接收数据模拟软件发送的模拟数据;
② 调制器板卡定义一个FIFO容量寄存器,该寄存器用于表示当前FIFO的剩余空间;
③ 硬件板卡实时判断FIFO的空满状态,当FIFO内的数据为半空时,向PCI端产生一个中断信号;
④ 数据模拟软件收到该中断信号后,读取FIFO容量寄存器即可获取可向FIFO写入的数据长度,然后立即向FIFO内写入数据;
⑤ 只要保持FIFO内的数据不空,即可保证调制板卡输出的数据连续。
软硬件数据交互方式示意图如图3所示。
图3 软硬件数据交互方式示意
2.2 设备驱动程序
2.2.1 ISR例程
为了完成中断处理、DMA传输[10],设备驱动程序需要增加ISR例程和DPC例程[11]。其中ISR例程用于实现硬件中断响应及处理[12],DPC例程实现DMA数据传输[13]。
ISR执行在提升的IRQL[14]上,冻结了其CPU上所有低于或等于该IRQL的其他活动。为了提高系统性能,ISR应该尽可能快地执行。基本上,只做服务硬件所需的最小量的工作[15](如清除中断),然后立即返回。如果有额外工作(例如完成一个IRP),应该由DPC(延迟过程调用)例程来完成。
调制器板卡共可以产生2种类型的中断:数据中断和DMA结束中断。因此首先读取PCI的中断控制/状态寄存器,根据标志位判断调制器板卡是否产生了中断、产生了哪种类型的中断。如果没有产生中断,则立即返回FALSE即可。如果产生了数据中断,则申请一个DPC用于后续启动DMA传输。如果产生了DMA结束中断,也申请一个DPC用于后续完成该IRP。
∥中断处理函数
BOOLEAN WDFBBE_EvtInterruptIsr(
INWDFINTERRUPT Interrupt,
IN ULONG MessageID)
{
<判断该中断是否为DMA传输结束中断>
{
<确认中断>
<清除中断>
<申请调用DPC处理并结束中断>
<返回TRUE表示是期望的中断>
}
<判断该中断是否为数据读中断>
{
<确认中断>
<清除中断>
<申请调用DPC处理并结束中断>
<返回TRUE表示是期望的中断>
}
<返回FALSE,表示不是期望的中断>
}
2.2.2 DPC例程
基带板卡可以产生2种类型的中断[16],所以在DPC例程中也有2种处理。如果是读数据中断申请的DPC,则计算本次可以读取数据的长度,然后启动DMA传输。如果是写数据中断申请的DPC,则计算本次可以写入数据的长度,如果写RAM空间满足写入要求则启动DMA传输,否则继续挂起该IRP。如果是为DMA结束中断申请的DPC,则保存已读取数据的最终地址后,即可完成该IRP。驱动程序完成IRP时,需要告知应用程序此IRP完成情况,如实际传输的长度及传输结果等,以便应用程序能正确对数据进行分类处理。
VOID
WDFBBE_EvtInterruptDpc(
IN WDFINTERRUPT Interrupt,
IN WDFOBJECT Device)
{
<判断是否为DMA传输结束请求的DPC>
{
<允许中断,准备处理下一个中断>
<返回>
}
<判断当前IRP是否为写请求>
{
<完成本地写请求,返回实际传输长度>
<允许中断,准备处理下一个中断>
<返回>
}
}
2.3 数据模拟软件设计
数据模拟软件实现图像、话音模拟数据接收、组帧和控制模拟终端调制发送。为了适应多种飞行器图像和音频格式,数据模拟软件采用配置方式进行数据组帧。
数据模拟软件的工作过程如下:① 建立网络数据接收线程,接收图像模拟器发送的RTP格式图像数据包[17-18];② 建立话音数据接收线程,接收话音输入设备输入到音频数据;③ 读取数据帧格式配置文件,按照配置文件格式要求将图像数据和音频数据填入指定的数据位置,除图像和音频外的其他数据帧位置,可以按照需要填入固定数或随机数等;④ 建立中断信号读取线程[19],实时等待中断信号,当中断信号到来时,先获取FIFO剩余容量大小,然后从已产生的数传数据中读取对应长度的模拟数据经由驱动程序API接口函数向调制器板卡发送[20]。
图4 数据模拟软件工作流程
3 模拟器的工程应用
数传模拟器工程应用方式如图5所示。地面测控站利用数传动态模拟设备辅以测控系统标校设备可以按照任务场景模拟飞船/空间站任务状态,进行设备功能及性能检查。
图5 模拟器工程应用示意
目前该设备已经在多套载人航天地面测控系统中得到应用。在测控任务准备阶段,利用该设备模拟飞船/空间站任务场景,对地面系统中的信道设备、数字基带设备和测控链路状态等进行综合检测,为载人航天测控任务提供了重要保障。
介绍了数传数据动态模拟器的实现方案,阐述了话音和图像数据模拟的实现途径,采用数据中断配合DMA传输的方案解决了计算机性能瓶颈问题,使用配置文件实现图像及音频数据帧动态配置,可以适应多种飞行器数据模拟。在实际工程应用中,数传数据模拟器能够满足载人航天测控地面测控系统功能及性能检查的需求,为载人航天任务准备节约了人力和时间成本。未来载人航天器会搭载高清图像和高质量话音设备,在模拟高码率图像和话音方面还需要做进一步工作。
[1] 周智敏,李企舜.现代航天测控原理[M].长沙:国防科技大学出版社,1998.
[2] 靳海力.一种增强型可靠UDP的设计及应用[D].合肥:中国科学技术大学,2009.
[3] 罗明宇,陶孜谨,卢锡城.RTP在网络视频传输中的实现研究[J].计算机工程,ISTICPKU,2000,26(9):65-66.[4] 李燕灵,马瑞芳,左力.基于RTP/PTCP的实时视频数据传输模型及实现[J].微电子学与计算机,ISTIC PKU,2005,22(8):138-140.
[5] 马厚勇,韩宁.视频、音频信号处理器-多媒体DSP[J].无线电通信技术,2005,31(1):27-28.
[6] 求是科技.Windows API程序设计参考大全[M].北京:人民邮电出版社,2006.
[7] 胡刚,石亚伟.PCI总线的中断处理技术[J].计算机自动测量与控制,2001,9(6):55-56.
[8] CANT C.Windows WDM设备驱动程序开发指南[M].北京:机械工业出版社,2000.
[9] 何帅,王文基,狄卫国.基于WDF的航天测控数字基带板驱动程序设计[J].无线电工程,2016,46(4):5-8.
[10] ONEY W.Programming the Microsoft Windows Driver Model[M].Microsoft Press,2003.
[11] 祁佳,罗琦,于勇.Windows平台DDK开发WDM设备驱动研究及应用[J].微电子学与计算机,2008,25(12):154-156.
[12] 闫改,郭晓光.基于DSP的PCI总线高速DMA数据传输[J].无线电工程,2013,43(8):19-21.
[13] 武安河.Windows2000/XP WDM设备驱动程序开发[M].北京:电子工业出版社,2005.
[14] 马玉英,马义德.PCI中断机制分析[J].青海师范大学学报,2005(2):51-53.
[15] 徐洪信,申景诗,王凤阳.高速率数据接收存储系统设计[J].航天器工程,2009,18(1):43-47.
[16] 滑伟.一种PCI总线接口的数据接收卡设计[J].无线电通信技术,2013,39(4):53-55.
[17] 孙守阁,徐勇.Windows设备驱动程序技术内幕[M].北京:清华大学出版社,2000.
[18] 冉林仓.Windows API编程[M].北京:清华大学出版社,2005.
[19] 倪丽娜,赵茂先,张秀娟.Visual C++6.0 全攻略宝典[M].北京:中国水利水电出版社,2001.
[20] 高京龙.PCI总线设备驱动程序开发[J].无线电通信技术,2001,27(6):43-44.
The Implement of Dynamic Data Transfers Simulation on Aerospace TT&C System
WU Jian-liang1,JIANG Zhao-chang1,WANG Wen-yan2,JIN Xuan3
(1.The54thResearchInstituteofCETC,ShijiazhuangHebei050081,China; 2.Unit94106,PLA,Xi’anShaanxi710614,China; 3.Unit63636,PLA,LanzhouGansu732750,China)
10.3969/j.issn.1003-3106.2017.08.05
武建亮,姜照昶,王文彦,等.航天测控动态数传数据模拟器的实现[J].无线电工程,2017,47(8):18-21.[WU Jianliang,JIANG Zhaochang,WANG Wenyan,et al.The Implement of Dynamic Data Transfers Simulation on Aerospace TT&C System[J].Radio Engineering,2017,47(8):18-21.]
2017-03-14
国家高技术研究发展计划(“863”计划)基金资助项目(2013AA122904)。
TP311.1
A
1003-3106(2017)08-0018-04
武建亮 男,(1984—),工程师。主要研究方向:航天测控。
姜照昶 男,(1986—),工程师。主要研究方向:航天测控。