paradoxfx

【原创】TI C2833x介绍---复位与中断(3)

0
阅读(2354)

 

从2812到28335,PIE的功能与核心作用并没有显著变化,可以把它比喻为外设事件的一个集中处理单元。它可以最多支持96个独立的外部中断源,但是在TMS2812DSP中实际只用到了45个,而28335也只用到了56个,剩余的中断源主要是保留给后续器件升级之后使用的,只要在空余的位置添加新的中断事件就可以了(就像RAM的分配中也有很多的保留空间一样),而旧的事件出了个别寄存器的名字之外很少需要改动,这样在工程从一个系列的DSP升级到更高级别的DSP时,改动的工作量相对而言就大大减轻了。比如说在2833x的更高级2834x系列上,已经用到了64个中断源(这里完全)。

PIE模块可以最多将96个独立的中断事件集成到8个组中,每个组又分为INT1到INT12共12个内核中断事件驱动线。在地址空间的映射方面,96个独立的中断分别映射到各自的专用区域,它们占用的整个PIE中断向量表的地址是

PIE_VECT    : origin = 0x000D00, length = 0x000100     /* PIE Vector Table */

CPU需要9个时钟周期来取中断向量并保存关键CPU寄存器的值,这意味着CPU可以快速地响应中断事件,而每个单独的中断事件都可以由PIE模块来使能或者禁止。

至于整个中断从外设发出到CPU响应并处理的整个过程,可以用下面的图来形象的描述出来:

图1 中断事件从外设到CPU

需要提醒的是,图1只是外设中断事件的处理过程,CPU内部的中断事件是不经过PIE处理的,而是直接传递到CPU中。