CN1277161C - Programmable interrupt controller - Google Patents
Programmable interrupt controller Download PDFInfo
- Publication number
- CN1277161C CN1277161C CN 200310112596 CN200310112596A CN1277161C CN 1277161 C CN1277161 C CN 1277161C CN 200310112596 CN200310112596 CN 200310112596 CN 200310112596 A CN200310112596 A CN 200310112596A CN 1277161 C CN1277161 C CN 1277161C
- Authority
- CN
- China
- Prior art keywords
- interrupt
- module
- register
- priority
- sampling
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Programmable Controllers (AREA)
- Bus Control (AREA)
Abstract
Description
技术领域technical field
本发明涉及SOC(片上系统)上众多主设备(master)中断、从设备(slave)中断、软中断和外部中断的处理技术。具体来说,就是涉及能够从众多主设备中断、从设备中断、软中断和外部中断中选出优先级最高的中断,并向处理器内核(ARM core)发起中断请求的中断控制装置。The invention relates to the processing technology of many master interrupts, slave interrupts, soft interrupts and external interrupts on the SOC (system on chip). Specifically, it relates to an interrupt control device that can select the interrupt with the highest priority from many master interrupts, slave interrupts, soft interrupts and external interrupts, and initiate an interrupt request to the processor core (ARM core).
背景技术Background technique
可编程中断控制器是应用于SOC(片上系统)设计中的一个模块。SOC设计中包含了众多硬件模块和软件的设计,很多硬件模块都会输出一个或者几个中断,还有软件中断和外部中断,在整个系统中,中断会达到几十个,而处理器内核(ARM core)仅有两个中断请求信号可以输入,所以,中断必须先经过处理才能进入处理器内核。可编程中断控制器就是用来进行中断在进入处理器内核前的处理。Programmable interrupt controller is a module used in SOC (system on chip) design. The SOC design includes many hardware modules and software designs. Many hardware modules will output one or several interrupts, as well as software interrupts and external interrupts. In the entire system, there will be dozens of interrupts, and the processor core (ARM core) only two interrupt request signals can be input, so the interrupt must be processed before entering the processor core. The programmable interrupt controller is used to process the interrupt before entering the processor core.
在现有的技术中,中断控制器功能比较单一,配置不灵活、可重用性差。中断控制器一般有几个寄存器:中断源寄存器、中断屏蔽寄存器、中断挂起寄存器,寄存器的每一位对应一个外部中断源。中断源寄存器接收外部中断源的中断请求,中断屏蔽寄存器对外部中断源进行屏蔽检测,经过屏蔽检测的中断放进中断挂起寄存器中,中断挂起寄存器进行位或操作后向处理器内核发起一个中断,处理器内核读中断挂起寄存器,并根据位的位置来判断中断的优先级,并执行相应的中断程序。在现有技术下的中断控制器的功能受到很大的限制,中断优先级、中断触发类型、中断类型、软中断等都不能灵活配置,不支持中断嵌套、中断共享等功能。In the existing technology, the function of the interrupt controller is relatively single, the configuration is inflexible, and the reusability is poor. The interrupt controller generally has several registers: interrupt source register, interrupt mask register, interrupt pending register, and each bit of the register corresponds to an external interrupt source. The interrupt source register receives the interrupt request from the external interrupt source, and the interrupt mask register performs mask detection on the external interrupt source, and the interrupt detected by the mask is put into the interrupt pending register, and the interrupt pending register initiates a bit-OR operation to the processor core. Interrupt, the processor core reads the interrupt pending register, and judges the priority of the interrupt according to the position of the bit, and executes the corresponding interrupt program. The function of the interrupt controller in the prior art is greatly limited, and the interrupt priority, interrupt trigger type, interrupt type, soft interrupt, etc. cannot be flexibly configured, and functions such as interrupt nesting and interrupt sharing are not supported.
专利号为01101691的中国专利,题目为:包含一个中断强制寄存器的灵活中断控制器。该专利在普通中断控制器的基础上解决了软中断的配置,它通过软件写中断强制寄存器触发相应的中断,但它对中断优先级、中断触发类型、中断类型等不能灵活配置。不支持中断嵌套、中断共享等功能。The Chinese Patent No. 01101691 is titled: Flexible Interrupt Controller Containing an Interrupt Force Register. This patent solves the configuration of soft interrupts on the basis of ordinary interrupt controllers. It triggers corresponding interrupts by writing interrupt force registers through software, but it cannot flexibly configure interrupt priorities, interrupt trigger types, and interrupt types. Functions such as interrupt nesting and interrupt sharing are not supported.
专利号为06581120的美国专利,题目为:中断控制器。该专利描述的中断控制器是中断在经过中断屏蔽检测、判决优先级后向处理器内核发出中断请求,并输出相关的中断源信息到中断状态模块中,中断状态模块产生一个寄存器选择信号到中断指令模块,中断指令模块选择一个相应中断的中断指令提供给处理器内核读取。中断指令模块是存储中断指令的逻辑,在初始化的时候由软件写入相应中断的中断指令。它对中断优先级、中断触发类型、中断类型等不能灵活配置。不支持中断嵌套、中断共享等功能。The US Patent No. 06581120 is entitled: Interrupt Controller. The interrupt controller described in this patent sends an interrupt request to the processor core after the interrupt is detected by the interrupt mask and the priority is judged, and outputs the relevant interrupt source information to the interrupt status module. The interrupt status module generates a register selection signal to the interrupt In the instruction module, the interrupt instruction module selects an interrupt instruction corresponding to the interrupt and provides it to the processor core for reading. The interrupt command module is the logic for storing the interrupt command, and the interrupt command of the corresponding interrupt is written by the software at the time of initialization. It cannot be flexibly configured for interrupt priority, interrupt trigger type, interrupt type, etc. Functions such as interrupt nesting and interrupt sharing are not supported.
专利号为05603035的美国专利,题目为:可编程中断控制器,中断系统和中断控制过程。该专利对中断优先级可配置,内部进行优先级比较,并支持中断的嵌套,但它所能配置的优先级为8级,对中断触发类型、中断类型也不能灵活配置。不支持中断共享等的功能。The US Patent No. 05603035 is entitled: Programmable Interrupt Controller, Interrupt System and Interrupt Control Process. The patent is configurable for the interrupt priority, internally compares the priority, and supports the nesting of interrupts, but it can configure 8 levels of priority, and it cannot flexibly configure the interrupt trigger type and interrupt type. Functions such as interrupt sharing are not supported.
发明内容Contents of the invention
本发明提出了一个功能全面、配置灵活、可重用性好的可编程中断控制器,主要解决了现有技术中中断控制器功能比较单一、配置不灵活、可重用性差的问题。The invention proposes a programmable interrupt controller with comprehensive functions, flexible configuration and good reusability, which mainly solves the problems of relatively single function, inflexible configuration and poor reusability of the interrupt controller in the prior art.
本发明的技术方案如下:Technical scheme of the present invention is as follows:
可编程中断控制器包括有总线接口模块、中断采样模块、IRQ(普通中断请求)逻辑处理模块、FIQ(快速中断请求)逻辑处理模块、优先级比较模块和信号混合模块。The programmable interrupt controller includes a bus interface module, an interrupt sampling module, an IRQ (ordinary interrupt request) logic processing module, a FIQ (fast interrupt request) logic processing module, a priority comparison module and a signal mixing module.
总线接口模块是可编程中断控制器与APB(高级外设总线)总线的接口,总线通过这个模块访问中断控制器的寄存器。各类寄存器主要存放在总线接口模块。处理器内核通过总线可以对可编程中断控制器内部的寄存器进行读写操作。各模块都通过接口模块访问寄存器。The bus interface module is the interface between the programmable interrupt controller and the APB (Advanced Peripheral Bus) bus, and the bus accesses the registers of the interrupt controller through this module. Various registers are mainly stored in the bus interface module. The processor core can read and write the internal registers of the programmable interrupt controller through the bus. Each module accesses the registers through the interface module.
总线接口模块内部有多个中断模式寄存器,每个中断对应一个中断模式寄存器,记录着对应中断的配置信息。中断模式寄存器由软件在初始化的时候设置,在运行过程中也可以进行修改。There are multiple interrupt mode registers inside the bus interface module, and each interrupt corresponds to an interrupt mode register, which records the configuration information of the corresponding interrupt. The interrupt mode register is set by software during initialization, and can also be modified during operation.
总线接口模块内部有一个中断屏蔽寄存器,中断屏蔽寄存器中每一位对应一个外部中断源。There is an interrupt mask register inside the bus interface module, and each bit in the interrupt mask register corresponds to an external interrupt source.
总线接口模块内部有一个中断使能寄存器和一个中断去使能寄存器。用来对中断屏蔽寄存器的单独的位进行修改。There is an interrupt enable register and an interrupt disable register inside the bus interface module. Used to modify individual bits of the interrupt mask register.
总线接口模块内部有多个中断向量寄存器,每个中断对应一个中断向量寄存器,记录着对应中断的程序入口地址。中断向量寄存器由软件在初始化的时候没置。There are multiple interrupt vector registers inside the bus interface module, and each interrupt corresponds to an interrupt vector register, which records the program entry address corresponding to the interrupt. The interrupt vector register is set by software during initialization.
总线接口模块内部有一个普通中断向量寄存器和一个快速中断向量寄存器,供处理器内核读取。普通中断向量寄存器是存储当前最高优先级中断的向量的寄存器,快速中断向量寄存器是存储快速中断向量的寄存器。There is an ordinary interrupt vector register and a fast interrupt vector register inside the bus interface module, which are read by the processor core. The normal interrupt vector register is a register that stores the vector of the current highest priority interrupt, and the fast interrupt vector register is a register that stores the fast interrupt vector.
总线接口模块内部有一个中断现场寄存器,用来存储当前执行的中断的现场。There is an interrupt scene register inside the bus interface module, which is used to store the interrupt scene currently being executed.
总线接口模块内部有一个中断置位寄存器和中断清位寄存器。用来在软中断模式和测试模式的时候发起或取消中断请求。There is an interrupt setting register and an interrupt clearing register inside the bus interface module. It is used to initiate or cancel interrupt requests in soft interrupt mode and test mode.
总线接口模块内部有一个中断测试模式寄存器,用来控制可编程中断控制器工作在正常模式和测试模式。There is an interrupt test mode register inside the bus interface module, which is used to control the programmable interrupt controller to work in normal mode and test mode.
中断采样模块是采样中断源的模块,它包含有多个中断采样子模块。它采样外部中断、内部中断和软中断,判断中断类型,并且在模块中进行中断屏蔽的检测。在采样异步中断信号的时候,在模块的边缘必须进行同步处理,同时也进行消除毛刺的处理。中断采样模块包含有多个中断采样子模块,每个中断源对应一个中断采样子模块。The interrupt sampling module is a module for sampling interrupt sources, and it contains multiple interrupt sampling sub-modules. It samples external interrupts, internal interrupts and soft interrupts, judges the interrupt type, and detects the interrupt mask in the module. When sampling an asynchronous interrupt signal, synchronous processing must be performed at the edge of the module, and processing to eliminate glitches must also be performed. The interrupt sampling module contains multiple interrupt sampling sub-modules, and each interrupt source corresponds to an interrupt sampling sub-module.
中断采样模块支持的中断类型有fiq(快速中断请求)和irq(普通中断请求)模式。通过设置中断模式寄存器,每个中断源都可以设置为fiq或irq模式,但只有一个中断源可以设置为fiq模式。可编程中断控制器支持电平中断的中断共享。可编程中断控制器支持软中断模式。The interrupt types supported by the interrupt sampling module are fiq (fast interrupt request) and irq (ordinary interrupt request) modes. By setting the interrupt mode register, each interrupt source can be set to fiq or irq mode, but only one interrupt source can be set to fiq mode. The programmable interrupt controller supports interrupt sharing for level interrupts. The programmable interrupt controller supports soft interrupt mode.
中断采样模块支持的中断触发类型有低电平、高电平、上升沿、下降沿四种模式。软件通过设置中断模式寄存器,可以对中断的触发类型进行设置。中断源能单独进行屏蔽和允许,软件通过对中断屏蔽寄存器的写操作来执行中断的屏蔽和允许。The interrupt trigger types supported by the interrupt sampling module include four modes: low level, high level, rising edge, and falling edge. The software can set the trigger type of the interrupt by setting the interrupt mode register. Interrupt sources can be masked and enabled individually, and software can perform interrupt masking and enabling by writing to the interrupt mask register.
中断采样模块融合了电平敏感、边缘敏感、软中断和测试模式下的中断,可以发出fiq和irq中断。采样到的中断放在中断请求寄存器中,软件可以通过读取寄存器来得到当前的未处理中断状态。各个采样模块的irq中断线连接到中断的优先级比较模块,供中断优先级比较时使用。各个采样模块的fiq中断线连接到fiq逻辑处理模块,产生fiq中断。The interrupt sampling module combines level-sensitive, edge-sensitive, soft interrupts and interrupts in test mode, and can issue fiq and irq interrupts. The sampled interrupt is placed in the interrupt request register, and the software can get the current pending interrupt status by reading the register. The irq interrupt line of each sampling module is connected to the interrupt priority comparison module for use when interrupt priority comparison. The fiq interrupt lines of each sampling module are connected to the fiq logic processing module to generate fiq interrupts.
中断采样子模块通过从信号混合模块返回的响应信号来对中断请求进行处理,也对中断的采样允许进行处理。电平中断的中断共享就是通过采样允许来控制的,在一个中断未处理完以前,可编程中断控制器是不再采样同一个中断的。The interrupt sampling sub-module processes the interrupt request through the response signal returned from the signal mixing module, and also processes the interrupt sampling permission. The interrupt sharing of the level interrupt is controlled by sampling permission. Before an interrupt is processed, the programmable interrupt controller will no longer sample the same interrupt.
优先级比较模块是可编程中断控制器的核心模块,它包括多个中断的优先级比较子模块。优先级比较模块对所有irq中断进行流水线的优先级比较工作。优先级比较模块对各个申请的中断进行优先级的比较。在中断优先级比较完成以后,向IRQ逻辑处理模块发送相关的信息。The priority comparison module is the core module of the programmable interrupt controller, which includes multiple interrupt priority comparison sub-modules. The priority comparison module performs pipeline priority comparison work on all irq interrupts. The priority comparison module compares the priority of each requested interrupt. After the interrupt priority level comparison is completed, relevant information is sent to the IRQ logic processing module.
中断的优先级可设置,通过对中断模式寄存器的写操作可以对中断的优先级进行修改。软件在初始化的时候对中断的优先级进行设置,在运行过程中软件也可以对优先级进行修改。中断的优先级总共有32级,第31级为最高级,0为最低级。优先级可以重复设置。The priority of the interrupt can be set, and the priority of the interrupt can be modified by writing to the interrupt mode register. The software sets the priority of the interrupt during initialization, and the software can also modify the priority during operation. There are a total of 32 levels of interrupt priority, with level 31 being the highest and
优先级比较子模块是最基本的优先级比较部分,它对两个中断源进行优先级比较,输出一个较高优先级的中断,供后面的比较使用。每一个比较子模块的输入是两个中断的标志、中断模式、中断向量,输出是一个中断标志、较高优先级的中断的模式和向量寄存器。它的优先级比较规则如下:先比较中断的优先级,在中断模式寄存器中设置的优先级越大,这个中断的优先级就越高(fiq中断的优先级最高,为31),如果两个中断的优先级相同,就比较中断模式寄存器中的中断源的代码,代码越大,它的优先级越高。The priority comparison sub-module is the most basic priority comparison part. It compares the priority of two interrupt sources and outputs a higher priority interrupt for later comparison. The input of each comparison sub-module is two interrupt flags, interrupt mode, interrupt vector, and the output is an interrupt flag, higher priority interrupt mode and vector register. Its priority comparison rules are as follows: first compare the priority of the interrupt, the higher the priority set in the interrupt mode register, the higher the priority of the interrupt (fiq interrupt has the highest priority, which is 31), if two If the priority of the interrupt is the same, compare the code of the interrupt source in the interrupt mode register. The larger the code, the higher its priority.
在优先级比较模块中,包含有多个优先级比较子模块。中断源两两比较后输出一个较高优先级的中断,然后输出的中断再进行比较,最后得出一个最高优先级的中断,输出到irq逻辑处理模块。这就是一个典型的流水线比较方式。In the priority comparison module, there are multiple priority comparison sub-modules. Interrupt sources are compared in pairs and output a higher priority interrupt, and then the output interrupts are compared again, and finally a highest priority interrupt is obtained, which is output to the irq logic processing module. This is a typical pipeline comparison method.
FIQ逻辑处理模块是向ARM core发出FIQ中断的模块,为总线接口模块提供快速中断向量寄存器和中断现场寄存器。中断采样模块在采样到快速中断的时候,向FIQ逻辑处理模块发出对应fiq请求,FIQ逻辑处理模块将该中断对应的中断向量放到快速中断向量寄存器中,并向ARM core发出fiq中断请求。The FIQ logic processing module is a module that sends FIQ interrupts to the ARM core, and provides fast interrupt vector registers and interrupt field registers for the bus interface module. When the interrupt sampling module samples a fast interrupt, it sends a corresponding fiq request to the FIQ logic processing module, and the FIQ logic processing module puts the interrupt vector corresponding to the interrupt into the fast interrupt vector register, and sends a fiq interrupt request to the ARM core.
Irq逻辑处理模块是向APRM core发出irq中断的模块,为总线接口模块提供普通中断向量寄存器和中断现场寄存器。中断采样模块在采样到irq中断的时候,向优先级比较模块发出irq请求,优先级比较模块通过优先级比较得出一个最高优先级的中断送给Irq逻辑处理模块,irq逻辑处理模块将该中断对应的中断向量放到普通中断向量寄存器中,并向ARM core发出irq中断请求。The Irq logic processing module is a module that sends an irq interrupt to the APRM core, and provides a common interrupt vector register and an interrupt field register for the bus interface module. When the interrupt sampling module samples the irq interrupt, it sends an irq request to the priority comparison module, and the priority comparison module obtains a highest priority interrupt through the priority comparison and sends it to the Irq logic processing module, and the irq logic processing module sends the interrupt The corresponding interrupt vector is placed in the ordinary interrupt vector register, and an irq interrupt request is sent to the ARM core.
可编程中断控制器支持软件的中断嵌套,中断的嵌套是在软件里面实现的,硬件为了保护中断的正常进行,不出现处理异常,需要对中断的现场进行保护。在可编程中断控制器中是利用中断现场寄存器来保护中断的现场,通过对中断现场寄存器的操作,保证中断能够正常地处理。The programmable interrupt controller supports software interrupt nesting. The interrupt nesting is realized in the software. In order to protect the normal progress of the interrupt and prevent abnormal processing, the interrupt site needs to be protected. In the programmable interrupt controller, the interrupt site register is used to protect the interrupt site, and the interrupt can be normally processed through the operation of the interrupt site register.
信号混合模块是对fiq逻辑处理模块和irq逻辑处理模块产生的部分响应信号进行处理后输出给中断采样模块或总线接口模块。也将总线接口模块的部分信号输出给fiq逻辑处理模块或irq逻辑处理模块。The signal mixing module processes the partial response signals generated by the fiq logic processing module and the irq logic processing module and outputs them to the interrupt sampling module or the bus interface module. It also outputs part of the signals of the bus interface module to the fiq logic processing module or the irq logic processing module.
可编程中断控制器支持中断源的软中断模式。软中断模式是指由软件发起中断的请求。软件通过设置中断模式寄存器可以将每个中断源设置为软中断模式,在设置为软中断模式后,对应中断将不再响应外部中断源的请求,直到软中断模式取消。软件可以通过设置中断置位寄存器和中断清位寄存器来发起或取消中断请求。The programmable interrupt controller supports soft interrupt mode for interrupt sources. Soft interrupt mode refers to the interrupt request initiated by software. The software can set each interrupt source to soft interrupt mode by setting the interrupt mode register. After setting to soft interrupt mode, the corresponding interrupt will no longer respond to the request of the external interrupt source until the soft interrupt mode is cancelled. Software can initiate or cancel an interrupt request by setting the interrupt set register and interrupt clear register.
本发明所描述的可编程中断控制器解决了现有技术中中断控制器功能单一、配置不灵活、可重用性差的缺点,它可以灵活地应用于SOC(片上系统)的设计当中,根据系统的需求,可以进行灵活的配置。The programmable interrupt controller described in the present invention solves the shortcoming of single function, inflexible configuration and poor reusability of the interrupt controller in the prior art, and it can be flexibly applied in the design of SOC (system on chip), according to the system Flexible configuration is possible.
附图说明Description of drawings
图1是一个简单SOC(片上系统)的结构框图;Fig. 1 is a structural block diagram of a simple SOC (system on a chip);
图2是本发明的结构框图;Fig. 2 is a structural block diagram of the present invention;
图3是总线接口模块的结构框图;Fig. 3 is the structural block diagram of bus interface module;
图4是中断采样模块的结构图;Fig. 4 is a structural diagram of the interrupt sampling module;
图5是本发明在采样外部中断源时的同步电路;Fig. 5 is the synchronization circuit of the present invention when sampling the external interrupt source;
图6是本发明在采样外部中断源时的去毛刺电路;Fig. 6 is the deburring circuit of the present invention when sampling the external interrupt source;
图7是优先级比较模块的结构图;Fig. 7 is the structural diagram of priority comparison module;
图8是本发明在进行优先级比较时采用的流水线比较方法:Fig. 8 is the pipeline comparison method that the present invention adopts when carrying out priority comparison:
图9为去毛刺电路的波形图;Figure 9 is a waveform diagram of the deburring circuit;
图10是一个典型中断嵌套处理过程的软硬件协同处理的流程框图;Fig. 10 is a flow diagram of software and hardware cooperative processing of a typical interrupt nesting process;
具体实施方式Detailed ways
在SOC(片上系统)的设计中,中断控制器是必须的一个模块。本发明提供的是一种功能全面、可以灵活配置的可编程中断控制器,系统可以根据自己的属性,来配置可编程中断控制器,使可编程中断控制器适合系统的需求。系统对可编程中断控制器配置的项目可以为:中断优先级、中断触发类型、中断类型、软中断模式、中断测试模式、中断源可以单独进行屏蔽,还可以配置每个中断源的中断服务程序的入口地址。可编程中断控制器支持电平中断的共享,可以向处理器内核发出fiq或irq中断。In the design of SOC (system on chip), the interrupt controller is a necessary module. The invention provides a programmable interrupt controller with comprehensive functions and flexible configuration. The system can configure the programmable interrupt controller according to its own attributes, so that the programmable interrupt controller can meet the requirements of the system. The items configured by the system for the programmable interrupt controller can be: interrupt priority, interrupt trigger type, interrupt type, soft interrupt mode, interrupt test mode, interrupt source can be masked separately, and the interrupt service routine of each interrupt source can also be configured The entry address of . The programmable interrupt controller supports the sharing of level interrupts and can issue fiq or irq interrupts to the processor core.
参照图1~10可以更好地理解本发明。图1是基于本发明的一个简单的SOC(片上系统)的结构框图。该系统有ARM core(处理器内核)、SDRAM(同步动态存储器)控制器、SRAM(静态存储器)控制器、挂在AHB bus上的其它模块(例如:DMA(直接存储器存取)等模块)、AHB-APB桥、可编程中断控制器和挂在APBbus上的其它模块(例如:Timer(时钟)、UART(异步串行接口)、SSP(同步串行接口)等模块)。挂在总线上的模块可以有很多个,模块会产生中断,这些中断请求可以为不同的中断优先级,不同的中断触发类型,不同的中断类型,模块的中断连接到可编程中断控制器上不同的中断请求信号,软件根据这个硬件的连接关系对每个中断的中断模式寄存器进行配置,使可编程中断控制器可以正确地采样外部中断。The present invention can be better understood with reference to FIGS. 1-10. Fig. 1 is a structural block diagram of a simple SOC (system on chip) based on the present invention. The system has ARM core (processor core), SDRAM (synchronous dynamic memory) controller, SRAM (static memory) controller, other modules hanging on the AHB bus (for example: DMA (direct memory access) and other modules), AHB-APB bridge, programmable interrupt controller and other modules hanging on APBbus (for example: Timer (clock), UART (asynchronous serial interface), SSP (synchronous serial interface) and other modules). There can be many modules hanging on the bus, and the modules will generate interrupts. These interrupt requests can be different interrupt priorities, different interrupt trigger types, different interrupt types, and the interrupts of the modules are connected to different programmable interrupt controllers. The software configures the interrupt mode register of each interrupt according to the connection relationship of the hardware, so that the programmable interrupt controller can correctly sample the external interrupt.
图2是本发明的结构框图。它包括有总线接口模块、中断采样模块、IRQ逻辑处理模块、FIQ逻辑处理模块、优先级比较模块和信号混合模块。Fig. 2 is a structural block diagram of the present invention. It includes bus interface module, interrupt sampling module, IRQ logic processing module, FIQ logic processing module, priority comparison module and signal mixing module.
总线接口模块是可编程中断控制器与APB总线的接口,总线通过这个模块访问中断控制器的寄存器。各类寄存器主要存放在总线接口模块。各子模块都通过接口模块访问寄存器。The bus interface module is the interface between the programmable interrupt controller and the APB bus, and the bus accesses the registers of the interrupt controller through this module. Various registers are mainly stored in the bus interface module. Each sub-module accesses the register through the interface module.
中断采样模块(参照图4)是采样中断源的模块,它包含有多个中断采样子模块。它采样外部中断、内部中断和软中断,判断中断类型,并且在模块中进行中断屏蔽的检测。在采样异步中断信号的时候,在模块的边缘必须进行同步处理(参照图5),同时也进行消除毛刺的处理(参照图6)。The interrupt sampling module (refer to FIG. 4 ) is a module for sampling interrupt sources, and it includes multiple interrupt sampling sub-modules. It samples external interrupts, internal interrupts and soft interrupts, judges the interrupt type, and detects the interrupt mask in the module. When sampling an asynchronous interrupt signal, synchronous processing (refer to Figure 5) must be performed at the edge of the module, and deburring processing (refer to Figure 6) must also be performed at the same time.
中断采样模块融合了电平敏感、边缘敏感、软中断和测试模式下的中断,可以发出fiq和irq中断。采样到的中断放在中断请求寄存器中,软件可以通过读取寄存器来得到当前的未处理中断状态。各个子模块采样到的普通中断请求连接到中断的优先级比较模块,供中断优先级比较时使用;各个子模块采样到的快速中断请求连接到快速中断请求逻辑处理模块,产生快速中断请求中断;The interrupt sampling module combines level-sensitive, edge-sensitive, soft interrupts and interrupts in test mode, and can issue fiq and irq interrupts. The sampled interrupt is placed in the interrupt request register, and the software can get the current pending interrupt status by reading the register. The ordinary interrupt requests sampled by each sub-module are connected to the interrupt priority comparison module for use in interrupt priority comparison; the fast interrupt requests sampled by each sub-module are connected to the fast interrupt request logic processing module to generate a fast interrupt request interrupt;
中断采样模块通过从信号混合模块返回的响应信号来对中断请求进行处理,也对中断的采样允许进行处理。电平中断的中断共享就是通过采样允许来控制的,在一个中断未处理完以前,可编程中断控制器是不再采样同一个中断的。The interrupt sampling module processes the interrupt request through the response signal returned from the signal mixing module, and also processes the interrupt sampling permission. The interrupt sharing of the level interrupt is controlled by sampling permission. Before an interrupt is processed, the programmable interrupt controller will no longer sample the same interrupt.
优先级比较模块(参照图7)是可编程中断控制器的核心模块,它包括多个中断的优先级比较子模块。优先级比较模块可以进行流水线形式的中断优先级比较(参照图8)。优先级比较模块对各个普通中断进行优先级的比较,优先级由中断源模式寄存器设置,在系统初始化时设置。在中断优先级比较完成以后,向IRQ逻辑处理模块发送相关的信息。The priority comparison module (refer to FIG. 7 ) is the core module of the programmable interrupt controller, which includes multiple interrupt priority comparison sub-modules. The priority comparison module can perform pipeline interrupt priority comparison (refer to Figure 8). The priority comparison module compares the priority of each common interrupt. The priority is set by the interrupt source mode register and set when the system is initialized. After the interrupt priority level comparison is completed, relevant information is sent to the IRQ logic processing module.
优先级比较子模块是最基本的优先级比较部分,它对两个中断源进行优先级比较,输出一个较高优先级的中断,供后面的比较使用。每一个比较子模块的输入是两个中断的标志、中断模式、中断向量,输出是一个中断标志、较高优先级的中断的模式和向量寄存器。它的优先级比较规则如下:先比较中断的优先级,在中断模式寄存器中设置的优先级越大,这个中断的优先级就越高(fiq中断的优先级最高,为31),如果两个中断的优先级相同,就比较中断模式寄存器中的中断源的代码,代码越大,它的优先级越高。The priority comparison sub-module is the most basic priority comparison part. It compares the priority of two interrupt sources and outputs a higher priority interrupt for later comparison. The input of each comparison sub-module is two interrupt flags, interrupt mode, interrupt vector, and the output is an interrupt flag, higher priority interrupt mode and vector register. Its priority comparison rules are as follows: first compare the priority of the interrupt, the higher the priority set in the interrupt mode register, the higher the priority of the interrupt (fiq interrupt has the highest priority, which is 31), if two If the priority of the interrupt is the same, compare the code of the interrupt source in the interrupt mode register. The larger the code, the higher its priority.
在优先级比较模块中,包含有多个优先级比较子模块。中断源两两比较后输出一个较高优先级的中断,然后输出的中断再进行比较,最后得出一个最高优先级的中断,输出到irq逻辑处理模块。因为流水线的比较方式,所以从中断采样模块输出中断到优先级比较模块输出一个最高优先级的中断要5个周期的时间。In the priority comparison module, there are multiple priority comparison sub-modules. Interrupt sources are compared in pairs and output a higher priority interrupt, and then the output interrupts are compared again, and finally a highest priority interrupt is obtained, which is output to the irq logic processing module. Because of the comparison method of the pipeline, it takes 5 cycles from the time when the interrupt sampling module outputs an interrupt to when the priority comparison module outputs a highest priority interrupt.
FIQ逻辑处理模块是向ARM core发出FIQ中断的模块,为总线接口模块提供快速中断向量寄存器和中断现场寄存器。中断的嵌套是在软件中实现(参照图10),在ARM响应中断时读相应的寄存器操作来保证中断控制器支持中断的嵌套操作。ARM响应一个fiq中断的过程如下:在接收到fiq中断后,ARM先读取fiq中断向量寄存器,再读取中断现场寄存器,把它压入软件设置的堆栈,然后执行中断的操作,在中断结束后,从堆栈弹出一个数据,向中断控制器写入中断现场寄存器,一个fiq中断的例程结束。The FIQ logic processing module is a module that sends FIQ interrupts to the ARM core, and provides fast interrupt vector registers and interrupt field registers for the bus interface module. The nesting of interrupts is implemented in software (refer to Figure 10), and the corresponding register operation is read when the ARM responds to the interrupt to ensure that the interrupt controller supports the nesting of interrupts. The process of ARM responding to a fiq interrupt is as follows: After receiving a fiq interrupt, ARM first reads the fiq interrupt vector register, then reads the interrupt field register, pushes it into the stack set by the software, and then executes the interrupt operation. Finally, a data is popped from the stack, the interrupt controller is written to the interrupt field register, and a fiq interrupted routine ends.
Irq逻辑处理模块是向ARM core发出irq中断的模块,为总线接口模块提供普通中断向量寄存器和中断现场寄存器。中断的嵌套是在软件中实现(参照图10),在ARM响应中断时读相应的寄存器操作来保证中断控制器支持中断的嵌套操作。ARM响应一个irq中断的过程如下:在接收到irq中断后,ARM先读取irq中断向量寄存器,再读取中断现场寄存器,把它压入软件设置的堆栈,然后执行中断的操作,在中断结束后,从堆栈弹出一个数据,向中断控制器写入中断现场寄存器,一个irq中断的例程结束。The Irq logic processing module is a module that sends an irq interrupt to the ARM core, and provides a common interrupt vector register and an interrupt field register for the bus interface module. The nesting of interrupts is implemented in software (refer to Figure 10), and the corresponding register operation is read when the ARM responds to the interrupt to ensure that the interrupt controller supports the nesting of interrupts. The process of ARM responding to an irq interrupt is as follows: After receiving an irq interrupt, ARM first reads the irq interrupt vector register, then reads the interrupt field register, pushes it into the stack set by the software, and then executes the interrupt operation. Finally, a data is popped from the stack, and the interrupt field register is written to the interrupt controller, and an irq interrupted routine ends.
信号混合模块是对fiq逻辑处理模块和irq逻辑处理模块产生的部分响应信号进行处理后输出给中断采样模块或总线接口模块。也将总线接口模块的部分信号输出给fiq逻辑处理模块或irq逻辑处理模块。The signal mixing module processes the partial response signals generated by the fiq logic processing module and the irq logic processing module and outputs them to the interrupt sampling module or the bus interface module. It also outputs part of the signals of the bus interface module to the fiq logic processing module or the irq logic processing module.
图3是本发明的总线接口模块的结构图。其中寄存器堆中包含的是可编程中断控制器中所用到的所有寄存器;读逻辑是对寄存器堆进行读操作的逻辑;写逻辑是写寄存器堆的逻辑;应用逻辑是将寄存器堆的内容提供给其它模块使用的逻辑;修改逻辑是其它模块在运行过程中对寄存器的内容进行修改的逻辑。Fig. 3 is a structural diagram of the bus interface module of the present invention. The register file contains all the registers used in the programmable interrupt controller; the read logic is the logic for reading the register file; the write logic is the logic for writing the register file; the application logic is to provide the contents of the register file to The logic used by other modules; the modification logic is the logic used by other modules to modify the contents of the register during operation.
图4是本发明的中断采样模块的结构图。它包括有多个中断采样子模块,每个子模块采样一个外部中断源,可以输出irq中断或fiq中断。每个中断采样子模块包括有3个过程:同步、去毛刺、采样。Fig. 4 is a structural diagram of the interrupt sampling module of the present invention. It includes multiple interrupt sampling sub-modules, each sub-module samples an external interrupt source, and can output irq interrupt or fiq interrupt. Each interrupt sampling sub-module includes 3 processes: synchronization, deburring, and sampling.
图5是本发明在采样外部中断源时的同步电路。外部中断源可以是同步的,也可以是异步的,所以,中断采样模块在采样外部中断源的时候,必须先进行同步的处理,减少亚稳态情况的出现。亚稳态指的是时钟在采样信号的时候,正好处于信号变化的边缘,这样采样到的信号是不稳定的。经过同步处理后,可以很好地减少亚稳态情况的出现。图5描述的同步电路是一个简单的同步电路,就是用时钟将异步信号打两拍后输出。Fig. 5 is the synchronous circuit of the present invention when sampling the external interrupt source. The external interrupt source can be synchronous or asynchronous. Therefore, when the interrupt sampling module samples the external interrupt source, it must first perform synchronous processing to reduce the occurrence of metastability. The metastable state means that when the clock is sampling the signal, it is just on the edge of the signal change, so the sampled signal is unstable. After synchronous processing, the occurrence of metastable conditions can be well reduced. The synchronous circuit described in Fig. 5 is a simple synchronous circuit, which uses a clock to beat the asynchronous signal twice before outputting it.
图6是本发明在采样外部中断源时的去毛刺电路。外围模块因为其它原因可能会发出一些毛刺信号,使得中断采样的时候发生误判,这样就在中断进行采样的时候对信号是否毛刺进行判断。在图6描述的电路中,int_flag为低电平,当同步后的中断信号int_in为高电平时(参照图9),时钟1的上升沿采样到int_in高电平,FF1输出detect信号为高电平,此时FF2输出仍为低电平;在时钟2的上升沿,int_in仍为高电平,int_in与detect相与后为高电平,FF2输出为高电平,可编程中断控制器采样到一个有效的中断,输出int_out为高,此时FF1输出为低电平;在时钟3的上升沿,int_in变为低电平,此时FF1和FF2输出均为低电平,int_out只保留了一个有效周期,在这个周期结束时,可编程中断控制器把对应中断记录为一个有效中断。参照图9,int_in信号必须跨越两个时钟上升沿,才能保证可编程中断控制器可以采样到一个有效中断,所以,外设发出的中断信号的有效周期必须跨越两个时钟周期(可编程中断控制器的工作时钟)以上,如果没有跨越两个时钟周期,可编程中断控制器判断这个中断请求为毛刺信号。Fig. 6 is a deburring circuit of the present invention when sampling an external interrupt source. The peripheral module may send out some glitch signals due to other reasons, which may cause misjudgment when the sampling is interrupted. In this way, it is judged whether the signal is glitched or not when the sampling is interrupted. In the circuit described in Figure 6, int_flag is low level, when the interrupt signal int_in after synchronization is high level (refer to Figure 9), the rising edge of
图7是本发明的中断优先级比较模块的结构框图。它包括有多个中断优先级比较子模块。每个中断优先级比较子模块对输入的两个中断信息进行比较,输出较高优先级的中断的中断信息,按流水线的方法进行比较,最后输出一个最高优先级的中断的中断信息。Fig. 7 is a structural block diagram of the interrupt priority comparison module of the present invention. It includes multiple interrupt priority comparison sub-modules. Each interrupt priority comparison sub-module compares the two input interrupt information, outputs the interrupt information of the higher priority interrupt, compares it according to the pipeline method, and finally outputs the interrupt information of the highest priority interrupt.
图8是本发明的中断优先级比较采用的方法。这是一个典型的二叉树模型。每个外部输入的中断信息包括中断标志、中断模式和中断向量。每两个外部输入的中断进行优先级比较,找出一个优先级比较高的中断给下一级,比较后的输出的较高优先级中断信息包括中断标志、中断模式和中断向量;输出的中断信息再进行比较,直到最后输出一个最高优先级的中断,这个中断提供给irq逻辑处理模块,irq逻辑处理模块把中断向量存入普通中断向量寄存器,并发出IRQ中断请求。Fig. 8 is the method adopted by the interrupt priority comparison of the present invention. This is a typical binary tree model. The interrupt information for each external input includes interrupt flag, interrupt mode and interrupt vector. The priority of every two externally input interrupts is compared, and a higher priority interrupt is found for the next level. The higher priority interrupt information output after comparison includes interrupt flag, interrupt mode and interrupt vector; the output interrupt The information is compared again until an interrupt with the highest priority is finally output. This interrupt is provided to the irq logic processing module. The irq logic processing module stores the interrupt vector into the common interrupt vector register and sends out an IRQ interrupt request.
图10是本发明的一个典型的irq中断处理的过程。这个图是软硬件联合操作的一个说明,在虚线框内的操作为硬件的操作,并且假设是处理第一个中断。处理器内核在接收到可编程中断控制器的irq中断请求后,有以下几个执行步骤:Fig. 10 is a typical irq interrupt processing process of the present invention. This figure is an illustration of the joint operation of software and hardware. The operation in the dashed box is the operation of the hardware, and it is assumed that the first interrupt is processed. After the processor core receives the irq interrupt request from the programmable interrupt controller, it has the following execution steps:
第一步,读取可编程中断控制器的普通中断向量寄存器,如果为fiq中断,读快速中断向量寄存器。The first step is to read the general interrupt vector register of the programmable interrupt controller, and if it is a fiq interrupt, read the fast interrupt vector register.
第二步,读取可编程中断控制器的中断现场寄存器,并将这个寄存器的内容压入一个堆栈中,这时中断现场寄存器存储的是前面一个状态的内容,即没有中断时的状态。The second step is to read the interrupt field register of the programmable interrupt controller, and push the contents of this register into a stack. At this time, the interrupt field register stores the content of the previous state, that is, the state when there is no interrupt.
第三步,可编程中断控制器更新现场,可编程中断控制器将正在处理的中断的一些信息存入中断现场寄存器。In the third step, the programmable interrupt controller updates the scene, and the programmable interrupt controller stores some information of the interrupt being processed into the interrupt field register.
第四步,在软件处理完中断以前,硬件继续采样其它中断,进行优先级判断,如果有中断的优先级高于正在处理的中断,可编程中断控制器发出irq中断请求;或者接收到的中断为fiq中断,可编程中断控制器发出fiq中断请求。这时,软件执行的中断例程也被打断,先执行优先级较高的中断,重复前面第一、第二、第三的步骡,如果没有较高优先级的中断或fiq中断,并且软件将当前中断处理完,进入第五步。In the fourth step, before the software finishes processing the interrupt, the hardware continues to sample other interrupts and perform priority judgment. If there is an interrupt with a higher priority than the interrupt being processed, the programmable interrupt controller sends an irq interrupt request; or the received interrupt For fiq interrupt, the programmable interrupt controller issues fiq interrupt request. At this time, the interrupt routine executed by the software is also interrupted, and the interrupt with higher priority is executed first, and the first, second, and third steps above are repeated. If there is no interrupt or fiq interrupt with higher priority, and The software finishes processing the current interrupt and enters the fifth step.
第五步,当前中断处理完,软件将堆栈中的数据弹出,如果有中断嵌套,对应嵌套标志位写1,如果没有中断嵌套,对应嵌套标志位写0,并将数据写到可编程中断控制器的中断现场寄存器中,返回现场。The fifth step, after the current interrupt is processed, the software pops the data in the stack. If there is interrupt nesting, write 1 to the corresponding nesting flag bit, and if there is no interrupt nesting, write 0 to the corresponding nesting flag bit, and write the data to In the interrupt scene register of the programmable interrupt controller, return to the scene.
第六步,可编程中断控制器根据返回的现场,判断有没有中断嵌套,如果没有嵌套,执行第七步,如果有嵌套,继续执行第四步。In the sixth step, the programmable interrupt controller judges whether there is interrupt nesting according to the returned scene, if there is no nesting, execute the seventh step, and if there is nesting, continue to execute the fourth step.
第七步,中断结束。In the seventh step, the interruption ends.
综上所述,本发明提供的是一种功能全面、可以灵活配置、可重用性好的可编程中断控制器。本发明可以灵活地应用于SOC(片上系统)的设计中,系统可以根据自己的属性,来配置可编程中断控制器,使可编程中断控制器适合系统的需求。To sum up, the present invention provides a programmable interrupt controller with comprehensive functions, flexible configuration and good reusability. The invention can be flexibly applied in the design of SOC (system on chip), and the system can configure the programmable interrupt controller according to its own attributes, so that the programmable interrupt controller can meet the requirements of the system.
Claims (3)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200310112596 CN1277161C (en) | 2003-12-12 | 2003-12-12 | Programmable interrupt controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 200310112596 CN1277161C (en) | 2003-12-12 | 2003-12-12 | Programmable interrupt controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1547082A CN1547082A (en) | 2004-11-17 |
| CN1277161C true CN1277161C (en) | 2006-09-27 |
Family
ID=34336578
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 200310112596 Expired - Fee Related CN1277161C (en) | 2003-12-12 | 2003-12-12 | Programmable interrupt controller |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1277161C (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021061514A1 (en) * | 2019-09-25 | 2021-04-01 | Alibaba Group Holding Limited | Processor and interrupt controller therein |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1333344C (en) * | 2005-08-18 | 2007-08-22 | 上海交通大学 | Method for reducing software load of system-on-chip (SoC) |
| CN100578480C (en) * | 2007-07-12 | 2010-01-06 | 华为技术有限公司 | Interrupt processing method and device |
| GB2454885B (en) * | 2007-11-21 | 2012-06-06 | Advanced Risc Mach Ltd | Interrupt jitter suppression |
| CN102262566A (en) * | 2011-07-25 | 2011-11-30 | 记忆科技(深圳)有限公司 | Interrupt processing method and system based on interrupt nesting |
| CN103544125B (en) * | 2012-07-12 | 2017-02-22 | 深圳市中兴微电子技术有限公司 | Interrupt control method, interrupt processing method, interrupt controller and processor |
| CN102932599A (en) * | 2012-11-09 | 2013-02-13 | 北京百纳威尔科技有限公司 | Device and method to achieve camera function based on general purpose input/output (GPIO) stimulated data bus |
| CN106569889A (en) * | 2016-11-09 | 2017-04-19 | 上海斐讯数据通信技术有限公司 | Interrupt processing system and method |
| CN106844025B (en) * | 2016-12-30 | 2020-08-14 | 青岛专用集成电路设计工程技术研究中心 | Asynchronous interrupt processing method and interrupt controller |
| CN108181003B (en) * | 2017-11-23 | 2023-11-14 | 深圳怡化电脑股份有限公司 | Zynq SOC-based infrared sensor control system and self-service terminal |
| CN109933549B (en) * | 2019-01-30 | 2022-04-05 | 中山大学 | An Interrupt Controller for RISC-V Processors |
| CN110457243B (en) * | 2019-07-30 | 2021-04-06 | 西安理工大学 | A scalable multi-output interrupt controller |
| CN114201276A (en) * | 2021-11-25 | 2022-03-18 | 天津津航技术物理研究所 | FIFO interrupt management based method |
| CN114328300A (en) * | 2021-12-24 | 2022-04-12 | 深圳航天科技创新研究院 | Virtual simulation implementation system and method for interrupt controller assembly |
| CN117873756B (en) * | 2024-03-11 | 2024-05-31 | 浪潮电子信息产业股份有限公司 | Method, device, equipment, medium and heterogeneous acceleration equipment for processing kernel interrupt |
-
2003
- 2003-12-12 CN CN 200310112596 patent/CN1277161C/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2021061514A1 (en) * | 2019-09-25 | 2021-04-01 | Alibaba Group Holding Limited | Processor and interrupt controller therein |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1547082A (en) | 2004-11-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1277161C (en) | Programmable interrupt controller | |
| KR100909119B1 (en) | Apparatus and Method for High Performance Volatile Disk Drive Memory Access Using Integrated DMA Engine | |
| KR102668599B1 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
| CN1104688C (en) | PCI to ISA interrupt protocol converter and selection mechanism | |
| CN1085864C (en) | Add-in board with enable/disable expansion ROM for PCI bus computer | |
| CN102473109B (en) | Method and device for scheduling of threads by batch scheduling | |
| US20190108144A1 (en) | Mutual exclusion in a non-coherent memory hierarchy | |
| US7263572B2 (en) | Bus bridge and data transfer method | |
| CN112100090A (en) | Data access request processing method, device, medium and memory mapping controller | |
| CN101751352A (en) | Chipset support for binding and migrating hardware devices among heterogeneous processing units | |
| WO2024051122A1 (en) | Pcie interrupt processing method and apparatus, device, and non-volatile readable storage medium | |
| WO2023045203A1 (en) | Task scheduling method, chip, and electronic device | |
| JPS6275865A (en) | Interruption control system | |
| CN102591817B (en) | Multi-bus bridge controller and implementing method thereof | |
| US11237994B2 (en) | Interrupt controller for controlling interrupts based on priorities of interrupts | |
| US9047264B2 (en) | Low pin count controller | |
| US11392406B1 (en) | Alternative interrupt reporting channels for microcontroller access devices | |
| CN1270253C (en) | Large-scale integrated circuit comprising central processing unit | |
| JP2005258509A (en) | Storage device | |
| CN117009266A (en) | Handshake protocol bus arbitration module and system on chip | |
| US20020143967A1 (en) | Bit-granular writes of control registers | |
| JP2010140440A (en) | Bus arbitration device | |
| JP2006155488A (en) | Data processing apparatus and data processing method | |
| CN120803627A (en) | Platform-level interrupt controller based on RISC-V architecture, chip and electronic equipment | |
| CN1945542A (en) | Embedded software developing method and system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| EE01 | Entry into force of recordation of patent licensing contract |
Assignee: SANECHIPS TECHNOLOGY Co.,Ltd. Assignor: ZTE Corp. Contract fulfillment period: 2007.11.26 to 2013.11.26 Contract record no.: 2008990001018 Denomination of invention: Identifying-code configuration method of high-grade programable interruption controller Granted publication date: 20060927 License type: Exclusive license Record date: 20081031 |
|
| LIC | Patent licence contract for exploitation submitted for record |
Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2007.11.26 TO 2013.11.26; CHANGE OF CONTRACT Name of requester: SHENZHEN CITY ZHONGXINGWEI ELECTRON TECHNOLOGY CO. Effective date: 20081031 |
|
| C41 | Transfer of patent application or patent right or utility model | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20151104 Address after: Dameisha Yantian District of Shenzhen City, Guangdong province 518085 Building No. 1 Patentee after: SANECHIPS TECHNOLOGY Co.,Ltd. Address before: 518057 Nanshan District, Guangdong high tech Industrial Park, science and Technology Industrial Park, ZTE building, block A, layer 6, layer Patentee before: ZTE Corp. |
|
| EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20041117 Assignee: Xi'an Chris Semiconductor Technology Co.,Ltd. Assignor: SANECHIPS TECHNOLOGY Co.,Ltd. Contract record no.: 2019440020036 Denomination of invention: Programmable interrupt controller Granted publication date: 20060927 License type: Common License Record date: 20190619 |
|
| EE01 | Entry into force of recordation of patent licensing contract | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060927 Termination date: 20211212 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |