系列文章目录
中断系统
中断系统是一个相当重要的模块,几乎所有芯片上的模块都要用到它;
中断请求既可以由cpu处理,也可以由DMA模块处理。
中断系统在中断路由器模块中实现,该模块包括服务请求节点(srn)、中断控制单元(ICUs)和用于软件开发支持的附加功能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、中断系统概述
特点:
- 计划服务请求 (SRS) 来自外部资源、内部资源和CPU 和 DMA 模块的软件(服务提供商)。
- SR 在硬件确认时自动清除中断服务提供商 (ISP)
- 软件中断:8 个软件服务请求每个中央处理器
- 大约 50 ns 的低延迟仲裁
二、映射服务请求到service providers
- 每个中断请求必须被配置给一个服务provider,可以是CPU或者DMA
- 分配给CPU的触发中断执行,分配给DMA的触发数据搬运
服务类型:
CPUX: 0—5,服务请求被选择的CPU执行
DMA :服务请求触发一个DMA通道传输
三、为每个中断请求匹配一个优先级
- 每个service request 都会分配一个服务请求优先级ID,范围为0—255,数字越大,优先级越高
- 根据servie provider 的不同,SRPN----Service Request Priority Number代表不同的含义
- 如果type of service 是某个CPU核, 那么SRPN代表的是中断优先级,中断优先级为0的时候不能中断CPU。
四、系统集成
- 每个外围设备中断有一个专用的SRN(Service Request Node)
- 每个service provider、都有自己的ICU(中断控制单元)
五、应用例子
- QSPI的receive 中断触发DMA的搬运,将QSPI FIFO寄存器里的数据搬运到内部ram,而不需要CPU的干预
- 首先,QSPI的receive中断接收到数据
(1)触发触发点位的搬运,SRPN号码等于1,所以触发DMA Channel1 transfer
(2)DMA通过DMA transfer去进行搬运
(3)将数据从RX FIFO搬运到RAM,这是中断的一种使用方法
总结
`学习笔记是保持更新习惯,系列文章是工作学习内容的总结;