APP下载

基于FPGA与DSP的发动机参数采集系统设计

2019-06-27

计算机测量与控制 2019年6期
关键词:采集器串口通讯

(上海航空测控技术研究所 故障诊断与健康管理技术航空科技重点实验室,上海 201601)

0 引言

随着航空技术和计算机技术的不断发展,人们对飞机的性能提出更高要求,而发动机作为飞机的核心装置,在整个飞机系统中扮演重要角色。发动机工作时,各部件承受着非常高的机械应力和热应力,为保证发动机安全、可靠、稳定地工作,必须对航空发动机参数、燃油系统参数、滑油系统参数等进行精确测量、显示、控制[1]。传统的机械式仪表已经逐渐被数字显示仪表所替代,嵌入式系统越来越多地应用到航空仪表之中。因此,迫切需要研究一套具有高通用性、高可靠性及安全性的发动机参数采集系统[2]。近年来,数字信号处理器(DSP)由于其速度块、精度高、稳定性好被越来越多地应用于航空电子设备中。本文采用FPGA与DSP为核心的系统方案,设计出发动机参数采集系统,并成功应用于某型号直升机,获得批量生产。

1 整体设计

发动机参数采集系统(以下简称“发参采集器”)主要由7块板卡组成:二次电源板、电源板、AD板1、AD板2、DIO板、主控板和底板。整体结构如图1所示。

图1 整体结构框图

由图1可以看出信号流向。其中20路模拟信号和7路频率信号经过信号调理,由发参采集器进行数据采集。发参采集器通过光隔离实现18路离散量输入和12路离散量输出。发参采集器通过ARNIC429接口与EECU左、EECU右实现全双工通讯,与告警控制盒、三轴大气数据系统计算机(以下简称大气计算机)实现单工接收通讯。发参采集器通过RS-422接口,与综合控制显示计算机实现全双工通讯,发送信息到多功能显示器2和4、以及飞行参数采集器,单工接收燃油计算机信息。另外,还有一路备用发送接口。将需要存储的信息保存至EEPROM中,通过自检接口与上位机通讯,实现系统自检和校正等维护功能,自检口采用RS232接口。

主要板卡功能介绍:二次电源板主要提供电源的尖峰浪涌抑制,当外部供电电源的电压低于18 V时,二次供电启动。除为本系统供电外,还能输出2路21 VDC±1 V电源。二次电源板电源输入为两路,第一路为正常的供电,第二路为应急供电;电源板为整个系统提供电源,将机载电源转为±15 VDC,为传感器和模拟板供电,转为5 V DC,为主控板、DIO板及AD1板和AD2板供电;两块AD板PCB设计相同,通过底板分配处理不同的信号,AD板将模拟信号和频率信号转化为标准信号,供采主控板采集,其中,频率信号转化为0~3.3 V的标准方波,供主控板采集,DI信号隔离后供采集板采集;主控板主要实现ARINC429总线接收和发送数据,RS422总线接收和发送数据,采集模拟量和离散量输入数据、频率数据,并控制离散量的输出,上位机自检等。主要功能器件:FPGA采用EP4CE115F23I7,该器件在其它产品型号应用较为广泛。DSP选用TI公司的TMS320VC5416,该芯片在其它课题中已成功应用。ARINC 429的接口芯片采用HOLT公司的HI-3593PQI,该芯片为工业级芯片,温度范围:-40~+85 ℃。52脚PQFP封装,节省PCB空间,同时HI-3593PQI自带自检功能,使用控制寄存器中的SELF TEST位,就可以实现芯片的自收自发,实现自检。422总线通讯设备需求为4发2收,采用HOLT公司的HI-4850,该芯片每片自带一路收发,设计采用单独接口设计,每一个接口对应一组422接收或发送;DIO板输入输出离散量,DIO板主要功能是对DI、DO信号的隔离,选用高速光耦实现;底板为内部各个电路板之间以及外部信号至内部电路板的信号连接通路。

发动机参数采集系统主要功能:采集和处理发动机工作状态、燃油系统、液压系统、滑油系统、旋翼转速和电源系统等信息并提供给综合任务系统,为飞行员提供准确的发动机、燃油、液压、电源等各项参数指示。记录发动机工作历程及其它必要的信息。为EECU提供必要的参数,并输出发动机告警信号。

1.1 FPGA系统设计

FPGA作为发动机参数采集系统的核心之一,与电源系统、RS422接收、发送电路、ARINC429接收、发送电路、DSP硬件系统以及外部接口模块紧密相连。主要功能包括:FPGA硬件电路(晶振电路、复位电路、程序配置电路等)以及Verilog HDL实现的与DSP系统的HPI通信、2路RS422数据的接收、4路RS422数据的发送、4路ARINC429数据的接收、2路ARINC429数据的发送、12路离散量输入信号的采集、7路频率量的采集、4片AD模拟量数据采集接口的实现、8路离散量输出地控制以及监控DSP系统,其功能框图如图2所示。

