嵌入式远程数据采集与传输技术的研究与实现
2013-12-17余松涛
余松涛
(中航工业西安航空计算技术研究所 10室,陕西西安 710119)
为适应未来飞机作战需求,研制高度综合化航空电子系统[1]。第三代飞机中的多个子系统,在新一代飞机中被大规模集成为核心处理机(ICP)。原有各子系统内部的传感器和作动器也要进行集成。为防止传感器之间或传感器和作动器之间的互相干扰,要求传感器数字化前移;信息战和提高战斗力等需求,对各种接口的性能又提出了更高的要求。针对这些需求,需要研制先进的嵌入式接口计算机,业界又称为远程数据集中器(RDC)[2]。研究先进的RDC设计综合技术以及传感器接口、作动器接口、航电网络接口技术是提升嵌入式电子设备设计的重要基础。
1 关键技术研究
RDC的主要功能是提供飞机上各传感器/作动器与核心处理机之间的接口,它将传感器信号进行一定的预处理,通过航电总线接口传送给各数据处理系统,同时接收从数据处理系统发送来的控制数据,控制作动器接口工作。这要求RDC有较强的运算能力,丰富的传感器接口和多种航电总线接口。由于RDC的安装位置更靠近传感器和作动器,对功耗、体积和重量有严格的要求。
为防止大功率信号对小信号的干扰,RDC划分为主RDC和从RDC。大功率信号全部集中在大功率控制盒从RDC内。大功率控制盒通过RS232接口接受主RDC计算机的命令。RDC计算机系统结构框图如图1所示。
图1 RDC系统结构框图
通过对飞机上的各种接口信号进行分析,将RDC的外部接口定义为传感器/作动器接口和航电接口。研究涉及的传感器接口包括高速A/D采样接口、小信号采样接口、离散量输入接口和模拟量采样接口。作动器接口包括离散量输出接口、模拟量输出接口、PWM(脉宽调制)信号输出和大功率开关控制。航电接口包括 1553B接口、AS5643接口和 AFDX接口[3-4]。
2 技术实现
由于串行总线具有线数少、传输能力可选的特点,能有效地解决以往并行数据传输带来的连线数多的问题,小型化潜力大,因此主RDC内部模块之间通过串行底板总线交连。采用 PCI-express总线[5-6]作为主RDC计算机内部各模块间的互连总线。数据处理板通过PCI-express交换机制实现和通用I/O接口模块,高速A/D接口模块,小信号接口模块间的互联。通用I/O接口模块上的RS232接口用以向大功率控制盒发送动作命令。
PCI-express交换模块设计为上行1路X4的PCI-express总线接口和下行4路X1的PCI-express总线接口。还提供5路系统差分时钟100 MHz供PCI-express设备使用。上行的X4 PCI-express总线接口连接数据处理板。下行的X1 PCI-express总线接口分别连接高速A/D接口模块、通用I/O接口模块和小信号接口模块。数据处理板的CPU采用Motorola的处理器 MPC8568E[7],主频 1.3 GHz,支持 X8 PCI -express总线,可配置为Root complex。在实际使用中设置为X4方式。
高速A/D接口模块提供了两通道 ADC,最高1 GHz的采样频率,8位数据精度,每个通道配置64 MB DDR SDRAM用于保存采样数据,1 MB SRAM用于数据缓存。
通用I/O接口模块提供了RS422/232串行数据通讯接口,模拟量和离散量输入/输出接口。小信号接口模块提供了 -5~50 mV电压信号采集和223~373μA电流信号采集功能,适用于来自温度和压力传感器的模拟量的数字化。
大功率控制盒提供了PWM(脉宽调制)信号输出,大功率开关控制。它与主RDC间进行通讯,执行主RDC发来的命令并向主RDC报告执行状态。1553B接口,AS5643接口和AFDX接口设计为三种PMC背板,通过PCI总线和数据处理板互联。
为同时支持 PCI[8]和 PCI-express总线,主 RDC采用Vxworks6.8作为操作系统,在此基础上进行应用程序的开发。总线双总线的即插即用功能,可对交换板和接口板的地址空间进行自动配置。
由于RDC接口众多、功能复杂,提供一个功能强大的仿真环境对应用的开发是有益的。在航电总线接口端,研究了Matlab Simulink与航电总线接口之间的互联技术。使用Simulink可以采集航电总线上传的数据并加以解析。反之,Simulink可以通过航电总线发送命令。
3 系统综合
在系统综合开始阶段,数据处理板和 PCI-express交换模块之间的传输一直处于时通时断的状态。后来发现,初始设计中,数据处理板和 PCI-express交换模块之间使用了分布式的Reference Clock设计。根据PCI express规范的描述,Reference Clock信号可以集中产生,也可以分布产生。对于分布产生的Reference Clock信号的要求是100 MHz(±3×10-4),由于所使用的晶振和时钟产生电路的偏差,PCI-express总线传输不稳定。查出原因后,数据处理板也使用了的交换板提供的100 MHz差分时钟,连续读取交换板ID号半个小时,均正确。穿过交换模块访问接口板也较稳定。
图2 中间层服务软件的基本流程
为仿真RDC连接的核心处理机,在工控机上开发了Simulink[9]和AFDX PC卡之间互通的中间层服务软件。Simulink通过UDP接口[10]将数据发送给服务软件,服务软件调用AFDX驱动将数据通过AFDX网卡转发出去。反方向,AFDX网络接受的数据也通过服务软件转发给Simulink。图2是服务软件的基本流程。服务软件包括两个相对独立的线程,其中一个调用阻塞的AFDX读取API,读出RDC通过航电数据网络交换机发送来的数据,作为客户端通过UDP协议主动发送至Simulink仿真软件进行处理。另一个线程是UDP服务器端,它等待Simulink仿真软件发来的UDP包,调用AFDX发送API将数据通过航电数据网络交换机发送给RDC。
图3 Simulink发送界面
图3是Simulink发送界面的设计实例,运行这个模型可以交互式地将命令发送给RDC,控制模拟量/输出,离散量输出和大功率控制盒的输出。实现了Simulink和RDC间的基本通信能力,结合Simulink本身强大的算法库和固有的信号发生/采集功能,使得通过Simulink进行软硬件综合仿真成为可能。
4 结束语
探讨了综合环境下嵌入式远程数据采集与传输技术的研究和实现中的关键技术。经试验证明,本技术具备高性能、高可靠性特点,各项指标符合新一代航空电子技术的要求,适合在恶劣复杂的嵌入式环境中使用。
[1]易建平,韩庆.飞机综合化航电系统总体设计研究[J].科学技术与工程,2010(19):4709-4714.
[2]孙欢庆.民用飞机综合航电系统技术发展研究[J].航空科学技术,2010(3):6 -8.
[3]校莉.AFDX在航空通信系统中的应用[J].电讯技术,2010(7):40-43.
[4]李大鹏,王世奎,李雯.AFDX端系统系统发送单元的研究与实现[J].航空计算技术,2012(2):128-131.
[5]梁小虎,王乐,张亚棣.高速串行总线RapidIO与PCI Express协议分析比较[J].航空计算技术,2010(3):131-134.
[6]MIND SI,RAVI B,DON A.PCI express system architecture[M].USA:Addison Wesley,2003.
[7]Freescale Inc.PowerQUICCIII integrated host processor family reference manual[ED/OL].(2008 -09 -18)[2011 -08-16]http://www.freescale.com.
[8]陈金鹏,李贵山.PCI据部总线及其应用[M].西安:西安电子科技大学出版社,2003.
[9]王永虎,王欣,王玉梅.VB与Matlab混合编程在CAI系统中的应用[J].航空计算技术,2010(1):71-74.
[10]谢希仁.计算机网络[M].北京:电子工业出版社,2003.