由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
EE版 - 脉冲输入信号的Input capture Interrupt 的问题
相关主题
请教:Linux 和 ThreadX 各有什么优缺点 Intel says it fabricates SRAM using 0.09-mic
请教个技术问题Intel详谈45nm:原生四核再等下一代
有没有参加过qualcomm电面的xdjm给一点建议。推荐一款单片机
怎样设计一个无线网络通信系统的软件架构? (转载)EE Power方向选校ASU vs IIT
Why Hard disk industry dose not have asian competitor请问一下哪儿能买到单片机的套板 (转载)
求助:这个IV curve上这么大的电流,需要怎样的pulse generator?有关Asynchronous FIFO和Dual port SRAM
请教无线RF的embedded software一般需要了解RF端哪些知识求大拿们推荐学校~
求帮忙下载两篇SPIE文章, 十分感谢!请教电路设计: 读入变阻器电阻转换为整数输出
相关话题的讨论汇总
话题: 中断话题: input话题: rtos话题: interrupt话题: 优先级
进入EE版参与讨论
1 (共1页)
f*******t
发帖数: 49
1
在看一个项目的源码,原来设计中,用2个input capture中断来读取传感器的pulse
input,通过计算这个PULSE的频率,来得出工作的速度。
现在看源程序,这个频率最快,可以达到1000HZ,就是1ms就要中断一次。
同时程序中还有18个task, 其中的9个,是10ms 调度一次。其他的大概5个50ms, 4个
100ms. 任务和底下的中断的优先级差不多,一个最高级,其他的任务分2个优先级,差
不多一半2,一半3.
同时程序中还有8个其他的中断,分别是AD和Timer中断。中断分3个优先级,一个1级,
最高,剩下大概4个2,4个3.
还有个看门狗中断, 最长52ms计时, 原设计是10ms 喂狗一次。
RTOS是基于优先级的抢占式的实时系统。
有没有高手帮着分析下,这样的时间安排,是不是不太好。
我是被这些中断,TASK, WDT,给弄得分析不出来这个时间关系会否冲突了。
i*****t
发帖数: 24265
2
RTOS?怎么可能才1ms?1Khz也算最快?
windows都能做到1000hz的,还不是rt。
如果真是rt,这些任务足以满足。
i*****t
发帖数: 24265
3
sensor的pulse输入话,脉宽时间范围是几十到几百毫秒,1Khz足够了
i*****t
发帖数: 24265
4
俺意思就是,如果CPU不是单片机的话,这些任务用10+N年前的PII足以解决,没任何问
题,既然源码如此,说明人家就是试验成功过的吧,没必要担心什么调度,1Khz真不算啥
f*******t
发帖数: 49
5
就是单片机,内部时钟40MHZ, 25 ns.
只是感觉一个中断源,就1ms中断一次,来记录PULSE的输入,有没有更好的方式呢。
例如这里,2个SENSOR,就有2个中断源,各每1MS中断一次。
i*****t
发帖数: 24265
6
单片机的话,俺不用rtos,可以多个计时器中断,一切尽在掌握中
而如果用rtos,则就不一定了,需要看rtos了

【在 f*******t 的大作中提到】
: 就是单片机,内部时钟40MHZ, 25 ns.
: 只是感觉一个中断源,就1ms中断一次,来记录PULSE的输入,有没有更好的方式呢。
: 例如这里,2个SENSOR,就有2个中断源,各每1MS中断一次。

f*******t
发帖数: 49
7
它是用input capture中断来捕获Sensor的输入信号。
因为Sensor是一个霍尔传感器,用来检测一个运动齿轮的速度,但这个齿轮的转速是在
一定范围内可变,可调(用户根据应用来调整的)。
最慢可以几HZ, 最快1000 HZ。所以,这个输入中断发生的频率也就是几HZ, 1000HZ之
间。
但是RTOS还有18-19个任务,同时该程序还有另外10来个中断。
我担心会不会导致有的任务长时间内得不到运行时间,或者干脆给饿死呢?

【在 i*****t 的大作中提到】
: 单片机的话,俺不用rtos,可以多个计时器中断,一切尽在掌握中
: 而如果用rtos,则就不一定了,需要看rtos了

z*****n
发帖数: 7639
8
如果那18个task都是靠一个timer的基准时钟来调度的,
应该不会有太大冲突,它们只算一个竞争者。
watchdog如果也是靠同一个timer的基准时钟来更新的,也可以不算。
最后系统在这两个external interrupt上有多精确,跟有多少
同级和更高级的hardware interrupt有关,也跟你的ISR的复杂度有关。
不过一般系统都是external优先级最高,so,improve的办法是
1)用高时钟频率的芯片,
2)尽量减少ISR的时间复杂度。

【在 f*******t 的大作中提到】
: 在看一个项目的源码,原来设计中,用2个input capture中断来读取传感器的pulse
: input,通过计算这个PULSE的频率,来得出工作的速度。
: 现在看源程序,这个频率最快,可以达到1000HZ,就是1ms就要中断一次。
: 同时程序中还有18个task, 其中的9个,是10ms 调度一次。其他的大概5个50ms, 4个
: 100ms. 任务和底下的中断的优先级差不多,一个最高级,其他的任务分2个优先级,差
: 不多一半2,一半3.
: 同时程序中还有8个其他的中断,分别是AD和Timer中断。中断分3个优先级,一个1级,
: 最高,剩下大概4个2,4个3.
: 还有个看门狗中断, 最长52ms计时, 原设计是10ms 喂狗一次。
: RTOS是基于优先级的抢占式的实时系统。

i*****t
发帖数: 24265
9
input捕获中断,其他还有timer ad等中断,其实用中断效率最高
俺认为最高1000hz输入中断对于40MhzMCU应该没啥问题

【在 f*******t 的大作中提到】
: 就是单片机,内部时钟40MHZ, 25 ns.
: 只是感觉一个中断源,就1ms中断一次,来记录PULSE的输入,有没有更好的方式呢。
: 例如这里,2个SENSOR,就有2个中断源,各每1MS中断一次。

b****2
发帖数: 61
10
如果是单片机运行RTOS,我觉得你可能要注意最坏情况下,某个任务是否因不能在规定
时间内完全执行而导致整个系统内存溢出。
去年我正好用80MHz的单片机做了个带RTOS的系统。因为带TCP/IP栈,在任务内存分配
和优先级上费了不少功夫。该系统的TCP/IP栈要求一定级别的优先级,使得有些任务得
不到足够的运行资源而消化不掉该处理的数据。
如果你的每个任务都在你的掌控制中还还好一些。另外很多单片机你把数据放在芯片内
的SRAM或外部RAM运行速度差很多。
1 (共1页)
进入EE版参与讨论
相关主题
请教电路设计: 读入变阻器电阻转换为整数输出Why Hard disk industry dose not have asian competitor
Mechanical Eng本科读EE/IE Master会怎样?求助:这个IV curve上这么大的电流,需要怎样的pulse generator?
感觉MSP430系列单片机功能非常强大呀请教无线RF的embedded software一般需要了解RF端哪些知识
请教一个基本的复位电路的问题求帮忙下载两篇SPIE文章, 十分感谢!
请教:Linux 和 ThreadX 各有什么优缺点 Intel says it fabricates SRAM using 0.09-mic
请教个技术问题Intel详谈45nm:原生四核再等下一代
有没有参加过qualcomm电面的xdjm给一点建议。推荐一款单片机
怎样设计一个无线网络通信系统的软件架构? (转载)EE Power方向选校ASU vs IIT
相关话题的讨论汇总
话题: 中断话题: input话题: rtos话题: interrupt话题: 优先级