主题 : 中断频率最大值是多少? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 13611
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2010-01-26
最后登录: 2010-12-13
楼主  发表于: 2010-07-12 17:03

 中断频率最大值是多少?

管理提醒: 本帖被 qq2440 从 micro2440技术交流专区 移动到本区(2013-11-18)
s3c2440+linux系统,外部中断源的频率最大是多少?能达到1M吗?请高人解答!
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-07-12 17:49
呵呵,外部中断的频率和CPU无关,只要你能找得到这么高频率的源。
问题是,那样的话,估计Linux内核已经动不了了,所有的CPU时间全部用来处理中断了。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 13611
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2010-01-26
最后登录: 2010-12-13
2楼  发表于: 2010-07-16 16:46
大哥,你说得很对。外部中断源频率是1M时,cpu死掉不能动了。这也是我发帖的原因,我想知道如果外部中断要求是1M,即每个微秒都要做一次处理,对于这样的应用该如何处理?使用vxworks、uc-os之类实时操作系统能解决问题么?这个问题困扰我很久了,麻烦赐教!!!
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-07-16 16:49

 回 2楼(xiazai88) 的帖子

就算是实时操作系统也不需要处理这么频繁的硬件中断。
我想你也许应该回过头去看看需求,你真的需要一个1MHz的硬件中断吗?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 13611
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2010-01-26
最后登录: 2010-12-13
4楼  发表于: 2010-07-18 23:34

 回 3楼(kasim) 的帖子

具体需求是:
cpu先生成若干位二进制串:0 0 1 0 1 1 0 0 ...
当第n个中断到达,cpu就根据二进制串的第n位来决定向端口(GPJ0-GPJ11)输出值V。V值有两种可能,当二进制串的第n位是0,就输出Vx,当二进制串的第n位是1,就输出Vy。
中断的频率必须是1M,因为是个光学系统,频率不能降下来。

目前有人建议我在外部再接一个专门处理这个高频输出的模块,只有这样才能解决么?不知你是否有更好的建议。