中断合成方法和中断合成装置以及模块化主机系统的制作方法

文档序号:6463528阅读:149来源:国知局
专利名称:中断合成方法和中断合成装置以及模块化主机系统的制作方法
技术领域
本发明涉及中断处理技术,特别涉及一种中断合成方法、 一种中断合成 装置、以及一种模块化主机系统。
背景技术
模块化主机系统包括中央处理器(CPU)和多个插卡槽位,且插卡槽位可插接具有各种功能的插卡模块,从而便于模块化主机系统的功能扩展。为了实现CPU实时响应插卡模块中的事件,每个插卡模块通过中断信 号向CPU请求事件处理,但是由于CPU的中断管脚有限,不可能与每个插卡模块一一对应,所以需要将来自各插卡模块的中断信号进行合成后再上报到CPU,中断信号的合成可以由可编程逻辑器件来实现。实际应用中,中断分为沿触发和电平有效两种,为了确保不丢中断,目前普遍采用的是电平有效方式。图1为现有能够实现中断合成的模块化主机系统的结构示意图。如图1所示,以8个插卡模块、中断信号为电平有效方式、且为低电平时有效为例, 中断信号1 8分别为插卡模块1~8 (图中未示出)输出的中断信号,并分别 输入至可编程逻辑器件的8个输入管脚。在图1中,作为中断合成装置的可 编程逻辑器件中包括中断状态寄存器和与门。中断信号1~8输入至中断状态寄存器,该中断状态寄存器中的每一位分 别用于记录中断信号1 8当前的电平值。由于不同的电平值反映中断信号是 否有效,因而可以看作中断状态寄存器中记录了 8个插卡模块的中断状态是 否有效,即是否上报了中断。中断信号1 8还输入至与门,这样,中断信号1~8中只要有一个为表示中断有效状态的低电平,则与门的中断请求(IRQ )管脚输出至CPU的信号 就为低电平,使得IRQ管脚有效,即向CPU上报中断以通知CPU读取所记 录的中断有效状态。
而CPU只要^r测到IRQ有效,则读取可编程逻辑中的中断状态寄存器 所记录的8个插卡模块的中断状态,从中断有效状态的插卡模块中读取中断 信息,并执行相应的事件处理。
此外,只要中断信号1 8的电平值变为表示无效的高电平,则中断状态 寄存器中记录的对应插卡模块的中断状态也会随之变为无效;同时,可编程 逻辑器件的IRQ管脚相应地也变为无效。
此后,可编程逻辑器件继续对来自8个插卡模块的中断信号1 8进行合 成,并在有中断信号有效时再次按照上述方式向CPU上报。
从图l所示可知,如果有插卡模块中断异常,例如,该插卡模块输出的 中断信号一直处于有效状态,则相应地,可编程逻辑器件的IRQ管脚也将 一直有效、中断状态寄存器中也一直记录该插卡模块的中断状态为有效,从 而使得CPU不断读取中断状态寄存器、并一直处理该插卡模块的中断,进 而导致模块化主机系统挂死。
可见,现有模块化主机系统中的中断合成方式无法避免由于插卡模块的 中断异常而导致的挂死,因而使得中断合成的可靠性不高。

