CN103019848B - 一种pci总线非向量中断实现方法 - Google Patents

一种pci总线非向量中断实现方法 Download PDF

Info

Publication number
CN103019848B
CN103019848B CN201210572407.2A CN201210572407A CN103019848B CN 103019848 B CN103019848 B CN 103019848B CN 201210572407 A CN201210572407 A CN 201210572407A CN 103019848 B CN103019848 B CN 103019848B
Authority
CN
China
Prior art keywords
interrupt
status register
register
source
pci
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.)
Active
Application number
CN201210572407.2A
Other languages
English (en)
Other versions
CN103019848A (zh
Inventor
杨立杰
史雄伟
胡志臣
许崴稚
高伟强
张伟楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aerospace Measurement and Control Technology Co Ltd
Original Assignee
Beijing Aerospace Measurement and Control Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Aerospace Measurement and Control Technology Co Ltd filed Critical Beijing Aerospace Measurement and Control Technology Co Ltd
Priority to CN201210572407.2A priority Critical patent/CN103019848B/zh
Publication of CN103019848A publication Critical patent/CN103019848A/zh
Application granted granted Critical
Publication of CN103019848B publication Critical patent/CN103019848B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Bus Control (AREA)

Abstract

本发明公开了一种PCI总线非向量中断实现方法,属于PCI总线技术领域,包括如下步骤:1.在控制平台创建中断使能寄存器、中断状态寄存器、中断清除寄存器;2.控制平台根据使能信号对中断使能寄存器中指定位进行置位;3.控制平台检测到中断源i#产生中断事件,同时检测到中断使能寄存器的第i位被置位,则将中断状态寄存器的第i位置位;中断状态寄存器的1位或1位以上被置位即产生中断申请信号;4.PCI系统中具有中断申请标志位,PCI系统接收到中断申请信号,若中断申请标志位为空,则将中断申请标志位进行置位,响应中断并进入中断服务程序;中断服务程序针对不同的中断源进行调用不同的处理程序。本发明适用于PCI系统的中断控制。

Description

一种PCI总线非向量中断实现方法
技术领域
本发明属于PCI总线技术领域。
背景技术
随着被测试系统的复杂性日渐提高,系统对于PCI总线板卡功能的要求也不断的提高,PCI总线现已向CPCI总线和PXI总线的发展,而单个PXI板卡的功能也越来越多、越来越复杂。
单个PCI板卡在面临复杂的被测试系统时,由于系统的中断事件增多,要求板卡应当具有对更多中断事件进行处理的能力,然而现有的PCI板卡只能为每个系统提供INTA#、INTB#、INTC#、INTD#等4个中断请求端,对于功能复杂的被测试系统来说,这已经远远不能满足目前负责功能板卡的应用。
发明内容
有鉴于此,本发明提供了一种PCI总线非向量中断实现方法,采用该方法可以突破现有PCI总线对每个板卡设备中断源数量的限制,数倍提高现有PCI板卡设备的中断源的数量,满足了基于PCI总线的多功能板卡设备对中断源数量方面的需求。
基于上述目的本发明的技术方案为:
一种PCI总线非向量中断实现方法,包括如下步骤:
步骤1、在控制平台创建中断使能寄存器、中断状态寄存器、中断清除寄存器;控制平台具有使能信号输入端和中断申请信号输出端;中断申请信号输出端连接PCI系统的中断请求端;PCI系统与控制平台通信,对控制平台中的中断使能寄存器、中断状态寄存器、中断清除寄存器进行读取或者置位;
对于n个中断源:
中断使能寄存器包括n位,每一位对应一个中断源,设定中断使能寄存器的第i位置位时,表示中断源i#被使能;第i位未被置位时,表示中断源i#被禁止,其中1≤i≤n;
中断状态寄存器包括n位,每一位对应一个中断源,设定中断状态寄存器的第i位置位时,标识中断源i#发生中断事件,否则标识中断源i#无中断事件发生或者被禁止;
中断清除寄存器包括n位,每一位对应一个中断源,设定中断清除寄存器的第i位在置位时,清除中断状态寄存器第i位的置位;
步骤2、控制平台通过使能信号输入端接收用户输入的使能信号并根据使能信号对中断使能寄存器中指定位进行置位;
步骤3、控制平台检测到中断源i#产生中断事件,同时检测到中断使能寄存器的第i位被置位,则将中断状态寄存器的第i位置位;控制平台将中断状态寄存器的各位以设定的逻辑规则进行运算产生中断申请信号,中断申请信号由中断申请信号输出端输出,送至PCI系统的中断请求端;
其中设定的逻辑规则为:中断状态寄存器的1位或1位以上被置位即产生中断申请信号;
步骤4、PCI系统中具有中断申请标志位,PCI系统接收到中断申请信号,检测中断申请标志位,若中断申请标识位已被置位,则继续检测中断申请标识位,直至中断申请标识位为空;若中断申请标志位为空,则将中断申请标志位进行置位,响应中断并进入中断服务程序;
中断服务程序的工作流程为:
首先读取中断状态寄存器,获取中断状态寄存器中被置位的位的序号,根据序号对中断清除寄存器中的位进行置位操作,并调用序号对应的中断源的处理程序,处理程序调用结束后,将中断申请标志位清空,退出中断服务程序。
进一步地,调用序号对应的中断源的处理程序为:当中断状态寄存器的多个位被置位时,中断服务程序根据设定的中断优先级先后调用所述多个不同的中断源的处理程序。。
有益效果:
1、本发明通过创建包括中断使能寄存器、中断状态寄存器、中断清除寄存器在内的用于中断控制与识别的寄存器,实现了对更多中断源的管理与识别。本方法中的每个中断源均可产生中断触发信号通过中断请求端向PCI系统申请中断,该方法使得PCI板卡能够响应更多的中断事件并进行处理,突破了现有PCI总线对每个板卡设备中断源数量的限制,数倍提高现有PCI板卡设备的中断源的数量,满足了基于PCI总线的多功能板卡设备对中断源数量方面的需求;
2、本发明所提供的一种PCI总线非向量中断实现方法,进行寄存器归类设置,合理设置了中断使能寄存器、中断状态寄存器、中断清除寄存器三类寄存器,该种设置不仅保证了中断服务程序能够完整实现对中断事件的处理功能,而且大大简化了中断服务程序,使得PCI系统在完整实现其对于多种中断事件处理的功能的基础上,程序更为简洁、运行更为流畅。
附图说明
图1为本发明的控制平台设计示意图;
图2为本发明中断使能寄存器结构示意图;
图3为本发明中断状态寄存器结构示意图;
图4为本发明中断清除寄存器结构示意图;
图5为本发明中断申请逻辑结构示意图;
图6为本发明中断服务程序流程示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本实施例提出的PCI总线非向量中断实现方法具体为:
步骤1、如图1所示,在控制平台创建中断使能寄存器、中断状态寄存器、中断清除寄存器;控制平台具有使能信号输入端和中断申请信号输出端;中断申请信号输出端连接PCI系统的中断请求端;PCI系统通过总线对控制平台中的中断使能寄存器、中断状态寄存器、中断清除寄存器进行读取或者置位;
对于n个中断源:
中断使能寄存器结构如图2所示,中断使能寄存器包括n位,每一位对应一个中断源,设定中断使能寄存器的第i位置位时,标识中断源i#被使能;第i位未被置位时,标识中断源i#被禁止,其中1≤i≤n。
中断状态寄存器结构如图3所示,中断状态寄存器包括n位,每一位对应一个中断源,设定中断状态寄存器的第i位置位时,标识中断源i#发生中断事件,否则标识中断源i#无中断事件发生或者被禁止。中断状态寄存器的各位以设定的逻辑规则进行运算输出中断请求信号,由中断申请信号输出端输出。
中断清除寄存器结构如图4所示,中断清除寄存器包括n位,每一位对应一个中断源,设定中断清除寄存器的第i位在置位时,控制平台清除中断状态寄存器第i位的置位。
可见,本发明根据寄存器功能创建寄存器,共创建了中断使能寄存器、中断状态寄存器、中断清除寄存器三类寄存器。
步骤2、控制平台通过使能信号输入端接收用户输入的使能信号,控制平台根据使能信号对中断使能寄存器中一定数量的位进行置位;对应位被置位的中断源即被使能。
步骤3、控制平台检测到中断源i#产生中断事件,同时检测到中断使能寄存器的第i位被置位,则将中断状态寄存器的第i位置位。
控制平台将中断状态寄存器的各位以设定的逻辑规则进行运算产生中断申请信号,中断申请信号由中断申请信号输出端输出,送至PCI系统的中断请求端。
设定的逻辑规则为:中断状态寄存器的1位或1位以上被置位即产生中断申请信号;则对于n个中断源,每个中断源产生中断事件均能够通过该设定的逻辑运算产生中断申请信号。
本实施例中的中断申请逻辑结构如图5所示。
步骤4、PCI系统中具有中断申请标志位,PCI系统接收到中断申请信号,检测中断申请标志位,若中断申请标识位已被置位,说明中断服务程序正在进行,则继续检测中断申请标识位,直至检测到中断申请标识位为空;当中断申请标志位为空时,则将中断申请标志位进行置位,响应中断并进入中断服务程序,中断服务程序按照设定的工作流程运行。
如图6所示,中断服务程序的工作流程为:
首先读取中断状态寄存器,获取中断状态寄存器中被置位的位的序号,根据序号对中断清除寄存器中的位进行置位操作,并调用序号对应的中断源的处理程序,处理程序调用结束后,将中断申请标志位清空,退出中断服务程序。
当中断状态寄存器的多个位被置位,则中断服务程序能够获取到多个序号,即对应多个不同的中断源同时产生中断事件,中断服务程序根据设定的中断优先级先后调用所述多个不同的中断源的处理程序;处理程序调用结束后,将中断申请标志位清空,退出中断服务程序。
由中断服务程序的工作流程可以看出,由于本发明根据功能创建寄存器,在中断服务程序中,通过识别或操作各寄存器的相应位即可完成程序的相应功能,这在保证中断服务程序的完整功能的基础上大大简化了程序流程。
根据本发明所做设计,对于32位PCI系统,可创建32位寄存器结构,将中断使能寄存器、中断状态寄存器、中断清除寄存器均设置为32位,则可使PCI总线系统支持的每个中断请求端对应32个中断源,即PCI总线系统支持的4个中断请求端对应的中断源可扩展为128个,极大了PCI总线系统支持的中断源数量。
本实施例中,可使用FPGA作为控制平台,在FPGA上创建存储区作为中断使能寄存器、中断状态寄存器、中断清除寄存器,并能够接收外部输入和中断触发信号,系统可通过总线与FPGA进行通讯,以读取FPGA上的相应存储区的位。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种PCI总线非向量中断实现方法,其特征在于,包括如下步骤:
步骤1、在控制平台创建中断使能寄存器、中断状态寄存器、中断清除寄存器;所述控制平台具有使能信号输入端和中断申请信号输出端;中断申请信号输出端连接PCI系统的中断请求端;PCI系统与控制平台通信,对控制平台中的中断使能寄存器、中断状态寄存器、中断清除寄存器进行读取或者置位;
对于n个中断源:
所述中断使能寄存器包括n位,每一位对应一个中断源,设定中断使能寄存器的第i位置位时,表示中断源i#被使能;第i位未被置位时,表示中断源i#被禁止,其中1≤i≤n;
所述中断状态寄存器包括n位,每一位对应一个中断源,设定中断状态寄存器的第i位置位时,标识中断源i#发生中断事件,否则标识中断源i#无中断事件发生或者被禁止;
所述中断清除寄存器包括n位,每一位对应一个中断源,设定中断清除寄存器的第i位在置位时,清除中断状态寄存器第i位的置位;
步骤2、控制平台通过使能信号输入端接收用户输入的使能信号,根据使能信号对中断使能寄存器中指定位进行置位;
步骤3、控制平台检测到中断源i#产生中断事件,同时检测到中断使能寄存器的第i位被置位,则将中断状态寄存器的第i位置位;控制平台将中断状态寄存器的各位以设定的逻辑规则进行运算产生中断申请信号,中断申请信号由中断申请信号输出端输出,送至PCI系统的中断请求端;
所述设定的逻辑规则为:中断状态寄存器的1位或1位以上被置位即产生中断申请信号;
步骤4、PCI系统中具有中断申请标识位,PCI系统接收到中断申请信号,检测中断申请标识位,若中断申请标识位已被置位,则继续检测中断申请标识位,直至中断申请标识位为空;若中断申请标识位为空,则将中断申请标识位进行置位,响应中断并进入中断服务程序;
中断服务程序的工作流程为:
首先读取中断状态寄存器,获取中断状态寄存器中被置位的位的序号,根据序号对中断清除寄存器中的位进行置位操作,并调用序号对应的中断源的处理程序,处理程序调用结束后,将中断申请标识位清空,退出中断服务程序。
2.如权利要求1所述的一种PCI总线非向量中断实现方法,其特征在于,所述调用序号对应的中断源的处理程序为:当中断状态寄存器的多个位被置位时,中断服务程序根据设定的中断优先级先后调用多个不同的所述中断源的处理程序。
CN201210572407.2A 2012-12-25 2012-12-25 一种pci总线非向量中断实现方法 Active CN103019848B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210572407.2A CN103019848B (zh) 2012-12-25 2012-12-25 一种pci总线非向量中断实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210572407.2A CN103019848B (zh) 2012-12-25 2012-12-25 一种pci总线非向量中断实现方法

Publications (2)

Publication Number Publication Date
CN103019848A CN103019848A (zh) 2013-04-03
CN103019848B true CN103019848B (zh) 2015-06-03

Family

ID=47968479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210572407.2A Active CN103019848B (zh) 2012-12-25 2012-12-25 一种pci总线非向量中断实现方法

Country Status (1)

Country Link
CN (1) CN103019848B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679687B (zh) * 2014-12-19 2018-04-20 杭州华为数字技术有限公司 一种识别中断源的方法及装置
CN107085532B (zh) * 2017-03-21 2019-12-13 东软集团股份有限公司 任务监听方法和装置
CN109343950B (zh) * 2018-10-16 2021-06-08 南京国电南自维美德自动化有限公司 一种适用于Xilinx软核处理器的中断通用处理方法
CN111081295A (zh) * 2018-10-22 2020-04-28 华邦电子股份有限公司 存储器装置及其中断处理方法
CN111143047A (zh) * 2019-12-24 2020-05-12 北京无线电测量研究所 一种定时与随机双中断处理系统和方法
CN112069020B (zh) * 2020-08-13 2023-09-15 中国航空无线电电子研究所 基于嵌入式操作系统的机载航电设备软件故障监控系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812858A (en) * 1994-09-16 1998-09-22 Cirrus Logic, Inc. Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits
US6643724B2 (en) * 2000-12-27 2003-11-04 International Business Machines Corporation Method and apparatus for interrupt routing of PCI adapters via device address mapping
CN101931580A (zh) * 2009-12-22 2010-12-29 中国航空工业集团公司第六三一研究所 Arinc 659背板数据总线接口芯片片上系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211323B (zh) * 2006-12-28 2011-06-22 联想(北京)有限公司 一种硬件中断的处理方法和处理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812858A (en) * 1994-09-16 1998-09-22 Cirrus Logic, Inc. Method and apparatus for providing register and interrupt compatibility between non-identical integrated circuits
US6643724B2 (en) * 2000-12-27 2003-11-04 International Business Machines Corporation Method and apparatus for interrupt routing of PCI adapters via device address mapping
CN101931580A (zh) * 2009-12-22 2010-12-29 中国航空工业集团公司第六三一研究所 Arinc 659背板数据总线接口芯片片上系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于EP2SGX系列FPGA的PCI接口设计;孙高俊 等;《研究与发展》;20090930;第28卷(第9期);44-83 *

Also Published As

Publication number Publication date
CN103019848A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN103019848B (zh) 一种pci总线非向量中断实现方法
US8156273B2 (en) Method and system for controlling transmission and execution of commands in an integrated circuit device
CN106874031A (zh) 一种终端设备系统程序的启动方法及装置
CN106663021A (zh) 虚拟化环境中的智能gpu调度
CN103440171A (zh) 一种构件化硬件实时操作系统的实现方法
CN103617088B (zh) 在不同类型线程中分配内核资源的方法、装置及其处理器
CN107944000A (zh) 航班运价更新方法、装置、电子设备、存储介质
CN104598426A (zh) 用于异构多核处理器系统的任务调度方法
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN105138693A (zh) 一种访问数据库的方法及装置
CN101673221B (zh) 一种嵌入式片上多处理器的中断处理方法
CN101896887A (zh) 数据处理系统和中断处理方法
CN109032982A (zh) 一种数据处理方法、装置、设备、系统、fpga板卡及其组合
CN115168256A (zh) 中断控制方法、中断控制器、电子设备、介质和芯片
CN104866460A (zh) 一种基于SoC的容错自适应可重构系统与方法
CN110471747A (zh) 一种dma多通道的调度使用方法、装置及终端设备
CN108733536B (zh) 监控管理系统及方法
CN108920704A (zh) 文件恢复方法、文件恢复装置及移动终端
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
CN107229591A (zh) 多串口通信方法及装置
CN109343950A (zh) 一种适用于Xilinx软核处理器的中断通用处理方法
CN103765399A (zh) 在多核系统中分配中断的方法和设备
CN111461476A (zh) 混合仓库的出库订单分配方法、系统、设备及存储介质
CN104598428A (zh) 数据处理系统
CN112673354B (zh) 一种系统状态检测方法、系统状态装置及终端设备

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