在线咨询 切换到宽版
eetop公众号 创芯大讲堂 创芯人才网

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 2078|回复: 6

[求助] 中断控制器设计相关问题!

[复制链接]
发表于 2022-1-22 21:55:12 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
   最近在看中断控制器,发现图1中EXTI输出的20根线(红色圈起来的部分)是直接连到NVIC吗?如果是的话,看了下图2的中断向量表中,红色的部分和EXTI线一一对应,而蓝色的部分却包含了好几位EXTI线,意思是把这几根线进行或运算后再传输给NVIC的意思吗?如果这样的话为什么不在EXTI或运算完再输出到NVIC?比如只要输出5(EXTI[0]~EXTI[4])+2(EXTI[9:5]进行或运算和EXTI[15:10]进行或运算)+4(其他中断线)=11根而不是20根。因为如果是EXTI9_5中断向量,NVIC还得去查询挂起寄存器(EXTI_PR)才能确定是EXTI[9]~EXTI[5]中的哪一个中断导致的EXTI9_5。
   求大佬解答!
forum.png
forum-1.png
forum-2.png
 楼主| 发表于 2022-1-22 21:56:10 来自手机 | 显示全部楼层
有大佬帮忙解答一下嘛?
回复 支持 反对

使用道具 举报

发表于 2022-1-24 08:44:32 | 显示全部楼层
同问
回复 支持 反对

使用道具 举报

发表于 2022-1-24 09:08:30 | 显示全部楼层
应该主要是IP复用的考虑。
EXTI的设计,一般是按照实际会有几个信号就出几个信号,比如上图中的20个。由SOC设计决定,EXTI是每个信号一个中断,还是几个信号或起产生一个中断。SOC实现时,会根据cpu支持的中断个数、系统中需要中断的外设个数,需要中断的外设的性能要求等对中断请求进行组合,对性能要求高的中断尽可能每个信号一个中断,对性能要求低的中断可考虑多个信号产生一个中断。
如果信号组合由EXTI实现,那可能不同的项目或不同的cpu都要有一个单独的版本,从IP复用的角度不好管理,一般不建议这么做。
比如,一个项目cpu是m0,一共支持32个NVIC中断连接,已经有30个用中断的外设,那只剩下两个给EXTI了,这个就需要组合;另一个项目是m3,一共支持256个NVIC中断连接,已经有30个用中断的外设,那EXTI可以每个信号连接一个NVIC中断了,不需要组合了。


回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 09:17:17 | 显示全部楼层


   
coolbear2021 发表于 2022-1-24 09:08
应该主要是IP复用的考虑。
EXTI的设计,一般是按照实际会有几个信号就出几个信号,比如上图中的20个。由SOC ...


感谢大佬的解答,感觉确实应该是这样,然后就是想问下EXTI输出的20个中断是直接连接到NVIC再进行组合还是组合后再连接到NVIC的接口呢?
回复 支持 反对

使用道具 举报

发表于 2022-1-24 09:32:59 | 显示全部楼层


   
Jasonszm 发表于 2022-1-24 09:17
感谢大佬的解答,感觉确实应该是这样,然后就是想问下EXTI输出的20个中断是直接连接到NVIC再进行组合还是 ...


先组合再连到NVIC,NVIC一般是cpu的代码,轻易不会修改的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-24 09:35:14 | 显示全部楼层


   
coolbear2021 发表于 2022-1-24 09:32
先组合再连到NVIC,NVIC一般是cpu的代码,轻易不会修改的。


   好的,明白了,感谢大佬的解答!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


手机版| 小黑屋| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-8-21 22:09 , Processed in 0.017496 second(s), 4 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表