发明内容
有鉴于此,本发明提供了一种中断合成方法、 一种中断合成装置、以及 一种模块化主机系统,能够提高模块化主机系统对中断合成的可靠性。
本发明提供的一种中断合成方法,应用于包括中央处理器CPU和多个 插卡模块的模块化主机系统,该方法包括
分别对各插卡模块输出的中断信号进行波形整形,使得波形整形后的各 中断信号在每次从无效变为有效后,其有效部分的长度与预设中断有效周期
相等;分别对波形整形后的各中断信号连续地进行采样,记录采样得到的对应
插卡模块的中断有效状态,并通知所述CPU读取所记录的中断有效状态;
在所述CPU每次完成读取之后的预设读清周期内清空所记录的所有中 断有效状态。
在所述中断信号从无效变为有效后,该方法进一步包括对该中断信号 的有效部分延迟一个系统时钟周期,使得该有效部分的开始时刻与系统时钟 同步。
所述对波形整形后的中断信号连续地进行采样包括以所述系统时钟为 采样时钟,对波形整形后的中断信号连续地进行釆样。
在CPU每次完成读取之后、清空所记录的所有中断有效状态之前,该 方法进一步包括将读清周期延迟一个系统时钟周期,使得所述读清周期与 系统时钟同步。
在所述读清周期内,该方法进一步包括禁止所述采样的执行。 所述中断有效周期与所述读清周期满足如下条件
对波形整形后的中断信号中,长度等于所述中断有效周期的有效部分采 样并记录的中断状态,如果在所述读清周期之前未被CPU读取,则该有效 部分在所述读清周期之后仍能够被再次采样得到。
所述中断有效周期为4个所述系统时钟周期、所述读清周期为1个所述 系统时钟周期。
本发明提供的一种中断合成装置,应用于包括中央处理器CPU和多个 插卡模块的模块化主机系统,且该装置分别与所述CPU和多个插卡模块相 连,所述中断合成装置包括波形整形单元、状态采样单元、状态存储单元、 中断上报单元、读清控制单元,其中,
所述波形整形单元,分别对各插卡模块输出的中断信号进行波形整形, 使得波形整形后的各中断信号在每次从无效变为有效后,其有效部分的长度 与预设中断有效周期相等;
所述状态采样单元,分别对波形整形后的各中断信号连续地进行采样,并将采样得到的对应插卡模块的中断有效状态记录于所述状态存储单元;所述中断上报单元,在所述状态存储单元中记录有中断有效状态时,通知所述CPU读取记录于所述状态存〗诸单元的中断有效状态;所述读清控制单元,在所述CPU每次完成读取之后的预设读清周期内清空所述状态存储单元的所有中断状态。所述波形整形单元进一步在所述中断信号从无效变为有效后,将该中断信号的有效部分延迟一个系统时钟周期、使得该有效部分的开始时刻与系统时钟同步。所述状态采样单元以所述系统时钟为采样时钟,对波形整形后的中断信 号连续地进行采样。所述读清控制单元进一步在所述CPU每次完成读取之后,将读清周期 延迟一个系统时钟周期,使得所述读清周期与系统时钟同步。所述读清控制单元进一步在所述读清周期内禁止所述状态采样单元执 行所述采样。所述中断有效周期与所述读清周期满足如下条件对波形整形后的中断 信号中,长度等于所述中断有效周期的有效部分采样并记录的中断有效状 态,如果在所述读清周期之前未被CPU读取,则该有效部分在所述读清周 期之后仍能够被再次采样得到。所述中断有效周期为4个所述系统时钟周期、所述读清周期为1个所述 系统时钟周期。本发明提供的一种模块化主机系统,包括中央处理器CPU、中断合 成装置、以及多个插卡模块,所述中断合成装置,对各插卡模块输出的中断信号进行波形整形,使得 波形整形后的中断信号在每次从无效变为有效后,其有效部分的长度与预设 中断有效周期相等;分别对波形整形后的各中断信号连续地进行采样,记录 采样得到的对应插卡模块的中断有效状态,并通知所述CPU读取所记录的 中断有效状态;在所述CPU每次完成读取之后的预设读清周期内清空所记录的所有中断有效状态。所述中断合成装置进一步在所述读清周期内禁止执行所述釆样;且所述中断有效周期与所述读清周期满足如下条件对波形整形后的中 断信号中,长度等于所述中断有效周期的有效部分采样并记录的中断有效状 态,如果在所述读清周期之前未被CPU读取,则该有效部分在所述读清周 期之后仍能够被再次采样得到。由上述技术方案可见,本发明先对各插卡模块输出的中断信号进行波形 整形,这样,即便有插卡模块中断异常、致使其输出的中断信号一直处于有 效状态,但经波形整形后的该中断信号在从无效变为有效后,其有效部分也 只会保留与预设中断有效周期相等的有限长度;然后,再对波形整形后的中 断信号进行采样、记录采样得到的中断有效状态、并通知CPU读取记录的 中断有效状态,由于中断信号的有效部分长度有限,采样并记录中断有效状 态次数也是有限的,且CPU读取记录之后即会清空所记录的所有中断有效 状态,因而CPU不会不断读取中断有效状态、且不会一直处理该插卡模块 的中断,因而能够避免模块化主机系统的挂死,提高了中断合成的可靠性。进一步地,本发明还可以在清空记录的读清周期内禁止采样的执行,且 设置有效周期与读清周期满足如下条件对中断信号中长度等于所述有效周 期的有效部分采样并记录的中断状态,如果在所述读清周期之前未被CPU 读取,则该有效部分在所述读清周期之后仍能够被再次采样得到。这样,还 可以保证在上报中断时不会多报也不会漏报,从而进一步提高了中断合成的 可靠性。


