系统有两个强实时任务时咋分析

[复制链接]
4551|30
 楼主| lastnew 发表于 2007-11-16 18:09 | 显示全部楼层 |阅读模式
一个串口,一个外部中断,它们两个一般会有什么相互影响,怎么解决好了?

不要OS
gumanzhou 发表于 2007-11-16 18:30 | 显示全部楼层

没看懂什么意思?

平常人 发表于 2007-11-16 18:34 | 显示全部楼层

看哪个更重要,另一个要实现容错机制

ayb_ice 发表于 2007-11-16 18:36 | 显示全部楼层

不明白

5880527 发表于 2007-11-16 18:39 | 显示全部楼层

串口速度慢,毫秒级别了,可以先处理外部中断

xwj 发表于 2007-11-16 18:52 | 显示全部楼层

是的,异步串口再快夜快不到哪里去

 楼主| lastnew 发表于 2007-11-16 19:03 | 显示全部楼层

回楼上几位,继续请教

楼上二位的意思没理解很明白,关键是要随时接收啊,串口和外部中断都是(外部中断要对遥控器解码的。。。)
现在就是想在解码的时间里串口中断了怎么办啊

2楼的容错机制可不可以具体提几点啊

谢谢
 楼主| lastnew 发表于 2007-11-16 19:07 | 显示全部楼层

想到了点

外部中断的时候禁止中断,串口接收做返回信号处理?

迷糊了
HWM 发表于 2007-11-16 19:09 | 显示全部楼层

强实时?如何强法?先搞懂何为强实时(或硬实时)。

 楼主| lastnew 发表于 2007-11-16 19:12 | 显示全部楼层

这样的

 楼主| lastnew 发表于 2007-11-16 19:15 | 显示全部楼层

:(

强实时就是要软件上能马上响应外部事件

硬实时就是硬件上保证对外部事件的实时处理,不知道串口算不算,虽然它可以马上收到懂SBUF,但是需要软件对它处理啊,要不不会覆盖数据么
HWM 发表于 2007-11-16 19:24 | 显示全部楼层

呵呵,

强实时(或硬实时)不仅强调在一定时间内响应服务,而且强调在一定时间内要完成此服务。

如果你的数据接受有时间要求,但对其处理没有一定的强行时间规定就不需要用所谓的强实时啦。
HWM 发表于 2007-11-16 19:29 | 显示全部楼层

另外强实时具有排他性,所以不可能要求所有的服务都是强

除非强实时的时限相对于系统速度来说比较宽裕。
 楼主| lastnew 发表于 2007-11-16 19:39 | 显示全部楼层

对遥控器解码要求快速响应马上处理

对遥控器解码要求快速响应马上处理,算强实时任务吧,而且编码都比较长,大概30多ms的处理时间

 

除非强实时的时限相对于系统速度来说比较宽裕。

---串口是不是应该上面这样理解?
 
 
HWM 发表于 2007-11-16 19:51 | 显示全部楼层

楼主:这样考虑吧,

将串口中断优先级设得比外部中断高,但串口中断只负责接收数据,这样一来对外部中断服务不会有太大的影响。主程序对串口的数据进行处理,可以边接收边处理。
 楼主| lastnew 发表于 2007-11-16 19:59 | 显示全部楼层

好吧

好吧,我先考虑下弄弄看

谢谢HWM指导

继续学习
pheavecn 发表于 2007-11-16 21:48 | 显示全部楼层

这两者都不够强实时的标准。

通常我认为事件发生频率在200条指令以下的才称为“强实时”
5880527 发表于 2007-11-16 21:58 | 显示全部楼层

没问题的

对遥控器解码要求快速响应马上处理 

对遥控器解码要求快速响应马上处理,算强实时任务吧,而且编码都比较长,大概30多ms的处理时间



除非强实时的时限相对于系统速度来说比较宽裕。

---串口是不是应该上面这样理解?
 
 =======================
什么处理需要这么长的时间,一个毫秒都能做很多事情了,你一次按键能发多少字节数据过来,不会超过十个字节吧?你按遥控器能按多快?人操作还能指望多快的实时性。,“马上”所以没问题的
xwj 发表于 2007-11-16 22:07 | 显示全部楼层

同意17楼: 这两者都不够强实时的标准


 pheavecn 发表于 2007-11-16 21:48 侃单片机 ←返回版面   

17楼: 这两者都不够强实时的标准。

通常我认为事件发生频率在200条指令以下的才称为“强实时”

 
LZ还没有掌握充分利用时间片和写并行程序的方法,自己去多想想吧 ...
平常人 发表于 2007-11-16 22:28 | 显示全部楼层

这个问题最好“量化”,请LZ给个数量的概念,这样才容易讨

串口接收数据的最小间隔是多少?处理数据的时间要多长?最晚的响应时间又是多少?

外部中断方面同样需要这样的数据。还需要CPU速度的数据,如时钟频率、指令周期等。

很多人总是愿意在概念的层面上花时间推敲,而不是动手做具体的研究;如果能够拿出实际的数据,进行一些简单的演算,应该很快就能得到结果。如果我上面问的那些问题,你不能拿出相对准确的数据,那么你始终不能得到一个理论和实践上都满意的结论。

个人认为一个问题的解决有两个层次,一是找到一种实现的途径,达到所需功能,并通过测试;另一个层次是在前一层次的基础上,能够有真实的数据和数学推导,最终证明这种实现的途径是有效的,对测试不到的边界情况也能满足设计要求。我们应该始终从后面这个更高的层次出发,考虑每一个设计要求,这样才能得到高质量的结果。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

352

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部