APP下载

基于ZYNQ的航空发动机传感器仿真系统设计

2019-05-08

计算机测量与控制 2019年4期
关键词:板卡字节总线

(1.上海航天控制技术研究所,上海 200233; 2.上海师范大学,上海 200233)

0 引言

自新中国建立以来,在党和政府的大力支持下,经过大批科学工作者多年的不懈努力,我国飞机制造技术取得了长足的发展和进步。2017年,具有自主知识产权的干线民用飞机C919成功首飞,意味着国产大飞机终于实现了跨越式发展,也是我国从工业大国迈入工业强国的标志之一。但也必须清醒的认识到,对航空发动机的研究还处于起步阶段,这一航空领域的核心部件长期以来被国外少数公司垄断[1-2]。近二十年来,随着国力的不断增强,我国在航空发动机的研发方面投入了大量的人力、物力,突破多项设计和制造瓶颈,实现了部分型号的国产化,多个系列的战斗机、直升机、无人机等都装备了国产发动机。

航空发动机在设计和制造阶段,因其结构极其复杂,需要做大量的计算机仿真实验[3],如前期的数学模型仿真、中期的半物理仿真和实时仿真以及后期的总装总测。为适应大数据时代航空发动机地面实验的要求,本文总结了传统设备的优缺点,开发出一种基于Zynq的传感器仿真系统,可接入综合实验网络,为用户提供灵活、便捷的操作平台。将孤立的设备组网运行,是实现大数据分析的基础,也是建立智能实验室的重要环节。

1 总体框架与原理

1.1 综合实验网拓扑结构

传感器仿真系统、采集控制系统和执行机构是航空发动机综合实验网络的重要组成部分,实现对整个航空发动机控制系统的硬件在环仿真[4]。综合试验网的拓扑结构如图1所示。

图1 综合试验网络拓扑图

由图1可知,综合实验网络主要分为内部网与试验网两大部分,基于网络安全方面的考虑[5],在两者之间设有防火墙。连接在内部网和试验网中的电脑都可通过服务器的实验数据管理软件,远程控制仿真系统的工作状态、修改数学模型、加载程序和查看实验结果,所有的实验数据都将存储在服务器的数据库中,便于用户查询和回放,从而高效快速定位和排除异常情况。

图2 传感器仿真设备内部架构图

1.2 系统原理

接入综合实验网络的传感器仿真系统,其每一台子设备都会被分配固定的IP地址。服务器的实验数据管理软件启动后,自动通过网络与各设备通信握手,以确定每台设备是否处于正常工作状态,如果发现异常,软件产生警告信息。当握手成功后,软件按照通信协议组包发送控制指令,设备接收完成后解包,计算校验信息是否正确。在未发生错误的情况下,执行提取出的指令和数据,匹配指令集的操作内容,根据算法转换数据格式。最后通过内部总线SPI,控制传感器仿真板卡输出的相应的信号。

2 仿真系统架构

不同型号的航空发动机对于传感器仿真的数量各不相同,因此要求仿真系统具有极强的可扩展性。系统采用基于以太网的架构,每增加一台子设备对应到网络上仅仅是增加一个IP地址,不会影响到系统内其他设备的正常运行。子设备主要包括四个部分:核心处理单元、数字仿真板卡、模拟仿真板卡和背板。机械结构卡槽式设计,可任意增加或减少仿真板卡的数量,以适应不同型号航空发动机的试验需求。传感器仿真设备内部架构如图2所示。

由图2可知,仿真系统以背板连接的方式替代了传统的散线连接方式。核心处理单元与各类型的仿真板卡都与背板相连,背板实现电源电压转换、内总线分配和信号输出的功能。

