发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: lastnew
手机看帖
扫描二维码
随时随地手机跟帖
21
HWM| | 2007-11-16 22:41 | 只看该作者 回帖奖励 |倒序浏览

呵呵,别把简单的事情搞复杂了。

概念是必须的,在概念之下作量化也是重要的。但楼主的问题还没到兴师动众的地步。

使用特权

评论回复
22
computer00| | 2007-11-16 23:45 | 只看该作者

串口中断一进入,就把数据取出来,放到缓冲中,以后慢慢

外部中断也是,中断里面要尽量短点,这样串口数据再快也不会丢失。

使用特权

评论回复
23
dld2| | 2007-11-17 08:48 | 只看该作者

中断服务程序尽量短,是一般设计原则

使用特权

评论回复
24
lastnew|  楼主 | 2007-11-17 12:15 | 只看该作者

谢谢各位好心人

接受楼上大哥们的建议:

串口能处理的越快越好了,响应时间这些我觉的都不是大问题

关键在红外解码,NEC格式的遥控码是这样的:

9Ms的高电平启动头,然后是4.5Ms的低电平,如果2.25Ms时就有高电平,是持续信号,不处理 ,然后以一个高电平和一个低电平为1Bit,高电平时间是.5625Ms=562us, 高低电平时间比为1:1时是Bit1,比为1:3时是Bit0 ,共读入4Byte共24bit,第1、2Byte是CustomCode码和其反码,第3、4Byte是DataCode和其反码 

当遥控器的一个按键按下时,先读取用户码(数据码)和键码,36ms后,遥控启动输出,所以按键的按下时间只有超过36ms时,才能输出一帧码。

这个处理过程是不是太长了?

使用特权

评论回复
25
lastnew|  楼主 | 2007-11-17 12:26 | 只看该作者

:(

接收也是大概36s接收一帧

使用特权

评论回复
26
农民讲习所| | 2007-11-17 12:58 | 只看该作者

只有在接收信息位时是强实时的

接收到位信息存入缓冲区中,这个过程就是强实时到弱实时的一个转换。

LZ的年例子,以562us为一次中断的话,只有这个中断瞬间要执行的任务才是强实时。
串口也是同样道理,只有接收到字节瞬间,才是强实时,至于该字节代表上什么意思的处理,就不属于了。

缓冲技术,就是强实时到弱实时层次转换用的,缓冲越大,弱实时要求就越低

使用特权

评论回复
27
qihao| | 2007-11-17 13:07 | 只看该作者

如果是一般的串口,

各自的中断仅仅完成最基本的任务: 如串口。保证数据即时取走,避免被冲掉就好了, 另外一个中断也一个道理,处理放到主程序中不会有问题吧,  至少串口的速度是很慢的了!而且现在的ARM 都带FIFO 更可以够你慢悠悠的处理了。

使用特权

评论回复
28
dld2| | 2007-11-17 13:07 | 只看该作者

26!

学hotpower大叔的回复方式。

使用特权

评论回复
29
hq_y| | 2007-11-17 13:11 | 只看该作者

26!

强弱实时的概念是所长mcu设计理论中的一个重要概念

使用特权

评论回复
30
gyt| | 2007-11-17 13:16 | 只看该作者

楼主只管放心

你的任务不必动用非常手段就可以解决

使用特权

评论回复
31
lastnew|  楼主 | 2007-11-19 13:26 | 只看该作者

各位前辈谢谢

通过大家的通之以情晓之以理,现在稍微有些明亮了,大概说下我的理解,请各位评判下看看

串口中断我一直认为必需是最高级的,就像所长教程那样理解的样,串口分为了中断和信息处理2个过程,只有中断过程才是要求实时,而且中断处理时间很短,缓冲就让这2个过程得以有效执行

以前的问题主要在处理红外解码和串口中断的冲突上,因为红外发送器来的编码在时间上有9ms,4.5ms,2.25ms,1.125ms,0.562ms这些种类的高低电平保持时间,如所长上面的教的那样,只有0.562的那个中断是实时的
因为以前有个误区,以为整个红外解码都在中断中处理,才会发生我所谓的红外中断大致36ms处理过程中串口中断的保证问题,现在从大家的分析看来36ms是整个解码的时间,而中断如串口一样只有很短的时间,所以一个中断只是检测一个电平
(脉宽为0.56ms、间隔 0.565ms、周期为1.125ms 的组合表示二进制的“0”; 用脉宽为 0.56ms、间隔1.69ms、周期为2.25ms 的组合表示二进制的“1”)这样的随机的01序列会随机出现在引脚上

现在打算用外部中断和定时器结合来判断,不知道这个想法合理不?这样的话就不会出现什么中断冲突了,只可能出现解码不正确(设计好了正确虑应该不会低)。先实验,请各位不吝赐教!

这样解决的话就是类似事件触发的操作系统了,刚开始一直看那个老外的时间触发系统的书,现在终于有点知道该怎么做了,如果哪位看过那个书或者知道怎么用完全的时间触发系统通过多级任务多状态任务来解决这个问题,希望教育教育我哈,飞吻~~


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则