图2 FPGA系统功能框图

主要功能模块实现方式如下:

1)AD控制模块:AD控制模块每隔20 ms采集一次16路的模拟量值,并将采集到的16路16bits信号存放在RAM中,后端模块在wrdone_sig为高时进行数据读取操作。AD_Left以及AD_Right分别实现2块AD板模拟量的采集。

2)422接收模块:FMSR_RX及IDCP_RX分别实现燃油测量计算机和综合显示控制计算机RS422数据的接收。燃油测量计算机的通讯周期80 ms,通讯速率为9600bit/s,偶校验;综合显示控制计算机通讯周期80 ms,通讯速率为38400bit/s,奇校验。

3)429接收模块:EECU1_RX、EECU2_RX、ADC_RX和GJ_RX分别实现EECU1、EECU2、告警控制盒以及大气数据计算机ARINC429数据的接收,SPI的采样频率SCLK设置为1 MHz。

4)离散量采集模块:DIN实现离散量的采集。

5)频率量采集模块:duty实现频率量采集,其中包括5通道频率量以及2通道的占空比采集。

6)输入数据整合模块:In_sum实现输入信号:离散量、频率量、RS422信号数据、ARINC429信号数据以及迷你量数据的特定格式的整合在一个RAM中,当In_sum_Done_Sig为高时,后端的HPI模块可以将此刻整合的数据发送给DSP。

7)HPI通讯模块:HPI8实现FPGA与DSP的HPI通讯,FPGA将输入数据整合模块中的数据写入DSP的双口RAM后,通过int_in告知DSP进行数据处理,DSP处理完成,将处理完成的数据按照固定格式存放在双口RAM中,通过int_out中断告知FPGA进行数据的读取。

8)输出数据整合模块:OUT_sum实现FPGA读取DSP处理后数据,并按照协议格式将对外发送的数据存放在各自的RAM中以供后端模块读取;该模块还实现离散量的输出控制。

9)422发送模块:IDCP_TX、MFD1_TX、MFD2_TX及FADR_TX分别实现综合显示控制计算机、多功能显示器A、多功能显示器B和飞行参数采集器的RS422数据的发送。IDCP_TX通讯周期80 ms,通讯速率38400bit/s,奇校验;MFD1_TX通讯周期80 ms,通讯速率38400bit/s,偶校验;MFD2_TX通讯周期300 ms,通讯速率9600bit/s,偶校验;FADR_TX通讯周期80 ms,通讯速率38400bit/s,偶校验。为保证每个包发出去数据的奇偶校验位都能够匹配,在发送之前会有一个包数据的缓存。

10)429发送模块:EECU1_RX、EECU2_RX分别实现EECU1和EECU2 ARINC429数据的发送,SPI的采样频率SCLK设置为1 MHz。

考虑产品系列化,在采集板FPGA的选型上选择接口种类丰富,IO口多的型号EP4CE115F23I7[3],该芯片内含504kbits存储空间。用户IO343个,支持LVDS总线通讯,能够满足采集的各项要求。采用quartusII进行软件开发,必要时使用modelsim进行仿真[4]。外围电路由50 MHz有源晶振电路和配置电阻构成,按照Altera公司提供的参考原理图进行搭建FPGA系统电路。

1.2 DSP系统设计

DSP硬件系统包括与FPGA的HPI接口,EEPROM自举电路,EEPROM数据存储电路、RS232串口实现及DSP最小系统,DSP硬件系统功能如图3虚线框内所示。

图3 DSP硬件系统功能框图

DSP硬件系统作为发动机参数采集系统的核心之一,DSP主要实现如下功能:

1)保证DSP能够正常运作;

2)存储和读取发动机参数所需要的数据,如发动机工作时间、飞行信息等;

3)与编译平台(PC机)相连来下载DSP配置文件到EEPROM中[5];

4)与FPGA完成HPI通讯。

DSP芯片采用TMS320VC5416PGE160[6,7],工作温度:-40℃~100℃;具有接口丰富,数据处理能力大等优点,数据配置以及数据的存储都是用AT25512N的EEPROM,容量为512Kbits。DSP_JTAG插件为DSP配置程序下载接口,与PC相连完成配置文件下载以及程序在线的调试。复位电路在上电时采用RC复位,调试过程中出现FPGA与DSP握手不成功,通过FPGA对DSP进行复位得以解决。

2 软件设计

2.1 FPGA软件设计

FPGA实现功能如下:

