具有双模式中断的微控制器或微处理器的制作方法

文档序号:11333750阅读:199来源:国知局
具有双模式中断的微控制器或微处理器的制造方法与工艺

相关申请案的交叉参考

此申请案主张2015年3月6日申请的共同拥有的第62/129,481号美国临时专利申请案的优先权,所述美国临时专利申请案特此出于所有目的以引用的方式并入本文。

本发明涉及微处理器或微控制器。



背景技术:

微控制器是包括中央处理单元(cpu)、存储器、i/o接口及多个不同外围装置(例如串行接口、模/数转换器、pwm调制器、定时器等等)的芯片上的单芯片系统。一般地说,诸多应用无需大量处理电力。因此,为保持低成本,可通常无需使用任何类型的外部中断或内部中断或使用有限数目个中断来实施某些微控制器(例如具有有限量的程序存储器及数据存储器的8位微控制器),这是归因于此类中断逻辑需要裸片上的显著面积的事实。例如,制造商的基线微控制器系列可包含不包括任何中断能力或仅单个中断的装置。中型系列可经设计以允许单个中断及相关联中断控制器,所述相关联中断控制器接收多个中断且产生馈入到cpu的单个中断输入的输出信号。这些微控制器类型两者均可包括具有单个中断输入的cpu,其中当断言时致使程序执行完成当前待处理指令且接着分支到经定义地址(中断向量)(例如,地址0004h)。制造商的更高端系列的微控制器可包含具有cpu的装置,所述cpu具有:两个中断输入,一者被指派低优先级且一者被指派高优先级;以及中断控制器,其用于将来自各种源的中断分布到所述cpu的这两个中断输入。

因此,本申请案主要探讨包括具有有限数目个中断(例如,单个中断输入或两个中断输入)及具有有限中断功能性的相关联中断控制器的中央处理单元的微控制器。在诸多应用中,这可仍是不够的且必须选择更高端装置(例如,16位微控制器或32位微控制器),这是归因于8位微控制器的中断能力太具有限制性的事实。此外,如果此类微控制器意欲具有增加数目个外围装置,那么中央处理单元可能由于有限中断功能性而不能够支持相关联中断功能。



技术实现要素:

因此,需要具有经改进或更灵活中断处置的微控制器。

根据实施例,一种微控制器可包括:中央处理单元,其包括至少一个中断输入;中断控制器,其经配置以将至少一个中断信号提供到所述中央处理单元的所述至少一个中断输入;多个外围装置,其与所述中央处理单元及所述中断控制器耦合;及模式寄存器,其包括控制所述微控制器的操作模式的至少一个位,其中所述微控制器经配置成以第一模式及第二模式操作,其中在所述第一操作模式中,在由所述微控制器的外围装置断言中断之后,所述中断控制器将中断信号转送到所述中央处理单元且所述外围装置设置相关联中断标志,其中所述中断致使所述中央处理单元分支到与所述中断输入相关联的预定中断地址,其中在所述第二操作模式中,在由所述微控制器的外围装置断言中断之后,所述中断控制器将中断信号转送到所述中央处理单元且所述中央处理单元从产生所述中断的所述外围装置接收额外中断信息,其中所述额外中断信息用于产生向量地址。

