CN114968892A - 一种调度硬件电路及调度方法 - Google Patents
一种调度硬件电路及调度方法 Download PDFInfo
- Publication number
- CN114968892A CN114968892A CN202210685460.7A CN202210685460A CN114968892A CN 114968892 A CN114968892 A CN 114968892A CN 202210685460 A CN202210685460 A CN 202210685460A CN 114968892 A CN114968892 A CN 114968892A
- Authority
- CN
- China
- Prior art keywords
- memory
- identification number
- scheduling
- data
- data frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000004891 communication Methods 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims description 53
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 23
- 238000004088 simulation Methods 0.000 abstract description 13
- 238000012360 testing method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000000737 periodic effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供的一种调度硬件电路及调度方法,该调度硬件电路包括:数据输出模块和SDI调度模块,SDI调度模块包括周期配置存储器、偏移配置存储器、调度数据存储器、输出队列存储器、状态机以及存储结构初始化单元,存储结构初始化单元分别与周期配置存储器、偏移配置存储器和调度数据存储器通信连接,状态机分别与周期配置存储器、偏移配置存储器和输出队列存储器通信连接,输出队列存储器与调度数据存储器通信连接,调度数据存储器与数据输出模块通信连接。本公开通过SDI调度模块进行存储结构初始化操作和SDI调度流程管理,以硬件电路加逻辑控制的方式,在复杂仿真测试场景下实现ARINC429总线的调度功能。
Description
技术领域
本公开涉及数据调度技术领域,尤其涉及一种调度硬件电路及调度方法。
背景技术
ARINC429是机载电子设备之间进行数据传输约定的一种标准协议,传输的基本单位是字。当前,在总线仿真测试领域,为了实现ARINC429总线的调度功能,通常是基于专门的ARINC429总线发送和接收功能控制器芯片,通过软件查询控制器芯片状态位寄存器或中断驱动软件的方式,实现通信接口中数据的接收或发送。
然而,由于ARINC429总线发送和接收功能控制器芯片只能实现基本的物理层收发功能,即扮演数据通路的角色,无法在协议层进行复杂的发送模式仿真,且随着机载电子系统复杂度的提高,通过软件查询的方式越来越难以满足实际应用情况下的调度实时性和场景复杂性的要求。
因此,如何在复杂仿真测试场景下,实现ARINC429总线的调度功能,成为本领域技术人员急需解决的技术问题。
发明内容
鉴于上述问题,本公开提供一种克服上述问题或者至少部分地解决上述问题的一种调度硬件电路及调度方法,技术方案如下:
一种调度硬件电路,所述调度硬件电路包括:数据输出模块和SDI调度模块,所述SDI调度模块包括周期配置存储器、偏移配置存储器、调度数据存储器、输出队列存储器、状态机以及存储结构初始化单元,所述存储结构初始化单元分别与所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器通信连接,所述状态机分别与所述周期配置存储器、所述偏移配置存储器和所述输出队列存储器通信连接,所述输出队列存储器与所述调度数据存储器通信连接,所述调度数据存储器与所述数据输出模块通信连接,
所述存储结构初始化单元,用于对所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器进行初始化操作,将所述ARINC429数据字对应的Lable标识编号以及与所述Lable标识编号对应的各SDI标识编号作为存储地址,将所述ARINC429数据字写入所述偏移配置存储器和所述调度数据存储器中,在所述偏移配置存储器中对所述Lable标识编号配置首次发送时间,在所述周期配置存储器中对与所述Lable标识编号配置发送周期,其中,所述SDI标识编号对应所述ARINC429数据字中的一个数据帧;
所述状态机,用于对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号对应的所述首次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第一SDI标识编号对应的第一数据帧,在确定发送所述第一数据帧的情况下,将读取到的所述第一数据帧传输至所述数据输出模块,并根据所述周期配置存储器中与所述Lable标识编号对应的所述发送周期和所述首次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间。
可选的,所述状态机,还用于对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号配置的所述下一次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第二SDI标识编号对应的第二数据帧,在确定发送所述第二数据帧的情况下,将读取到的所述第二数据帧传输至所述数据输出模块,并根据所述发送周期和所述下一次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间,以此类推,直至在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
可选的,所述状态机,还用于在读取到所述第一数据帧的情况下,检测所述第一数据帧的最高位是否为预设有效数值,如果是,则确定发送所述第一数据帧,如果不是,则确定不发送所述第一数据帧。
可选的,所述状态机,还用于在确定不发送所述第一数据帧的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第三SDI标识编号对应的第三数据帧,将所述第三数据帧确定为第一数据帧,返回检测所述第一数据帧的最高位是否为所述预设有效数值,以此类推,直至确定出发送的数据帧或在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
可选的,所述调度硬件电路还包括:ARINC429芯片和电平转换芯片,所述数据输出模块经所述电平转换芯片与所述ARINC429芯片通信连接。
可选的,所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器为随机存取存储结构,和/或,所述输出队列存储器为先进先出存储结构。
一种调度方法,应用于上述任一项所述的调度硬件电路,所述调度方法包括:
对所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器进行初始化操作,将所述ARINC429数据字对应的Lable标识编号以及与所述Lable标识编号对应的各SDI标识编号作为存储地址,将所述ARINC429数据字写入所述偏移配置存储器和所述调度数据存储器中,在所述偏移配置存储器中对所述Lable标识编号配置首次发送时间,在所述周期配置存储器中对与所述Lable标识编号配置发送周期,其中,所述SDI标识编号对应所述ARINC429数据字中的一个数据帧;
对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号对应的所述首次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第一SDI标识编号对应的第一数据帧,在确定发送所述第一数据帧的情况下,将读取到的所述第一数据帧传输至所述数据输出模块,并根据所述周期配置存储器中与所述Lable标识编号对应的所述发送周期和所述首次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间。
可选的,该调度方法还包括:对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号配置的所述下一次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第二SDI标识编号对应的第二数据帧,在确定发送所述第二数据帧的情况下,将读取到的所述第二数据帧传输至所述数据输出模块,并根据所述发送周期和所述下一次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间,以此类推,直至在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
可选的,该调度方法还包括:在读取到所述第一数据帧的情况下,检测所述第一数据帧的最高位是否为预设有效数值,如果是,则确定发送所述第一数据帧,如果不是,则确定不发送所述第一数据帧。
可选的,该调度方法还包括:在确定不发送所述第一数据帧的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第三SDI标识编号对应的第三数据帧,将所述第三数据帧确定为第一数据帧,返回所述检测所述第一数据帧的最高位是否为预设有效数值的步骤,以此类推,直至确定出发送的数据帧或在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
借由上述技术方案,本公开提供的一种调度硬件电路及调度方法,该调度硬件电路包括:数据输出模块和SDI调度模块,SDI调度模块包括周期配置存储器、偏移配置存储器、调度数据存储器、输出队列存储器、状态机以及存储结构初始化单元,存储结构初始化单元分别与周期配置存储器、偏移配置存储器和调度数据存储器通信连接,状态机分别与周期配置存储器、偏移配置存储器和输出队列存储器通信连接,输出队列存储器与调度数据存储器通信连接,调度数据存储器与数据输出模块通信连接。本公开通过SDI调度模块进行存储结构初始化操作和SDI调度流程管理,以硬件电路加逻辑控制的方式,在复杂仿真测试场景下实现ARINC429总线的调度功能。
上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本公开实施例提供的调度硬件电路的一种逻辑结构示意图;
图2示出了本公开实施例提供的发送周期的说明示意图;
图3示出了本公开实施例提供的调度硬件电路的另一种逻辑结构示意图;
图4示出了本公开实施例提供的调度方法的一种实施方式的流程示意图;
图5示出了本公开实施例提供的调度方法的另一种实施方式的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在总线仿真测试领域,在满足常规仿真场景下调度功能的基础上,也需要在特殊仿真场景下实现可靠的ARINC429总线的调度功能。由于现有的ARINC429总线接口仿真设备是基于ARINC429总线发送和接收功能控制器芯片实现,而ARINC429总线发送和接收功能控制器芯片只能实现基本的物理层收发功能,即扮演数据通路的角色,无法在协议层进行复杂的发送调度仿真,因此需要探索在协议层上实现更复杂的调度功能。
当前,在协议层上实现更复杂的调度功能,通常受限于采用的协议控制器芯片本身功能,从而导致调度灵活性低,且难以保证调度功能的实时性。为了解决前述灵活性和实时性的问题,本公开可以基于可编程的FPGA芯片,以硬件电路加逻辑控制的方式实现ARINC429总线的调度功能。
如图1所示,本公开实施例提供的调度硬件电路的一种逻辑结构示意图,该调度硬件电路可以包括:数据输出(A429_TX)模块和SDI(Serial Digital Interfac,数字串行接口)调度(scheduler)模块。该调度硬件电路基于FPGA芯片(Field Programmable GateArray,现场可编程逻辑门阵列)实现。其中,FPGA芯片是可编程的数字集成电路芯片。本公开实施例通过FPGA芯片对ARINC429数据字进行周期调度发送处理,该FPGA芯片的发送顶层包括数据输出模块和SDI调度模块。
其中,数据输出模块作为物理层和协议层的转换角色,用于根据常规数据转换协议,按照不同的波特率将数据帧转换为外部ARINC429发送芯片可识别的形式,对数据帧进行发送。
其中,SDI调度模块用于完成并实现周期调度的发送方式,通过利用数据帧中的SDI标识扩展周期调度的消息数量。
如图1所示,本公开实施例提供的SDI调度模块100包括周期配置存储器101(period_sdram)、偏移配置存储器102(offset_sdram)、调度数据存储器103(data_sdram)、输出队列存储器104(out_queue)、状态机105(CS_STATE)以及存储结构初始化单元106(initial_ram_logic)。其中,存储结构初始化单元106分别与周期配置存储器101、偏移配置存储器102和调度数据存储器103通信连接,状态机105分别与周期配置存储器101、偏移配置存储器102和输出队列存储器104通信连接,输出队列存储器104与调度数据存储器103通信连接,调度数据存储器103与数据输出模块200通信连接。
其中,偏移配置存储器102和调度数据存储器103用于存储调度数据。周期配置存储器101用于存储周期配置信息。可选的,周期配置存储器101、偏移配置存储器102和调度数据存储器103为随机存取存储结构(Random Access Memory,RAM)。
其中,输出队列存储器104用于存储待发送的数据帧的存储地址信息。可选的,输出队列存储器104为先进先出存储结构(First Input First Output,FIFO)。
其中,状态机105用于根据周期配置存储器101、偏移配置存储器102、调度数据存储器103以及输出队列存储器104中存储的数据和信息,控制发送调度流程。
其中,存储结构初始化单元106用于按照预设初始化逻辑,对周期配置存储器101、偏移配置存储器102以及调度数据存储器103进行相应的初始化操作。
具体的,存储结构初始化单元106,用于对周期配置存储器101、偏移配置存储器102和调度数据存储器103进行初始化操作,将ARINC429数据字对应的Lable标识编号以及与Lable标识编号对应的各SDI标识编号作为存储地址,将ARINC429数据字写入偏移配置存储器102和调度数据存储器103中,在偏移配置存储器102中对Lable标识编号配置首次发送时间,在周期配置存储器101中对与Lable标识编号配置发送周期,其中,SDI标识编号对应ARINC429数据字中的一个数据帧。
存储结构初始单元在对调度数据存储器103进行初始化操作时,根据上位机配置的ARINC429数据字对应的Lable标识编号和与Lable标识编号对应的SDI标识编号的组合作为存储地址,将该ARINC429数据字写入调度数据存储器103中。例如:假设ARINC429数据字对应的Lable标识编号为“Label2”,该“Label2”对应的SDI标识编号为“sdi0”、“sdi1”和“sdi2”,则在调度数据存储器103中,写入ARINC429数据字中与“sdi0”对应的数据帧的存储地址为“Label2_sdi0”,写入ARINC429数据字中与“sdi1”对应的数据帧的存储地址为“Label2_sdi1”,写入ARINC429数据字中与“sdi2”对应的数据帧的存储地址为“Label2_sdi2”。
存储结构初始单元在对偏移配置存储器102进行初始化操作时,根据上位机配置的ARINC429数据字对应的Lable标识编号和与Lable标识编号对应的SDI标识编号的组合作为存储地址,将该ARINC429数据字写入偏移配置存储器102中,并对该Lable标识编号配置首次发送时间。同时,在偏移配置存储器102中每向一个存储地址写入数据帧时,将该数据帧的最高位设置为预设有效数值,其中,预设有效数值用于指示是否发送该数据帧。可选的,预设有效数值可以为1。
存储结构初始单元在对周期配置存储器101进行初始化操作时,根据上位机配置的ARINC429数据字对应的Lable标识编号,对该Lable标识编号配置发送周期,该发送周期用于指示与该Lable标识编号对应的各SDI标识编号对应的数据帧之间的发送间隔相同。例如:结合图2所示的发送周期的说明示意图,假设Lable标识编号“Lable7”,方格用于表示“Lable7”下的数据帧,方格中的数字用于表示数据帧对应的SDI标识编号,则“Lable7”对应的SDI标识编号包括“sdi0”、“sdi1”、“sdi2”以及“sdi3”,且发送周期为ΔT,则每次计时周期为ΔT的整数倍时分别依次连续发送“Label7_sdi0”、“Label7_sdi1”、“Label7_sdi3”和“Label7_sdi4”下的数据帧。
具体的,对偏移配置存储器102中存储的ARINC429数据字:在检测到本地时间达到Lable标识编号对应的首次发送时间的情况下,将Lable标识编号写入输出队列存储器104,在输出队列存储器104读取到Lable标识编号的情况下,在调度数据存储器103中读取与Lable标识编号对应的第一SDI标识编号对应的第一数据帧,在确定发送第一数据帧的情况下,将读取到的第一数据帧传输至数据输出模块200,并根据周期配置存储器101中与Lable标识编号对应的发送周期和首次发送时间,在偏移配置存储器102中对Lable标识编号配置下一次发送时间。
对于偏移配置存储器102中存储的任一ARINC429数据字,状态机105可以检测该ARINC429数据字对应的Lable标识编号在周期配置存储器101中配置的第一发送时间,在本地时间达到该第一发送时间的情况下,将该Lable标识编号写入输出队列存储器104中排队等待读取。可以理解的是,第一发送时间可以是首次发送时间。
状态机105依次读取在输出队列存储器104中存储的Lable标识编号,在读取到任一Lable标识编号的情况下,在调度数据存储器103中读取与该Lable标识编号对应的第一SDI标识编号对应的第一数据帧。
可以理解的是,与该Lable标识编号可以对应有多个SDI标识编号,本公开实施例可以根据SDI标识编号中的数值大小,确定每个SDI标识编号的发送次序。例如:假设Lable标识编号“Lable8”对应的SDI标识编号包括“sdi0”、“sdi1”、“sdi2”以及“sdi3”,则在首次发送调度时,在调度数据存储器103中读取“Lable8_sdi0”下的数据帧,在下次发送调度时,在调度数据存储器103中读取“Lable8_sdi1”下的数据帧,以此类推。
可选的,状态机105还用于在读取到第一数据帧的情况下,检测第一数据帧的最高位是否为预设有效数值,如果是,则确定发送第一数据帧,如果不是,则确定不发送第一数据帧。
例如:假设预设有效数值为1,调度数据存储器103的数据位宽为16位,在地址1写入的数据帧是二进制数据“1000000000000010”,则状态机105在访问调度数据存储器103的地址1时,检测该二进制数据的最高位是否为1,如果是,则确定发送该数据帧,如果不是,则确定不发送该数据帧。
可选的,状态机105还用于对偏移配置存储器102中存储的ARINC429数据字:在检测到本地时间达到周期配置存储器101中对Lable标识编号配置的第二发送时间的情况下,将Lable标识编号写入输出队列存储器104,在输出队列存储器104读取到Lable标识编号的情况下,在调度数据存储器103中读取与Lable标识编号对应的第二SDI标识编号对应的第二数据帧,在确定发送第二数据帧的情况下,将读取到的第二数据帧传输至数据输出模块200,并根据发送周期和第二发送时间,在周期配置存储器101中对Lable标识编号配置第三发送时间,以此类推,直至在调度数据存储器103中读取到与Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
可选的,状态机105还用于在确定不发送第一数据帧的情况下,在调度数据存储器103中读取与Lable标识编号对应的第三SDI标识编号对应的第三数据帧,将第三数据帧确定为第一数据帧,返回检测第一数据帧的最高位是否为预设有效数值,以此类推,直至确定出发送的数据帧或在调度数据存储器103中读取到与Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
本公开提供的一种调度硬件电路,该调度硬件电路包括:数据输出模块200和SDI调度模块100,SDI调度模块100包括周期配置存储器101、偏移配置存储器102、调度数据存储器103、输出队列存储器104、状态机105以及存储结构初始化单元106,存储结构初始化单元106分别与周期配置存储器101、偏移配置存储器102和调度数据存储器103通信连接,状态机105分别与周期配置存储器101、偏移配置存储器102和输出队列存储器104通信连接,输出队列存储器104与调度数据存储器103通信连接,调度数据存储器103与数据输出模块200通信连接。本公开通过SDI调度模块100进行存储结构初始化操作和SDI调度流程管理,以硬件电路加逻辑控制的方式,在复杂仿真测试场景下实现ARINC429总线的调度功能。
可选的,基于图1所示的调度硬件电路,如图3所示,本公开实施例提供的调度硬件电路的另一种逻辑结构示意图,该调度硬件电路还可以包括:ARINC429芯片和电平转换芯片02,数据输出模块200经电平转换芯片02与ARINC429芯片通信连接。
其中,ARINC429芯片可以包括ARINC429发送芯片03和ARINC429接收芯片04。数据输出模块200的输出引脚为FPGA芯片01的输出引脚,通过电路板PCB引线与电平转换芯片02的输入引脚连接。
本公开实施例通过ARINC429芯片、电平转换芯片02以及FPGA芯片01,可以在物理层实现ARINC429总线的基本收发功能。
为了在调度硬件电路上实现调度功能,本公开实施例提供了一种调度方法,应用于上述的调度硬件电路,如图4所示,本公开实施例提供的调度方法的一种实施方式的流程示意图,该调度方法包括:
S100、对周期配置存储器101、偏移配置存储器102和调度数据存储器103进行初始化操作,将ARINC429数据字对应的Lable标识编号以及与Lable标识编号对应的各SDI标识编号作为存储地址,将ARINC429数据字写入偏移配置存储器102和调度数据存储器103中,在偏移配置存储器102中对Lable标识编号配置首次发送时间,在周期配置存储器101中对与Lable标识编号配置发送周期,其中,SDI标识编号对应ARINC429数据字中的一个数据帧。
本公开实施例在对调度数据存储器103进行初始化操作时,根据上位机配置的ARINC429数据字对应的Lable标识编号和与Lable标识编号对应的SDI标识编号的组合作为存储地址,将该ARINC429数据字写入调度数据存储器103中。例如:假设ARINC429数据字对应的Lable标识编号为“Label2”,该“Label2”对应的SDI标识编号为“sdi0”、“sdi1”和“sdi2”,则在调度数据存储器103中,写入ARINC429数据字中与“sdi0”对应的数据帧的存储地址为“Label2_sdi0”,写入ARINC429数据字中与“sdi1”对应的数据帧的存储地址为“Label2_sdi1”,写入ARINC429数据字中与“sdi2”对应的数据帧的存储地址为“Label2_sdi2”。
本公开实施例在对偏移配置存储器102进行初始化操作时,根据上位机配置的ARINC429数据字对应的Lable标识编号和与Lable标识编号对应的SDI标识编号的组合作为存储地址,将该ARINC429数据字写入偏移配置存储器102中,并对该Lable标识编号配置首次发送时间。同时,在偏移配置存储器102中每向一个存储地址写入数据帧时,将该数据帧的最高位设置为预设有效数值,其中,预设有效数值用于指示是否发送该数据帧。可选的,预设有效数值可以为1。
本公开实施例在对周期配置存储器101进行初始化操作时,根据上位机配置的ARINC429数据字对应的Lable标识编号,对该Lable标识编号配置发送周期,该发送周期用于指示与该Lable标识编号对应的各SDI标识编号对应的数据帧之间的发送间隔相同。例如:假设Lable标识编号“Lable7”,“Lable7”对应的SDI标识编号包括“sdi0”、“sdi1”、“sdi2”以及“sdi3”,发送周期为△T,则每次计时周期为△T的整数倍时分别依次连续发送存储地址为“Label7_sdi0”、“Label7_sdi1”、“Label7_sdi3”和“Label7_sdi4”下的数据帧。
S200、对偏移配置存储器102中存储的ARINC429数据字:在检测到本地时间达到Lable标识编号对应的首次发送时间的情况下,将Lable标识编号写入输出队列存储器104。
对于偏移配置存储器102中存储的任一ARINC429数据字,本公开实施例可以检测该ARINC429数据字对应的Lable标识编号在周期配置存储器101中配置的第一发送时间,在本地时间达到该第一发送时间的情况下,将该Lable标识编号写入输出队列存储器104中排队等待读取。可以理解的是,第一发送时间可以是首次发送时间。
S300、在输出队列存储器104读取到Lable标识编号的情况下,在调度数据存储器103中读取与Lable标识编号对应的第一SDI标识编号对应的第一数据帧。
本公开实施例依次读取在输出队列存储器104中存储的Lable标识编号,在读取到任一Lable标识编号的情况下,在调度数据存储器103中读取与该Lable标识编号对应的第一SDI标识编号对应的第一数据帧。
可以理解的是,与该Lable标识编号可以对应有多个SDI标识编号,本公开实施例可以根据SDI标识编号中的数值大小,确定每个SDI标识编号的发送次序。例如:假设Lable标识编号“Lable8”对应的SDI标识编号包括“sdi0”、“sdi1”、“sdi2”以及“sdi3”,则在首次发送调度时,在调度数据存储器103中读取“Lable8_sdi0”下的数据帧,在下次发送调度时,在调度数据存储器103中读取“Lable8_sdi1”下的数据帧,以此类推。
可选的,本公开实施例在读取到第一数据帧的情况下,检测第一数据帧的最高位是否为预设有效数值,如果是,则确定发送第一数据帧,如果不是,则确定不发送第一数据帧。
可选的,本公开实施例在确定不发送第一数据帧的情况下,在调度数据存储器103中读取与Lable标识编号对应的第三SDI标识编号对应的第三数据帧,将第三数据帧确定为第一数据帧,返回检测第一数据帧的最高位是否为预设有效数值的步骤,以此类推,直至确定出发送的数据帧或在调度数据存储器103中读取到与Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
S400、在确定发送第一数据帧的情况下,将读取到的第一数据帧传输至数据输出模块200,并根据周期配置存储器101中与Lable标识编号对应的发送周期和首次发送时间,在偏移配置存储器102中对Lable标识编号配置下一次发送时间。
例如:假设预设有效数值为1,调度数据存储器103的数据位宽为16位,在地址1写入的数据帧是二进制数据“1000000000000010”,则状态机105在访问调度数据存储器103的地址1时,检测该二进制数据的最高位是否为1,如果是,则确定发送该数据帧,如果不是,则确定不发送该数据帧。
可选的,基于图4所示的调度方法,如图5所示,本公开实施例提供的调度方法的另一种实施方式的流程示意图,该调度方法还包括:
S500、对偏移配置存储器102中存储的ARINC429数据字:在检测到本地时间达到Lable标识编号配置的下一次发送时间的情况下,将Lable标识编号写入输出队列存储器104。
步骤S500的说明可参见步骤S200,此处不再赘述。
S600、在输出队列存储器104读取到Lable标识编号的情况下,在调度数据存储器103中读取与Lable标识编号对应的第二SDI标识编号对应的第二数据帧。
步骤S600的说明可参见步骤S300,此处不再赘述。
S700、在确定发送第二数据帧的情况下,将读取到的第二数据帧传输至数据输出模块200,并根据发送周期和下一次发送时间,在偏移配置存储器102中对Lable标识编号配置下一次发送时间,以此类推,直至在调度数据存储器103中读取到与Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
步骤S700的说明可参见步骤S400,此处不再赘述。
在检测到本地时间达到偏移配置存储器102中任一个Lable标识编号对应的首次发送时间的情况下,将该Lable标识编号写入输出队列存储器104中,同时计算该Lable标识编号的下次发送时间,并将该下次发送时间对应写入偏移配置存储器102。状态机105在输出队列存储器104读取该Lable标识编号,并在调度数据存储器103中读取与该Lable标识编号对应的一个SDI标识编号对应的数据帧,将该数据帧传输至数据输出模块200。在本地时间达到该下次发送时间的情况下,返回执行将该Lable标识编号写入输出队列存储器104中,同时计算该Lable标识编号的下次发送时间,并将该下次发送时间对应写入偏移配置存储器102的步骤,以此类推,依次将调度数据存储器103中与该Lable标识编号对应的各个SDI标识编号对应的数据帧传输至数据输出模块200。
本公开提供的一种调度方法,应用于调度硬件电路,该调度硬件电路包括:数据输出模块200和SDI调度模块100,SDI调度模块100包括周期配置存储器101、偏移配置存储器102、调度数据存储器103、输出队列存储器104、状态机105以及存储结构初始化单元106,存储结构初始化单元106分别与周期配置存储器101、偏移配置存储器102和调度数据存储器103通信连接,状态机105分别与周期配置存储器101、偏移配置存储器102和输出队列存储器104通信连接,输出队列存储器104与调度数据存储器103通信连接,调度数据存储器103与数据输出模块200通信连接。本公开通过SDI调度模块100进行存储结构初始化操作和SDI调度流程管理,以硬件电路加逻辑控制的方式,在复杂仿真测试场景下实现ARINC429总线的调度功能。
本公开通过调度硬件电路中的硬件连接,可以实现ARINC429总线的基本收发功能,通过SDI调度模块100的逻辑设计可以自定义发送调度规则,从而方便扩展ARINC429数据字的信号发送方式,能够满足复杂仿真测试场景下的调度功能测试需求。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
在本公开的描述中,需要理解的是,如若涉及术语“上”、“下”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的位置或元件必须具有特定方位、以特定的方位构成和操作,因此不能理解为本公开的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种调度硬件电路,其特征在于,所述调度硬件电路包括:数据输出模块和SDI调度模块,所述SDI调度模块包括周期配置存储器、偏移配置存储器、调度数据存储器、输出队列存储器、状态机以及存储结构初始化单元,所述存储结构初始化单元分别与所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器通信连接,所述状态机分别与所述周期配置存储器、所述偏移配置存储器和所述输出队列存储器通信连接,所述输出队列存储器与所述调度数据存储器通信连接,所述调度数据存储器与所述数据输出模块通信连接,
所述存储结构初始化单元,用于对所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器进行初始化操作,将所述ARINC429数据字对应的Lable标识编号以及与所述Lable标识编号对应的各SDI标识编号作为存储地址,将所述ARINC429数据字写入所述偏移配置存储器和所述调度数据存储器中,在所述偏移配置存储器中对所述Lable标识编号配置首次发送时间,在所述周期配置存储器中对与所述Lable标识编号配置发送周期,其中,所述SDI标识编号对应所述ARINC429数据字中的一个数据帧;
所述状态机,用于对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号对应的所述首次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第一SDI标识编号对应的第一数据帧,在确定发送所述第一数据帧的情况下,将读取到的所述第一数据帧传输至所述数据输出模块,并根据所述周期配置存储器中与所述Lable标识编号对应的所述发送周期和所述首次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间。
2.根据权利要求1所述的调度硬件电路,其特征在于,所述状态机,还用于对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号配置的所述下一次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第二SDI标识编号对应的第二数据帧,在确定发送所述第二数据帧的情况下,将读取到的所述第二数据帧传输至所述数据输出模块,并根据所述发送周期和所述下一次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间,以此类推,直至在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
3.根据权利要求1所述的调度硬件电路,其特征在于,所述状态机,还用于在读取到所述第一数据帧的情况下,检测所述第一数据帧的最高位是否为预设有效数值,如果是,则确定发送所述第一数据帧,如果不是,则确定不发送所述第一数据帧。
4.根据权利要求3所述的调度硬件电路,其特征在于,所述状态机,还用于在确定不发送所述第一数据帧的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第三SDI标识编号对应的第三数据帧,将所述第三数据帧确定为第一数据帧,返回检测所述第一数据帧的最高位是否为所述预设有效数值,以此类推,直至确定出发送的数据帧或在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
5.根据权利要求1所述的调度硬件电路,其特征在于,还包括:ARINC429芯片和电平转换芯片,所述数据输出模块经所述电平转换芯片与所述ARINC429芯片通信连接。
6.根据权利要求1所述的调度硬件电路,其特征在于,所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器为随机存取存储结构,和/或,所述输出队列存储器为先进先出存储结构。
7.一种调度方法,其特征在于,应用于权利要求1至6中任一项所述的调度硬件电路,所述调度方法包括:
对所述周期配置存储器、所述偏移配置存储器和所述调度数据存储器进行初始化操作,将所述ARINC429数据字对应的Lable标识编号以及与所述Lable标识编号对应的各SDI标识编号作为存储地址,将所述ARINC429数据字写入所述偏移配置存储器和所述调度数据存储器中,在所述偏移配置存储器中对所述Lable标识编号配置首次发送时间,在所述周期配置存储器中对与所述Lable标识编号配置发送周期,其中,所述SDI标识编号对应所述ARINC429数据字中的一个数据帧;
对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号对应的所述首次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第一SDI标识编号对应的第一数据帧,在确定发送所述第一数据帧的情况下,将读取到的所述第一数据帧传输至所述数据输出模块,并根据所述周期配置存储器中与所述Lable标识编号对应的所述发送周期和所述首次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间。
8.根据权利要求7所述的调度方法,其特征在于,还包括:
对所述偏移配置存储器中存储的所述ARINC429数据字:在检测到本地时间达到所述Lable标识编号配置的所述下一次发送时间的情况下,将所述Lable标识编号写入所述输出队列存储器,在所述输出队列存储器读取到所述Lable标识编号的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第二SDI标识编号对应的第二数据帧,在确定发送所述第二数据帧的情况下,将读取到的所述第二数据帧传输至所述数据输出模块,并根据所述发送周期和所述下一次发送时间,在所述偏移配置存储器中对所述Lable标识编号配置下一次发送时间,以此类推,直至在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
9.根据权利要求7所述的调度方法,其特征在于,还包括:
在读取到所述第一数据帧的情况下,检测所述第一数据帧的最高位是否为预设有效数值,如果是,则确定发送所述第一数据帧,如果不是,则确定不发送所述第一数据帧。
10.根据权利要求9所述的调度方法,其特征在于,还包括:
在确定不发送所述第一数据帧的情况下,在所述调度数据存储器中读取与所述Lable标识编号对应的第三SDI标识编号对应的第三数据帧,将所述第三数据帧确定为第一数据帧,返回所述检测所述第一数据帧的最高位是否为预设有效数值的步骤,以此类推,直至确定出发送的数据帧或在所述调度数据存储器中读取到与所述Lable标识编号对应的最后一个SDI标识编号对应的数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210685460.7A CN114968892B (zh) | 2022-06-17 | 2022-06-17 | 一种调度硬件电路及调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210685460.7A CN114968892B (zh) | 2022-06-17 | 2022-06-17 | 一种调度硬件电路及调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114968892A true CN114968892A (zh) | 2022-08-30 |
CN114968892B CN114968892B (zh) | 2023-10-20 |
Family
ID=82962743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210685460.7A Active CN114968892B (zh) | 2022-06-17 | 2022-06-17 | 一种调度硬件电路及调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968892B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567246A (zh) * | 2011-12-29 | 2012-07-11 | 中国人民解放军国防科学技术大学 | 一种支持操作乱序执行的与非型快闪存储控制器 |
US20130035807A1 (en) * | 2011-08-01 | 2013-02-07 | Crane Bruce J | Bit transmission verification in an arinc-based system |
CN105389282A (zh) * | 2015-10-19 | 2016-03-09 | 陕西宝成航空仪表有限责任公司 | 处理器和arinc429总线的通信方法 |
CN107783934A (zh) * | 2016-08-30 | 2018-03-09 | 中国飞行试验研究院 | 一种机载多通道arinc429总线实时采集与数据过滤方法 |
CN109752999A (zh) * | 2019-01-02 | 2019-05-14 | 中国船舶重工集团公司第七0七研究所 | 一种基于fpga的arinc429总线通信方法 |
CN213814664U (zh) * | 2020-12-23 | 2021-07-27 | 北京石竹科技股份有限公司 | 一种基于光纤通信的arinc429总线通信设备 |
-
2022
- 2022-06-17 CN CN202210685460.7A patent/CN114968892B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130035807A1 (en) * | 2011-08-01 | 2013-02-07 | Crane Bruce J | Bit transmission verification in an arinc-based system |
CN102567246A (zh) * | 2011-12-29 | 2012-07-11 | 中国人民解放军国防科学技术大学 | 一种支持操作乱序执行的与非型快闪存储控制器 |
CN105389282A (zh) * | 2015-10-19 | 2016-03-09 | 陕西宝成航空仪表有限责任公司 | 处理器和arinc429总线的通信方法 |
CN107783934A (zh) * | 2016-08-30 | 2018-03-09 | 中国飞行试验研究院 | 一种机载多通道arinc429总线实时采集与数据过滤方法 |
CN109752999A (zh) * | 2019-01-02 | 2019-05-14 | 中国船舶重工集团公司第七0七研究所 | 一种基于fpga的arinc429总线通信方法 |
CN213814664U (zh) * | 2020-12-23 | 2021-07-27 | 北京石竹科技股份有限公司 | 一种基于光纤通信的arinc429总线通信设备 |
Non-Patent Citations (1)
Title |
---|
曾锋 等: "基于FPGA的ARINC429协议设计", 《现代电子技术》, pages 92 - 94 * |
Also Published As
Publication number | Publication date |
---|---|
CN114968892B (zh) | 2023-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5619722A (en) | Addressable communication port expander | |
US8417836B2 (en) | Dynamically configurable serial data communication interface | |
EP1764703B1 (en) | A system for providing access to multiple data buffers of a data retaining and processing device | |
CN101568903B (zh) | Nand闪存的基于命令的控制 | |
CN102929836A (zh) | 一种航天专用asic芯片系统 | |
CN110008151B (zh) | 电子设备、数据传输装置和数据传输方法 | |
CN1328679C (zh) | 使用差动信号来提高多媒体卡的传送速率的方法 | |
US20200409902A1 (en) | Method for addressing an integrated circuit on a bus and corresponding device | |
CN100498753C (zh) | 通过i2c接口访问现场可编程门阵列内部存储器的方法 | |
CN113946480A (zh) | 一种i2c总线的检测装置和方法 | |
CN114968892A (zh) | 一种调度硬件电路及调度方法 | |
GB2289356A (en) | Serial access memory device | |
CN114443524B (zh) | 一种数据传输方法、系统、存储介质及设备 | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
CN216352286U (zh) | 一种i2c总线的检测装置 | |
JPH08241199A (ja) | データ処理システム | |
CN100462952C (zh) | 接口可配置的通用串行总线控制器 | |
CN100409212C (zh) | 存储器系统和使其包含的多个存储器控制器同步的方法 | |
US6598111B1 (en) | Backplane physical layer controller | |
CN110659236A (zh) | 可自主回复写应答的axi总线传输装置 | |
US7600041B2 (en) | Industrial or domestic local network | |
CN117827725B (zh) | 一种基于fpga的emc接口扩展模块、系统及方法 | |
CN116775526B (zh) | 一种扩展装置及电子设备 | |
CN100397383C (zh) | 一种用于提高处理器间通信的结构及方法 | |
US6345332B1 (en) | Bus interchange apparatus and dual system for accessing a fault information register without regard to buffer conditions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |