专利名称:在同步环境下处理中断的制作方法
技术领域:
本发明涉及一个控制器必须服务于多个外围模块的数字系统。
在数字系统中(如计算机中),通过中断的方式,外围模块可以从中央模块,即一个控制器来请求服务。在现有技术的系统中,例如工业标准的个人计算机中,有一专用中断线分配给所有的外围模块,它们可以选择请求中断。比如,上述个人计算机有15条中断线。虽然对于PC通常这已经足够,然而在其它环境中,比如移动服务交换中心,特别是与它们耦合的代码转换器,往往需要为甚至数百个请求中断的外围模块提供服务。为这样大量的外围模块配备单独的中断线当然是不合理的。
大量的外围模块也用于局域网中。比如,在一个以太网型的网络中,一条连接电缆有三个状态来确定已预定电缆的模块数目0,1或多于1。大多数的数字电路只能处理两个电压状态,这意味着在以太网中以这种方式实行服务请求会大大增加设备的成本。以这种方式预定顺序的另一缺点是只有一部分连接线的传输容量被实际利用,因为如果几个外围模块同时请求服务,所有模块的服务请求都是无效的,从而在任一新的中断尝试之前,它们都必须等待一段随机的时间。
在基于预定顺序的系统中,防止以太网型设备产生阻塞现象是可能的,比如在一令牌环网络中,顺序是在系统中从一个装置到另一装置循环。这种安排如果应用于多个模块,也是不经济的,因为用于处理中断顺序的逻辑关系必须安装在每一装置中。
在文章“Internal Communications in a multiprocessor ISDNPBX”,Carlos Hirsch & Luis Rojas,Computer Communications,Vol.18,Number 5,May 1995中提出了一种为几个外围模块安排中断方案的方法。在此文描述的系统中,每一外围模块都被分配一个预定的时隙,在此时隙内可请求一个中断。至于外围模块间的连接,此系统的实施也是很繁琐的,因为如果有n个外围模块,处理中断就需要log2n条线路。
本发明的目的在于解决上述问题,并为给大量请求中断的外围模块分配中断顺序提供一个有效的且易于应用的解决方案。这个目的是通过在独立的权利要求中所要求的特征的方法和模块来实现的。
从另一角度来说,本发明提供了一种方法和系统,由此多个外围模块可以从一个公共的控制器请求服务。
第三个观点是,本发明提供了一种与请求以及服务一个中断相连系的信号交换的全面解决方案。
本发明是基于预先防止每一外围模块同时产生中断请求,外围模块可在一专用时隙内请求中断。每一外围模块独立地管理,只有当被允许时才请求中断。
依据进一步的实施例,在具有带子外围模块的外围模块的分级系统中,时隙也可相应地分为子时隙。
下面,参照附图,本发明将通过优选实施例来描述,其中
图1是一曲线图,示出当外围模块数增加时,延迟的期望值,图2示出本发明的系统与外部电路的连接,图3是依据本发明在数字信号处理器中用于处理中断的系统的简化方框图,图4示出补充后的图3电路,以及图5示出在一般情况下本发明的应用。
图1是一曲线图,示出当外围模块数增加时,延迟的期望值。曲线A显示当外围模块可在一随机时刻中断的环境下,延迟的期望值。随着外围模块的数目n增加,延迟的期望值趋于无穷,这是因为由于几个外围模块同时请求服务,从而对于所有模块尝试都是无效的,所以越来越多的时间被浪费。曲线B显示仅在轮到外围模块时其被中断,并且中断顺序在系统中经过n个外围模块循环的环境下,延迟的期望值。在这种情况下,延迟的期望值随n值的增长而线性增长。当n值较小时,曲线A所示的自由中断方法较好。当n值较大时,曲线B所示的循环中断顺序法较好。
为了更好地说明本发明,其实施例是结合耦合到移动服务交换中心的一个代码转换器一起来描述,但很显然,本发明可应用于任一这样的环境其中一个控制器为多个中断外围模块提供服务。
图2示出系统中所用的信号,就本发明而言,这一典型方框图内重要的部分是一个代码转换器控制器TRCO和14个代码转换器单元TR0-TR13,每一单元有16个数字信号处理器DSPn。因此,共有224个数字信号处理器DSPn。自然地,系统中也可安装较少数目的单元。有14个代码转换器单元的原因是一条64kbps线可以传送14路以半速率为6.5kbps编码的呼叫。
在本例中,中断源,即可能从控制器TRCO请求中断的外围模块,是上述代码转换器单元TR0-TR13,简写为TRn。他们以一个INT’信号请求中断。控制器TRCO以一个中断确认信号INTA’指示开始服务该中断。每当每一单元TRn的任一信号处理器DSPn需要服务时,TRn就会请求中断。这样,对于一个中断,共有224种可能的起因。
中断顺序是用两个时钟信号CLK和SYNC来协调,这两个信号在示例设备中还有其它用途。就本发明而言,它们用来确保中断源具有相同的时间点。图2中,信号CLK和SYNC表示一个时钟发生器CG的输出。就本发明而言,时钟发生器CG对于TRCO是内部还是外部并不重要。
一个中断源利用数据总线DATA通知请求中断的单元TRn及信号处理器DSPn的标识符。如时钟信号一样,数据总线安装在系统中也有其它用途,这意味着专门用来处理中断的信号仅为中断请求信号INT’和中断确认信号INTA’。
CLK信号的频率为SYNC信号频率乘以2的幂,2的幂至少等于中断源的数目。由于本例中可能有224个中断源,时钟信号的频率必须至少是SYNC信号频率的256倍。通过将信号CLK和SYNC的比率设为2的幂,与分配中断顺序相连系的逻辑可保持在尽可能简单的状态。在示例的设备中,SYNC信号的频率为8KHz,而CLK的频率为8,192MHz。
SYNC脉冲间的时间段被分割成不同中断源间的等时间间隔。中断源用INT’信号请求中断,而每个中断源只能按其顺序起动该信号。在起动INT’信号之前,中断源确保INT’现在不是有效。在此情况可能会指示设备中的故障。
当控制器检测到一个有效INT’信号时,它会通过起动INTA’信号来确认该中断请求。接着,中断源将指示中断起因的信息写入总线。根据本优选实施例,该信息包括请求服务的信号处理器的标识符以及信号处理器内代码转换器单元的标识符。控制器从数据总线上读出中断源标识符,并撤消INTA’信号。接着,中断序列可以重新开始。
图3示出在本发明的一个有利的实施例中,与代码转换器单元TRn之一产生的中断相连系的信号。单元TRn的其它特征没有示出。图3中所示电路工作如下。首先,假设图3中用虚线分开的方框1不存在,而且寄存器IREG输入的触发输入OEN是由门N12的输出沿虚线所示的线2加入。该电路监控一个串行方式时间复用线SD(串行数据)。当代码转换器单元TRn的任一个信号处理器DSPn(图中未示出)需要服务时,TRn请求中断。这种情况下,指示服务需求的信号并不是从信号处理器DSPn输入,而是通过利用时间复用总线SD上的数据得到一个更为简单的电路。由于时同复用,一个装置能够检测出信号处理器DSP0-DSP15中任一个需要服务的情况。这是由一耦合到寄存器SR1的与门N1检测的。寄存器SR1的参考标是指一个移位寄存器,而寄存器SR1也可用其它方法实现,比如连续的触发器及与之相连系的时序逻辑。就本发明而言,重要的是寄存器SR1和门N1会识别这样的情形在两个最高有效位上是1的8比特字节刚被转移到总线上,在PCM信令中这指示着一个4字节帧的最后一个字节。这个信息被加到触发器FF1和中断寄存器IREG。触发器FF1的输出IF(中断标志)作为地址解码器AD的片选,地址解码器AD将时隙计数器TSC的输出位2-5与开关SW设置的参考地址相比较。计数器TSC的位0-1在本实施例中没有任何输入,但与他们相应的计数器TSC级将CLK信号频率除以4。开关SW可设置在每一代码转换器单元TRn处或在它们后部的配线处。在后一种情况下,单元TRn可能是相同的。由于计数器TSC的输出位2-5有16种可能的状态,并且对于每一代码转换器单元TR0-13,开关SW处于不同的位置,地址比较器AD的输出在某一时间只能在一个单元TRn内有效。
地址比较器AD的输出功能上加到触发器FF2。上述元件之间有一与门N11用来确保如果另一单元TRn同时请求中断时没有中断请求。在图3的电路中,信号INT’和INTA’在状态0有效。从而INT’信号的状态0会阻碍来自地址比较器AD的信号到达触发器FF2。除非该设备有故障,在某一时间服务需求只能存在于一个代码转换器单元TRn内,因而INT’处于状态“1”,而且来自地址比较器的信号被转送到触发器FF2,其输出II(内部中断)通过一个集电极开路型缓冲器N13被缓冲,来形成一个用于控制器TRCO的中断请求信号INT’。信号II也通过与门N12被输入到中断寄存器IREG。有效信号II通过门N12并因而给中断寄存器IREG产生一有效输出使能(OEN)信号的条件是INTA’信号是有效的,的即是0。有效的INTA’信号将触发器FF1和FF2置0。当OEN有效时,中断寄存器IREG将代码转换器单元TRn的标识符(来自开关SW)及信号处理器DSPn的标识符(计数器TSC的输出位6-9)插入到总线DATA。控制器TRCO读出总线DATA后,撤消INTA’信号。
在上述配置中,图3中的电路并不能完全满足要求,这是因为寄存器IREG的输出信号只能在很短的时间内有效。当INTA’信号复位后,触发器FF2复位,IREG的输出信号被撤消。现在假定导线2不存在,而安装了方框1。在FF2输出的上升沿,FF3的输出也上升到“1”。该信号被加到门N14,一个反INTA’信号被加到N14的另一个输入。触发INTA’信号就触发了N14的输出,这又触发了寄存器IREG的输出。撤消INTA’信号就撤消了门N14的输出,从而寄存器IREG的输出变为高阻输出。此外,撤消INTA’信号也促使“0”存贮在触发器FF3中。
当INTA’信号被触发时,触发器FF1的输出及INT’信号被撤消。当INTA’信号被撤消时,寄存器IREG的输出变成高阻输出,中断序列终止。
如果图3电路中的控制器TRCO在同一单元TRn中又有新的中断的需求之前,尚未来得及服务来自一个代码转换器单元TRn的中断时,该单元的前一个中断请求就不再被服务。图4示出经补充后的图3电路,因而中断的请求不会被“遗忘”即使该中断不能立刻得到处理。图3和4中的共同部分用相同的参考标志代表。在图4的电路中,与门N1的输出被加到或门N2,移位寄存器SR2的输出被加到它另一个输入。门N2的输出“1”指示一个中断需求的存在(如图3中的电路)或这样的需求在当前时刻以前存在,并且此信息现在已通过移位寄存器SR2循环。寄存器SR2的时钟频率是通过一个分频器D1将CLK信号频率除以8得到的。因此,当寄存器SR1对串行方式数据SD的每一位步进一次时,寄存器SR2对串行方式数据SD的每8位字步进一次。门N2的输出被加到与门N3和N4。如果信号IF为“0”,N3的输出跟随N2的输出,这意味着当前没有处理过去的中断序列。如果信号IF是“1”,N4输出跟随N2输出,这意味着以前触发的一个中断序列现在正处理中。在这种情况下,中断的需求将被存贮在移位寄存器SR2中,直到所讨论的信号处理器随后被允许请求中断。
上文中,本发明的实施例是在时钟信号CLK和SYNC还有其它用途的环境下描述的。如果希望减少同步信号所需的导线数,这些信号例如,可以汇集到同一个导线中,从而与SYNC信号相应的脉冲可以某种方式,比如在长度上,与CLK信号的脉冲相区分。
在图3和4所示的电路中,中断的需求并不是直接由信号处理器检测到,而是由耦合到移位寄存器SR1的门N1来发现上述需求存在。图5示出本发明的一个实施例,在此设备中,中断需求由外围模块直接识别出来。由一虚线分开的方框1是与图3连在一起描述的。在本例中,假设最多有256个外围模块。一个8位计数器TSC2用SYNC信号来同步,并由一信号256*SYNC来步进,该信号的频率为SYNC信号的256倍。每一可能的外围模块与计数器TSC2的一个值相对应。外围模块用一信号IC(中断起因)来指示一个中断的需求。假设在中断被处理之前,没有新的IC信号脉冲到来。一个正IC信号脉冲将触发器FF_A的输出提高到“1”。它被加到与门N21,N21的其它输入是中断请求信号INT’和比较器AD2输出,如果TSC2输出与通过开关SW2安排在比较器AD2中的参考地址相匹配时,则该输出为“1”。如果所有的门N21输出皆为真,其输出为真,且状态“1”将被存贮在触发器FF_B中。如果FF_A输出为“0”,没有中断需求,则图5的电路中什么也不会发生。如果FF_A输出为“1”并且INT’信号为“0”,则另一中断源已触发INT’信号。因此,门N21输出将不会被触发,中断源将等待时机,直到下一个TSC2输出与安排在比较器AD2中的参考地址ADD2相匹配的时候。
在FF_B输出的上升沿,中断源的地址ADDR被存贮在寄存器IREG2中。也可利用TSC2输出来取代ADDR,因为存贮在寄存器IREG2中的一个条件是TSC2输出与ADDR相匹配。
FF_B输出被加到门N22,来自中央设备(图中未示出)的中断确认信号INTA’被加到N22的另一个输入。中断请求信号INT’被触发一段时间以后,中央设备用一个INTA’信号确认该中断,INTA’信号以相反状态连接到门N22。N22输出因而变为“0”,使触发器FF_A和FF_B复位,并将与寄存器IREG2的数据总线相连接的信号从高阻状态引向有效信号状态。
在上述实施例中,每一个外围模块PM都被给子一个专用时隙,用于可能的中断请求,而每个子外围模块,比如一个信号处理器,都被给子一个专用信号IC,子外围设备可用它请求中断。本发明也可以这样应用时隙计数器特定位,比如四个最低有效位,可与分配给每一外围模块的时隙相对应;而其它位,四个最高有效位,可与分配给每一个子外围模块的子时隙相对应。关于这一点,虽然没有单独的图示,但在图3-5及相关的描述基础上,本方案至少是易于为熟练的技术人员所理解。
根据本发明的中断系统简单经济易于实现,这是因为除了那些必须安装在设备中的信号以外,经只需要两个信号INT’和INTA’。本发明的系统也是合理的,从长远来看,自服务请求到执行服务的响应时间对所有的外围模块都是等长的。依据本发明的中断系统的第三个优点是,由于没有同时的服务请求,也就不会产生停机时间。此外,本发明的中断系统速度很快,这是因为只需一次从总线读操作就可找出中断的起因。
在以上描述中,以外围模块控制器为目标的服务请求被称为“中断”,通常这意味着控制器收到服务请求后,中断其当前任务,为外围模块提供服务,然后继续被中断的任务。在此描述的基础上,显然,本发明及其不同的实施例并不依赖于控制器如何进行该服务。因此,本发明可用于处理任何形式的服务请求。
本发明是通过与移动服务交换中心相连的代码转换器的实施例来描述。显然,对于熟练的技术人员而言,本发明的基本思想也可应用于许多其它环境。特别值得指出的是,有许多不同的方法来实现中断的需求以及时钟信号CLK和SYNC。因此,本发明并不局限于上述实施例,而是在不偏离所附的权利要求的范围与精神的条件下,可得到广泛的应用。
权利要求
1.为一个设备的外围模块(TRn)提供中断的一种方法,该设备由一控制器(TRCO)及若干外围模块(TRn)组成,而外围模块可具有子外围模块(DSPn),并可从控制器(TRCO)请求中断,该方法的特征包含下列步骤分配一个预定的循环的时隙给每一个外围模块(TRn);步进每一外围模块中的时隙计数器;以及响应于与分配给外围模块的时隙相应的时隙计数器的内容,允许外围模块请求一个中断。
2.权利要求1中要求的方法,其特征在于该方法还包含以下步骤为每一子外围模块(DSPn)安排一个信号(IC),因此当请求中断的需要产生时,子外围模块(DSPn)可以立即请求中断。
3.权利要求1中要求的方法,其特征在于该方法还包含以下步骤给每一个子外围模块(DSPn)分配一个预定的循环的子时隙,从而上述子外围模块(DSPn)只在上述预定的循环的子时隙内请求中断。
4.在一个设备里请求中断的方法,该设备包括一个控制器(TRn)以及若干外围模块(TRn),外围模块可具有子外围模块(DSPn),并可从控制器(TRCO)请求中断,该方法的特征在于包含下列步骤(i)监控产生中断请求的需求;(ii)步进每一外围模块(TRn)中的时隙计数器(TSC);(iii)为响应产生一个中断请求的需求,以及时隙计数器(TSC)的内容与时隙相对应,从控制器(TRCO)请求中断,该时隙是为所讨论的外围模块(TRn)所预定,在此时隙中,外围模块(TRn)被允许请求中断。
5.权利要求4中要求的方法,其特征在于只有当没有其它外围模块(TRn)同时请求中断时,才会请求中断。
6.在设备中实现与中断相连系的信号交换的一种方法,该设备包括一个控制器(TRCO),以及若干外围模块(TRn),外围模块可具有子外围模块,并可从控制器(TRCO)请求中断,该方法的特征在于包含以下步骤(i)外围模块(TRn)监控产生中断请求的需求;(ii)步进每一外围模块(TRn)中的时隙计数器(TSC);(iii)外围模块(TRn)起动一个中断请求信号(INT’),以响应一个产生中断请求的需求,并且时隙计数器的内容与时隙相对应,该时隙是为所讨论的外围模块(TRn)所预定;(iv)为响应中断请求信号(INT’),控制器(TRCO)起动一个中断确认信号(INTA’);(v)为响应中断确认信号(INTA’),外围模块(TRn)在总线上(DATA)插入一个请求中断的外围模块(TRn)的标识符;(vi)控制器(TRCO)由总线(DATA)读出请求中断的外围模块(TRn)的标识符,并撤消中断确认信号(INTA’);(vii)外围模块撤消中断请求信号(INT’)。
7.权利要求6中所要求的方法,其特征在于除了外围模块(TRn)的标识符外,子外围装置(DSPn)的标识符也同时插入到总线(DATA)上。
8.权利要求6中所要求的方法,其特征在于相位(V)超前或滞后于相位(V’),此时子外围模块(DSPn)的标识符被插入到总线(DATA)上。
9.向一设备中的外围模块分配中断顺序的系统,该设备包括一个控制器(TRCO)以及若干外围模块(TRn),外围模块具有子外围模块(DSPn),并可从控制器(TRCO)请求中断,该系统的特征在于它包含每一外围模块(TRn)中的时隙计数器(TSC);用于循环步进时隙计数器(TSC)的时钟信号(CLK);建立参考地址的装置(SW);比较器(AD),用于比较时隙计数器(TSC)的值与参考地址;响应于比较器(AD)的装置(N11-N13,FF2),以确保外围模块(TRn)仅在上述预定的循环的时隙内才请求中断。
10.权利要求9中要求的系统,其特征在于它还包含一个同步信号(SYNC),用于将时隙计数器(TSC)与有关的外围模块(TRn)同步,从而同步信号(SYNC)的频率是时钟信号频率除以一个至少等于外围模块(TRn)数目并具有2N形式的因子,其中N为正整数。
11.权利要求10中要求的系统,其特征在于配置一个区别于时钟信号(CLK)的导线用于同步信号(SYNC)。
12.权利要求10中要求的系统,其特征在于;传输在时钟信号(CLK)的导线中的同步信号(SYNC)作为时钟信号(CLK)的一个异常脉冲。
13.权利要求9中要求的系统,其特征在于该系统还包括一个信号(IC),对于每一个子外围模块(DSPn),当产生请求中断的需求时,利用一个该信号(IC),子外围模块(DSPn)可以立刻请求中断。
14.权利要求9中要求的系统,其特征在于该系统还包括一个时隙计数器(TSC2,比特6∶9),用于给每一子外围模块(DSPn)分配一个预定的循环子时隙,从而子外围模块(DSPn)仅在上述预定的循环子时隙内才请求中断。
15.在一设备中请求中断的系统,该设备包括一个控制器(TRCO)及若干外围模块(TRn),外围模块有子外围模块(DSPn),并可从控制器(TRCO)请求中断,其特征在于该系统还包括指示中断需求的装置(SR1,N1);每一外围模块(TRn)中的时隙计数器(TSC);用于循环步进时隙计数器(TSC)的时钟信号;在每一外围模块中建立参考地址的装置(SW);一个比较器(AD)用于比较时隙计数器(TSC)的值与参考地址;响应比较器(AD)的装置(N11-N13,FF2),以确保外围模块仅在上述预定的循环时隙内才可请求中断。
16.权利要求15中要求的系统,其特征在于该系统还包括一个寄存器(SR2),当产生中断需求时,如果控制器没有时间立刻服务于该中断,则该寄存器可用于存贮该中断需求。
全文摘要
本发明涉及一种方法和系统,大量的外围模块(TRn)由此可从一个控制器请求服务,例如是以中断请求的方式。通过给每一外围模块(TRn)分配一个预定的时隙,可以预先避免服务请求的拥塞,在该时隙内可允许外围模块从控制器请求服务。时隙由一时隙计数器协调,该计数器由一时钟信号(CLK)步进。不同外围模块的时隙计数器由一同步信号(SYNC)同步。外围模块(TRn)可包括子外围模块,而每一子外围模块可独立地请求服务,或者一个耦合到寄存器SR1的门N1可用来检测一个子外围模块请求服务的情况。
文档编号G06F13/372GK1190476SQ96195429
公开日1998年8月12日 申请日期1996年7月10日 优先权日1995年7月11日
发明者加里·考豪南, 韦考·陶考米斯 申请人:诺基亚电信公司