根据进一步实施例,在所述第二操作模式中,在接收中断之后,所述中央处理单元可经配置以在进入服务例程之前执行上下文保存,且其中在所述上下文保存之后所述中央处理单元的寄存器接收经配置以识别中断源的数据,。根据进一步实施例,所述寄存器可为算术逻辑单元的工作寄存器。根据进一步实施例,由产生中断的外围装置提供的所述额外信息可用于使常数值移位,且其中所述经移位常数值经移动到所述寄存器中。根据进一步实施例,所述额外信息可为直接存储于cpu的工作寄存器中的中断号。根据进一步实施例,在所述第二操作模式中,可提供存储基地址的基址寄存器,且取决于中断源的位移地址经转送到中央处理单元,其中通过将所述向量地址加到存储于所述基址寄存器中的所述基地址而产生中断向量。根据进一步实施例,在所述第二操作模式中,微控制器可经编程以提供中断服务例程,所述中断服务例程评估工作寄存器的内容以分支到与产生所述中断的中断源相关联的相应服务例程。根据进一步实施例,在所述第一模式中,所述微控制器可经编程以提供中断服务例程,所述中断服务例程轮询特殊功能寄存器中的中断标志以确定产生所述中断的中断源。根据进一步实施例,中央处理单元可包括仅单个中断输入。根据进一步实施例,所述中央处理单元可包括仅第一中断输入及第二中断输入,其中所述第一中断输入具有高于所述第二中断输入的优先级。根据进一步实施例,当较高优先级中断中断较低优先级服务例程时,所述较高优先级中断可经配置以清除较低优先级中断,且相关联服务例程直接返回到主代码而无需通过所述低优先级服务例程返回。根据进一步实施例,当较高优先级中断中断较低优先级服务例程时,所述较高优先级中断可经配置以直接返回到所述较低优先级中断服务例程而无需返回到主代码。根据进一步实施例,中断控制器可包括可控制逻辑以启用从所述外围装置接收的中断。

根据另一实施例,一种用于在微控制器内提供中断功能性的方法,所述微控制器包括中央处理单元(其包括至少一个中断输入)及中断控制器(其经配置以将至少一个中断信号提供到所述中央处理单元的所述至少一个中断输入),所述方法可包括以下步骤:设置第一操作模式或第二操作模式;由所述中断控制器接收中断;且当以第一操作模式操作时,由所述中断控制器将中断信号转送到所述中央处理单元且设置相关联中断标志,其中所述中断致使所述中央处理单元分支到与所述中断输入相关联的预定中断地址;且当以所述第二操作模式操作时,由所述中断控制器将中断信号转送到所述中央处理单元且由所述中央处理单元从产生所述中断的所述外围装置接收额外中断信息,其中所述额外中断信息用于产生向量地址。

根据所述方法的进一步实施例,在所述第二操作模式中,在接收中断之后,所述方法可在进入服务例程之前执行上下文保存,及在所述上下文保存之后由经配置以识别中断源的所述中央处理单元接收额外信息,及将所述额外信息或从所述额外信息导出的数据存储于寄存器中。根据所述方法的进一步实施例,所述额外信息可为直接存储于cpu的工作寄存器中的中断号。根据所述方法的进一步实施例,所述方法可进一步包括在使用所述数据进入所述服务例程之后计算地址及分支到所述地址以服务所述中断的步骤。根据所述方法的进一步实施例,所述数据可用于使常数值移位,且其中所述经移位常数值经移动到所述寄存器中。根据所述方法的进一步实施例,所述方法可进一步包括使用所述经移位值作为位移地址以分支到地址以服务所述中断的步骤。根据所述方法的进一步实施例,在第二操作模式中,可提供存储基地址的基址寄存器,且取决于中断源的位移地址经转送到所述中央处理单元,且通过将向量地址加到存储于所述基址寄存器中的基地址而产生中断向量。根据所述方法的进一步实施例,在所述第二操作模式中,中断服务例程可评估所述工作寄存器的内容以分支到提供与产生所述中断的中断源相关联的指令的相应地址。根据所述方法的进一步实施例,在所述第一模式中,中断服务例程可轮询特殊功能寄存器中的中断标志以确定产生所述中断的中断源。根据所述方法的进一步实施例,所述中央处理单元可包括仅单个中断输入。根据所述方法的进一步实施例,所述中央处理单元可包括仅第一中断输入及第二中断输入,其中所述第一中断输入具有高于所述第二中断输入的优先级。根据所述方法的进一步实施例,当较高优先级中断中断较低优先级服务例程时,所述较高优先级中断可经配置以清除较低优先级中断,且相关联服务例程可直接返回到主代码而无需通过所述低优先级服务例程返回。根据所述方法的进一步实施例,当较高优先级中断中断较低优先级服务例程时,所述较高优先级中断可经配置以直接返回到所述较低优先级中断服务例程而无需返回到主代码。

