一种多通道轮询调度系统及其调度机制、数据传输方法与流程

未命名 10-09 阅读:134 评论:0


1.本技术涉及计算机总线通信技术领域,具体涉及一种多通道轮询调度系统及其调度机制、数据传输方法。


背景技术:

2.串行接口在计算机系统中是一种很常见的接口,被广泛应用,串口通讯分为同步串口通讯和异步串口通讯。异步串口通讯是指外设和计算机之间通过数据信号线、地址线和控制线等,按位进行传输数据的一种通讯方式,根据数据线上高低电平的变化来指示数据内容。通常,串口通讯协议中约定的每一包串口数据由数据帧头、有效数据、数据校验和数据帧尾构成。对接收到的串口数据,需要解析并判断数据帧头、有效数据、数据校验和数据帧尾。
3.现阶段,对于一套系统来说,串口的作用非常重要,模块与模块之间的通信和外部信号的采集均需要通过串口来完成接收和发送。通常情况下,用户对于系统的上层控制采用一路高速总线,而底层串口为多路,上层对于底层的控制采用cpu顺序执行的方式,底层的各通道依序与上层进行数据交互,这种串行的方式造成了多条通道并行性较差。


技术实现要素:

4.鉴于现有技术中的上述缺陷或不足,本技术旨在提供一种多通道轮询调系统及其调度机制、数据传输方法。
5.第一方面,本技术提供一种多通道轮询调度系统,包括:
6.多个串行模块,各所述串行模块与外部设备连接,配置用于接收所述外部设备发送的数据;
7.多个第一接收缓存模块,各所述第一接收缓存模块与所述串行模块远离所述外部设备端连接,配置用于存储数据;所述第一接收缓存模块具有第一状态和第二状态,当处于第一状态时,所述第一接收缓存模块内存储有数据,当处于所述第二状态时,所述第一接收缓存模块中未存储有数据;
8.轮询调度模块,所述轮询调度模块与各所述第一接收缓存模块远离所述串行模块端连接,配置用于依序依次查询所述第一接收缓存模块的状态,当所述第一接收缓存模块的状态为所述第一状态时,获取该所述第一接收缓存模块的数据,并通过高速总线发送至上位机;当所述第一接收缓存模块的状态为所述第二状态时,则继续询问下一个所述第一接收缓存模块。
9.根据本技术实施例提供的技术方案,所述高速总线包括但不仅限于pci总线、pcie总线、lvds串行差分总线、千兆以太网中的任一个。
10.根据本技术实施例提供的技术方案,各所述串行模块通过下行串口与所述外部设备连接,所述下行串口包括但不仅限于hdlc串口、uart串口中的任一个。
11.根据本技术实施例提供的技术方案,所述轮询调度模块还配置用于将由所述第一
接收缓存模块中取得的数据进行封装形成第一封装数据。
12.根据本技术实施例提供的技术方案,所述轮询调度模块和所述上位机之间设有第二接收缓存模块,所述轮询调度模块将所述第一封装数据写入所述第二接收缓存模块,待所述高速总线空闲时,将所述第一封装数据发送出去。
13.根据本技术实施例提供的技术方案,所述第一封装数据包括帧头、数据类型、数据长度、通道号、第一有效数据、校验和帧尾。
14.根据本技术实施例提供的技术方案,所述第二接收缓存模块和所述上位机之间设有总线控制模块,所述总线控制模块通过所述高速总线与所述上位机连接,所述总线控制模块配置用于将所述第一封装数据转换为适用于所述高速总线的格式,得到第二封装数据。
15.第二方面,本技术提供一种以上所述的多通道轮询调度系统的调度机制,所述多通道轮询调度系统包括多个通道,各所述通道包括所述串行模块和所述第一接收缓存模块,所述调度机制包括如下步骤:
16.s101、系统复位,所述轮询调度模块处于空闲状态;
17.s102、判断所有所述第一接收缓存模块是否都处于所述第二状态,若是,所述轮询调度模块仍处于空闲状态,若不是,执行步骤s103;
18.s103、依序询问所述第一接收缓存模块是否处于所述第一状态,若是,执行步骤s104,若不是,执行步骤s105;
19.s104、读取该所述第一接收缓存模块的数据,并对下个通道的所述第一接收缓存模块执行步骤s103;
20.s105、对下个通道的所述第一接收缓存模块执行步骤s103。
21.第三方面,本技术提供一种以上所述的多通道调度系统的数据传输方法,所述数据传输方法包括数据上传方法和数据下发方法,其中所述数据上传方法包括如下步骤:
22.s200、接收多个所述外部设备发送的第一数据;
23.s201、满足第一触发条件后,获得第一有效数据,并将所述第一有效数据发送至所述第一接收缓存模块;
24.s202、判断所述第一接收缓存模块的状态为所述第一状态时,读取所述第一有效数据;
25.s203、封装所述第一有效数据,形成第一封装数据;
26.s204、将所述第一封装数据存储至所述第二接收缓存模块;
27.s205、判断所述高速总线处于空闲状态时,将所述第一封装数据发送至所述总线控制模块;
28.s206、将所述第一封装数据转换为第二封装数据;
29.s207、将所述第二封装数据发送至所述上位机。
30.根据本技术实施例提供的技术方案,所述数据下发方法包括如下步骤:
31.s300、接收来自所述上位机发送的第二数据并将所述第二数据存储至第二发送缓存模块;
32.s301、判断所述第二发送缓存模块处于第三状态时,读取所述第二数据;所述第三状态为所述第二发送缓存模块有数据;
33.s302、提取所述第二数据,获得通道号以及与所述通道号对应的第二有效数据;
34.s303、将所述第二有效数据写入与所述通道号对应的第一发送缓存模块;
35.s304、满足第二触发条件后,将所述第二有效数据发送至所述串行模块,并发送至所述外部设备。
36.综上所述,本技术提出一种多通道轮询调度系统,包括多个串行模块,与各串行模块连接的第一接收缓存模块,和各第一接收缓存模块连接的轮询调度模块,第一接收缓存模块具有第一状态和第二状态,第一状态代表第一接收缓存模块内有数据,第二状态代表第一接收缓存模块中没有数据,轮询调度模块依次查询各通道的第一接收缓存模块的状态,在此过程中,若第一接收缓存模块的状态为第一状态,则获取该第一接收缓存模块中的数据,并通过高速总线发送至上位机。本技术通过轮询调度模块通过轮询方式对底层通道进行合理的调度控制,使得每个通道与上位机交互彼此独立,不相互影响,在宏观上具有更好的并行度,且与现有技术的串行方式相比,具有较强的实时性。
附图说明
37.图1为本技术实施例提供的多通道轮询调度系统的结构示意图;
38.图2为本技术实施例提供的具有第一发送缓存模块、第二发送缓存模块、总线控制模块的多通道轮询调度系统的结构示意图;
39.图3为本技术实施例提供的多通道轮询调度系统的轮询调度机制流程图;
40.图4为本技术实施例提供的轮询调度模块具体状态机迁移过程示意图;
41.图5为本技术实施例提供的多通道轮询调度系统的数据上传流程图;
42.图6为本技术实施例提供的多通道轮询调度系统的数据下发流程图。
43.100、串行模块;200、外部设备;310、第一接收缓存模块;320、第一发送缓存模块;400、轮询调度模块;500、上位机;600、总线控制模块;710、第二发送缓存模块;720、第二接收缓存模块。
具体实施方式
44.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
45.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
46.诚如背景技术中提到的技术问题,本技术提出了一种多通道轮询调度系统,请参考图1所示,包括:
47.多个串行模块100,各所述串行模块100与外部设备200连接,配置用于接收所述外部设备200发送的数据;
48.多个第一接收缓存模块310,各所述第一接收缓存模块310与所述串行模块100远离所述外部设备200端连接,配置用于存储数据;所述第一接收缓存模块310具有第一状态和第二状态,当处于第一状态时,所述第一接收缓存模块310内存储有数据,当处于所述第二状态时,所述第一接收缓存模块310中未存储有数据;
49.轮询调度模块400,所述轮询调度模块400与各所述第一接收缓存模块310远离所述串行模块100端连接,配置用于依序依次查询所述第一接收缓存模块310的状态,当所述第一接收缓存模块310的状态为所述第一状态时,获取该所述第一接收缓存模块310的数据,并通过高速总线发送至上位机500;当所述第一接收缓存模块310的状态为所述第二状态时,则继续询问下一个所述第一接收缓存模块310。
50.所述高速总线包括但不仅限于pci总线、pcie总线、lvds串行差分总线、千兆以太网中的任一个;各所述串行模块100通过下行串口与所述外部设备连接,所述下行串口包括但不仅限于hdlc串口、uart串口中的任一个,当所述外部设备200向上位机500方向发送数据时,所述下行串口按照各自的协议去接收来自外部设备200的数据,如果是同步串口的话,需根据时钟的上升沿或下降沿对数据的中心进行采集;如果是异步串口的话,需根据数据线上上升沿或下降沿的变化进行采集。所述多通道轮询调度系统包括多个通道(通道1、通道2、通道3、

、通道n),各所述通道具有串行模块100和与所述串行模块100连接的第一接收缓存模块310,可选地,所述第一接收缓存模块310为fifo(first input first output)存储器,所述fifo存储器的接口为输入8bit,输出为64bit,深度为256。
51.所述下行串口通过与所述下行串口对应的串行总线与所述外部设备200连接,所述串行模块100中设有移位寄存器,当接收所述串行总线上发送的数据时,会将接收到的数据一比特一比特的移入到所述移位寄存器内,当所述移位寄存器内满一个字节后,触发所述第一接收缓存模块310的写使能信号,将所述移位寄存器中的内容写入到所述第一接收缓存模块310中。
52.所述轮询调度模块400会根据所述第一接收缓存模块310的空信号来判断是否有数据取出,当空信号为低时,则所述第一接收缓存模块310处于所述第一状态,所述轮询调度模块400读取所述第一接收缓存模块310中的内容;当空信号为高时,则所述第一接收缓存模块310处于第二状态。本技术通过所述轮询调度模块400根据通道的通道号依序由通道1对应的所述第一接收缓存模块310开始进行依次查询,当通道1对应的所述第一接收缓存模块310处于所述第一状态时,所述轮询调度模块400读取该所述第一接收缓存模块310的数据,并继续询问与通道2对应的所述第一接收缓存模块310;当通道1对应的所述第一接收缓存模块310处于所述第二状态时,直接询问与通道2对应的所述第一接收缓存模块310;所述轮询调度模块400通过此方式对所有通道的所述第一接收缓存模块310进行依次查询,实现了对多路串口的完全并行控制,具有较强的实时性和并行性。
53.在一优选实施例中,所述轮询调度模块400还配置用于将由所述第一接收缓存模块310中取得的数据进行封装形成第一封装数据。所述第一封装数据包括帧头、数据类型、数据长度、通道号、第一有效数据、校验和帧尾。
54.其中,所述第一封装数据的格式如表-1所示:
55.表-1
56.[0057][0058]
其中,帧头为32hfb0000fb,数据类型包括:0表示同步串口,1表示异步串口;通道号:0代表通道1,1代表通道2,2代表通道3