在整个架构中,对于电源、接地和模数区域的合理划分是一大难点[6]。传统设备一般将模拟和数字信号混接,在运行时容易产生较大干扰,影响信号质量。由于技术的升级,本系统中所涉及的模拟仿真信号更为精密,而数字信号的边沿速度更快,尤其是扭矩与转速信号的上升沿时间小于20纳秒。下面以扭矩与转速信号为例,分析说明干扰源的产生与解决措施。

根据数学模型可得扭矩与转速信号的表达式如下:

(1)

将式(1)信号f(t)按傅里叶级数展开:

(2)

由式(2)可知,扭矩与转速信号可以等效为无穷多个正弦波的叠加。其上升沿时间越短,其包含高次谐波的数量就越多。信号等效谐波如图3所示[7]。

图3 等效谐波图

当方波在导线上传输时,高次谐波会产生天线效应,向外发射电磁波。如果将精密模拟信号与高速数字信号混接,数字信号的谐波分量会以串扰或耦合的方式进入模拟回路,成为严重的干扰源。为避免模拟信号与数字信号的耦合与串扰,本系统将模拟和数字通道进行了划分,在系统供电设计方面做了改进。系统供电设计如图4所示。

图4 系统供电设计

图5 以太网物理收发器电路图

由图4可知,模拟电源与数字电源隔离供电,模拟地与数字地之间采用0Ω电阻和磁珠相连,保证地平面的完整性,从而有效的消除了数模之间的信号干扰现象,从而保证了信号质量,为下级信号处理的正确性提供了保障。

3 核心处理单元

3.1 可扩展处理平台Zynq

3.1.1 片上系统

核心处理单元基于赛灵思公司高性能Zynq-7000系列FPGA芯片XC7z020,这是一款集成了双核可编程处理器ARM-Cortex-A9(PS)和可编程逻辑(PL)的芯片,同时具备软件可编程、硬件可编程和IO可编程的特性,拥有强大的信号处理与运算能力。通过模块的互联设计,为用户提供自定义的任意逻辑功能,从而扩展了处理系统的性能与功能。

3.1.2 片上高速总线AXI4

传统的CPU+FPGA板级互联方案,主要瓶颈在于总线位数与数据传输速率之间的矛盾。并行总线如XINTF、ISA传输速率较快,但需要占用较多的IO管脚;串行总线SPI、IIC、Uart等虽然占用较少的IO管脚,然而在通信速率方面难以提高,一般只能通过降低性能指标来实现平衡[8]。此外,传统类型总线还都会受到PCB布局和布线的限制,容易受到外部电源或其他高频信号源的干扰,往往只能应用在数据吞吐量小、通信速率低的场合。

相比之下,Zynq完全打破了上述制约,并且在面积、功耗和通信速率等方面表现出强大优势。依托赛灵思高性能AXI4并行总线,可轻松实现片上高速数据传输。AXI4总线是可编程处理器(PS)与可编程逻辑(PL)之间的桥梁,只消耗少量的逻辑资源。

3.2 存储器

由于系统选用的XC7z020芯片内部OCM仅256 Kb,不足以满足程序空间需求,因此外扩了DDR用于程序运行和数据存储。Zynq内部集成了DDR3控制器,方便用户扩展存储空间[9]。需要注意DDR3的PCB布局布线规范,主要涉及数据总线DQ[31:0]、地址总线A[14:0]、控制信号DQS和DQM和时钟线,重点关注以下三点:

1)数据总线DQ[31:0]可平均分为四组,每组对应一个DQS和DQM信号,组内信号走线必须等长,且保持同层和换层一致。

2)地址总线A[14:0]、时钟线和控制线分为一组,走线长度误差控制在±15 mil以内。

3)时钟线的差分对内部走线长度差小于5 mil,即 |CLKP-CLKN| < 5 mil。

3.3 物理收发器PHY

物理收发器PHY是网络物理层的重要部分,采用Maxwell公司的88E1518。XC7z020的内部集成有以太网控制器,可自适应十兆、百兆和千兆通信速率,PHY芯片通过RGMII接口对应连接到XC7z020的MIO[27:16]和[53:52]。RGMII在时钟上升沿和下降沿同时传输数据,包括14根信号线,传输速率可达1000Mbps[10]。具体功能为:

