FPGA+DSP SRIO通信(四)——中断系统(一)

本文介绍FPGA如何通过SRIO向DSP发送中断,重点探讨6678 DSP的中断系统,包括系统事件、SRIO中断与系统事件的关系及映射方法,涉及ICRR、ICSR和ICCR寄存器的作用,并给出中断配置的代码示例。
摘要由CSDN通过智能技术生成

这学期一直在忙项目的事情,没什么时间写博客,最近过年闲下来,会把之前欠的内容补上。

目录

(本文的基础是FPGA能向DSP发送doorbell类型的包。)

从上一节FPGA+DSP SRIO通信(三)——基于LSU的数据传输我们已经了解到了如何将数据通过SRIO,以LSU的方式传输。而现实的数据传输任务中除了传输数据,还需要传输中断。例如,使用FPGA将一段视频传输给DSP,除了需要传输数据,还需要在传输一帧数据之后,向DSP发送中断,以告知CPU—— “DSP的存储空间中数据已经存在,请及时读取”。这便是中断最常用的场景。

1、6678的中断系统

1.1、系统事件

在谈SRIO的中断系统之前,先说一说6678DSP中断系统。
C6678的CPU中断是由C66x CorePac Interrupt Controller配置的。该中断控制器(C66x CorePac Interrupt Controller),下文直接称66x中断控制器

66x中断控制器允许将最多128个系统事件映射到12个CPU中断上(CPUINT4 - CPUINT15),或映射到CPU异常,或映射到高级仿真逻辑上。。

上面说的CPU异常和高级仿真逻辑都不是今天的重点,我们最重要的,要理解的概念是——系统事件,系统事件包括核上产生的事件以及片级事件(也就是 外设产生的中断事件)。

额外的系统事件被路由到每个C66x CorePac,以提供额外的芯片级事件,因为CPU中断/异常作为仿真事件被路由到中断控制器,所以额外的系统事件也可以走这条路 。此外,错误类事件或不常使用的事件也通过系统事件路由器路由,以减轻C66x CorePac中断选择器的负担。 这是通过芯片级中断控制器(CIC)块完成的,CIC使用的时钟是CPU主频的六分之一。

事件控制器由简单的组合逻辑组成,为每个C66x CorePac提供附加事件,加上EDMA3CC,CIC0和CIC1为每个C66x CorePac提供17个附加事件和8个广播事件,CIC2提供26个和24

  • 11
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值