根据又一实施例,一种微控制器可包括:中央处理单元,其包括至少一个中断输入及与算术逻辑单元耦合的寄存器;中断控制器,其经配置以将至少一个中断信号提供到所述中央处理单元的至少一个中断输入;多个外围装置,其与所述中央处理单元及所述中断控制器耦合;其中在由所述微控制器的外围装置断言中断之后,所述中断控制器将中断信号转送到所述中央处理单元,且所述中央处理单元从产生所述中断的所述外围装置接收额外中断信息,其中所述额外中断信息或从所述额外中断信息导出的数据存储于所述寄存器中。

根据上文微控制器的进一步实施例,在接收中断之后,中央处理单元可经配置以在进入服务例程之前执行上下文保存,且所述寄存器可在所述上下文保存之后接收额外中断信息。根据上文微控制器的进一步实施例,所述额外信息可用于使常数值移位,且其中所述经移位常数值经移动到所述寄存器中。根据上文微控制器的进一步实施例,所述额外信息可为直接存储于cpu的工作寄存器中的中断号。根据上文微控制器的进一步实施例,所述微控制器可经编程以提供中断服务例程,其评估工作寄存器的内容以分支到与产生中断的中断源相关联的相应服务例程。

附图说明

图1展示根据实施例的微控制器的框图;

图2展示中断控制器逻辑的实施例;

图3展示可如何产生向量地址的实施例;

图4展示向量地址可如何移动到工作寄存器的实施例;

图5展示其中额外中断信息移动到寄存器的微控制器的实施例;

图6展示使用高优先级中断及低优先级中断的系统的状态图;

图7展示其中额外中断信息移动到寄存器的微控制器的另一实施例;

图8展示中断控制器逻辑的另一实施例。

具体实施方式

根据各种实施例,可创建与现有微控制器设计兼容的向量中断系统。下文论述的特征不限于8位微控制器,而是如果此类装置包括不充足中断控制架构,那么所述特征也可应用于16位微控制器或32位微控制器。根据各种实施例,维持现有中断处置且提供第二操作模式。在第一操作模式中,具有单个中断输入的此微控制器可根据原始设计操作,例如,分支到单个预定义中断向量(例如,地址0004h)。在第二操作模式中,微控制器可使用与单个中断输入相关联的多个中断向量。

对于可由新核心架构设计实现的扩展数目个外围装置,目前现有非向量微控制器系统设计可能是不够的。向量中断系统可允许相对于个别中断功能性整合此类外围装置。

特定地说,由本申请案的受让人制造的微控制器(例如来自pic10/12/16系列的微控制器)在程序存储器中的位置0004x处均使用单个中断向量。来自pic18系列的更先进微控制器使用双优先级向量系统。

受让人的pic16微控制器系列不提供向量。更先进pic18系列不具有软件解决方案且不具有监视中断控制。此外,更先进pic18系列以及pic16系列须微调延时,特定地说,这是归因于一些微控制器上的中断源的绝对数目。pic16/18系列两者均具有块以使加载器实施方案启动。

根据具有允许向量表移动以支持启动加载器的基地址寄存器的各种实施例而扩展现有常规pic18向量中断系统。

根据实施例,可通过移除到(例如)来自转变为另一待处理高中断的高中断、转变为另一待处理低中断的低中断及转变为低中断的高中断主指令的返回来微调延时时间。换句话来说,可移除从中断指令的返回且系统直接跳跃到下一待处理中断例程。

rtos支持可存取高优先级中断及低优先级中断两者的上下文。

根据其它实施例,对于使用高优先级定时器中断以监视低优先级通信外围装置的系统,提供无需使用全局中断启用位gie来清除经中断低优先级中断的能力。根据各种实施例,如果未准备好呈现从低优先级中断移除相应返回向量,那么可将pop指令加到核心。

根据又另一实施例,低优先级中断及高优先级中断两者的上下文保存通过上下文寄存器是可见的。通过允许在低存取与高存取之间双态切换的上下文控制寄存器保存寄存器空间。经改善微控制器具有清除命令上的低上下文以支持看门狗功能的能力。

根据一些实施例的解决方案与旧型模式选项是向后兼容的以中断到位置0004x。通过加入在分支到0004x之前将中断号加载到w寄存器中的功能来扩展所述模式。

根据一些实施例,可使用2个优先级等级实施此双模式向量中断,所述双模式向量中断采用直接向量表与用于基于软件系统的向量号码两者。