1)发送:数据线ETH_TXD[3:0],控制线ETH_RXCRL,时钟ETH_TXCK

2)接收:数据线ETH_RXD[3:0],控制线ETH_RXCRL,时钟ETH_RXCK

3)控制和状态配置:配置接口时钟MDC,配置接口数据MDIO

物理收发器PHY的另一端连接带有网络变压器的RJ-45接口,总共4组差分线:ETH-TD[0:3]_P和ETH-TD[0:3]_N,这四组线在PCB走线时需要控制阻抗为100欧姆。以太网物理收发器电路如图5所示。

3.4 TF卡

XC7z020的内部没有FLASH空间,必须外扩存储器来保存程序。本系统采用TF卡存储的方案。系统上电以后,XC7z020自动拷贝TF卡上的Boot.bin文件到OCM上运行,随后初始化PS,最后完成PL的配置[11]。

由于TF卡工作电压为3.3 V,PS的MIO供电为1.8 V,需要使用了TXS02612作为电平桥接芯片。其中主要信号有:数据总线MMC0_DATA[3:0]、时钟MMC0_CLK和控制MMC0_CMD。WP是写保护(Write protect),当WP为低电平时,写保护使能,指示告知读卡器或者SDIO控制器用户设置了WP开关,但是并没有任何电路的设置,可以忽略之直接进行写操作。CD是检测信号(Card Detect),当CD为低电平时候,表示有卡插入读卡器。

4 数据通信

传统设备之间大多采用RS485总线,存在通信速率较慢、不易扩展、灵活性差等缺陷。随着航空发动机的技术进步,对于仿真实验的实时性要求越来越高。在数据传输方面,不仅数据量大,还要确保无误码。因此仿真采用基于网络通信的方案替代RS485总线。

4.1 TCP/IP协议栈

LwIP是一种小型开源的TCP/IP协议栈,能够在保持TCP/IP协议主要功能的基础上,减少对RAM 的占用。正常运行仅占用不超过20Kb的RAM和40Kb的ROM,这使得LwIP非常适合在不含操作系统的嵌入式设备中使用。同时支持多网络接口下的IP转发和ICMP协议、动态IP地址分配、提供专门的内部回调接口等多种特性[12]。

赛灵思的SDK软件提供基于LwIP的以太网通信程序,方便用户做二次开发,本系统采用IPV4版的TCP/IP协议。在SDK新建工程时选择LwIP Echo Server,新建工程的方法如图6所示。

图6 新建LwIP Echo Server工程图

4.2 数据帧格式

本系统与服务器通信协议采用固定数据长度的模式,每桢数据为8个字节,每个字节对应不同的功能,如表1所示。

表1 通信协议表

1)字节1和字节2:通信索引,固定设置0xAA和0x55

2)字节3:选择设备内部的需要设置参数的板卡

3)字节4:选择板卡的子模块

4)字节5:控制板卡的输出模式,如频率、电压等

5)字节6和字节7:设置需要写入模块的参数

6)字节8:数据校验

当所有数据都接收成功并且完成相应模块的参数设定后,设备通过网络向服务器返回设置成功,如果发生异常情况,则返回错误代码。

4.3 软件设计

4.3.1 网络基本参数

在SDK新建工程LwIP Echo Server的main函数中,mac_ethernet_address数组用于设置MAC地址,由于设备连接在局域网中,因此只要保证与电脑、移动终端、服务器和其他设备的MAC地址不冲突即可[13]。

函数IP4_ADDR和print_ip_settings用于IP地址和子网掩码,具体操作如下:

IP4_ADDR(&ipaddr,192,168,1,10); 设置本机IP地址

IP4_ADDR(&netmask,255,255,255,0); 设置子网掩码

IP4_ADDR(&gw,192,168,1,1); 设置网关地址

print_ip_settings(&ipaddr,&netmask,&gw); 将配置信息写入以太网控制器

4.3.2 数据存储结构体

在pbuf.h文件中,定义了数据结构体pbuf用于缓存和管理数据包。在接收完数据后,pbuf会形成数据链表,表现形式为pbuf结构体中包含一个pbuf类型结构体指针,这个指针指向第二个pbuf结构体,以此类推,直到最后一个。pbuf的具体内容如下:

structpbuf {

structpbuf *next; 指向下一个pbuf结构体

void *payload; 指向存储数据的起始地址,32位数据格式

u16_t tot_len; 当前数据与之后所有数据的长度和

u16_t len; 当前pbuf的数据长度

u8_t type; pbuf可定义为四种类型:RAM,ROM,REF和POOL

u8_t flags; 数据标志位

u16_t ref; 当前pbuf的被引用次数

};

4.3.3 数据发送和接收

本系统主要实现接收服务器数据,并且返回运行状态的功能。具体流程如图7所示。

图7 以太网数据传输函数流程图

在进入函数后,首先判断pbuf的状态,如果状态为空则返回错误信息,调用tcp_close()函数关闭接收,等待恢复正常后重启接收。当pbuf状态为非空时,读取结构体帧长度(pbuf_len)和数据,根据报文格式作数据解包,执行相应的操作,调用tcp_write()函数向服务器返回操作信息。在退出传输函数前,需使用pbuf_free()函数释放数据包。

5 系统测试

仿真系统中的设备上电以后,连接网线到局域网,连接成功后通过串口打印出网络连接信息,测试机采用固定IP模式,未使用DHCP动态IP功能。打印信息如图8所示。

图8 串口信息

使用网络调试助手新建TCP Client,设置连接IP地址:192.168.1.10,端口号:7,点击连接按钮,连接成功后在数据接收区显示:已连接。发送数据包:AA 55 81 80 01 FF FF 59,设置设备中第一块扭矩与转速板卡的第一通道转速为2 kHz,再次发送数据包:AA 55 81 80 02 FF FF 59,设置转速板卡的第一通道扭矩为25°。设备在数据接收完成后,返回接收到的所有数据内容,当完成对板卡的设置后,再次发送数据包:55 AA 00 01,通知服务器可进行下一步操作。航空发动机传感器仿真系统实物如图9所示。

图9 传感器仿真系统实物图

6 结语

本文介绍了一种基于Zynq的航空发动机传感器仿真系统,具有可扩展性强、易于集成、抗干扰性强等特点。实验结果表明,系统运行稳定,可以满足多种航空发动机地面仿真测试的需求。不仅保证了实验的准确性和实时性,还可提高工作效率,缩短研制周期。

此外,仿真系统中的各设备,还能在现有的硬件平台上灵活配置和升级。例如,核心控制单元预留了USB和VGA接口,在Zynq上移植Linux操作系统,接上显示器、鼠标和键盘,就成为了一台便携式的移动设备。对于不同程序的切换,用户仅需更换TF卡即可,无需连接JTAG烧写程序,最大程度避免了操作错误引起的设备故障。

仿真系统的应用领域可推广到船舶、汽车、机器人等多个行业,为用户提供即插即用和低成本的解决方案。推动我国早日迈入制造业强国行列,助力中国制造2025产业升级。

猜你喜欢

板卡字节总线
No.8 字节跳动将推出独立出口电商APP
No.10 “字节跳动手机”要来了?
基于PCI Express总线的xHC与FPGA的直接通信
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
机载飞控1553B总线转以太网总线设计
简谈MC7字节码
一种基于光纤数据传输的多板卡软件程序烧写技术
多通道ARINC429总线检查仪
一种通用模拟量及开关量信号采集板卡的设计