基于FMQL平台的中断嵌套方法、电子设备及存储介质技术

技术编号:34774685 阅读:37 留言:0更新日期:2022-08-31 19:44
本申请公开了一种基于FMQL平台的中断嵌套方法、电子设备及存储介质。该方法包括:S101,若接收到定时器中断请求,响应所述定时器中断请求,清除定时器中断标志,开启中断嵌套并执行定时器中断服务程序;S102,若接收到通信中断请求,响应所述通信中断请求,清除通信中断标志,执行通信数据接收服务程序,在所述通信数据接收服务程序执行结束后返回继续执行所述定时器中断服务程序;S103,若继续执行所述定时器中断服务程序过程中接收到新的通信中断请求,则跳转S102;S104,若所述定时器中断服务程序执行完成,关闭中断嵌套。本发明专利技术实现了中断嵌套,可以立即响应通信中断,从而保证通信的实时性和可靠性。保证通信的实时性和可靠性。保证通信的实时性和可靠性。

【技术实现步骤摘要】
基于FMQL平台的中断嵌套方法、电子设备及存储介质


[0001]本申请涉及嵌入式控制
,更具体地,涉及一种基于FMQL平台的中断嵌套方法、电子设备及存储介质。

技术介绍

[0002]FMQL系列可编程芯片是复旦微电子的全可编程PSOC芯片,该芯片包括中断模式(IRQ模式),然而,IRQ模式为一般中断模式也叫普通中断模式,用于处理一般的中断请求。IRQ模式默认不在响应其他IRQ中断,即默认不支持中断嵌套。
[0003]航天器飞行控制软件在飞行过程中要进行飞行控制计算,同时还需要与航天器系统上其他设备通信。由于飞行控制计算有周期要求,通常放在定时器中断中进行处理,并且飞行控制计算量较大,需要耗费一定的时间;航天器飞行控制单元一般采用中断方式接收通信数据保证通信的实时性、可靠性,并且通信数据接收耗费时间较短。当飞行控制计算过程中通信数据到达时,需要优先处理通信数据之后,再继续进行飞控计算,否则会出现通信数据处理不及时导致数据丢失的问题,从而影响航天器系统的安全性和可靠性。因此需要解决FMQL系列可编程芯片不支持中断嵌套的问题。

技术实现思路

[0004]针对现有技术的至少一个缺陷或改进需求,本专利技术提供了一种基于FMQL平台的中断嵌套方法、电子设备及存储介质,解决了FMQL系列可编程芯片不支持中断嵌套的问题,可以立即响应通信中断,从而保证通信的实时性和可靠性。
[0005]为实现上述目的,按照本专利技术的第一个方面,提供了一种基于FMQL平台的中断嵌套方法,包括:
[0006]S101,若接收到定时器中断请求,响应所述定时器中断请求,清除定时器中断标志,开启中断嵌套并执行定时器中断服务程序,所述中断嵌套包括保存FMQL平台处理器的程序状态保存寄存器的值、修改程序状态寄存器的值以将处理器从中断模式切换为管理模式、保存通用寄存器和链接寄存器的值、以及修改程序状态寄存器的值以允许全局中断;
[0007]S102,若接收到通信中断请求,响应所述通信中断请求,清除通信中断标志,执行通信数据接收服务程序,在所述通信数据接收服务程序执行结束后返回继续执行所述定时器中断服务程序。
[0008]进一步地,基于FMQL平台的中断嵌套方法,还包括:
[0009]S103,若继续执行所述定时器中断服务程序过程中接收到新的通信中断请求,则跳转S102。
[0010]进一步地,基于FMQL平台的中断嵌套方法,还包括:
[0011]S104,若所述定时器中断服务程序执行完成,关闭中断嵌套,所述关闭中断嵌套包括修改程序状态寄存器的值以禁止全局中断、将开启中断嵌套时保存的寄存器和链接寄存器的值赋值给对应的寄存器和链接寄存器、修改程序状态寄存器的值以将处理器从管理模
式切换为中断模式、以及将开启中断嵌套时保存的程序状态保存寄存器的值赋值给程序状态保存寄存器。
[0012]进一步地,所述通信中断请求包括CAN中断。
[0013]进一步地,所述FMQL平台处理器默认为管理模式。
[0014]进一步地,基于FMQL平台的中断嵌套方法应用于航天飞行控制器。
[0015]按照本专利技术的第二个方面,还提供了一种电子设备,其包括至少一个处理器、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项所述方法的步骤。
[0016]按照本专利技术的第三个方面,还提供了一种存储介质,其存储有可由处理器执行的计算机程序,当所述计算机程序在处理器上运行时,使得处理器执行上述任一项所述方法的步骤。
[0017]总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:解决了FMQL平台默认不允许中断嵌套的问题,通过本专利技术中断嵌套方法,实现了通信中断的立即响应,从而保证飞行控制计算过程中通信的实时性和可靠性。
附图说明
[0018]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为本申请实施例提供的一种基于FMQL平台的中断嵌套方法的流程示意图;
[0020]图2为本申请另一实施例提供的基于FMQL平台的中断嵌套方法的原理示意图。
具体实施方式
[0021]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0022]本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0023]FMQL是复旦微电子的全可编程PSOC芯片,芯片内集成了四核处理器系统,处理器有用户(USR)、快速中断(FIQ)、中断(IRQ)、管理(SVC)、异常终止(ABT)、未定义(UND)、系统(SYS)、监控(MON)8种工作模式。其中,IRQ模式默认不再响应其他IRQ中断,即默认不支持中断嵌套。
[0024]中断嵌套是指处理器在响应某个中断时,可以被其他中断抢占。本专利技术实施例中,中断包括定时器中断和通信中断。定时器中断是指可以被抢占的中断,一般耗时。通信中断是指需要立即响应的中断,包括但不限于CAN中断,例如当航天器飞行控制单元需要接收通信数据时,则需要进行通信中断。
[0025]进一步地,本专利技术实施例的一种基于FMQL平台的中断嵌套方法可应用于航天飞行控制器。
[0026]如图1所示,本专利技术实施例的一种基于FMQL平台的中断嵌套方法,包括:
[0027]S101,若接收到定时器中断请求,响应定时器中断请求,清除定时器中断标志,开启中断嵌套并执行定时器中断服务程序,中断嵌套包括保存FMQL平台处理器的程序状态保存寄存器的值、修改程序状态寄存器的值以将处理器从中断模式切换为管理模式、保存通用寄存器和链接寄存器的值、以及修改程序状态寄存器的值以允许全局中断。
[0028]开启中断嵌套包括保存SPSR值、切换工作模式、保存上下文以及开全局中断。
[0029]保存SPSR的值,是指将SPSR的值压入堆栈。其中,SPSR是程序状态保存寄存器,用于保存程序状态寄存器(CPSR)的状态。
[0030]切换工作模式,是指通过修改程序状态寄存器(CPSR)的值将处理器工作模式从中断(IRQ)模式切换到管理(SVC)模式。若接收到定时器中断请求,响应所述定时器中断请求时,平台默认操本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FMQL平台的中断嵌套方法,其特征在于,包括:S101,若接收到定时器中断请求,响应所述定时器中断请求,清除定时器中断标志,开启中断嵌套并执行定时器中断服务程序,所述中断嵌套包括保存FMQL平台处理器的程序状态保存寄存器的值、修改程序状态寄存器的值以将处理器从中断模式切换为管理模式、保存通用寄存器和链接寄存器的值、以及修改程序状态寄存器的值以允许全局中断;S102,若接收到通信中断请求,响应所述通信中断请求,清除通信中断标志,执行通信数据接收服务程序,在所述通信数据接收服务程序执行结束后返回继续执行所述定时器中断服务程序。2.如权利要求1所述的基于FMQL平台的中断嵌套方法,其特征在于,还包括:S103,若继续执行所述定时器中断服务程序过程中接收到新的通信中断请求,则跳转S102。3.如权利要求1或2所述的基于FMQL平台的中断嵌套方法,其特征在于,还包括:S104,若所述定时器中断服务程序执行完成,关闭中断嵌套,所述关闭中断嵌套包括修改程序状态寄...

【专利技术属性】
技术研发人员:邱帆郭昊张军波张伟袁天亮王烽汪星星程石罗浩张中元
申请(专利权)人:湖北三江航天红峰控制有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1