一种基于中断控制器的低速接口中断处理方法及系统技术方案

技术编号:15063553 阅读:47 留言:0更新日期:2017-04-06 12:19
本发明专利技术公开一种基于中断控制器的低速接口中断处理方法及系统,该方法包括:第一例程在接收到CPLD发送的运行任务的中断服务信号以及中断服务信号的类型时,向外设总中断发送第一中断信号;第一例程在将外设总中断关闭后,将中断服务信号发送至与中断服务信号的类型对应的第二例程,以使第二例程根据所述中断服务信号对中断服务信号对应的运行任务进行中断,并在中断后,向外设总中断发送第一开启信号以使外设总中断开启。上述方法将原来在第一例程中的处理中断以及关闭外设中断通过第二例程进行处理,避免由于在外部中断设备为低速设备,还没对中断进行处理完毕时,其外设总中断已开启,被高频率的中断触发导致设备发生死机的问题。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统
,具体涉及一种基于中断控制器的低速接口中断处理方法及系统
技术介绍
中断,是指当出现需要时,中央处理器(CentralProcessingUnit,简称CPU)暂时停止当前的程序执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统中出现了一个必须由CPU立即处理的情况,此时,CPU暂时终止程序的执行转而处理这个新情况的过程。中断主要分为,外部中断和内部中断,现今的大多数CPU都集成了一个可编程的中断控制器,该控制单元提供的寄存器组能控制各种类型的中断源。控制器的主要职责是负责接收与管理中断源产生的硬件中断(包括内部中断和外部中断),并及时响应中断请求及中断处理的过程,它能够按一定的优先级区分与递送特定中断至CPU内核,由CPU内核来响应中断服务。例如,中断控制器能区分和管理与CPU挂接的各种类型的控制单元,如双倍速率同步动态随机存储器(DoubleDataRate,简称DDR)、局部总线LocalBus、外部设备互联总线(PeripheralComponentInterconnect,简称PCI)、DMA、通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter,简称UART)、通用串行总线(UniversalSerialBus,简称USB)、实时时钟(Real-TimeClock,简称RTC)、看门狗Watchdog、集成电路总线(Inter-IntegratedCircuit,简称IIC)、串行外设接口(SerialPeripheralInterface,简称SPI)、通用输入/输出(GeneralPurposeInputOutput,简称GPIO)、中断请求(InterruptRequest,简称IRQ)等。在此不列举CPU集成的中断控制器的所有控制单元,只列举其中的一个控制单元IRQ,复杂可编程逻辑器件(ComplexProgrammableLogicDevice,简称CPLD)属于CPU的其中一个外设模块,在PowerPC的设计中,CPLD挂接在PowerPC处理器的LocalBus总线上,外设访问速度较快,进而中断ISR响应速度极快。其中断处理流程为:如图1所示,在ISR处理函数中,先关闭外设总中断,然后挂接处理钩子,紧接着打开外设总中断。而在ARM等设计,外设CPLD是挂接在GPIO上,通过GPIO来模拟localbus总线,使得CPLD变成极慢速设备,当发生外部中断时,ISR中访问的慢速接口CPLD时就很容易被中断高频率触发致死,引起设备发生死机。
技术实现思路
本专利技术提供了一种基于中断控制器的低速接口中断处理方法及系统,解决了在外部中断设备为低速设备时,被高频率的中断触发导致设备发生死机的问题。第一方面,本专利技术提出一种基于中断控制器的低速接口中断处理方法,包括:第一例程在接收到中断控制器CPLD发送的运行任务的中断服务信号以及所述中断服务信号的类型时,向外设总中断发送第一中断信号以使所述外设总中断关闭;所述第一例程在将所述外设总中断关闭后,将所述中断服务信号发送至与所述中断服务信号的类型对应的第二例程,以使所述第二例程根据所述中断服务信号对所述中断服务信号对应的运行任务进行中断,并在中断后,向外设总中断发送第一开启信号以使所述外设总中断开启。可选的,所述第一例程在将所述中断服务信号发送至第二例程之前,所述方法还包括:所述第一例程调用外设互联总线PCI的中断线上的钩子函数,通过所述钩子函数将所述中断服务信号的类型注册到所述PCI的中断线上,通过所述PCI的中断线将所述中断服务信号发送至第二例程。第二方面,本专利技术还提供了一种基于中断控制器的低速接口中断处理方法,包括:第二例程接收第一例程发送的中断服务信号,向所述第二例程的中断发送第二中断信号以使所述第二例程的中断关闭;所述第二例程在将所述第二例程的中断关闭后,向所述中断服务信号对应的运行任务发送所述中断服务信号;所述第二例程在将所述中断服务信号对应的运行任务进行中断后,向所述第二例程的中断发送第二开启信号,并向外设总中断发送第一开启信号以使所述外设总中断开启。第三方面,本专利技术还提供了一种基于中断控制器的低速接口中断处理装置,包括:第一发送模块,用于在接收到中断控制器CPLD发送的运行任务的中断服务信号以及所述中断服务信号的类型时,向外设总中断发送第一中断信号以使所述外设总中断关闭;第二发送模块,用于在将所述外设总中断关闭后,将所述中断服务信号发送至与所述中断服务信号的类型对应的第二例程,以使所述第二例程根据所述中断服务信号对所述中断服务信号对应的运行任务进行中断,并在中断后,向外设总中断发送第一开启信号以使所述外设总中断开启。可选的,所述装置还包括:调用模块,用于调用外设互联总线PCI的中断线上的钩子函数;所述第二发送模块,用于通过所述钩子函数将所述中断服务信号的类型注册到所述PCI的中断线上,通过所述PCI的中断线将所述中断服务信号发送至第二例程。第四方面,本专利技术还提供了一种基于中断控制器的低速接口中断处理装置,包括:接收模块,用于接收第一例程发送的中断服务信号;第三发送模块,用于向所述第二例程的中断发送第二中断信号以使所述第二例程的中断关闭;第四发送模块,用于在将所述第二例程的中断关闭后,向所述中断服务信号对应的运行任务发送所述中断服务信号;第五发送模块,用于在将所述中断服务信号对应的运行任务进行中断后,向所述第二例程的中断发送第二开启信号;第六发送模块,用于在所述第五发送模块向所述第二例程的中断发送第二开启信号之后,向外设总中断发送第一开启信号以使所述外设总中断开启。第五方面,本专利技术还提供了一种基于中断控制器的低速接口中断处理系统,包括:上述的第一基于中断控制器的低速接口中断处理装置、上述的第二基于中断控制器的低速接口中断处理装置,和中断控制器CPLD,所述CPLD与所述第一基于中断控制器的低速接口中断处理装置相连,所述第一基于中断控制器的低速接口中断处理装置与所述第二基于中断控制器的低速接口中断处理装置相连;所述CPLD,用于接收外部设备触发的运行任务的中断服务信号,根据所述中断服务信号获取所述中断服务信号的类型,将所述运行任务的中断服务信号以及所述中断服务信号的类型发送至第一基于中断控制器的低速接口中断处理装置。可选的,所述CPLD,还用于对所述中断服务信号的类型进行存储。可选的,所述CPLD,还用于对接收的所述中断服务信号进行汇聚,并根据接收的所述中断服务信号的时间顺序向所述第一基于中断控制器的低速接口中断处理装置发送所述中断服务信号。可选的,所述第二基于中断控制器的低速接口中断处理装置为多个。本专利技术提供了一种基于中断控制器的低速接口中断处理方法及系统,在第一例程接收到中断控制器CPLD发送的运行任务的终端服务信号以及终端服务信号的类型时,首先将外设总中断关闭,然后通过将终端服务信号发送第二历程,并将原来在第一例程中的处理中断以及关闭外设中断通过第二例程进行处理,避免了由于在外部中断设备为低速设备,还没对中断进行处理完毕时,其外设总中断已开启,被高频率的中断触发导致设备发生死机的问题。附图说明图1为现有技术中的中断处理方法本文档来自技高网
...
一种基于中断控制器的低速接口中断处理方法及系统