图1展示具有含单个中断输入的cpu110的微控制器100的框图。cpu110经由系统总线160与多个外围装置130a到n耦合。可根据如所展示般具有单独数据存储器140及程序存储器150的哈佛(harvard)架构来设计cpu110。然而,所述架构也可使用具有统一存储器空间的冯·诺依曼(vonneumann)架构。

可通过系统总线存取数据存储器140且程序存储器150可具有其自身总线。然而,可选择其它设计。外围装置130a到n的部分或其全部可产生馈入到中断控制器120的中断信号。中断控制器可产生馈入到cpu110的相应输入的单个中断信号。

图2展示以第一模式操作的中断控制器120的可能实施方案的框图。可提供允许个别地启用或停用多个中断中的一者,且存储可由如2中左侧上展示的微控制器的各种外围装置产生的相关联中断标志的多个特殊功能寄存器。图2的右侧展示进一步中断控制寄存器位,其允许(例如)经由全局中断启用位gie大体上启用或停用所有中断。中断控制寄存器可包括进一步位,以控制如图2的中心中所展示的系统中断。由peie位处置所有外围装置中断的单独启用/停用控制。由启用位inte及相关联标志intf控制外部中断。此外,由rb端口改变中断启用位及相关联标志rbif提供外部端口改变感测控制。根据其它实施例,此功能性可扩展到其它端口。最后可在此等级上处置定时器0溢出中断。在此实施例中,inte/intf、rbie/rbif及t0ie/t0if是“系统中断”,然而,根据其它实施例,所有中断可被当做不具有特定peie启用位的外围装置中断。这些中断架构允许使用cpu处的单个中断输入的多个中断。为实现此情况,中断例程必须查询相应标志以在各种源之间加以区分。对于cpu,每中断看起来一样,这是因为仅提供单个中断输入。然而,当每一中断源产生中断时,其可设置相关联标志。因此,中断处置器软件必须检查中断处置例程中的这些标志,以确定谁断言中断。此外,一旦中断已经被处置,那么服务例程通常复位相应标志。其它逻辑可用于允许处置具有单个中断输入的多个中断源。图2仅展示如在由本申请案的受让人制造的诸多中型微控制器中实施的一个可能解决方案。

图3中展示向量系统。每一中断提供不同向量且所述中断源被加到基址寄存器以选择适当中断向量。因此,与上文所描述的其中仅产生单个中断向量(例如,向量0004h)的中断处置相反,此系统需要在中断信号产生时产生额外信息(例如,向量位移)。虽然仍在cpu处使用仅单个中断输入,但是cpu现在将取决于经提供到cpu的额外信息而分支到不同中断向量。将在下文更详细解释使用此额外信息而不需轮询任何标志以实现分支的不同技术。cpu可直接产生替换固定单个中断向量的相应向量,或使用所述固定单个中断向量且提供具有硬件协助或不具有硬件协助的软件分支。然而,在此第二操作模式中,不存在对可显著地减小软件额外负担的中断标志轮询的必要性。

可提供模式控制寄存器170,其允许中断控制器及cpu以第一模式(兼容性模式)操作,在所述第一模式中仅产生单个中断信号,且软件必须轮询如图1中所展示的中断标志。根据各种实施例,现提供通过如图1中所展示的额外数据线180转送中断信息的第二模式。中断信息可为(例如)向量位移或实际中断号,或允许中断向量系统的实施的任何其它信息。可由外围装置130a到n提供中断信息(例如(例如)中断号)。因此,(例如)如图1中所展示,外围装置130a到n与中断控制器120之间的每一耦合可包含提供中断信息(例如中断号)的额外线。替代地,此类信息可通过系统总线160被转送到中断控制器120或直接被转送到cpu110。在一个实施例中,向量位移自动加到单个固定中断向量地址。因此,系统针对每一中断具有不同进入点。可设置位移,使得足够指令可被置于两个毗邻中断号之间以分支到相关联服务例程。替代地,中断信息经直接加载到寄存器(例如,特殊功能寄存器或算术逻辑单元的工作寄存器)中。此解决方案允许在进入固定中断向量地址处的服务例程之后立即执行的软件分支中使用此数据,如将在下文更详细解释。