1)AD信号采集:20路模拟信号由信号调理板调理转换后,通过两个A/D采样芯片扫描采集。每个循环要包括这20路模拟量的通道切换、采样保持、模数转换以及转换后数据的读取,在A/D通道的控制上,要包括通道的切换和A/D转换控制。通过SPI接口将AD转换后的信号进行整理,并存入RAM缓存;

2)HPI通讯:通过HPI接口将经过整理以后的AD信号,从缓存RAM中取出,将数据发送给DSP,待DSP处理完成后,将处理结果取回;

3)离散量检测:离散信号每个循环周期20 ms采集一次,按字读取,离散量输入通道设计有检测控制端,当处于上电自检测时,软件控制在通道的入口处加入规定值来判断通道的工作正常与否。并做开关量防抖动处理。处理完成后写入离散量RAM缓存;

4)频率量检测:在采样信号作用下,采集一个信号周期频率的高低电平数值,存放在RAM中,每隔20 ms读取信号高电平和低电平的计数值打包发送给DSP处理;通道故障判别可以根据信号最大允许的变化范围以及所获取的信号可信度等条件来进行,也可以以此来判别某一频率量采集通道工作状态正常与否的方法,满足自检测方面的要求(所有的频率量不都为零时,判断每一路频率量与最大允许值关系,超出最大范围,报频率量自检测故障)

5)429通讯:通过对429外部通讯SPI口的控制,将429芯片中数据接收缓存中的数据转存到通讯模块内部RAM接收缓存中。同时,将内部RAM发送缓存中的数据通过429外部通讯SPI口发送给429芯片对外发送。通过2路ARINC429输入接口接收左右发动机电调EECU数据,信息由10页ARINC信息组成,每页含5个字。每20ms向EPU发送一页,整个信息200 ms刷新一次。

6)422通讯:实现串口发送与串口接收功能模块,将串口接收到的数据转存到RAM接收缓存中,将RAM发送缓存中的数据通过串口发送模块对外发送;

7)离散量控制模块:根据离散量控制条件,实现离散量的控制。

2.2 DSP软件设计

DSP软件部分主要包括自检、HPI通讯模块、RS232通讯模块、数据处理模块,历程参数记录模块。

DSP实现功能如下:

1)自检:自检主要分为上电自检、周期自检和维护自检三种。DSP在三种自检状态下进行的自检项目是一样。当系统接收到自检信号或自检控制命令的时候,DSP进行自检工作,自检结果通过HPI发送给信号采集功能模块;

2)HPI通讯:通过HPI接口将信号采集模块发送过来的数据存入预先设定的HPI地址空间。信号采集模块发送的数据包括:模拟量、离散量、频率量等;

3)232通讯:实现串口发送与串口接收功能模块。系统通过RS232接口与地检设备相连,将地检口接收到的指令与校准系数进行解析及分发,并将采集器存储的数据通过串口发送模块传输给地检计算机进行分析;

4)数据处理:将指定的HPI地址空间数据提取出来,按照相应的计算方法进行处理,并将处理后的结果按固定格式通过HPI发送回FPGA。需要处理的数据包括:模拟量、频率量、离散量以及EECU数据;

5)历程参数记录:通过HPI接口,将FPGA发送数据进行处理,并记录和储存发动机历程参数,包括:发动机工作实时间、直升机批号、涡轮循环数、飞行时间、起落次数等。记录能力为200组,记录空间自动管理,200组数据记录满后自动从最老一组数据擦除并重新记录。也可由地面测试设备读出或擦除。

DSP软件采用C语言和汇编混合编程。主要设计思想:DSP上电与FPGA握手成功后进行自检,自检完成后,将FPGA传过来的数据进行相应处理,处理完成后,将处理结果存在外部RAM中,经由DSP的HPI接口供FPGA调用输出。当有外部中断触发时,响应外部中断。DSP软件模块流程如图4所示。

图4 DSP模块流程图

3 试验结果与分析

发动机参数采集系统已成功完成与外部交联设备联试,并通过高温工作、高温贮存、低温工作、低温贮存、温度冲击、功能振动、冲击试验、电源特性试验及电磁兼容性试验,产品技术性能指标满足协议要求,并已在某型直升机上试飞成功。

4 结束语

本文采用FPGA与DSP对发动机参数采集系统进行了研究,并进行相关试验,试验结果表明采用FPGA与DSP对发动机参数可精确采集,控制。以该系统结构为基础的发动机参数采集系统成功应用于某型号直升机,已成功定型,并获得批量生产。

猜你喜欢

采集器串口通讯
《茶叶通讯》简介
《茶叶通讯》简介
通讯报道
COVID-19大便标本采集器的设计及应用
浅谈AB PLC串口跟RFID传感器的通讯应用
基于ZigBee的大型公共建筑能耗采集器设计
基于LabVIEW的多数据采集器自动监控软件设计与开发
通讯简史
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信