【技术保护点】
一种基于中断控制器的低速接口中断处理方法,其特征在于,包括:第一例程在接收到中断控制器CPLD发送的运行任务的中断服务信号以及所述中断服务信号的类型时,向外设总中断发送第一中断信号以使所述外设总中断关闭;所述第一例程在将所述外设总中断关闭后,将所述中断服务信号发送至与所述中断服务信号的类型对应的第二例程,以使所述第二例程根据所述中断服务信号对所述中断服务信号对应的运行任务进行中断,并在中断后,向外设总中断发送第一开启信号以使所述外设总中断开启。

【技术特征摘要】
1.一种基于中断控制器的低速接口中断处理方法,其特征在于,包括:第一例程在接收到中断控制器CPLD发送的运行任务的中断服务信号以及所述中断服务信号的类型时,向外设总中断发送第一中断信号以使所述外设总中断关闭;所述第一例程在将所述外设总中断关闭后,将所述中断服务信号发送至与所述中断服务信号的类型对应的第二例程,以使所述第二例程根据所述中断服务信号对所述中断服务信号对应的运行任务进行中断,并在中断后,向外设总中断发送第一开启信号以使所述外设总中断开启。2.根据权利要求1所述的方法,其特征在于,所述第一例程在将所述中断服务信号发送至第二例程之前,所述方法还包括:所述第一例程调用外设互联总线PCI的中断线上的钩子函数,通过所述钩子函数将所述中断服务信号的类型注册到所述PCI的中断线上,通过所述PCI的中断线将所述中断服务信号发送至第二例程。3.一种基于中断控制器的低速接口中断处理方法,其特征在于,包括:第二例程接收第一例程发送的中断服务信号,向所述第二例程的中断发送第二中断信号以使所述第二例程的中断关闭;所述第二例程在将所述第二例程的中断关闭后,向所述中断服务信号对应的运行任务发送所述中断服务信号;所述第二例程在将所述中断服务信号对应的运行任务进行中断后,向所述第二例程的中断发送第二开启信号,并向外设总中断发送第一开启信号以使所述外设总中断开启。4.一种基于中断控制器的低速接口中断处理装置,其特征在于,包括:第一发送模块,用于在接收到中断控制器CPLD发送的运行任务的中断服务信号以及所述中断服务信号的类型时,向外设总中断发送第一中断信号以使所述外设总中断关闭;第二发送模块,用于在将所述外设总中断关闭后,将所述中断服务信号发送至与所述中断服务信号的类型对应的第二例程,以使所述第二例程根据所述中断服务信号对所述中断服务信号对应的运行任务进行中断,并在中断后,向外设总中断发送第一开启信号以使所述外设总中断开启。5.根据权利要求4所述的装置,其特征在于,所述装置还包括:调用模块,用于调...

【专利技术属性】
技术研发人员:张敏光
申请(专利权)人:北京东土科技股份有限公司
类型:发明
国别省市:北京;11

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

1