CN116846706A - 一种多通道轮询调度系统及其调度机制、数据传输方法 - Google Patents
一种多通道轮询调度系统及其调度机制、数据传输方法 Download PDFInfo
- Publication number
- CN116846706A CN116846706A CN202310799004.XA CN202310799004A CN116846706A CN 116846706 A CN116846706 A CN 116846706A CN 202310799004 A CN202310799004 A CN 202310799004A CN 116846706 A CN116846706 A CN 116846706A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- receiving buffer
- state
- buffer module
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 title claims abstract description 15
- 230000007246 mechanism Effects 0.000 title claims abstract description 12
- 238000005538 encapsulation Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 6
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000035196 congenital hypomyelinating 2 neuropathy Diseases 0.000 description 1
- 208000035195 congenital hypomyelinating 3 neuropathy Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提出一种多通道轮询调度系统及其调度机制、数据传输方法,其中,多通道轮询调度系统包括多个串行模块,与各串行模块连接的第一接收缓存模块,和各第一接收缓存模块连接的轮询调度模块,第一接收缓存模块具有第一状态和第二状态,第一状态代表第一接收缓存模块内有数据,第二状态代表第一接收缓存模块中没有数据,轮询调度模块依次查询各通道的第一接收缓存模块的状态,在此过程中,若第一接收缓存模块的状态为第一状态,则获取该第一接收缓存模块中的数据,并通过高速总线发送至上位机。本申请通过轮询调度模块通过轮询方式对所有通道的所述第一接收缓存模块进行依次查询,实现了对多路串口的完全并行控制,具有较强的实时性和并行性。
Description
技术领域
本申请涉及计算机总线通信技术领域,具体涉及一种多通道轮询调度系统及其调度机制、数据传输方法。
背景技术
串行接口在计算机系统中是一种很常见的接口,被广泛应用,串口通讯分为同步串口通讯和异步串口通讯。异步串口通讯是指外设和计算机之间通过数据信号线、地址线和控制线等,按位进行传输数据的一种通讯方式,根据数据线上高低电平的变化来指示数据内容。通常,串口通讯协议中约定的每一包串口数据由数据帧头、有效数据、数据校验和数据帧尾构成。对接收到的串口数据,需要解析并判断数据帧头、有效数据、数据校验和数据帧尾。
现阶段,对于一套系统来说,串口的作用非常重要,模块与模块之间的通信和外部信号的采集均需要通过串口来完成接收和发送。通常情况下,用户对于系统的上层控制采用一路高速总线,而底层串口为多路,上层对于底层的控制采用CPU顺序执行的方式,底层的各通道依序与上层进行数据交互,这种串行的方式造成了多条通道并行性较差。
发明内容
鉴于现有技术中的上述缺陷或不足,本申请旨在提供一种多通道轮询调系统及其调度机制、数据传输方法。
第一方面,本申请提供一种多通道轮询调度系统,包括:
多个串行模块,各所述串行模块与外部设备连接,配置用于接收所述外部设备发送的数据;
多个第一接收缓存模块,各所述第一接收缓存模块与所述串行模块远离所述外部设备端连接,配置用于存储数据;所述第一接收缓存模块具有第一状态和第二状态,当处于第一状态时,所述第一接收缓存模块内存储有数据,当处于所述第二状态时,所述第一接收缓存模块中未存储有数据;
轮询调度模块,所述轮询调度模块与各所述第一接收缓存模块远离所述串行模块端连接,配置用于依序依次查询所述第一接收缓存模块的状态,当所述第一接收缓存模块的状态为所述第一状态时,获取该所述第一接收缓存模块的数据,并通过高速总线发送至上位机;当所述第一接收缓存模块的状态为所述第二状态时,则继续询问下一个所述第一接收缓存模块。
根据本申请实施例提供的技术方案,所述高速总线包括但不仅限于PCI总线、PCIE总线、LVDS串行差分总线、千兆以太网中的任一个。
根据本申请实施例提供的技术方案,各所述串行模块通过下行串口与所述外部设备连接,所述下行串口包括但不仅限于HDLC串口、UART串口中的任一个。
根据本申请实施例提供的技术方案,所述轮询调度模块还配置用于将由所述第一接收缓存模块中取得的数据进行封装形成第一封装数据。
根据本申请实施例提供的技术方案,所述轮询调度模块和所述上位机之间设有第二接收缓存模块,所述轮询调度模块将所述第一封装数据写入所述第二接收缓存模块,待所述高速总线空闲时,将所述第一封装数据发送出去。
根据本申请实施例提供的技术方案,所述第一封装数据包括帧头、数据类型、数据长度、通道号、第一有效数据、校验和帧尾。
根据本申请实施例提供的技术方案,所述第二接收缓存模块和所述上位机之间设有总线控制模块,所述总线控制模块通过所述高速总线与所述上位机连接,所述总线控制模块配置用于将所述第一封装数据转换为适用于所述高速总线的格式,得到第二封装数据。
第二方面,本申请提供一种以上所述的多通道轮询调度系统的调度机制,所述多通道轮询调度系统包括多个通道,各所述通道包括所述串行模块和所述第一接收缓存模块,所述调度机制包括如下步骤:
S101、系统复位,所述轮询调度模块处于空闲状态;
S102、判断所有所述第一接收缓存模块是否都处于所述第二状态,若是,所述轮询调度模块仍处于空闲状态,若不是,执行步骤S103;
S103、依序询问所述第一接收缓存模块是否处于所述第一状态,若是,执行步骤S104,若不是,执行步骤S105;
S104、读取该所述第一接收缓存模块的数据,并对下个通道的所述第一接收缓存模块执行步骤S103;
S105、对下个通道的所述第一接收缓存模块执行步骤S103。
第三方面,本申请提供一种以上所述的多通道调度系统的数据传输方法,所述数据传输方法包括数据上传方法和数据下发方法,其中所述数据上传方法包括如下步骤:
S200、接收多个所述外部设备发送的第一数据;
S201、满足第一触发条件后,获得第一有效数据,并将所述第一有效数据发送至所述第一接收缓存模块;
S202、判断所述第一接收缓存模块的状态为所述第一状态时,读取所述第一有效数据;
S203、封装所述第一有效数据,形成第一封装数据;
S204、将所述第一封装数据存储至所述第二接收缓存模块;
S205、判断所述高速总线处于空闲状态时,将所述第一封装数据发送至所述总线控制模块;
S206、将所述第一封装数据转换为第二封装数据;
S207、将所述第二封装数据发送至所述上位机。
根据本申请实施例提供的技术方案,所述数据下发方法包括如下步骤:
S300、接收来自所述上位机发送的第二数据并将所述第二数据存储至第二发送缓存模块;
S301、判断所述第二发送缓存模块处于第三状态时,读取所述第二数据;所述第三状态为所述第二发送缓存模块有数据;
S302、提取所述第二数据,获得通道号以及与所述通道号对应的第二有效数据;
S303、将所述第二有效数据写入与所述通道号对应的第一发送缓存模块;
S304、满足第二触发条件后,将所述第二有效数据发送至所述串行模块,并发送至所述外部设备。
综上所述,本申请提出一种多通道轮询调度系统,包括多个串行模块,与各串行模块连接的第一接收缓存模块,和各第一接收缓存模块连接的轮询调度模块,第一接收缓存模块具有第一状态和第二状态,第一状态代表第一接收缓存模块内有数据,第二状态代表第一接收缓存模块中没有数据,轮询调度模块依次查询各通道的第一接收缓存模块的状态,在此过程中,若第一接收缓存模块的状态为第一状态,则获取该第一接收缓存模块中的数据,并通过高速总线发送至上位机。本申请通过轮询调度模块通过轮询方式对底层通道进行合理的调度控制,使得每个通道与上位机交互彼此独立,不相互影响,在宏观上具有更好的并行度,且与现有技术的串行方式相比,具有较强的实时性。
附图说明
图1为本申请实施例提供的多通道轮询调度系统的结构示意图;
图2为本申请实施例提供的具有第一发送缓存模块、第二发送缓存模块、总线控制模块的多通道轮询调度系统的结构示意图;
图3为本申请实施例提供的多通道轮询调度系统的轮询调度机制流程图;
图4为本申请实施例提供的轮询调度模块具体状态机迁移过程示意图;
图5为本申请实施例提供的多通道轮询调度系统的数据上传流程图;
图6为本申请实施例提供的多通道轮询调度系统的数据下发流程图。
100、串行模块;200、外部设备;310、第一接收缓存模块;320、第一发送缓存模块;400、轮询调度模块;500、上位机;600、总线控制模块;710、第二发送缓存模块;720、第二接收缓存模块。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
诚如背景技术中提到的技术问题,本申请提出了一种多通道轮询调度系统,请参考图1所示,包括:
多个串行模块100,各所述串行模块100与外部设备200连接,配置用于接收所述外部设备200发送的数据;
多个第一接收缓存模块310,各所述第一接收缓存模块310与所述串行模块100远离所述外部设备200端连接,配置用于存储数据;所述第一接收缓存模块310具有第一状态和第二状态,当处于第一状态时,所述第一接收缓存模块310内存储有数据,当处于所述第二状态时,所述第一接收缓存模块310中未存储有数据;
轮询调度模块400,所述轮询调度模块400与各所述第一接收缓存模块310远离所述串行模块100端连接,配置用于依序依次查询所述第一接收缓存模块310的状态,当所述第一接收缓存模块310的状态为所述第一状态时,获取该所述第一接收缓存模块310的数据,并通过高速总线发送至上位机500;当所述第一接收缓存模块310的状态为所述第二状态时,则继续询问下一个所述第一接收缓存模块310。
所述高速总线包括但不仅限于PCI总线、PCIE总线、LVDS串行差分总线、千兆以太网中的任一个;各所述串行模块100通过下行串口与所述外部设备连接,所述下行串口包括但不仅限于HDLC串口、UART串口中的任一个,当所述外部设备200向上位机500方向发送数据时,所述下行串口按照各自的协议去接收来自外部设备200的数据,如果是同步串口的话,需根据时钟的上升沿或下降沿对数据的中心进行采集;如果是异步串口的话,需根据数据线上上升沿或下降沿的变化进行采集。所述多通道轮询调度系统包括多个通道(通道1、通道2、通道3、…、通道n),各所述通道具有串行模块100和与所述串行模块100连接的第一接收缓存模块310,可选地,所述第一接收缓存模块310为FIFO(First Input FirstOutput)存储器,所述FIFO存储器的接口为输入8bit,输出为64bit,深度为256。
所述下行串口通过与所述下行串口对应的串行总线与所述外部设备200连接,所述串行模块100中设有移位寄存器,当接收所述串行总线上发送的数据时,会将接收到的数据一比特一比特的移入到所述移位寄存器内,当所述移位寄存器内满一个字节后,触发所述第一接收缓存模块310的写使能信号,将所述移位寄存器中的内容写入到所述第一接收缓存模块310中。
所述轮询调度模块400会根据所述第一接收缓存模块310的空信号来判断是否有数据取出,当空信号为低时,则所述第一接收缓存模块310处于所述第一状态,所述轮询调度模块400读取所述第一接收缓存模块310中的内容;当空信号为高时,则所述第一接收缓存模块310处于第二状态。本申请通过所述轮询调度模块400根据通道的通道号依序由通道1对应的所述第一接收缓存模块310开始进行依次查询,当通道1对应的所述第一接收缓存模块310处于所述第一状态时,所述轮询调度模块400读取该所述第一接收缓存模块310的数据,并继续询问与通道2对应的所述第一接收缓存模块310;当通道1对应的所述第一接收缓存模块310处于所述第二状态时,直接询问与通道2对应的所述第一接收缓存模块310;所述轮询调度模块400通过此方式对所有通道的所述第一接收缓存模块310进行依次查询,实现了对多路串口的完全并行控制,具有较强的实时性和并行性。
在一优选实施例中,所述轮询调度模块400还配置用于将由所述第一接收缓存模块310中取得的数据进行封装形成第一封装数据。所述第一封装数据包括帧头、数据类型、数据长度、通道号、第一有效数据、校验和帧尾。
其中,所述第一封装数据的格式如表-1所示:
表-1
其中,帧头为32hfb0000fb,数据类型包括:0表示同步串口,1表示异步串口;通道号:0代表通道1,1代表通道2,2代表通道3…以此类推,所述第一有效数据为存储在所述第一接收缓存模块310中的数据;当所述第一有效数据不足64bit时,在其后补0x55,帧尾为32hfd0000fd。
在一优选实施例中,所述轮询调度模块400和所述上位机500之间设有第二接收缓存模块720,所述轮询调度模块400将所述第一封装数据写入所述第二接收缓存模块720,待所述高速总线空闲时,将所述第一封装数据发送出去。
其中,所述第二接收缓存模块720同样是FIFO存储器,不同之处在于,所述第二接收缓存模块720为高速缓存模块,接口输入为Xbit,此处X为所述高速总线的读写位宽,输出为64bit,深度为8192。
在一优选实施例中,请参考图2所示,所述第二接收缓存模块720和所述上位机500之间设有总线控制模块600,所述总线控制模块600通过所述高速总线与所述上位机500连接,所述总线控制模块600配置用于将所述第一封装数据转换为适用于所述高速总线的格式,得到第二封装数据。
其中,所述总线控制模块600与所述高速总线相配,例如,所述高速总线为PCIE总线,则所述总线控制模块600为PCIE总线控制模块,所述第二封装数据为适用于所述PCIE总线协议的格式。
实施例2
在实施例1的基础上,本申请提供了一种多通道轮询调度机制,所述多通道轮询调度系统包括多个通道,各所述通道包括所述串行模块100和所述第一接收缓存模块310,请参考图4所示,所述调度机制包括如下步骤:
S101、系统复位,所述轮询调度模块400处于空闲状态;
S102、判断所有所述第一接收缓存模块310是否都处于所述第二状态,若是,所述轮询调度模块400仍处于空闲状态,若不是,执行步骤S103;
S103、依序询问所述第一接收缓存模块310是否处于所述第一状态,若是,执行步骤S104,若不是,执行步骤S105;
S104、读取该所述第一接收缓存模块310的数据,并对下个通道的所述第一接收缓存模块310执行步骤S103;
S105、对下个通道的所述第一接收缓存模块310执行步骤S103。
其中,所述轮询调度模块400通过设计状态机来实现调度控制,以n为16为例,所述状态机状态描述如表-2所示:
表-2
状态名称 | 状态描述 |
DEMUX16_RST | 空闲状态。系统复位后进入该状态。 |
DEMUX16_CHN1 | 通道1被选中 |
DEMUX16_CHN2 | 通道2被选中 |
DEMUX16_CHN3 | 通道3被选中 |
…… | …… |
DEMUX16_CHN15 | 通道15被选中 |
DEMUX16_CHN16 | 通道16被选中 |
DEMUX16_CHN_W | 将数据写入到第二接收缓存模块中 |
状态机状态迁移描述件表-3所示:
表-3
具体状态机迁移过程如图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状态迁移。
实施例3
在实施例1和实施例2的基础上,本申请提供一种多通道轮询调度系统的数据传输方法,所述数据传输方法包括数据上传方法和数据下发方法,其中,请参考图5所示,所述数据上传方法包括如下步骤:
S200、接收多个所述外部设备200发送的第一数据;
S201、满足第一触发条件后,获得第一有效数据,并将所述第一有效数据发送至所述第一接收缓存模块310;
其中所述串行模块100通过下行串口接收所述第一数据,接收数据时,会将接收到的数据移入所述移位寄存器内,所述第一触发条件为所述移位寄存器满足一个字节,一个字节的内容位所述第一有效数据,并将所述第一有效数据写入所述第一接收缓存模块310内。
S202、判断所述第一接收缓存模块310的状态为所述第一状态时,读取所述第一有效数据;
开始轮询过程,依序轮流获取处于所述第一状态的所述第一接收缓存模块310中的所述第一有效数据。
S203、封装所述第一有效数据,形成第一封装数据;
S204、将所述第一封装数据存储至所述第二接收缓存模块720;
S205、判断所述高速总线处于空闲状态时,将所述第一封装数据发送至所述总线控制模块600;
S206、将所述第一封装数据转换为第二封装数据;通过所述总线控制模块600将所述第一封装数据转换为适用于所述高速总线的格式;
S207、将所述第二封装数据发送至所述上位机500;通过所述高速总线将所述第二封装数据发送至所述上位机500,完成了数据的上传。
实施例4
在实施例1和实施例2的基础上,本申请提供了一种多通道轮询调度系统的数据下发方法,请参考图6所示,包括如下步骤:
S300、接收来自所述上位机500发送的第二数据并将所述第二数据存储至第二发送缓存模块710;
S301、判断所述第二发送缓存模块710处于第三状态时,读取所述第二数据;所述第三状态为所述第二发送缓存模块710有数据;
S302、提取所述第二数据,获得通道号以及与所述通道号对应的第二有效数据;
S303、将所述第二有效数据写入与所述通道号对应的第一发送缓存模块320;
S304、满足第二触发条件后,将所述第二有效数据发送至所述串行模块100,并发送至所述外部设备200。
其中,所述轮询调度模块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中的数据发送完为止。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
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)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310799004.XA CN116846706A (zh) | 2023-06-30 | 2023-06-30 | 一种多通道轮询调度系统及其调度机制、数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310799004.XA CN116846706A (zh) | 2023-06-30 | 2023-06-30 | 一种多通道轮询调度系统及其调度机制、数据传输方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116846706A true CN116846706A (zh) | 2023-10-03 |
Family
ID=88164710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310799004.XA Pending CN116846706A (zh) | 2023-06-30 | 2023-06-30 | 一种多通道轮询调度系统及其调度机制、数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116846706A (zh) |
-
2023
- 2023-06-30 CN CN202310799004.XA patent/CN116846706A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504633B (zh) | 一种多通道dma控制器 | |
US8352628B2 (en) | Method for transferring data from a source target to a destination target, and corresponding network interface | |
TWI379567B (en) | Single network interface card (nic) with multiple-ports and method thereof | |
CN110704351A (zh) | 基于axi总线的主机设备数据传输扩展方法 | |
US20030074502A1 (en) | Communication between two embedded processors | |
CN111339003B (zh) | 一种基于fpga的通用多通道数据发送系统及方法 | |
US7779194B2 (en) | Data modification module | |
US8051222B2 (en) | Concatenating secure digital input output (SDIO) interface | |
US7191262B2 (en) | High-throughput UART interfaces | |
CN113961494B (zh) | 一种pcie总线与axi总线的桥接系统 | |
CN110941582B (zh) | 一种bmc芯片的usb总线结构及其通信方法 | |
CN1819554B (zh) | 数据处理系统及其数据接口连接方法 | |
CN108462620B (zh) | 一种吉比特级SpaceWire总线系统 | |
CN116795763B (zh) | 基于axi协议的数据分组传输的方法、片上系统和芯片 | |
CN103516627A (zh) | 多芯片通信中数据包发送、接收的方法和装置 | |
CN111865838B (zh) | 一种信号的多通道数据传输系统 | |
CN116846706A (zh) | 一种多通道轮询调度系统及其调度机制、数据传输方法 | |
WO2013094010A1 (ja) | データ転送装置、データ転送方法およびチップ間通信システム | |
CN215376139U (zh) | 基于arm和fpga的高效数据采集系统 | |
CN115391253A (zh) | 基于fpga的多通道的hart实现系统 | |
CN115834804A (zh) | 多路srio转多路arinc818的视频传输系统 | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
US7752375B2 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN117234977B (zh) | 数据处理方法、系统、设备及计算机可读存储介质 | |
CN111538688B (zh) | 数据处理方法、装置、模组及芯片 |
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 |