专利名称:一种基于ZYNQ7的飞行控制系统
专利类型:实用新型专利
专利申请号:CN202410603097.9
专利申请(专利权)人:贵州航天控制技术有限公司
权利人地址:贵州省贵阳市经济技术开发区红河路7号
专利发明(设计)人:王耀艺,甘志轩,李长洪,吴春梅,罗小秋
专利摘要:本说明书公开了一种基于ZYNQ7的飞行控制系统,涉及飞行控制系统设计技术领域,包括PS端和PL端;PL端包括伺服机构控制IP和接口IP;接口IP,用于实现外围设备与PS端之间的通信传输;伺服机构控制IP,用于采集伺服机构的信息数据并传输至PS端;PS端,包括第一处理核和第二处理核;第一处理核,用于对接收的伺服机构的信息数据进行解算,产生飞行控制信号并通过PL端输出至伺服机构进行伺服控制;第二处理核,用于接收外围设备的数据并产生输出至外围设备的数据,以解决目前常用的飞行控制系统存在成本高、数据传输效率低以及软件后期维护难的问题。
主权利要求:
1.一种基于ZYNQ7的飞行控制系统,其特征在于,包括:PS端和PL端,PS端与PL端通过AXI总线进行通信传输;
PL端,包括伺服机构控制IP和接口IP;所述伺服机构控制IP与伺服机构连接;所述接口IP与外围设备连接;
接口IP,用于实现外围设备与PS端之间的通信传输;
伺服机构控制IP,用于采集伺服机构的信息数据并传输至PS端;
PS端,包括第一处理核和第二处理核,两个处理核之间通过核间通信实现数据交互;所述第一处理核与所述伺服机构控制IP连接;所述第二处理核与所述接口IP连接;
第一处理核,用于对接收的伺服机构的信息数据进行解算,产生飞行控制信号并通过PL端输出至伺服机构进行伺服控制;
第二处理核,用于接收外围设备的数据并产生输出至外围设备的数据;
所述接口IP包括1路维护端口和5路外部端口,维护端口通过维护TX线和维护RX线与外围设备的维护接口连接;每路外部端口均通过相应的TX线和RX线与外围设备的外部接口连接;
所述接口IP基于第二处理核生成的串口切换指令进行维护端口和外部端口的串口切换;
所述接口IP在接收到第二处理核输出的串口切换指令后,将工作模式调整为维护模式;所述接口IP在维护模式下,断开需要进行维护的外围设备的目标外部接口与接口IP的连接,并将维护接口的维护TX线和RX线连接到目标外部接口对应的外部端口上,完成维护接口与外围设备的接口互连,以实现外围设备的软件更新维护,其中,断开的TX线和RX线均设置为高阻态。
2.根据权利要求1所述的飞行控制系统,其特征在于,所述伺服机构控制IP与所述第一处理核通过第一AXI线连接;所述接口IP与所述第二处理核通过第二AXI线连接。
3.根据权利要求2所述的飞行控制系统,其特征在于,所述第二AXI线包括AXI通信协议,用于作为桥梁完成外围设备与第二处理核之间的数据传输;
AXI通信协议包括5条通道,每个通道相互独立,分别是读地址通道、读数据通道、写地址通道、写数据通道以及写响应通道。
4.根据权利要求3所述的飞行控制系统,其特征在于,每个通道均包含一组独立的valid信号和ready信号,其中valid信号由信息输入端产生,ready信号由信息接收端产生;
当第二处理核判定5条通道的valid信号和ready信号均有效时,开始进行外围设备与第二处理核之间的数据传输。
5.根据权利要求4所述的飞行控制系统,其特征在于,所述valid信号和所述ready信号在其对应的时钟信号为上升沿时有效。
6.根据权利要求2所述的飞行控制系统,其特征在于,所述伺服机构控制IP包括PWM控制输出模块和SPI采集模块;
SPI采集模块,用于采集伺服机构的角度信息和位置信息,并传输至所述第一处理核;
PWM控制输出模块,用于接收所述第一处理核的飞行控制信号,生成PWM控制脉冲信号并输出至伺服机构。
7.一种应用权利要求1‑6任一项所述飞行控制系统的信息处理电路,其特征在于,包括:包含所述飞行控制系统的ZYNQ7020处理器,以及与ZYNQ7020处理器连接的DDR、FALSH、JTAG、晶振、信息处理电路电源模块、接口电路和伺服机构驱动电路;ZYNQ7020处理器与接口电路通过RS422接口连接,实现多路外部串口通信;ZYNQ7020处理器通过SPI通信采集伺服机构驱动电路的角度数据信息,并输出PWM控制脉冲信号至伺服机构驱动电路进行伺服控制;FLASH用于存储信息处理电路处理的数据;JTAG用于对ZYNQ7020处理器内的飞行控制系统进行软件设计;晶振用于为信息处理电路提供时钟信号;信息处理电路电源模块用于给信息处理电路供电。 说明书 : 一种基于ZYNQ7的飞行控制系统技术领域[0001] 本发明属于飞行控制系统设计技术领域,具体涉及一种基于ZYNQ7的飞行控制系统。背景技术[0002] 传统的飞行控制系统设计多为“DSP+FPGA”架构,此架构的特点为利用FPGA芯片的多通用I/O作为数据传输接口,并且FPGA具有并发性特点,在挂载多从机的情况下具有较大的优势,但是FPGA的运算能力和资源占用是一对矛盾体,故采用DSP作为信息处理中心,待FPGA将数据采集传送至DSP进行飞行姿态解算,解算指令经过再由DSP送至伺服机构控制飞行姿态。整个控制过程是FPGA芯片采集位置信息、4片单片机芯片采集角度传感器信息分别传送至DSP进行位置解算,产生控制信号输出给伺服机构,完成闭环控制。[0003] 现有的技术缺点主要表现在以下几方面:[0004] (1)传统的飞行控制系统硬件电路方案为“DSP+FPGA”架构,以此方案为基准,至少需要2片数字处理芯片、4片单片机芯片采集多种供电电路方案以及多种软件独立设计方案。系统分散、不易于后期软件维护;[0005] (2)传统的多系统控制多采用4片单片机进行角度信息采集,1片DSP完成控制信号输出,1片FPGA芯片完成位置信息采集,而且DSP和单片机指令输出为串行,数据流传输较慢、输出控制信号同步性不佳;[0006] (3)多片芯片硬件方案设计中,硬件和软件结构分散,产品整机体积较大,不易于产品小型化设计,产品的重量控制难度大。因此,目前常用的飞行控制系统硬件电路方案存在成本高且后期维护难的问题。[0007] 因此,目前常用的飞行控制系统存在成本高、数据传输效率低以及软件后期维护难的问题。发明内容[0008] 本发明的目的是提供一种基于ZYNQ7的飞行控制系统,以解决目前常用的飞行控制系统存在成本高、数据传输效率低以及软件后期维护难的问题。[0009] 为实现上述目的,本发明采用如下技术方案:[0010] 一方面,本说明书提供一种基于ZYNQ7的飞行控制系统,包括:PS端和PL端,PS端与PL端通过AXI总线进行通信传输[0011] PL端,包括伺服机构控制IP和接口IP;所述伺服机构IP与伺服机构连接;所述接口IP与外围设备连接;[0012] 接口IP,用于实现外围设备与PS端之间的通信传输;[0013] 伺服机构控制IP,用于采集伺服机构的信息数据并传输至PS端;[0014] PS端,包括第一处理核和第二处理核,两个处理核之间通过核间通信实现数据交互;所述第一处理核与所述伺服机构控制IP连接;所述第二处理核与所述接口IP连接;[0015] 第一处理核,用于对接收的伺服机构的信息数据进行解算,产生飞行控制信号并通过PL端输出至伺服机构进行伺服控制;[0016] 第二处理核,用于接收外围设备的数据并产生输出至外围设备的数据。[0017] 基于上述技术方案,本说明书能够获得如下技术效果:[0018] 本系统集成了角度传感器采集、位置信息采集以及控制信号输出于一体,其中PS端与PL端之间的通信采用AXI总线,较传统“DSP+FPGA”架构采用的EMIF总线速度更快更稳定;系统的整个控制过程是ZYNQ芯片的PL部分采集伺服机构的信息数据传送至ZYNQ芯片的PS部分进行解算,产生飞行控制信号,然后通过PL部分输出给伺服机构,完成闭环控制;整个过程只需1块ZYNQ芯片即可完成信息采集和飞行控制信号的输出,较传统“DSP+FPGA”架构,具有更快的传输速度、更少的芯片使用量,更小的功耗,从而解决目前常用的飞行控制系统存在成本高、数据传输效率低以及软件后期维护难的问题。附图说明[0019] 图1为本发明一实施例中一种基于ZYNQ7的飞行控制系统的结构示意图。[0020] 图2为本发明一实施例中FPGA软件层次结构的示意图。[0021] 图3为本发明一实施例中外部接口与接口IP核的链接关系示意图。[0022] 图4为本发明一实施例中维护模式下维护接口与接口IP核的链接关系示意图。[0023] 图5为本发明一实施例中信息处理电路的结构示意图。具体实施方式[0024] 以下结合附图和具体实施例对本发明作进一步详细说明,根据下面说明和权利要求书,本发明的优点和特征将更清楚。需要说明的是,附图均采用非常简化的形式且均适用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。[0025] 需要说明的是,为了清楚地说明本发明的内容,本发明特举多个实施例以进一步阐释本发明的不同实现方式,其中,该多个实施例是列举式而非穷举式。此外,为了说明的简洁,前实施例中已提及的内容往往在后实施例中予以省略,因此,后实施例中未提及的内容可相应参考前实施例。实施例1[0026] 请参照图1,图1所示为本实施例提供的一种基于ZYNQ7的飞行控制系统。本实施例中,该系统包括:PS端(PS部分)和PL端,PS端与PL端通过AXI总线进行通信传输;[0027] PL端,包括伺服机构控制IP和接口IP;所述伺服机构控制IP与伺服机构连接;所述接口IP与外围设备连接;[0028] 接口IP,用于实现外围设备与PS端之间的通信传输;[0029] 伺服机构控制IP,用于采集伺服机构的信息数据并传输至PS端;[0030] PS端,包括第一处理核(CPU0)和第二处理核(CPU1),两个处理核之间通过核间通信实现数据交互;所述第一处理核与所述伺服机构控制IP连接;所述第二处理核与所述接口IP连接;[0031] 第一处理核,用于对接收的伺服机构的信息数据进行解算,产生飞行控制信号并通过PL端输出至伺服机构进行伺服控制;[0032] 第二处理核,用于接收外围设备的数据并产生输出至外围设备的数据。[0033] 本实施例中,所述伺服机构控制IP与所述第一处理核通过第一AXI线连接;所述接口IP与所述第二处理核通过第二AXI线连接。[0034] 本实施例中,所述第二AXI线包括AXI通信协议,用于作为桥梁完成外围设备与第二处理核之间的数据传输;[0035] AXI通信协议包括5条通道,每个通道相互独立,分别是读地址通道、读数据通道、写地址通道、写数据通道以及写响应通道。[0036] 本实施例中,每个通道均包含一组独立的valid信号和ready信号,其中valid信号由信息输入端产生,ready信号由信息接收端产生;当第二处理核判定5条通道的valid信号和ready信号均有效时,开始进行外围设备与第二处理核之间的数据传输。[0037] 本实施例中,所述valid信号和所述ready信号在其对应的时钟信号为上升沿时有效。[0038] 具体的,在对外串口方面:FPGA软件需要实现多路外部串口通信,具有可配置波特率、串口切换以及数据缓存功能。串口功能的实现以RS‑422收发模块为基础,以Xilinx自带FIFO的IP核作为数据缓存中心,完成数据外围设备数据采集后,需要使用AXI总线的读写模块作为桥梁完成数据从外围设备到PS端的数据传输,在AXI协议中,共有5条读写通道,2条有关读的通道(readaddress读地址、readdata读数据)、3条有关写的通道(writeaddress写地址、writedata写数据、writeresponse写响应)。之所以把他们称为“通道”,是因为在每一个通道处都会有一组独立的valid和ready信号,只有在时钟的信号上升沿时,且两个信号都为高的时候才会进行数据的传输。[0039] 在外部设备数据输入时,在传输到接口IP核时需要完成数据校验,才经过AXI总线传输至PS端,在该过程中中间数据传输有多级握手机制和校验,保证数据传输完整有效。在数据传输过程中,传输源(信息输入端)产生valid信号指明数据或者控制信号的有效,目的源(信息接收端)产生ready信号指标已经准备好接收数据或控制信号,读写过程相互独立,读写通道中数据和地址线也相互独立,当读写地址通道、数据通道的valid和ready信号有效时,方可进行数据传输。在该过程中,5个通道的valid和ready信号,共计10个握手信号有效后,方可进行数据传输。[0040] 本实施例中,所述伺服机构控制IP包括PWM控制输出模块和SPI采集模块;[0041] SPI采集模块,用于采集伺服机构的角度信息和位置信息,并传输至所述第一处理核;[0042] PWM控制输出模块,用于接收所述第一处理核的飞行控制信号,生成PWM控制脉冲信号并输出至伺服机构。[0043] 具体的,在伺服控制接口方面:伺服机构控制IP需要采集4路角度反馈信号以及输出特定PWM控制脉冲信号;在PS部分与PL部分通信方面:使用ZYNQ7特有的AXI4接口协议实现通信,完成整个数据接受与控制指令输出的闭环。[0044] 在此需要说明的是,图1中的“X4”表示,对PWM控制输出模块和SPI采集模块分别进行四次例化,即本方案在完成模块设计后,通过多层例化的方式实现具体的功能需求。在本方案中,需要采集4路伺服机构的信号以及输出4路PWM脉冲控制信号,因此,分别对PWM控制输出模块和SPI采集模块进行四次例化,从而实现并行采集和并行输出4路信号的效果。[0045] 在此需要说明的是,接口IP中的“X6”表示串口的6次例化。即包含UART_TX.V模块(RS422串口发送模块)、UART_RX.V模块(RS422串口接收模块)、FIFO_RX.V模块(FIFO接收模块)、FIFO_TX.V模块(FIFO发送模块)、AXI_WE.V(AXI总线写模块)、AXI_RD.V(AXI总线读模块)用于外围模块与PS端之间的数据传输。[0046] 其中,图2中还包括FIFO_WE.V模块(FIFO写模块)、FIFO_RD.V模块(FIFO读模块),上述两个模块可作为数据缓存中心,在完成对外围设备的数据采集后,对数据进行缓存,从而实现写数据和读数据的功能。[0047] 本实施例中,所述接口IP包括1路维护端口和5路外部端口,维护端口通过维护TX线和维护RX线与外部设备的维护接口连接;每路外部端口均通过相应的TX线和RX线与外围设备的外部接口连接。[0048] 本实施例中,所述接口IP基于第二处理核生成的串口切换指令进行维护端口和外部端口的串口切换。[0049] 本实施例中,所述接口IP在接收到第二处理核输出的串口切换指令后,将工作模式调整为维护模式;所述接口IP在维护模式下,断开需要进行维护的外围设备的目标外部接口与接口IP的连接,并将维护接口的维护TX线和RX线连接到目标外部接口对应的外部端口上。[0050] 具体的,在图2中的AXI_UART.V次顶层模块中实现6路串口的例化,并在次顶级模块中完成串口切换功能,以特定指令输入给该模块,可实现串口切换。[0051] 对于外部设备而言,与飞行控制算法交互的接口在整个设备的内部完成互连,若要对外部设备进行软件维护,则需要拆开整个设备,对外部设备进行单独更新。串口切换便可解决这一问题。对于外部设备软件更新,可预留一个外部接口便可实现多个外部设备软件的更新维护,有效提升便利性。外部接口与接口IP核链接关系功能框图见图3所示。[0052] 得益于FPGA的可编程性,可利用内部的电路连接可编程特点实现串口切换。正常模式下,各外部接口通过TX与RX线与接口IP核的UART_TX、UART_RX模块的端口相连,实现数据传输;在维护模式下,断开需要进行维护的接口发送和接收线(图3中外部接口与UART_TX和UART_RX模块的连接方向虚线),将维护接口的维护TX线和维护RX线连接到需要更新的接口UART_TX与UART_RX模块上,如图4所示连接方式,即可完成维护接口与外部设备的接口互连,以实现外部设备的软件更新维护。其中,断开的TX线和RX线均设置为高阻态。[0053] 本实施例中,依据软件设计需求分析,可得到图2所示的FPGA工作软件的层次结构图,从图中可以看出,该结构为自顶向下设计,完成底层模块设计后,采用多层例化方式实现功能需求。其中AXI_UART.V模块(接口IP模块)和AXI_SPI.V模块(伺服机构控制IP模块)为两个次顶层模块,分别与PS端的两个ARM核心建立独立的连接,两个ARM核之间通信通过核间通信实现数据交互,完成指令解算和指令输出。图2中还包括一个顶层模块(TOP.V模块)和SPI接口顶层模块(TOP_SPI.V模块),SPI接口顶层模块(TOP_SPI.V模块)下采用4次例化,形成4个SPI接口模块(SPI_MOD.V模块)用于对伺服机构进行数据采集。伺服机构控制IP模块(AXI_SPI.V模块)往下进行四次例化,形成4个PWM脉冲输出模块(PWN_OD.V模块)用于输出4路PWM控制脉冲信号。[0054] 基于此,本系统是伺服机构控制IP(SPI+PWM输出)和外围设备RS422接口的集成结果,以封装成IP核形式进行整体的软件构建,在使用上只需对外部接口进行连接,操作简单,维护时只需对IP核进行修改,层次逻辑完整,便于后期维护,可单独使用,也可一起使用,具有分布式特点。[0055] 本系统具有以下有益效果:[0056] (1)融合DSP+FPGA设计,实现飞行控制一体化,节约布局布线空间,在元器件上、空间上能节约成本;[0057] (2)PS与PL端软件融合固化,在后期的软件维护上更方便;[0058] (3)采用FPGA输出控制信号,有效提高控制指令输出的同步性;[0059] (4)PS与PL端之间的通信采用AXI4通讯协议,数据流传输更快更稳定[0060] 基于此,该方案经试验证明能够有效地检测电机转动的角度位置,能输出特定PWM控制信息,能正常与外围设备通信以及串口切换实现软件维护功能。达到系统控制要求的精确性与稳定性要求。系统试验结果表明该IP核设计可靠,可操作性强、可移植性好,可以满足集成化、低成本化、可移植性等要求。[0061] 综上,本系统集成了角度传感器采集、位置信息采集以及控制信号输出于一体,其中PS端与PL端之间的通信采用AXI总线,较传统“DSP+FPGA”架构采用的EMIF总线速度更快更稳定;系统的整个控制过程是ZYNQ芯片的PL部分采集伺服机构的信息数据传送至ZYNQ芯片的PS部分进行解算,产生飞行控制信号然后通过PL部分输出给伺服机构,完成闭环控制;整个过程只需1块ZYNQ芯片即可完成信息采集和飞行控制信号的输出,较传统“DSP+FPGA”架构,具有更快的传输速度、更少的芯片使用量,更小的功耗,从而解决目前常用的飞行控制系统存在成本高、数据传输效率低以及软件后期维护难的问题。实施例2[0062] 请参照图5,图5所示为本实施例提供的一种应用飞行控制系统的信息处理电路。本实施例中,该电路包括:包含所述飞行控制系统的ZYNQ7020处理器,以及与ZYNQ7020处理器连接的DDR、FALSH、JTAG、晶振、信息处理电路电源模块、接口电路和伺服机构驱动电路;ZYNQ7020处理器与接口电路通过RS422接口连接,实现多路外部串口通信;ZYNQ7020处理器通过SPI通信采集伺服机构驱动电路的角度数据信息,并输出PWM控制脉冲信号至伺服机构驱动电路进行伺服控制;DDR用于生成控制信号控制ZYNQ7020处理器的读写功能;FLASH用于存储信息处理电路处理的数据;JTAG用于对ZYNQ7020处理器内的飞行控制系统进行软件设计;晶振用于为信息处理电路提供时钟信号;信息处理电路电源模块用于给信息处理电路供电。[0063] 基于此,信息处理电路基于ZYNQ处理器平台双核ARM+FPGA的优势,其中ARM作为数据运算处理与控制中心,负责对采集的角度信息、位置信息补偿计算后输出飞行控制指令等功能,FPGA负责采集角度信息、位置信息数据通过AXI4接口传送给ARM部分,以及对外通讯的RS‑422逻辑控制与接口管理等功能。从而利用ZYNQ7平台的双ARM+FPGA架构方案实现飞行控制,实现传统1片DSP+1片FPGA+4片单片机相同功能,基于ZYNQ7的AXI4接口具有更快的传输速度,PS与PL端软件融合固化,后期维护方便。[0064] 以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
专利地区:贵州
专利申请日期:2024-05-15
专利公开日期:2024-09-03
专利公告号:CN118192389B