以此类推,所述第一有效数据为存储在所述第一接收缓存模块310中的数据;当所述第一有效数据不足64bit时,在其后补0x55,帧尾为32hfd0000fd。
[0059]
在一优选实施例中,所述轮询调度模块400和所述上位机500之间设有第二接收缓存模块720,所述轮询调度模块400将所述第一封装数据写入所述第二接收缓存模块720,待所述高速总线空闲时,将所述第一封装数据发送出去。
[0060]
其中,所述第二接收缓存模块720同样是fifo存储器,不同之处在于,所述第二接收缓存模块720为高速缓存模块,接口输入为xbit,此处x为所述高速总线的读写位宽,输出为64bit,深度为8192。
[0061]
在一优选实施例中,请参考图2所示,所述第二接收缓存模块720和所述上位机500之间设有总线控制模块600,所述总线控制模块600通过所述高速总线与所述上位机500连接,所述总线控制模块600配置用于将所述第一封装数据转换为适用于所述高速总线的格式,得到第二封装数据。
[0062]
其中,所述总线控制模块600与所述高速总线相配,例如,所述高速总线为pcie总线,则所述总线控制模块600为pcie总线控制模块,所述第二封装数据为适用于所述pcie总线协议的格式。
[0063]
实施例2
[0064]
在实施例1的基础上,本技术提供了一种多通道轮询调度机制,所述多通道轮询调度系统包括多个通道,各所述通道包括所述串行模块100和所述第一接收缓存模块310,请参考图4所示,所述调度机制包括如下步骤:
[0065]
s101、系统复位,所述轮询调度模块400处于空闲状态;
[0066]
s102、判断所有所述第一接收缓存模块310是否都处于所述第二状态,若是,所述轮询调度模块400仍处于空闲状态,若不是,执行步骤s103;
[0067]
s103、依序询问所述第一接收缓存模块310是否处于所述第一状态,若是,执行步骤s104,若不是,执行步骤s105;
[0068]
s104、读取该所述第一接收缓存模块310的数据,并对下个通道的所述第一接收缓存模块310执行步骤s103;
[0069]
s105、对下个通道的所述第一接收缓存模块310执行步骤s103。
[0070]
其中,所述轮询调度模块400通过设计状态机来实现调度控制,以n为16为例,所述状态机状态描述如表-2所示:
[0071]
表-2
[0072]
状态名称状态描述demux16_rst空闲状态。系统复位后进入该状态。demux16_chn1通道1被选中demux16_chn2通道2被选中demux16_chn3通道3被选中
…………
demux16_chn15通道15被选中demux16_chn16通道16被选中demux16_chn_w将数据写入到第二接收缓存模块中
[0073]
状态机状态迁移描述件表-3所示:
[0074]
表-3
[0075][0076][0077]
具体状态机迁移过程如图3所示,当满足任一通道的所述第一接收缓存模块310的状态为第一状态时,由demux16_rst状态向demux16_chn1状态迁移时,并开始由通道1向通道16依次查询,此过程中,当任一通道的所述第一接收缓存模块310的状态为所述第一状态时,则将该所述第一接收缓存模块310的数据发送至所述第二接收缓存模块720中,例如满足条件4:通道1第一接收缓存模块310为第一状态时,由demux16_chn1状态向demux16_chn_w状态迁移。当写入第二接收缓存模块720未完成(条件21)时,始终保持demux16_chn_w状
态,当通道16写入所述第二接收缓存模块720完成(条件22),则所述轮询调度模块400变为空闲状态,由demux16_chn_w状态向demux16_rst状态迁移。当除了通道16的其它通道写入所述第二接收缓存模块720完成(条件23),则跳转到通道1,由demux16_chn_w状态向demux16_chn1状态迁移。
[0078]
实施例3
[0079]
在实施例1和实施例2的基础上,本技术提供一种多通道轮询调度系统的数据传输方法,所述数据传输方法包括数据上传方法和数据下发方法,其中,请参考图5所示,所述数据上传方法包括如下步骤:
[0080]
s200、接收多个所述外部设备200发送的第一数据;
[0081]
s201、满足第一触发条件后,获得第一有效数据,并将所述第一有效数据发送至所述第一接收缓存模块310;
[0082]
其中所述串行模块100通过下行串口接收所述第一数据,接收数据时,会将接收到的数据移入所述移位寄存器内,所述第一触发条件为所述移位寄存器满足一个字节,一个字节的内容位所述第一有效数据,并将所述第一有效数据写入所述第一接收缓存模块310内。
[0083]
s202、判断所述第一接收缓存模块310的状态为所述第一状态时,读取所述第一有效数据;
[0084]
开始轮询过程,依序轮流获取处于所述第一状态的所述第一接收缓存模块310中的所述第一有效数据。
[0085]
s203、封装所述第一有效数据,形成第一封装数据;
[0086]
s204、将所述第一封装数据存储至所述第二接收缓存模块720;
[0087]
s205、判断所述高速总线处于空闲状态时,将所述第一封装数据发送至所述总线控制模块600;
[0088]
s206、将所述第一封装数据转换为第二封装数据;通过所述总线控制模块600将所述第一封装数据转换为适用于所述高速总线的格式;
[0089]
s207、将所述第二封装数据发送至所述上位机500;通过所述高速总线将所述第二封装数据发送至所述上位机500,完成了数据的上传。
[0090]
实施例4
[0091]
在实施例1和实施例2的基础上,本技术提供了一种多通道轮询调度系统的数据下发方法,请参考图6所示,包括如下步骤:
[0092]
s300、接收来自所述上位机500发送的第二数据并将所述第二数据存储至第二发送缓存模块710;
[0093]
s301、判断所述第二发送缓存模块710处于第三状态时,读取所述第二数据;所述第三状态为所述第二发送缓存模块710有数据;
[0094]
s302、提取所述第二数据,获得通道号以及与所述通道号对应的第二有效数据;
[0095]
s303、将所述第二有效数据写入与所述通道号对应的第一发送缓存模块320;
[0096]
s304、满足第二触发条件后,将所述第二有效数据发送至所述串行模块100,并发送至所述外部设备200。
[0097]
其中,所述轮询调度模块400和各所述串行模块100之间还设有第一发送缓存模块
320,所述第一发送缓存模块320的型号与所述第一接收缓存模块310的相同;所述轮询调度模块400与所述总线控制模块600之间还设有第二发送缓存模块710,所述第二发送缓存模块710和所述第二接收缓存模块720的型号相同。当所述上位机500向所述外部设备200发送数据时,所述轮询调度模块400会监测所述第二发送缓存模块710的状态,所述第二发送缓存模块710具有所述第三状态,当所述第二发送缓存模块710空信号为低时,则所述第二发送缓存模块710处于所述第三状态,代表所述第二发送缓存模块710中有数据;将所述第二数据发送至所述轮询调度模块400后,所述轮询调度模块400会对所述第二数据进行解析,获取通道号,以及第二有效数据;所述第二触发条件为所述第一发送缓存模块320的空信号为低时,则代表所述第一发送缓存模块320内有数据,触发所述串行模块100将所述第一发送缓存模块320中的数据取出,并根据对应的协议将数据发送至与第一发送缓存模块320对应的外部设备200,直至第一发送缓存模块320中的数据发送完为止。
[0098]
以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术特征:
1.一种多通道轮询调度系统,其特征在于,包括:多个串行模块(100),各所述串行模块(100)与外部设备(200)连接,配置用于接收所述外部设备(200)发送的数据;多个第一接收缓存模块(310),各所述第一接收缓存模块(310)与所述串行模块(100)远离所述外部设备(200)端连接,配置用于存储数据;所述第一接收缓存模块(310)具有第一状态和第二状态,当处于第一状态时,所述第一接收缓存模块(310)内存储有数据,当处于所述第二状态时,所述第一接收缓存模块(310)中未存储有数据;轮询调度模块(400),所述轮询调度模块(400)与各所述第一接收缓存模块(310)远离所述串行模块(100)端连接,配置用于依序依次查询所述第一接收缓存模块(310)的状态,当所述第一接收缓存模块(310)的状态为所述第一状态时,获取该所述第一接收缓存模块(310)的数据,并通过高速总线发送至上位机(500);当所述第一接收缓存模块(310)的状态为所述第二状态时,则继续询问下一个所述第一接收缓存模块(310)。2.根据权利要求1所述的多通道轮询调度系统,其特征在于,所述高速总线包括但不仅限于pci总线、pcie总线、lvds串行差分总线、千兆以太网中的任一个。3.根据权利要求1所述的多通道轮询调度系统,其特征在于,各所述串行模块(100)通过下行串口与所述外部设备(200)连接,所述下行串口包括但不仅限于hdlc串口、uart串口中的任一个。4.根据权利要求1所述的多通道轮询调度系统,其特征在于,所述轮询调度模块(400)还配置用于将由所述第一接收缓存模块(310)中取得的数据进行封装形成第一封装数据。5.根据权利要求4所述的多通道轮询调度系统,其特征在于,所述轮询调度模块(400)和所述上位机(500)之间设有第二接收缓存模块(720),所述轮询调度模块(400)将所述第一封装数据写入所述第二接收缓存模块(720),待所述高速总线空闲时,将所述第一封装数据发送出去。6.根据权利要求4所述的多通道轮询调度系统,其特征在于,所述第一封装数据包括帧头、数据类型、数据长度、通道号、第一有效数据、校验和帧尾。7.根据权利要求5所述的多通道轮询调度系统,其特征在于,所述第二接收缓存模块(720)和所述上位机(500)之间设有总线控制模块(600),所述总线控制模块(600)通过所述高速总线与所述上位机(500)连接,所述总线控制模块(600)配置用于将所述第一封装数据转换为适用于所述高速总线的格式,得到第二封装数据。8.一种根据权利要求1-7任一项所述的多通道轮询调度系统的调度机制,其特征在于,所述多通道轮询调度系统包括多个通道,各所述通道包括所述串行模块(100)和所述第一接收缓存模块(310),所述调度机制包括如下步骤:s101、系统复位,所述轮询调度模块(400)处于空闲状态;s102、判断所有所述第一接收缓存模块(310)是否都处于所述第二状态,若是,所述轮询调度模块(400)仍处于空闲状态,若不是,执行步骤s103;s103、依序询问所述第一接收缓存模块(310)是否处于所述第一状态,若是,执行步骤s104,若不是,执行步骤s105;s104、读取该所述第一接收缓存模块(310)的数据,并对下个通道的所述第一接收缓存模块(310)执行步骤s103;
s105、对下个通道的所述第一接收缓存模块(310)执行步骤s103。9.一种根据权利要求7所述的多通道轮询调度系统的数据传输方法,其特征在于,所述数据传输方法包括数据上传方法和数据下发方法,其中所述数据上传方法包括如下步骤:s200、接收多个所述外部设备(200)发送的第一数据;s201、满足第一触发条件后,获得第一有效数据,并将所述第一有效数据发送至所述第一接收缓存模块(310);s202、判断所述第一接收缓存模块(310)的状态为所述第一状态时,读取所述第一有效数据;s203、封装所述第一有效数据,形成第一封装数据;s204、将所述第一封装数据存储至所述第二接收缓存模块(720);s205、判断所述高速总线处于空闲状态时,将所述第一封装数据发送至所述总线控制模块(600);s206、将所述第一封装数据转换为第二封装数据;s207、将所述第二封装数据发送至所述上位机(500)。10.根据权利要求9所述的多通道轮询调度系统的数据传输方法,其特征在于,所述数据下发方法包括如下步骤:s300、接收来自所述上位机(500)发送的第二数据并将所述第二数据存储至第二发送缓存模块(710);s301、判断所述第二发送缓存模块(710)处于第三状态时,读取所述第二数据;所述第三状态为所述第二发送缓存模块(710)有数据;s302、提取所述第二数据,获得通道号以及与所述通道号对应的第二有效数据;s303、将所述第二有效数据写入与所述通道号对应的第一发送缓存模块(320);s304、满足第二触发条件后,将所述第二有效数据发送至所述串行模块(100),并发送至所述外部设备(200)。

技术总结
本申请提出一种多通道轮询调度系统及其调度机制、数据传输方法,其中,多通道轮询调度系统包括多个串行模块,与各串行模块连接的第一接收缓存模块,和各第一接收缓存模块连接的轮询调度模块,第一接收缓存模块具有第一状态和第二状态,第一状态代表第一接收缓存模块内有数据,第二状态代表第一接收缓存模块中没有数据,轮询调度模块依次查询各通道的第一接收缓存模块的状态,在此过程中,若第一接收缓存模块的状态为第一状态,则获取该第一接收缓存模块中的数据,并通过高速总线发送至上位机。本申请通过轮询调度模块通过轮询方式对所有通道的所述第一接收缓存模块进行依次查询,实现了对多路串口的完全并行控制,具有较强的实时性和并行性。时性和并行性。时性和并行性。


技术研发人员:赵旭琛
受保护的技术使用者:天津津航计算技术研究所
技术研发日:2023.06.30
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