CN114968890A - 一种同步通信控制方法、装置、系统及存储介质 - Google Patents
一种同步通信控制方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN114968890A CN114968890A CN202210592182.0A CN202210592182A CN114968890A CN 114968890 A CN114968890 A CN 114968890A CN 202210592182 A CN202210592182 A CN 202210592182A CN 114968890 A CN114968890 A CN 114968890A
- Authority
- CN
- China
- Prior art keywords
- target
- synchronous communication
- communication request
- spi
- priority information
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 360
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 339
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000002093 peripheral effect Effects 0.000 claims abstract description 67
- 230000005540 biological transmission Effects 0.000 claims description 9
- 101000823089 Equus caballus Alpha-1-antiproteinase 1 Proteins 0.000 description 6
- 101000651211 Homo sapiens Transcription factor PU.1 Proteins 0.000 description 6
- 102100027654 Transcription factor PU.1 Human genes 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 108010079923 lambda Spi-1 Proteins 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Communication Control (AREA)
Abstract
本发明实施例公开了一种同步通信控制方法、装置、系统及存储介质。该方法包括:获取待发送至目标外围设备的目标同步通信请求,其中,目标同步通信请求包括目标外围设备所连接的目标SPI接口中的目标片选信号信息;若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定所目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中;若目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理。通过本公开实施例的技术方案,可以避免因SPI同步通信冲突导致的系统复位问题,保证SPI同步通信正常进行。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种同步通信控制方法、装置、系统及存储介质。
背景技术
随着计算机技术的快速发展,MCU(Micro Controller Unit,微处理器)可以通过SPI(Serial Peripheral Interface,串行通信接口)与外围设备进行通信。例如,在汽车电子系统中,SPI模块是AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)中的一个基础软件模块。SPI模块为MCU和外围设备之间的SPI通信提供驱动。
目前,SPI模块可以包括两种通信模式:同步通信和异步通信。为了保证通信的实时性,通常选择同步通信方式。然而,当MCU的一个SPI接口正在通过同步方式与外围设备进行通信时,如果被另一个使用同一SPI接口不同片选信号的新的同步通信请求所抢占,则AUTOSAR系统会产生错误,上报同步传输服务调用时间错误,甚至会导致系统复位。可见,当前急需一种同步通信控制方法来解决同步通信冲突的问题。
发明内容
本发明实施例提供了一种同步通信控制方法、装置、系统及存储介质,以避免因SPI同步通信冲突导致的系统复位问题,保证SPI接口的正常同步通信。
根据本发明的一方面,提供了一种同步通信控制方法,包括:
获取待发送至目标外围设备的目标同步通信请求,其中,所述目标同步通信请求包括所述目标外围设备所连接的目标SPI接口中的目标片选信号信息;
若检测到所述目标SPI接口的当前接口状态为忙碌状态,则基于所述目标片选信号信息确定所述目标同步通信请求对应的目标优先级信息,并基于所述目标优先级信息,将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中;
若所述目标SPI接口的当前接口状态变更为空闲状态,则对所述目标等待队列中的同步通信请求进行发送处理。
根据本发明的另一方面,提供了一种同步通信控制装置,包括:
同步通信请求接收模块,用于获取待发送至目标外围设备的目标同步通信请求,其中,所述目标同步通信请求包括所述目标外围设备所连接的目标SPI接口中的目标片选信号信息;
同步通信请求存储模块,用于若检测到所述目标SPI接口的当前接口状态为忙碌状态,则基于所述目标片选信号信息确定所述目标同步通信请求对应的目标优先级信息,并基于所述目标优先级信息,将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中;
同步通信请求处理模块,用于若所述目标SPI接口的当前接口状态变更为空闲状态,则对所述目标等待队列中的同步通信请求进行发送处理。
根据本发明的另一方面,提供了一种同步通信控制系统,所述同步通信控制系统包括:控制器和至少一个外围设备;所述控制器包括至少一个SPI接口,每个所述SPI接口包含多个片选信号,所述片选信号与所述外围设备一一对应连接;
其中,所述控制器用于实现如本公开任意实施例所述的同步通信控制方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任意实施例所述的同步通信控制方法。
本实施例的技术方案,通过获取待发送至目标外围设备的目标同步通信请求,目标同步通信请求包括目标外围设备所连接的目标SPI接口中的目标片选信号信息,并检测目标SPI接口的当前接口状态,若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定所目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。若等待到目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理,从而通过预先对目标SPI接口设置相应的目标等待队列,并在目标SPI接口的当前接口状态为忙碌状态时,可以基于目标优先级信息,将目标同步通信请求存储至目标等待队列中等待发送处理,从而可以避免目标SPI接口当前正在发送处理的同步通信请求被目标同步通信请求所抢占,进而避免导致SPI同步通信冲突的情况,从而保证SPI接口的正常同步通信。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种同步通信控制方法的流程图;
图2是本发明实施例二提供的一种同步通信控制方法的流程图;
图3是本发明实施例三提供的一种同步通信控制方法的流程图;
图4是本发明实施例四提供的一种同步通信控制方法的流程图;
图5是本发明实施例五提供的一种同步通信控制装置的结构示意图;
图6是本发明实施例六提供的一种同步通信控制系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种同步通信控制方法的流程图,本实施例可适用于控制器通过SPI接口与外围设备的外部芯片进行同步通信的场景。该方法可以由同步通信控制装置来执行,该装置可以采用硬件和/或软件的形式实现,该装置可集成于MCU控制器中。如图1所示,该方法具体包括以下步骤:
S110、获取待发送至目标外围设备的目标同步通信请求。
其中,目标外围设备可以是指当前需要与控制器进行同步通信的外围设备。目标同步通信请求可以是指控制器生成并发出的与目标外围设备进行同步通信的请求。目标同步通信请求可以包括目标外围设备所连接的目标SPI接口中的目标片选信号信息。控制器可以包括至少一个SPI接口。每个SPI接口包含多个片选信号,片选信号与外围设备一一对应连接。
需要说明的是,主控芯片MCU上面会有每个SPI接口对应的SPI硬件外设,每个SPI硬件外设上面会有多个片选信号,每个片选信号可以连接一个外围设备的外设芯片。MCU的SPI硬件外设通过片选信号与外围设备的外设芯片实现物理连接。SPI模块为MCU和外围设备之间的SPI通信提供驱动。本发明实施例在控制器的SPI模块的上层可以增加一个SPI通信冲突控制模块,以便利用该通信冲突控制模块来解决同步通信冲突的情况。
具体地,控制器在需要与目标外围设备进行同步通信时,可以生成目标同步通信请求,并可以将目标同步通信请求发送至控制器中的SPI通信冲突处理模块。控制器中的SPI通信冲突处理模块可以获取待发送至目标外围设备的目标同步通信请求,以避免目标同步通信请求直接被控制器中的SPI模块执行,从而控制同步通信冲突的情况。
S120、若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。
其中,SPI接口的当前接口状态可以是指SPI接口在当前时刻的作业状态。接口状态可以包括忙碌状态和空闲状态。忙碌状态可以是指SPI接口当前正在发送响应处理同步通信请求。目标优先级信息可以用于表征目标同步通信请求对应的通信重要程度。例如,可以根据业务实际情况,预先配置与每个SPI接口的每个片选信号所连接的外围设备对应的优先级信息。优先级信息可以利用数字进行表征。例如,优先级信息可以是0-255中的数字,并且数字越大代表优先级越高。等待队列可以用于存储需要等待发送处理的同步通信请求。每个SPI接口均预先配置相应的一个等待队列。目标等待队列可以是用于存储需要在目标SPI接口中发送处理的同步通信请求的队列。
具体地,控制器中的SPI通信冲突处理模块若检测到目标SPI接口当前正在进行同步通信,即检测出目标SPI接口的当前接口状态为忙碌状态,则可以基于目标外围设备所使用的目标片选信号信息确定出目标同步通信请求对应的目标优先级信息。并可以基于目标优先级信息,将目标同步通信请求存储至目标等待队列中的合适位置上等待发送处理,从而避免目标同步通信请求直接被SPI模块执行,从而控制同步通信冲突的情况。
具体地,若SPI通信冲突处理模块检测到目标SPI接口的当前接口状态为空闲状态,则表明当前不存在冲突情况,此时可以调用目标SPI接口,对目标同步通信请求按照SPI接口正常通信方式进行处理。
S130、若目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理。
其中,空闲状态可以是指SPI接口当前未处理同步通信请求。
具体的,控制器中的SPI通信冲突处理模块可以实时检测目标SPI接口的当前接口状态是否从忙碌状态变更为空闲状态,并在检测到变更为空闲状态时,表明目标SPI接口可以处理其他同步通信请求,此时可以周期地从目标等待队列中取出一个同步通信请求,并对该同步通信请求进行发送处理,实现SPI模块与硬件外设之间的同步通信,从而利用目标等待队列可以依次处理所存储的各个同步通信请求,避免产生同步通信冲突的情况。例如,SPI通信冲突处理模块可以将取出的同步通信请求发送给SPI模块,使得SPI模块通过调用目标SPI接口,将目标同步通信请求发送至相应的目标外围设备。
需要说明的是,SPI通信冲突控制模块可以与其他模块解耦,集成在不同控制器中,并且SPI通信冲突控制模块内部的SPI冲突处理策略可以根据业务需求进行调整,用于执行不同的业务需求。
本实施例的技术方案,通过获取待发送至目标外围设备的目标同步通信请求,目标同步通信请求包括目标外围设备所连接的目标SPI接口中的目标片选信号信息,并检测目标SPI接口的当前接口状态,若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定所目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。若等待到目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理,从而通过预先对目标SPI接口设置相应的目标等待队列,并在目标SPI接口的当前接口状态为忙碌状态时,可以基于目标优先级信息,将目标同步通信请求存储至目标等待队列中等待发送处理,从而可以避免目标SPI接口当前正在发送处理的同步通信请求被目标同步通信请求所抢占,进而避免导致SPI同步通信冲突的情况,从而保证SPI接口的正常同步通信。
在上述技术方案的基础上,S120“基于目标片选信号信息确定目标同步通信请求对应的目标优先级信息”可以包括:获取目标SPI接口对应的目标优先级配置信息;基于目标片选信号信息和目标优先级配置信息中的片选信号信息与优先级信息之间的对应关系,确定出目标同步通信请求对应的目标优先级信息。
具体地,根据业务实际情况,预先配置每个SPI接口中的每个片选信号所对应的优先级信息,从而SPI通信冲突处理模块可以获得每个SPI接口中的片选信号信息与优先级信息之间的对应关系,也就是获得每个SPI接口对应的优先级配置信息。SPI通信冲突处理模块在获取待发送至目标外围设备的目标同步通信请求后,可以基于预先配置的每个SPI接口对应的优先级配置信息,获得目标SPI接口所对的目标优先级配置信息。将目标优先级配置信息中的片选信号信息与目标片选信号信息进行匹配,可以确定出目标片选信号信息所对应的目标优先级信息。
在上述技术方案的基础上,S120“基于目标优先级信息,将目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中”可以包括:若目标优先级信息是预设优先级信息,则将目标同步通信请求进行删除;若目标优先级信息不是预设优先级信息,则基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。
其中,预设优先级信息可以是指可丢弃的同步通信请求所对应的优先级信息。例如,可以将最低的优先级信息设置为预设优先级信息。例如,若优先级信息可以是0-255中的数字,并且数字越大代表优先级越高,则最低的优先级信息为0,此时可以将预设优先级信息设置为0。
具体地,在将目标同步通信请求存储至目标SPI接口对应的目标等待队列中之前,若检测到目标同步通信请求对应的目标优先级信息为预设优先级信息,比如0,则表明该目标同步通信请求所需要传输信息为非重要信息,可以直接删除该目标同步通信请求,无需存储至目标等待队列中。若目标同步通信请求对应的目标优先级信息不是预设优先级信息,比如为1-255中的任一优先级,则将目标同步通信请求存储至目标等待队列中,从而可以避免将不重要的目标同步通信请求存储至目标等待队列中,进一步节省了设备资源,提高了队列中的请求处理效率。
实施例二
图2为本发明实施例二提供的一种同步通信控制方法的流程图,本实施例在上述各实施例的基础上,对步骤“基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中”进行了进一步优化。其中与上述本发明实施例相同或相应的术语的解释在此不再赘述。如图2所示,该方法具体包括以下步骤:
S210、获取待发送至目标外围设备的目标同步通信请求。
S220、若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定目标同步通信请求对应的目标优先级信息。
S230、若目标SPI接口对应的目标等待队列为非空队列,则获取目标等待队列中的已有同步通信请求对应的已有优先级信息。
其中,已有同步通信请求可以是指当前时刻目标等待队列中所存储的等待被执行的各个同步通信请求。
具体地,可以检测当前时刻下的目标等待队列是否为非空队列,若为非空队列,则可以获取该目标等待队列中存储的所有已有同步通信请求,并可以按照上述描述的目标优先级信息的确定方式,获取每个已有同步通信请求对应的已有优先级信息。
需要说明的是,若检测当前时刻下的目标等待队列为空队列,则表明该目标等待队列中没有等待被执行的同步通信请求。此时,可直接将该目标同步通信请求存储到目标等待队列的首部,等待下个周期执行。
S240、基于已有优先级信息和目标优先级信息,确定目标同步通信请求对应的目标存储位置,并基于目标存储位置,将目标同步通信请求存储至目标等待队列中。
具体地,若目标SPI接口对应的目标等待队列为非空队列,即已有同步通信请求在等待队列中等待被执行,SPI通信冲突处理模块获取对应目标等待队列中已有同步通信请求对应的已有优先级信息。基于已有优先级信息和目标优先级信息,对已有同步通信请求和目标同步通信请求进行排序,确定目标同步通信请求在目标等待队列中对应的目标存储位置,并将目标同步请求存储至目标等待队列中的目标存储位置上,从而可以按照优先级信息依次执行队列中的各个同步通信请求,进而避免导致SPI同步通信冲突的情况,进一步保证SPI接口的正常同步通信。
示例性地,S240“基于已有优先级信息和目标优先级信息,确定目标同步通信请求对应的目标存储位置”可以包括:基于已有优先级信息和目标优先级信息,对已有同步通信请求和目标同步通信请求进行优先级的降序排列;基于请求排列结果,确定目标同步通信请求对应的目标存储位置。
具体地,基于目标同步通信请求对应的优先级信息和目标等待队列中已有同步通信请求对应的优先级信息,按照优先级从高至低的降序排列方式对目标优先级信息对应的目标通信请求和目标等待队列中的已有优先级信息对应的已有通信请求排列,并基于上述请求排列结果,确定目标同步通信请求所对应的目标等待队列中的目标存储位置。例如,控制器上的第一个SPI接口SPI1上有3个片选信号,分别为SLS1-1,SLS1-2,SLS1-3,并分别连接了外围设备。其中SLS1-1、SLS1-2、SLS1-3连接的外围设备当同步通信请求冲突时,同步通信请求不允许被丢弃,并且SLS1-2传输的数据比SLS1-1重要,SLS1-3传输的数据比SLS1-2重要,那么可以分别设置SLS1-1优先级为50,SLS1-2优先级为100,SLS1-3优先级为125。若当前SPI1正在执行的SLS1-2的同步通信请求,并且SPI1等待队列为空,此时SLS1-1的同步通信请求出现,则把该目标同步通信请求存储至SPI1的等待队列首部,即SPI1空闲时下一个要执行的同步通信请求。然后SLS1-3的同步通信请求出现,则需要将SLS1-3的同步通信请求加入SPI1的等待队列。由于SLS1-3的优先级高于SLS1-1,故将SLS1-3的同步通信请求存储至SLS1-1的同步通信请求之前,即当SPI1空闲时,先执行SLS1-3的同步通信请求,再执行SLS1-1的同步通信请求。
S250、若目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理。
本实施例的技术方案,通过若目标SPI接口对应的目标等待队列为非空队列,即已有同步通信请求在等待队列中等待被执行,SPI通信冲突处理模块获取对应目标等待队列中已有同步通信请求对应的已有优先级信息。基于已有优先级信息和目标优先级信息,确定目标同步通信请求在目标等待队列中对应的目标存储位置,并根据所确定的目标同步通信请求对应的目标存储位置,将目标同步请求存储至目标等待队列中,从而可以按照优先级信息依次执行队列中的各个同步通信请求,进而避免导致SPI同步通信冲突的情况,进一步保证SPI接口的正常同步通信。
实施例三
图3为本发明实施例三提供的一种同步通信控制方法的流程图,本实施例在上述各实施例的基础上,“在将目标同步通信请求存储至目标SPI接口对应的目标等待队列中”之后,增加了步骤“对所述目标同步通信请求对应的等待周期进行初始化;在每次发送所述目标等待队列中的同步通信请求时,对所述目标等待队列中当前存储的每个同步通信请求对应的等待周期进行累加更新”,并在此基础上,还对步骤“对所述目标等待队列中的同步通信请求进行发送处理”进行了优化。其中与上述本发明实施例相同或相应的术语的解释在此不再赘述。如图3所示,该方法具体包括以下步骤:
S310、获取待发送至目标外围设备的目标同步通信请求。
S320、若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。
S330、对目标同步通信请求对应的等待周期进行初始化;在每次发送所述目标等待队列中的同步通信请求时,对目标等待队列中当前存储的每个同步通信请求对应的等待周期进行累加更新。
其中,等待周期可以用于表征同步通信请求存储值等待队列后等待被执行的等待时长。在周期性执行同步通信请求时,可以利用周期个数来表征等待周期。例如,等待周期可以是等待队列中同步通信请求等待被执行的周期个数。累加更新可以是指按设定方式对等待周期进行更新。例如,累加更新可以是在同步通信请求的等待周期基础上进行加一更新处理。例如,当目标等待队列中的同步通信请求进行一次发送处理时,目标等待队列中存储的所有SPI同步通信请求的等待周期都加1。
具体地,SPI通信冲突处理模块为每个等待队列中的每个同步通信请求设置一个等待周期。当目标同步通信请求首次加入目标等待队列时,其等待周期为0。当目标等待队列中的同步通信请求进行一次发送处理时,目标等待队列中的当前存储的所有SPI同步通信请求的等待周期都加1,从而等待周期可以用于表征等待队列中已有同步通信请求的待执行情况。
S340、若目标SPI接口的当前接口状态变更为空闲状态,则从目标等待队列中,获取当前待处理的第一同步通信请求。
其中,待处理的第一同步通信请求可以是指等待被处理的已有同步通信请求中对应优先级最高的同步通信请求。例如,第一同步通信请求为目标等待队列中存储在首位的同步通信请求。
具体地,SPI冲突处理模块在检测到目标SPI接口的当前接口状态由忙碌状态变更为空闲状态时,则可以从目标等待队列的队列首部取出当前待处理的第一同步通信请求。
S350、获取第一同步通信请求对应的等待周期。
具体地,SPI冲突处理模块可以获得第一同步通信请求对应的当前存储的等待周期,即表明第一同步通信请求已经等待被执行的周期个数。
S360、若第一同步通信请求对应的等待周期大于预设周期阈值,则将同步传输服务调用时间错误信息进行上报。
其中,预设周期阈值可以是指按照业务需要设定的等待周期最大值。例如,预设周期阈值可以是门限值n。
具体地,可以预先设置一个等待周期的门限值n。SPI冲突处理模块从目标等待队列中获取当前待处理的第一同步通信请求对应的等待周期。若SPI冲突处理模块检测到第一同步通信请求对应的等待周期大于预设周期阈值,则可以上报同步传输服务调用时间错误,从而可以兼容现有的AUTOSAR系统的上报机制。通过每次SPI通信冲突处理模块执行时都会检测每个同步通信请求的等待周期是否超过预设周期阈值,从而可以判断系统是否存在严重调度问题,该同步通信请求是否可以得到满足,进一步保证SPI接口的正常同步通信。
需要说明的是,若第一同步通信请求对应的等待周期小于或等于预设周期阈值,则可以通过调用目标SPI接口,对第一同步通信请求进行正常的发送处理。
本实施例的技术方案,通过每次SPI通信冲突处理模块执行时都会检测当前待处理的每个同步通信请求的等待周期是否超过预设周期阈值,从而可以判断系统是否存在严重调度问题,该同步通信请求是否可以得到满足,进一步保证SPI接口的正常同步通信。
实施例四
图4为本发明实施例四提供的一种同步通信控制方法的流程图。本实施例在上述各实施例的基础上提供了一个优选实例。其中与上述本发明实施例相同或相应的术语的解释在此不再赘述。如图4所示,该方法具体包括以下步骤:
S410、获取待发送至目标外围设备的目标同步通信请求。
S420、检测目标SPI接口当前状态是否为忙碌状态,若为忙碌状态则执行S430,若为空闲状态则执行S440。
S430、获取目标SPI接口对应的目标优先级配置信息。
S431、确定目标同步通信请求对应的目标优先级信息。
S432、检测目标优先级信息是否为预设优先级信息,若是预设优先级信息则执行S437,若不是预设优先级信息则执行S433。
S433、检测目标SPI接口对应的目标等待队列是否为空队列,若为空队列则执行S436,若为非空队列则执行S434。
S434、获取目标等待队列中已有同步通信请求对应的已有优先级信息。
S435、按优先级降序排列,确定目标同步通信请求对应的目标存储位置,存储至所述目标等待队列中。
S436、将目标同步通信请求直接储存在目标等待队列的队列首部。
S437、删除预设优先级信息对应的同步通信请求。
S440、对目标同步通信请求对应的等待周期进行初始化。
S441、按等待周期进行同步通信发送处理。
S442、每次发送所述目标等待队列中的同步通信请求时,对目标等待队列中当前存储的每个同步通信请求对应的等待周期进行累加更新。
S443、从目标等待队列中,获取当前待处理的第一同步通信请求对应的等待周期。
S444、检测第一同步通信请求的等待周期是否大于预设周期阈值,若是则执行S445,若否则执行S441。
S445、将同步传输服务调用时间错误信息进行上报。
本实施例的技术方案,通过预先对目标SPI接口设置相应的目标等待队列,并在目标SPI接口的当前接口状态为忙碌状态时,可以基于目标优先级信息,将目标同步通信请求存储至目标等待队列中等待发送处理,从而可以避免目标SPI接口当前正在发送处理的同步通信请求被目标同步通信请求所抢占,进而避免导致SPI同步通信冲突的情况,从而保证SPI接口的正常同步通信。
以下是本发明实施例提供的同步通信控制装置的实施例,该装置与上述各实施例的同步通信控制方法属于同一个发明构思,在同步通信控制装置的实施例中未详尽描述的细节内容,可以参考上述同步通信控制方法的实施例。
实施例五
图5为本发明实施例五提供的同步通信控制装置的结构示意图。如图5所示,该装置具体包括:同步通信请求接收模块510、同步通信请求存储模块520、同步通信请求处理模块530。
其中,同步通信请求接收模块510,用于获取待发送至目标外围设备的目标同步通信请求,其中,目标同步通信请求包括目标外围设备所连接的目标SPI接口中的目标片选信号信息。同步通信请求存储模块520,用于若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。同步通信请求处理模块530,用于若目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理。
本实施例的技术方案,通过获取待发送至目标外围设备的目标同步通信请求,目标同步通信请求包括目标外围设备所连接的目标SPI接口中的目标片选信号信息,并检测目标SPI接口的当前接口状态,若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定所目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。若等待到目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理,从而通过预先对目标SPI接口设置相应的目标等待队列,并在目标SPI接口的当前接口状态为忙碌状态时,可以基于目标优先级信息,将目标同步通信请求存储至目标等待队列中等待发送处理,从而可以避免目标SPI接口当前正在发送处理的同步通信请求被目标同步通信请求所抢占,进而避免导致SPI同步通信冲突的情况,从而保证SPI接口的正常同步通信。
可选地,同步通信请求存储模块520,包括:
目标优先级配置信息获取单元,具体用于获取目标SPI接口对应的目标优先级配置信息。
目标优先级信息确定单元,具体用于基于目标片选信号信息和目标优先级配置信息中的片选信号信息与优先级信息之间的对应关系,确定出目标同步通信请求对应的目标优先级信息。
可选地,同步通信请求存储模块520,还包括:
已有优先级信息获取单元,用于若目标SPI接口对应的目标等待队列为非空队列,则获取目标等待队列中的已有同步通信请求对应的已有优先级信息。
目标同步通信请求存储单元,用于基于已有优先级信息和目标优先级信息,确定目标同步通信请求对应的目标存储位置,并基于目标存储位置,将目标同步通信请求存储至目标等待队列中。
可选地,目标同步通信请求存储单元,包括:
优先级排列子单元,具体用于基于已有优先级信息和目标优先级信息,对已有同步通信请求和目标同步通信请求进行优先级的降序排列。
目标存储位置确定子单元,具体用于基于请求排列结果,确定目标同步通信请求对应的目标存储位置。
可选地,同步通信请求存储模块520,还包括:
目标同步通信请求删除单元,用于若目标优先级信息是预设优先级信息,则将目标同步通信请求进行删除。
等待队列存储单元,用于若目标优先级信息不是预设优先级信息,则基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。
可选地,同步通信请求存储模块520,还包括:
等待周期初始化单元,用于对目标同步通信请求对应的等待周期进行初始化。
等待周期更新单元,用于在每次发送所述目标等待队列中的同步通信请求时,对目标等待队列中当前存储的每个同步通信请求对应的等待周期进行累加更新。
可选地,同步通信请求处理模块530包括:
第一同步通信请求获取单元,具体用于从目标等待队列中,获取当前待处理的第一同步通信请求。
等待周期获取单元,具体用于获取第一同步通信请求对应的等待周期。
错误信息上报单元,具体用于若第一同步通信请求对应的等待周期大于预设周期阈值,则将同步传输服务调用时间错误信息进行上报。
本发明实施例所提供的同步通信控制装置可执行本发明任意实施例所提供的同步通信控制方法,具备执行同步通信控制方法相应的功能模块和有益效果。
值得注意的是,上述同步通信控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例六
图6为本发明实施例六提供的一种同步通信控制系统的结构示意图。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,控制系统600可以包括控制器610和至少一个外围设备620。控制器610包括至少一个SPI接口,每个所述SPI接口包含多个片选信号,所述片选信号与所述外围设备620一一对应连接。其中,控制器610用于实现如本发明实施例任意所提供的同步通信控制方法。
本实施例的技术方案,通过获取待发送至目标外围设备的目标同步通信请求,目标同步通信请求包括目标外围设备所连接的目标SPI接口中的目标片选信号信息,并检测目标SPI接口的当前接口状态,若检测到目标SPI接口的当前接口状态为忙碌状态,则基于目标片选信号信息确定所目标同步通信请求对应的目标优先级信息,并基于目标优先级信息,将目标同步通信请求存储至目标SPI接口对应的目标等待队列中。若等待到目标SPI接口的当前接口状态变更为空闲状态,则对目标等待队列中的同步通信请求进行发送处理,从而通过预先对目标SPI接口设置相应的目标等待队列,并在目标SPI接口的当前接口状态为忙碌状态时,可以基于目标优先级信息,将目标同步通信请求存储至目标等待队列中等待发送处理,从而可以避免目标SPI接口当前正在发送处理的同步通信请求被目标同步通信请求所抢占,进而避免导致SPI同步通信冲突的情况,从而保证SPI接口的正常同步通信。
实施例七
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的同步通信控制方法。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的同步通信控制方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种同步通信控制方法,其特征在于,包括:
获取待发送至目标外围设备的目标同步通信请求,其中,所述目标同步通信请求包括所述目标外围设备所连接的目标SPI接口中的目标片选信号信息;
若检测到所述目标SPI接口的当前接口状态为忙碌状态,则基于所述目标片选信号信息确定所述目标同步通信请求对应的目标优先级信息,并基于所述目标优先级信息,将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中;
若所述目标SPI接口的当前接口状态变更为空闲状态,则对所述目标等待队列中的同步通信请求进行发送处理。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标片选信号信息确定所述目标同步通信请求对应的目标优先级信息,包括:
获取所述目标SPI接口对应的目标优先级配置信息;
基于所述目标片选信号信息和所述目标优先级配置信息中的片选信号信息与优先级信息之间的对应关系,确定出所述目标同步通信请求对应的目标优先级信息。
3.根据权利要求1所述的方法,其特征在于,所述基于所述目标优先级信息,将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中,包括:
若所述目标SPI接口对应的目标等待队列为非空队列,则获取所述目标等待队列中的已有同步通信请求对应的已有优先级信息;
基于所述已有优先级信息和所述目标优先级信息,确定所述目标同步通信请求对应的目标存储位置,并基于所述目标存储位置,将所述目标同步通信请求存储至所述目标等待队列中。
4.根据权利要求3所述的方法,其特征在于,所述基于所述已有优先级信息和所述目标优先级信息,确定所述目标同步通信请求对应的目标存储位置,包括:
基于所述已有优先级信息和所述目标优先级信息,对所述已有同步通信请求和所述目标同步通信请求进行优先级的降序排列;
基于请求排列结果,确定所述目标同步通信请求对应的目标存储位置。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标优先级信息,将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中,包括:
若所述目标优先级信息是预设优先级信息,则将所述目标同步通信请求进行删除;
若所述目标优先级信息不是预设优先级信息,则基于所述目标优先级信息,将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中。
6.根据权利要求1所述的方法,其特征在于,在将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中之后,还包括:
对所述目标同步通信请求对应的等待周期进行初始化;
在每次发送所述目标等待队列中的同步通信请求时,对所述目标等待队列中当前存储的每个同步通信请求对应的等待周期进行累加更新。
7.根据权利要求6所述的方法,其特征在于,所述对所述目标等待队列中的同步通信请求进行发送处理,包括:
从所述目标等待队列中,获取当前待处理的第一同步通信请求;
获取所述第一同步通信请求对应的等待周期;
若所述第一同步通信请求对应的等待周期大于预设周期阈值,则将同步传输服务调用时间错误信息进行上报。
8.一种同步通信控制装置,其特征在于,包括:
同步通信请求接收模块,用于获取待发送至目标外围设备的目标同步通信请求,其中,所述目标同步通信请求包括所述目标外围设备所连接的目标SPI接口中的目标片选信号信息;
同步通信请求存储模块,用于若检测到所述目标SPI接口的当前接口状态为忙碌状态,则基于所述目标片选信号信息确定所述目标同步通信请求对应的目标优先级信息,并基于所述目标优先级信息,将所述目标同步通信请求存储至所述目标SPI接口对应的目标等待队列中;
同步通信请求处理模块,用于若所述目标SPI接口的当前接口状态变更为空闲状态,则对所述目标等待队列中的同步通信请求进行发送处理。
9.一种同步通信控制系统,其特征在于,所述系统包括:控制器和至少一个外围设备;所述控制器包括至少一个SPI接口,每个所述SPI接口包含多个片选信号,所述片选信号与所述外围设备一一对应连接;
其中,所述控制器用于实现如权利要求1-7中任一项所述的同步通信控制方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的同步通信控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592182.0A CN114968890A (zh) | 2022-05-27 | 2022-05-27 | 一种同步通信控制方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592182.0A CN114968890A (zh) | 2022-05-27 | 2022-05-27 | 一种同步通信控制方法、装置、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968890A true CN114968890A (zh) | 2022-08-30 |
Family
ID=82957517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210592182.0A Pending CN114968890A (zh) | 2022-05-27 | 2022-05-27 | 一种同步通信控制方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968890A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582799A (zh) * | 2009-06-22 | 2009-11-18 | 浙江大学 | 基于can冗余的总线切换方法 |
CN104486189A (zh) * | 2014-11-18 | 2015-04-01 | 深圳达实智能股份有限公司 | 一种配置线程优先级的方法及装置 |
CN105068951A (zh) * | 2015-07-27 | 2015-11-18 | 中国科学院自动化研究所 | 一种具有非等时传输结构的片上系统总线 |
CN105872167A (zh) * | 2016-05-05 | 2016-08-17 | 深圳市万普拉斯科技有限公司 | 电话呼叫方法、装置和终端 |
CN106371768A (zh) * | 2016-09-05 | 2017-02-01 | 华中科技大学 | 一种固态盘系统中的读写优化调度方法 |
CN107426233A (zh) * | 2017-08-08 | 2017-12-01 | 深圳先进技术研究院 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
CN107995127A (zh) * | 2017-12-13 | 2018-05-04 | 深圳乐信软件技术有限公司 | 一种过载保护方法及装置 |
CN110502466A (zh) * | 2019-07-19 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种spi总线多主-多从扩展的控制方法及装置 |
CN111177203A (zh) * | 2019-12-18 | 2020-05-19 | 中国平安财产保险股份有限公司 | 动态调节数据库连接池大小的方法、服务器及存储介质 |
CN111918407A (zh) * | 2020-08-04 | 2020-11-10 | 北京和德宇航技术有限公司 | 卫星上行链路接入方法、装置、设备及存储介质 |
CN113760991A (zh) * | 2021-03-25 | 2021-12-07 | 北京京东拓先科技有限公司 | 数据操作方法、装置、电子设备和计算机可读介质 |
WO2021254330A1 (zh) * | 2020-06-19 | 2021-12-23 | 中兴通讯股份有限公司 | 内存管理方法、系统、客户端、服务器及存储介质 |
-
2022
- 2022-05-27 CN CN202210592182.0A patent/CN114968890A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582799A (zh) * | 2009-06-22 | 2009-11-18 | 浙江大学 | 基于can冗余的总线切换方法 |
CN104486189A (zh) * | 2014-11-18 | 2015-04-01 | 深圳达实智能股份有限公司 | 一种配置线程优先级的方法及装置 |
CN105068951A (zh) * | 2015-07-27 | 2015-11-18 | 中国科学院自动化研究所 | 一种具有非等时传输结构的片上系统总线 |
CN105872167A (zh) * | 2016-05-05 | 2016-08-17 | 深圳市万普拉斯科技有限公司 | 电话呼叫方法、装置和终端 |
CN106371768A (zh) * | 2016-09-05 | 2017-02-01 | 华中科技大学 | 一种固态盘系统中的读写优化调度方法 |
CN107426233A (zh) * | 2017-08-08 | 2017-12-01 | 深圳先进技术研究院 | 基于B/S架构的数据通信系统、方法、Web服务器及监控系统 |
CN107995127A (zh) * | 2017-12-13 | 2018-05-04 | 深圳乐信软件技术有限公司 | 一种过载保护方法及装置 |
CN110502466A (zh) * | 2019-07-19 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种spi总线多主-多从扩展的控制方法及装置 |
CN111177203A (zh) * | 2019-12-18 | 2020-05-19 | 中国平安财产保险股份有限公司 | 动态调节数据库连接池大小的方法、服务器及存储介质 |
WO2021254330A1 (zh) * | 2020-06-19 | 2021-12-23 | 中兴通讯股份有限公司 | 内存管理方法、系统、客户端、服务器及存储介质 |
CN111918407A (zh) * | 2020-08-04 | 2020-11-10 | 北京和德宇航技术有限公司 | 卫星上行链路接入方法、装置、设备及存储介质 |
CN113760991A (zh) * | 2021-03-25 | 2021-12-07 | 北京京东拓先科技有限公司 | 数据操作方法、装置、电子设备和计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9032127B2 (en) | Method of balancing I/O device interrupt service loading in a computer system | |
US7581223B2 (en) | Method and a system for executing operating system functions, as well as an electronic device | |
JP3676827B2 (ja) | マルチプロセッサシステム用のスケジューリング方法 | |
US6633942B1 (en) | Distributed real-time operating system providing integrated interrupt management | |
CN106557369B (zh) | 一种多线程的管理方法及系统 | |
CN109766172B (zh) | 一种异步任务调度方法以及装置 | |
CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
CN107977269B (zh) | 一种报文转发系统中的超时事件处理方法、装置及设备 | |
KR20210040185A (ko) | 태스크 할당 시스템에서의 행동 페어링을 위한 기술들 | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
JP2020080059A (ja) | 評価装置、評価方法および評価プログラム | |
CN115686369A (zh) | 一种存储设备多队列仲裁方法、系统、设备及介质 | |
CN116414534A (zh) | 任务调度方法、装置、集成电路、网络设备及存储介质 | |
CN110231981B (zh) | 服务调用方法及装置 | |
CN114968890A (zh) | 一种同步通信控制方法、装置、系统及存储介质 | |
CN112579323A (zh) | 一种异构多核的异步通信方法及装置 | |
CN111831408A (zh) | 异步任务处理方法、装置、电子设备及介质 | |
CN116643858A (zh) | 基于业务优先级pod再调度方法、装置、设备及介质 | |
CN113051064A (zh) | 任务调度方法、装置、设备及存储介质 | |
US8869171B2 (en) | Low-latency communications | |
CN116233022A (zh) | 一种作业调度方法、服务器及服务器集群 | |
CN114548389A (zh) | 异构计算中计算单元的管理方法及相应处理器 | |
CN114116203A (zh) | 一种资源调用控制方法、资源调用控制装置及存储介质 | |
CN112231087A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN111427673A (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 |