Microchip 的 ATtiny817 改进了中断处理

探索 ATtiny 817Microchip 的最新微控制器)的新功能,以及了解如何将此功能丰富的解决方案用于您的应用。

新型 ATtiny817 的中断处理

作者:Arild Rodland,Microchip Technology Inc. 的 MCU08 部门的产品营销经理

新型 AVR® 微控制器 (MCU) 的中断处理变得智能很多,来自 MicrochipATtiny817 是第一款采纳这些变化的 AVR 设备。

熟悉不同 AVR 系列的人员应该清楚,在过去,tinyAVR® 和 megaAVR® 设备的中断处理非常直接明了,所有中断都有预定义的优先级,最低的中断矢量地址将具有最高的优先级。对于更大的 XMEGA® MCU 系列,中断系统包含可编程的多级控制器 (PMIC),允许用户将中断分配到三个优先级级别,使得可以量身定制优先级队列。

ATtiny817 上的新型中断控制器介于这二者之间。现在我们来具体了解一下这些新功能。

中断优先级

ATtiny817 上的默认设置将采用具有静态优先级的中断矢量表进行操作,其中最低的中断矢量地址具有最高的优先级。请参见图 1。这与其他 tinyAVR 相同。

图 1:使用静态优先级方案的中断优先级

静态优先级有多种潜在问题。首先,如果存在多个具有高优先级的中断,可能会发生高优先级中断频繁地阻止低优先级中断的情况。结果将是中断匮乏。这意味着,您将没有足够的时间来服务所有中断,并且优先级最低的中断会永远得不到任何服务。为了解决此问题,ATtiny817 允许采用动态(循环)优先级方案。如果启用此循环方案,则最后服务的中断在下次发生中断时将获得最低的优先级。请参见图 2。

图 2:动态循环优先级方案

两级中断控制器

循环优先级方案解决了中断匮乏问题,但如果想要为外围设备指定比中断矢量表中所定义更高的优先级,应该怎么做?

尽管设计团队在外围设备之间设置了非常合理的、硬连线的优先级,但我们明白,始终都可能有一些人需要为中断指定比默认中断优先级所定义更高的优先级。

在 ATtiny817 中,我们可以选择将可选中断矢量提升到具有比所有其他矢量更高的优先级。要使用此功能,只需要将所需的矢量地址写入 LVL1VEC 寄存器,该中断就将具有相应优先级。

紧密矢量表

tinyAVR 有一个称为“紧密矢量表 (CVT)”的新功能。使用此功能会将所有中断划归到三个矢量。一个矢量表示所有非可屏蔽中断(对于 ATtiny817:表示 CRC 错误中断),一个矢量表示所有 0 级中断(对于 ATiny817:所有中断都默认为 0 级),一个矢量表示 1 级中断(对于 ATtiny817:可以通过将单个中断的矢量地址写入 LVL1VEG 寄存器,来为该中断指定更高的优先级)。

当仅使用几个中断时,此功能非常有用。如果将矢量表降低到仅三个矢量,则意味着,中断表将占用更少的闪存位置,从而可将释放的空间用于存储用户代码。但请注意,如果使用此方法,您将需要在中断处理程序中添加额外的代码,以查明哪个中断在实际请求服务。对于代码编写和验证测试,这将会增加完成设计所需的时间。出于此原因,仅当使用几个中断时,紧密矢量表才最有用。

高级功能:如果未启用循环,则 LVL0PRI 寄存器仍处于活跃状态,仍将定义最低优先级中断的起点,因此如果需要,可以在矢量表中静态转换优先级。例如,可以通过转换来为 USART 指定最高的优先级。此寄存器的默认值为 0x00,因此在重置后,最低的中断矢量将具有所期望的最高优先级。

转换矢量表优先级

我将使用数据表中未明确提及的一个技巧/功能来作为此篇文章的结束部分。当使用循环优先级时,存在一个称为 LVL0PRI 的寄存器,该寄存器中包含最后执行的中断的地址。当选择接下来要执行的中断时,该中断将具有最低的优先级。如果我们更改此值,则会直接影响哪些中断具有最低优先级,哪些中断具有最高优先级。

如此处所示,新型 ATtiny187 MCU 提供强大的中断管理功能,允许设计者控制中断优先级和响应时间,以满足其设计要求。现在,唯一的问题就是,您将创造什么来充分利用这些功能?

参阅相关产品

ATTINY817-XPRO

Microchip Technology 嵌入式系统开发板和套件 查看

microchip technology logo

最新消息

Sorry, your filter selection returned no results.

请仔细阅读我们近期更改的隐私政策。当按下确认键时,您已了解并同意艾睿电子的隐私政策和用户协议。

本网站需使用cookies以改善用户您的体验并进一步改进我们的网站。此处阅读了解关于网站cookies的使用以及如何禁用cookies。网页cookies和追踪功能或許用于市场分析。当您按下同意按钮,您已经了解并同意在您的设备上接受cookies,并给予网站追踪权限。更多关于如何取消网站cookies及追踪的信息,请点击下方“阅读更多”。尽管同意启用cookies追踪与否取决用户意愿,取消网页cookies及追踪可能导致网站运作或显示异常,亦或导致相关推荐广告减少。

我们尊重您的隐私。请在此阅读我们的隐私政策。