嵌入式系统中断处理全解析
1. 中断类型及处理机制
1.1 菊花链中断的劣势
菊花链中断存在一个明显的劣势,即处理器无法对其进行单独屏蔽。如果外围逻辑没有屏蔽中断的功能,那么在处理器执行不能被中断的高优先级任务时,就无法忽略该中断。因此,在系统设计时,必须确保这不会成为问题。若存在问题,就需要添加相应机制,使处理器能够单独屏蔽外围中断。
1.2 编码中断线的连接方式
对于具有编码中断线的处理器(如68000系列),当仅将一个外围IC连接到该处理器时,可以通过线或的方式连接线路以获得所需的优先级。但如果有多个外围设备且需要多个优先级级别,则必须通过缓冲器单独驱动这些线路。
1.3 部分外围IC的信号同步要求
一些外围IC(如Z853x系列)要求INTA或其他信号与时钟同步。因此,必须处理好这种时序关系,必要时添加等待状态。
1.4 中断初始化
若要使用中断,软件必须对硬件进行初始化。这包括启用中断、将中断向量表加载到RAM(如果需要)、对向量进行编程(对于具备此功能的外围设备)以及选择其他相关参数(如边沿/电平模式)。重要的是,在其他所有设置完成之前,不要实际启用中断。因为如果在向量表加载到RAM之前发生中断,结果可能不尽如人意。
2. 中断服务机制
2.1 中断服务程序(ISR)的基本操作
当中断发生时,会执行中断服务程序(ISR)。所有ISR必须执行以下三个操作:
- 服务产生中断的硬件。
- 使系统能够接受进一步的中断。
- 将控制权返回至中断发生的点。
唯一的例外是终端中断(
超级会员免费看
订阅专栏 解锁全文
1681

被折叠的 条评论
为什么被折叠?