图1为现有能够实现中断合成的模块化主机系统的结构示意图。图2为本发明实施例中断合成方法的示例性流程图。图3为本发明实施例中模块化主机系统的结构示意图。图4为本发明实施例中经波形整形后的中断信号波形示意图。图5为本发明实施例中读清控制信号的波形示意图。图6为本发明实施例中不同时刻的各中断信号的波形示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明进一步详细说明。图2为本发明实施例中断合成方法的示例性流程图。如图2所示,该方 法应用于包括CPU和多个插卡模块的模块化主机系统,且该方法包括步骤201,分别对各插卡模块输出的中断信号进行波形整形,使得波形 整形后的各中断信号在每次从无效变为有效后,其有效部分的长度与预设中 断有效周期相等。具体来说,在本步骤中,可以在中断信号从无效变为有效后,将该中断 信号有效部分延迟模块化主机系统中的一个系统时钟周期,用以实现中断信 号有效部分与该系统时钟的同步,然后以该中断有效部分的开始时刻为起始 点,截取有效部分中与预设中断有效周期长度相等的部分。步骤202,分别对波形整形后的各中断信号连续地进行采样,记录采样 得到的对应插卡模块的中断有效状态,且只要记录有中断有效状态,则向 CPU上报中断以通知CPU读取所记录的中断有效状态。具体来说,在本步骤中,可以直接以系统时钟为采样时钟,对波形整形 后的中断信号连续地进行采样。当然,也可以倍频后的系统时钟为采样时钟。步骤203,在CPU每次完成读取之后的预设读清周期内清空所记录的 所有中断有效状态。具体来说,在本步骤中,可以在CPU每次完成读取之后,先延迟一个 系统时钟周期,然后再开始读清周期。实际应用中,为了保证在读清周期前后不会向CPU多报和漏报中断, 本步骤可以在预设读清周期内禁止步骤202中采样的执行,且保证有效周期 与读清周期满足如下条件对波形整形后的中断信号中,长度等于中断有效周期的有效部分采样并记录的中断状态,如果在读清周期之前未被CPU读 取,则该有效部分在读清周期之后仍能够被再次采样得到。 至此,本流程结束。需要说明的是,上述流程中的步骤201和步骤202均为实时执行的处理 过程。由上述流程可见,本发明先对各插卡模块输出的中断信号进行波形整 形,这样,即便有插卡模块中断异常、致使其输出的中断信号一直处于有效 状态,但经波形整形后的该中断信号在从无效变为有效后,其有效部分也只 会保留与预设中断有效周期相等的有限长度;然后,再对波形整形后的中断 信号进行采样、记录采样得到的中断有效状态、并通知CPU读取记录的中 断有效状态,由于中断信号的有效部分长度有限,采样并记录中断有效状态 次数也是有限的,且CPU读取记录之后即会清空所记录的所有中断有效状 态,因而CPU不会不断读取中断有效状态、且不会一直处理该插卡模块的 中断,因而能够避免模块化主机系统的挂死,提高了中断合成的可靠性。此外,在上述流程中,如果在步骤203的读清周期内禁止步骤202中采 样的执行、并保证有效周期与读清周期满足如步骤203所述的条件,还可以 保证在上报中断时不会多报也不会漏报,从而进一步提高了中断合成的可靠 性。实际应用中,读清周期就是指读清控制信号的有效部分长度,对于如何在读清周期内禁止采样的执行可以有多种实现方式。例如,可以将读清控制 信号作为采样的使能信号,在读清信号无效时采样才可以执行。再例如,设置读清周期内清空记录的操作具有高优先级、而采样则具有较低优先级,这样,只要执行清空记录的操作就无法执行采样。图3为本发明实施例中模块化主机系统的结构示意图。如图3所示,该系统包括CPU、中断合成装置、系统时钟发生器、以及多个插卡模块(图中未示出)。在图3中,以8个插卡模块、中断方式为电平有效方式为例。个插卡模块相连,其中包括波形整形单元、状态采样单元、状态存储单元、 中断上"^艮单元、读清控制单元。波形整形单元,分别对各插卡模块输出的中断信号1~8,即如图3所示 的中断信号1 8进行波形整形,使得中断信号1~8在每次从无效变为有效后, 其有效部分的长度与预设中断有效周期相等。较佳地,波形整形单元在中断信号从无效变为有效后,可以先对该中断 信号的有效部分延迟一个系统时钟周期用以实现该中断信号的有效部分与 系统时钟的同步,然后以该中断有效部分的开始时刻为起始点,截取有效部 分中与预设中断有效周期长度相等的 一段,以实现对各插卡模块输出的中断 信号的波形整形。实际应用中,如果中断合成装置由可编程逻辑器件来实现,则可通过相 应地^^件编程语言来确定多种不同的具体逻辑结构/人而实现波形整形单元 的功能。例如,可以设置包含有两个触发器的逻辑结构来实现用于同步的延 迟,以系统时钟和中断信号的电平变化作为选通中断信号有效部分的触发条 件;还可以设置包含有一个计数器和一个触发器的逻辑结构来实现波形整 形,以计数器对系统时钟的计数结果作为截取中断信号有效部分的触发条 件。状态采样单元,分别对波形整形后的中断信号1 8连续地进行采样,并 将采样得到的对应插卡模块的中断有效状态记录于状态存储单元。较佳地,状态采样单元可以直接以系统时钟为采样时钟,对波形整形后 的中断信号连续地进行采样;当然,也可以倍频后的系统时钟为采样时钟。实际应用中,状态存储单元仍可以由寄存器来实现,且其每一位分别用 于记录一个插卡模块的中断状态,例如l表示无效、0表示有效。中断上报单元,在状态存储单元记录有中断有效状态时,通过IRQ管 脚向CPU上报中断以通知CPU读取记录于状态存储单元的中断有效状态。实际应用中,如果中断信号为低电平时有效,则中断上报单元可以由与 门来实现;如果中断信号为高电平时有效,则中断上报单元可以由或门来实现。读清控制单元,在CPU每次完成读取之后的预设读清周期内,清空状 态存储单元的所有中断有效状态,即将其中记录的每一个插卡模块的中断状 态均置为无效。较佳地,CPU可以在每次完成读取之后可以通知读清控制单元;读清 控制单元在CPU每次完成读取之后,先将表示读清周期的读清控制信号的 有效部分延迟一个系统时钟周期,用以实现读清周期与系统时钟的同步。实际应用中,如果中断合成装置由可编程逻辑器件来实现,则可通过相 应地硬件编程语言来确定多种不同的具体逻辑结构从而实现读清控制单元 的功能。例如,可以设置包含有两个触发器的逻辑结构来实现用于同步的延 迟,以系统时钟和读清控制信号的电平变化作为选通读清控制信号有效部分 的触发条件。这样,即便有插卡模块中断异常、致使其输出的中断信号一直处于有效 状态,但经波形整形后的该中断信号在从无效变为有效后,其有效部分也只 会保留与预设中断有效周期相等的有限长度;然后,再对波形整形后的中断 信号进行采样、记录采样得到的中断有效状态、并通知CPU读取记录的中 断有效状态,由于中断信号的有效部分长度有限,采样并记录中断有效状态 次数也是有限的,且CPU读取记录之后即会清空所记录的所有中断有效状 态,因而CPU不会不断读取中断有效状态、且不会一直处理该插卡模块的 中断,因而能够避免模块化主机系统的挂死,提高了中断合成的可靠性。上述模块化主机系统中,如果需要保证在读清周期前后不会向CPU多 报和漏报中断,则读清控制单元可以在预设读清周期内禁止状态采样单元执 行采样。与此同时,还需要有效周期与读清周期满足如下条件对波形整形 后的中断信号中,长度等于有效周期的有效部分采样并记录的中断状态,如 果在读清周期之前未被CPU读取,则该有效部分在读清周期之后仍能够被 再次采样得到。下面,结合一具体实例,对本实施例中的上述模块化主机系统的工作过程进行进一步说明。假设有效周期为4个系统时钟周期、读清周期为1个系统时钟周期、中 断信号为低电平有效。图4为本发明实施例中经波形整形后的中断信号波形示意图。如图4所 示,任一插卡模块输出的中断信号在下降延时刻到来之后,为了实现中断信 号与系统时钟的同步,先将该中断信号的下降延延迟一个系统时钟周期(如 图4中的虚线部分所示)然后进行波形整形,经波形整形后的中断信号的有 效部分为4个系统时钟周期。如果将用于延迟的一个系统周期包括在内,则 经波形整形后的中断信号的有效部分也可以看作为5个系统时钟周期。这样,以系统时钟为采样周期对波形整形后的中断信号进行采样,即可 在如图4所示的向上箭头所示的时刻采样到低电平,即采样到有效的中断状 态。此时,即可向CPU上报中断,并由CPU根据读控制信号读取记录的所 有中断状态。图5为本发明实施例中读清控制信号的波形示意图。如图5所示,CPU 读取的操作周期、即CPU的读控制信号的有效周期,对应于Tl Tn这段系 统时钟周期。Tl Tn这段系统时钟周期内,在每个系统时钟的上升沿(CPU 的读控制信号在Tl Tn这段系统时钟周期内的向上箭头处),记录的中断 状态都会被CPU读取。但是在时钟上升沿Tn, CPU读取的中断状态会覆盖 其在Tn-l上升沿所读取的中断状态,因此,在下文中只考虑Tn上升延时 CPU读取中断状态,而Tl~Tn-l时刻不予考虑。仍参见图5,在CPU读取完毕后(即如图5所示的读控制信号上升延), 为了实现读清控制信号与系统时钟的同步,先对CPU的读控制信号上升延 延迟一个系统时钟周期(如图5中的虚线部分所示),然后再产生1个系统 时钟周期的读清控制信号将读清控制信号变为有效(即如图5所示的读清控 制信号的低电平部分)并开始读清周期。然后,在读清周期内的系统时钟上 升沿(读清控制信号在对应Tn+2上升延的向上箭头处),清空所记录的所有中断状态,且在禁止采样。实际应用中,读清控制单元可输出读清控制信号,而读清控制信号的有 效部分长度即为读清周期。对于如何在读清周期内禁止采样的执行可以有多 种实现方式。例如,可以将读清控制信号作为状态采样单元的使能信号,当读清信号 无效时,使能状态采样单元执行采样;当读清信号有效时,状态采样单元未 净皮使能而无法执行采样。再例如,可以在波形整形单元和状态采样单元之间设置一常闭的开关电 路,当读清信号有效时,该开关电路断开,使得状态采样单元由于无法接收 到波形整形后的中断信号而无法实现有效的采样。还例如,设置读清控制单元清空状态存储单元的优先级高于状态采样单 元执行采样,这样,只要读清控制单元执行清空记录的操作、状态采样单元 就无法执行采样。其中,由于上述中断合成装置可以由可编程逻辑器件来实 现,因而对于上述各单元执行的各种操作可以由硬件语言来实现,而优先级的设置则可利用硬件语言中"if……else……"语句的语法特性来实现。下面,再针对同一插卡模块在8个不同时刻产生的中断信号,对上述模 块化主机系统为何能够避免多报和漏报中断进行详细说明。图6为本发明实施例中不同时刻的各中断信号的波形示意图。如图6所 示,CPU的读控制信号、以及读清控制信号,均是在插卡模块O为中断有效 状态并通知CPU后产生的,CPU的读控制信号在T[-(n-l)] T4这^a系统时 钟周期内有效、n为正整数,读清控制信号在T6时刻有效。以下,在T0 T10这段系统时钟周期内,分别针对插卡模块1在8种情 况下产生的中断信号进行说明。在图6中,插卡模块1产生的中断信号经过波形整形后,有效部分长度 均为5个系统时钟周期,包括用于采样的4个时钟周期(4个时钟周期的采 样点为图中的向上箭头处)和用于同步而延迟的1个系统时钟周期。且插卡 模块1在第1~8种情况产生的中断信号的有效部分对应的第 一个采样点分别对应系统时钟的T0 T7。1) 对于在第l种情况产生的中断信号在T0 T3这段系统时钟周期内,插卡模块1产生的该中断信号的有效 部分被采样,且采样得到的插卡模块1的中断有效状态被记录;同时,由于 此时记录有中断有效状态,因而IRQ管脚有效并向CPU上报中断。在系统时钟的T4时刻,CPU读取T3时刻记录的插卡模块1的中断有 效状态,且之前已记录的插卡模块0的中断有效状态也被CPU最后一次读 取。也就是说,对插卡模块1的中断信号中长度等于中断有效周期的有效部 分采样并记录的中断有效状态,已在读清周期之前^皮CPU读取一次。需要 说明的是,这里以及下文所述的读取一次是指在CPU的读控制信号一次有 效周期内。在系统时钟的T6时刻,清除所记录的所有插卡模块、即插卡模块0和 插卡模块1的中断有效状态,IRQ管脚无效、且禁止采样。可见,对于插卡模块l在第1种情况产生的一次有效的中断信号,会在 读清周期之前向CPU上报一次,既不会多报中断也不会漏报中断。2) 对于在第2种情况产生的中断信号在T1 T3这段系统时钟周期内,插卡模块1产生的该中断信号的有效 部分被采样,且采样得到的插卡模块1的中断有效状态被记录;同时,由于 此时记录有中断有效状态,因而IRQ管脚有效并向CPU上^R中断。在系统时钟的T4时刻,CPU读取T3时刻记录的插卡模块1的中断有 效状态,且之前已记录的插卡模块0的中断有效状态也被CPU最后一次读 取。虽然插卡模块1产生的该中断信号的有效部分在T4时刻被再次采样, 但由于可编程逻辑器件的传输延时特性,T4时刻采样得到的插卡模块1的 中断有效状态在T5时刻才能够被读取到,而CPU的读控制信号在T5时刻 已变为无效,因而T4时刻采样得到的插卡模块1的中断有效状态在读清周 期之前不会被CPU再次读取。也就是说,对插卡模块1的中断信号中长度 等于中断有效周期的有效部分采样并记录的中断有效状态,已在读清周期之前^皮CPU读耳又一次。在系统时钟的T6时刻,清除所记录的所有插卡模块、即插卡模块0和 插卡模块1的中断有效状态,IRQ管脚无效、且禁止釆样。可见,对于该插卡模块1在第2种情况产生的一次有效的中断信号,会 在读清周期之前向CPU上报一次,既不会多报中断也不会漏报中断。3) 对于在第3种情况产生的中断信号在T2 T3这段系统时钟周期内,插卡模块1产生的该中断信号的有效 部分被采样,且采样得到的插卡模块1的中断有效状态被记录;同时,由于 此时记录有中断有效状态,因而IRQ管脚有效并向CPU上才艮中断。在系统时钟的T4时刻,CPU读取T3时刻记录的插卡模块1的中断有 效状态,且之前已记录的插卡模块0的中断有效状态也被CPU最后一次读 取。虽然插卡模块i产生的该中断信号的有效部分在T4和T5时刻被再次 釆样,但由于可编程逻辑器件的传输延时特性,T4和T5时刻采样得到的插 卡模块1的中断有效状态,分别在T5和T6时刻才能够被读取到,而CPU 的读控制信号在T5和T6时刻已变为无效,因而T4和T5时刻采样得到的 插卡模块1的中断有效状态在读清周期之前不会被CPU再次读取。也就是 说,对插卡模块1的中断信号中长度等于中断有效周期的有效部分采样并记 录的中断有效状态,已在读清周期之前被CPU读取一次。在系统时钟的T6时刻,清除所记录的所有插卡模块、即插卡模块0和 插卡模块1的中断有效状态,IRQ管脚无效、且禁止采样。可见,对于该插卡模块l在第3种情况产生的一次有效的中断信号,会 在读清周期之前向CPU上报一次,既不会多报中断也不会漏报中断。4) 对于在第4种情况产生的中断信号在系统时钟T3时刻,插卡模块1产生的该中断信号的有效部分被采样, 且采样得到的插卡模块1的中断有效状态被记录;同时,由于此时记录有中 断有效状态,因而IRQ管脚有效并向CPU上"R中断。在系统时钟的T4时刻,CPU读取T3时刻记录的插卡模块1的中断有效状态,且之前已记录的插卡模块0的中断有效状态也被CPU最后一次读取。虽然插卡模块1产生的该中断信号的有效部分在T4和T5时刻被再次 采样,但由于可编程逻辑器件的传输延时特性,T4和T5时刻采样得到的插 卡模块l的中断有效状态,分别在T5和T6时刻才能够被读取到,而CPU 的读控制信号在T5和T6时刻已变为无效,因而T4和T5时刻采样得到的 插卡模块l的中断有效状态在读清周期之前不会被CPU再次读取。也就是 说,对插卡模块1的中断信号中长度等于中断有效周期的有效部分采样并记 录的中断有效状态,已在读清周期之前4皮CPU读取一次。在系统时钟的T6时刻,清除所记录的所有插卡模块、即插卡模块0和 插卡模块1的中断有效状态,IRQ管脚无效、且禁止采样。可见,对于该插卡模块1在第4种情况产生的一次有效的中断信号,会 在读清周期之前向CPU上报一次,因而不会漏报中断;而且,虽然该中断 信号在T6时刻、即读清周期内仍为有效,但由于读清周期内不采样(参见 图中带有"x"图样的向上箭头),因而在读清周期内不会重复记录同一中 断有效状态,从而不会多报中断。5)对于在第5种情况产生的中断信号在T4和T5时刻,虽然插卡模块1产生的该中断信号的有效部分被采 样,但由于可编程逻辑器件的传输延时特性,T4和T5时刻采样得到的插卡 模块1的中断有效状态,分别在T5和T6时刻才能够被读取到,而CPU的 读控制信号在T5和T6时刻已变为无效,因而在T4和T5时刻采样得到的 插卡模块l的中断有效状态在读清周期之前不会被CPU读取到、即CPU在 读清周期之前只会读取到之前已记录的插卡模块O的中断有效状态。也就是 说,对插卡模块1的中断信号中长度等于中断有效周期的有效部分采样并记 录的中断有效状态,在读清周期之前未被CPU读取。在系统时钟的T6时刻、即读清周期内,清除所记录的所有插卡模块、 即插卡模块O的中断有效状态,IRQ管脚无效、且禁止采样。在系统时钟的T7时刻,插卡模块1产生的该中断信号的有效部分被采样,且采样得到的插卡模块1的中断有效状态被记录;同时,由于此时记录 有中断有效状态,因而IRQ管脚有效并向CPU上报中断,之后,即可等待 CPU读取。也就是说,对插卡模块1产生的中断信号中长度等于中断有效周 期的有效部分采样并记录的中断状态,在读清周期之前未被CPU读取,但 在读清周期之后能够被再次采样得到。可见,对于该插卡模块l在第5种情况产生的一次有效的中断信号,会 在读清周期之后向CPU上报一次,因而不会漏报中断;而且,虽然该中断 信号在T4 T5这段系统时钟周期内、以及读清周期内有效,但由于T4 T5 这段系统时钟周期内采样并记录的有效中断状态未被CPU读取、且读清周 期内不釆样(参见图中带有"x"图样的向上箭头),因而不会多报中断。6)对于在第6种情况产生的中断信号在系统时钟的T5时刻,虽然插卡模块1产生的该中断信号的有效部分 被采样,但由于可编程逻辑器件的传输延时特性,T5时刻采样得到的插卡 模块1的中断有效状态在T6时刻才能够被读取到,而CPU的读控制信号在 T5和T6时刻已变为无效,因而T5时刻釆样得到的插卡才莫块1的中断有效 状态在读清周期之前不会被CPU读取到,即CPU在读清周期之前只会读取 到之前已记录的插卡模块O的中断有效状态。也就是说,对插卡模块l的中 断信号中长度等于中断有效周期的有效部分采样并记录的中断有效状态,在 读清周期之前未被CPU读取。在系统时钟的T6时刻、即读清周期内,清除所记录的所有插卡模块、 即插卡模块O和插卡模块1的中断有效状态,IRQ管脚无效、且禁止采样。在T7和T8时刻,插卡模块1产生的该中断信号的有效部分被采样, 且采样得到的插卡模块1的中断有效状态被记录;同时,由于此时记录有中 断有效状态,因而IRQ管脚有效并向CPU上报中断,之后,即可等待CPU 读取。也就是说,对插卡模块1产生的中断信号中长度等于中断有效周期的 有效部分采样并记录的中断状态,在读清周期之前未被CPU读取,j旦在读 清周期之后能够被再次采样得到。可见,对于该插卡模块l在第6种情况产生的一次有效的中断信号,会在读清周期之后向CPU上报一次,因而不会漏报中断;而且,虽然该中断 信号在系统时钟T5时刻、以及读清周期内有效,^旦由于系统时钟T5时刻 采样并记录的有效中断状态未被CPU读取、且读清周期内不采样(参见图 中带有"x"图样的向上箭头),因而不会多报中断。7) 对于在第7种情况产生的中断信号在系统时钟的T6时刻、即读清周期内,清除所记录的所有插卡模块、 即插卡模块O的中断有效状态,IRQ管脚无效、且禁止采样。在T7、 T8和T9时刻,该中断信号的有效部分被连续采样,且采样得 到的插卡模块1的中断有效状态被记录;同时,由于此时记录有中断有效状 态,因而IRQ管脚有效并向CPU上报中断,之后,即可等待CPU读取。也 就是说,对插卡模块1产生的中断信号中长度等于中断有效周期的有效部分 采样并记录的中断有效状态,在读清周期之前未被CPU读取,但在读清周 期之后能够被再次采样得到。可见,对于该插卡模块l在第7种情况产生的一次有效的中断信号,会 在读清周期之后向CPU上报一次,因而不会漏报中断;而且,虽然该中断 信号在读清周期内有效,但由于读清周期内不采样(参见图中带有"x"图 样的向上箭头),因而不会多报中断。8) 对于在第8时刻产生的中断信号在系统时钟的T6时刻、即读清周期内,清除所记录的所有插卡模块、 即插卡模块0的中断有效状态,IRQ管脚无效、且禁止采样。在T7 T10时刻,插卡模块1产生的该中断信号的有效部分被连续采样, 且采样得到的插卡模块1的中断有效状态被记录;同时,由于此时记录有中 断有效状态,因而IRQ管脚有效并向CPU上"^艮中断,之后,即可等待CPU 读取。也就是说,对插卡模块1产生的中断信号中长度等于中断有效周期的 有效部分采样并记录的中断有效状态,在读清周期之前未被CPU读取,但 在读清周期之后能够被再次采样得到。可见,对于该插卡模块l在第8种情况产生的一次有效的中断信号,会在读清周期之后向CPU上报一次,因而不会漏报中断;而且,该中断信号 在读清周期内以及之前无效,因而不会多报中断。由上述实施例可见,本发明通过对中断信号的波形整形,避免了由于中 断异常而导致的CPU挂死,提高了中断合成的可靠性。而且,本发明还可 以通过在读清周期内对采样的禁止、以及读清周期与中断信号有效周期的条 件限制保证不多报和漏报中断,进一步提高了中断合成的可靠性。上述实施例中虽然均是以电平有效的中断方式为例,但基于相同的原 理,上述实施例所提供的方案同时还适用于沿触发的中断方式、以及电平有 效与沿触发混合中断方式。实际应用中,中断信号的波形可能存在差异,但是都可以根据上述实施 例所提供的方案而灵活变通。为了保证不多报和漏报中断,需要中断信号的有效周期不少于5个系统 时钟周期。如果中断信号不满足该条件,则可以对其进行相应处理,例如1、 由硬件内部的寄存器来配置中断信号的有效周期长度;2、 在中断信号的任何电平状态的持续时间大于1个系统时钟周期的前 提下,对中断信号的电平状态进行延长处理。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等, 均应包含在本发明的保护范围之内。
权利要求
1. 一种中断合成方法,应用于包括中央处理器CPU和多个插卡模块的模块化主机系统,其特征在于,该方法包括分别对各插卡模块输出的中断信号进行波形整形,使得波形整形后的各中断信号在每次从无效变为有效后,其有效部分的长度与预设中断有效周期相等;分别对波形整形后的各中断信号连续地进行采样,记录采样得到的对应插卡模块的中断有效状态,并通知所述CPU读取所记录的中断有效状态;在所述CPU每次完成读取之后的预设读清周期内清空所记录的所有中断有效状态。
2、 如权利要求1所述的方法,其特征在于,在所述中断信号从无效变 为有效后,该方法进一步包括对该中断信号的有效部分延迟一个系统时钟 周期,使得该有效部分的开始时刻与系统时钟同步。
3、 如权利要求2所述的方法,其特征在于,所述对波形整形后的中断 信号连续地进行采样包括以所述系统时钟为采样时钟,对波形整形后的中 断信号连续地进行采样。
4、 如权利要求1至3中任意一项所述的方法,其特征在于,在CPU每 次完成读取之后、清空所记录的所有中断有效状态之前,该方法进一步包括 将读清周期延迟一个系统时钟周期,使得所述读清周期与系统时钟同步。
5、 如权利要求4所述的方法,其特征在于,在所述读清周期内,该方 法进一步包括禁止所述采样的执行。
6、 如权利要求5所述的方法,其特征在于,所述中断有效周期与所述 读清周期满足如下条件对波形整形后的中断信号中,长度等于所述中断有效周期的有效部分采 样并记录的中断状态,如果在所述读清周期之前未一皮CPU读取,则该有效 部分在所述读清周期之后仍能够被再次采样得到。
7、 如权利要求6所述的方法,其特征在于,所述中断有效周期为4个 所述系统时钟周期、所述读清周期为l个所述系统时钟周期。
8、 一种中断合成装置,应用于包括中央处理器CPU和多个插卡模块的 模块化主机系统,且该装置分别与所述CPU和多个插卡模块相连,其特征在于,所述中断合成装置包括波形整形单元、状态采样单元、 状态存储单元、中断上报单元、读清控制单元,其中,所述波形整形单元,分别对各插卡模块输出的中断信号进行波形整形, 使得波形整形后的各中断信号在每次从无效变为有效后,其有效部分的长度 与预设中断有效周期相等;所述状态采样单元,分别对波形整形后的各中断信号连续地进行采样, 并将采样得到的对应插卡模块的中断有效状态记录于所述状态存储单元;所述中断上报单元,在所述状态存储单元中记录有中断有效状态时,通 知所述CPU读取记录于所述状态存储单元的中断有效状态;所述读清控制单元,在所述CPU每次完成读取之后的预设读清周期内 清空所述状态存储单元的所有中断状态。
9、 如权利要求8所述的装置,其特征在于,所述波形整形单元进一步 在所述中断信号从无效变为有效后,将该中断信号的有效部分延迟一个系统 时钟周期、使得该有效部分的开始时刻与系统时钟同步。
10、 如权利要求9所述的装置,其特征在于,所述状态采样单元以所述 系统时钟为采样时钟,对波形整形后的中断信号连续地进行采样。
11、 如权利要求8至10中任意一项所述的装置,其特征在于,所述读 清控制单元进一步在所述CPU每次完成读取之后,将读清周期延迟一个系 统时钟周期,使得所述读清周期与系统时钟同步。
12、 如权利要求11所述的装置,其特征在于,所述读清控制单元进一 步在所述读清周期内禁止所述状态采样单元执行所述采样。
13、 如权利要求12所述的装置,其特征在于,所迷中断有效周期与所 述读清周期满足如下条件对波形整形后的中断信号中,长度等于所述中断有效周期的有效部分采样并记录的中断有效状态,如果在所述读清周期之前 未被CPU读取,则该有效部分在所述读清周期之后仍能够被再次采样得到。
14、 如权利要求13所述的装置,其特征在于,所述中断有效周期为4 个所述系统时钟周期、所述读清周期为l个所述系统时钟周期。
15、 一种模块化主机系统,包括中央处理器CPU、中断合成装置、 以及多个插卡模块,其特征在于,所述中断合成装置,对各插卡模块输出的中断信号进行波形整形,使得 波形整形后的中断信号在每次从无效变为有效后,其有效部分的长度与预设 中断有效周期相等;分别对波形整形后的各中断信号连续地进行采样,记录 采样得到的对应插卡模块的中断有效状态,并通知所述CPU读取所记录的 中断有效状态;在所述CPU每次完成读取之后的预设读清周期内清空所记 录的所有中断有效状态。
16、 如权利要求15所述的系统,其特征在于,所述中断合成装置进一 步在所述读清周期内禁止执行所述采样;且所述中断有效周期与所述读清周期满足如下条件对波形整形后的中 断信号中,长度等于所述中断有效周期的有效部分采样并记录的中断有效状 态,如果在所述读清周期之前未被CPU读取,则该有效部分在所述读清周 期之后仍能够被再次采样得到。
全文摘要
本发明公开了一种中断合成方法。先对各插卡模块输出的中断信号进行波形整形,这样,即便有中断信号一直处于有效状态,但经波形整形后的该中断信号的有效部分也只会保留与预设中断有效周期相等的有限长度;然后,再对波形整形后的中断信号进行采样、记录采样得到的中断有效状态、并通知CPU读取记录的中断有效状态,由于中断信号的有效部分长度有限,采样并记录中断有效状态次数也是有限的,且CPU读取记录之后即会清空所记录的所有中断有效状态,因而CPU不会不断读取中断有效状态并处理该插卡模块的中断,从而避免模块化主机系统的挂死,提高了中断合成的可靠性。本发明还公开了一种中断装置、以及一种模块化主机系统。
文档编号G06F9/46GK101276292SQ20081010645
公开日2008年10月1日 申请日期2008年5月13日 优先权日2008年5月13日
发明者郭运航, 博 阎 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1