图4展示根据一个实施例的第二模式,其中一般中断向量处于传统位置(例如,地址0004h处),但是中断号在上下文保存之后被传递到cpu的工作寄存器w中,以提供向后兼容解决方案,外加构建基于软件的解决方案的能力。如果额外信息(例如中断号)被传递到携载由其它例程使用的信息的寄存器(例如工作寄存器)中,那么上下文保存仅须在额外信息传递之前。工作寄存器将被重写,且因此其处于当进入中断服务例程时必须保存的上下文的其它特殊功能寄存器部分当中。因此,在进入中断服务例程中之后,工作寄存器包含中断源,其允许以下服务例程针对此特定源分支到正确服务指令。可由根据中断号计算的向量或通过仅查询工作寄存器且分支到相应例程来实现此情况。向量中断系统的此特定解决方案具有与由受让人制造的现有微控制器中断系统兼容的优点。替代地,此信息可稍后用于共同中断服务例程中,所述共同中断服务例程首先执行所有经指派中断所共有的指令,且接着分支到个别例程。使用经存储于寄存器中的信息的其它软件解决方案是可能的。

图5展示具有两个中断输入125a及125b的微控制器。第一输入125a可被指派高优先级,且第二输入125b可被指派低优先级。因此,输入125a处的高优先级中断能够中断待处理的低优先级中断例程,而输入125b处的低优先级中断不能中断待处理高优先级中断例程。如果存在具有相同优先级或更高优先级的待处理中断,那么系统也具有停留于中断中的能力。根据各种实施例,可以与上文描述(通过允许当以第二模式操作时,每一中断输入通过线180也接收额外信息(例如,中断号))相同的方式来增强此系统。因此,上文所描述的增强不限于具有含单个中断输入的cpu,而是可与具有一个以上中断(其中每一中断或其中的至少一者如上文描述那样增强)的cpu一起使用的系统。

根据一个实施例,所述增强可进一步用于仅使用如上文所描述的第二模式的单个中断模式中。此实施例允许减少的硬件解决方案。根据此实施例,额外信息直接加载到cpu的寄存器(优选地,alu的工作寄存器)中。此解决方案提供无需必须译码信息且自动设置相应中断向量的硬件的向量中断系统的灵活性。

图6中的状态图展示在此两优先级系统中可能的各种转变。此系统也可具有较高优先级中断清除较低优先级中断且直接返回到主代码而无需通过所述低优先级返回的能力。

图5指示额外信息被直接加载到cpu内的算术逻辑单元(alu)的工作寄存器115中。根据一个实施例,可在完成保存工作寄存器的内容的上下文安全之后直接完成此传递。上下文安全将某些寄存器的内容自动传递到堆叠上,或传递到不具有软件额外负担的阴影寄存器中。根据其它实施例,可与上下文安全平行实现进入不同寄存器(例如,不可另外使用的专用寄存器)中的传递。因此,根据其它实施方案,额外信息无需被传递到工作寄存器中,而是可也被传递到另一专用特殊功能寄存器中。然而,工作寄存器的使用是有利的,由于此寄存器可直接用于操纵地址。相同情况适用于任何其它cpu寄存器,且因此取决于cpu架构。

图7展示单个操作模式或具有两种模式的操作模式的又一实施例。在此处,额外信息(例如中断号)控制移位寄存器185(例如,使用0001h或0002h或任何其它适当位移号码默认的移位寄存器),接着,经移位结果直接移动到工作寄存器。此解决方案提供可直接用于存取跳跃表而无需在中断服务例程内执行进一步地址计算指令的位移值。如图7中所展示,仅提供单个中断输入int0。然而,此设计也可应用于具有一个以上中断输入的cpu。

根据两种操作模式的其它实施方案,如上文所提及,向量无需由中断服务例程内的软件计算。虽然此解决方案提供向后兼容性,但是其它架构可允许当接收中断时直接应用的向量的硬件计算,由此允许取决于所提供的向量地址直接跳跃到各种向量地址。

所述系统经设计在8位架构(尤其在由本申请案的受让人设计的此类8位架构)内工作。然而,所提出的实施方案也可应用于其它8位系统以及使用对应中断逻辑的16位系统或32位系统。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1