搜索
bottom↓
12
返回列表 发新帖
楼主: liqu

看了"时间触发嵌入式系统设计",问几个时间触发的问题:请看过的网友及&qu

[复制链接]

出200入0汤圆

发表于 2009-10-18 14:26:52 | 显示全部楼层
哈哈,100楼是我的啊

出0入0汤圆

发表于 2009-10-19 23:26:23 | 显示全部楼层
阅读后收获不少,正好这2个星期在研究ProtoThreads!
UP!

出0入0汤圆

发表于 2009-10-20 08:40:13 | 显示全部楼层
再盖一层

出0入296汤圆

发表于 2009-10-20 10:00:57 | 显示全部楼层
解释一下 “动态定时器的轻量级状态机” 名称的由来:

1、首先,这是一个我造的名字
2、我不是乱造的,实际用过这个结构的人,应该觉得,该名字就是一个对结构的简单“翻译”
   用了定时器,但是,定时器的时间间隔是变化的,所以冠以“动态定时器”
   这是一个状态机系统,默认的状态迁移是时间,没有牵涉到复杂的迁移关系,也没有使用非
   常复杂的状态机引擎因而称为“轻量级状态机”
3、这就是所谓的 动态定时器的轻量级状态机

顺便盖楼……

出0入0汤圆

发表于 2009-10-20 10:27:09 | 显示全部楼层
好贴留名

出0入0汤圆

发表于 2009-11-9 00:57:23 | 显示全部楼层
看了后受益匪浅!

出0入0汤圆

发表于 2009-11-21 18:59:49 | 显示全部楼层
目前在研究时间触发

出0入0汤圆

发表于 2009-11-22 12:26:52 | 显示全部楼层
我个人的感觉,时间触发的系统在8位-16位的系统中应用是非常普遍的。
关于实时性高低的问题,这个是有个度的。汽车发动机控制器的对实时性的要求也是比较高的,但是博世在他们的系统中也是时间触发,而不是抢占式。

出0入0汤圆

发表于 2009-11-22 15:32:57 | 显示全部楼层
好像我也这么干过,初始化以后就不管了,定时中断把所有事情做完,当CPLD用,绝不再调用延时,用累加中断次数来做延时

出0入0汤圆

发表于 2009-11-22 17:00:25 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-1-13 14:45:22 | 显示全部楼层
期待傻孩子什么时候把你的状态机理论整理成书
或是放到论坛上大家学习一下也好

出0入0汤圆

发表于 2010-1-13 15:21:45 | 显示全部楼层
关注

出0入0汤圆

发表于 2010-1-14 00:37:51 | 显示全部楼层
傻孩子的东西不错
有空买本书来拜读

出0入0汤圆

发表于 2010-1-21 22:56:56 | 显示全部楼层
学习了

出0入0汤圆

发表于 2010-2-16 15:27:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-22 17:06:29 | 显示全部楼层
呵呵 由编程思路到这儿 看来又进一步了

出0入0汤圆

发表于 2010-4-15 00:30:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-22 21:43:36 | 显示全部楼层
学习!

出0入0汤圆

发表于 2010-4-22 23:01:43 | 显示全部楼层
dig

出0入0汤圆

发表于 2010-4-23 08:34:05 | 显示全部楼层
关注OS

出0入0汤圆

发表于 2010-4-23 09:29:29 | 显示全部楼层
学习了

出0入0汤圆

发表于 2010-4-23 09:39:32 | 显示全部楼层
mark~

出0入296汤圆

发表于 2010-4-23 10:54:17 | 显示全部楼层
to 【110楼】 Alvin007
    如果你有兴趣,可以去研究一下Regular FSM, Pushdown Automaton, Turing Machine

出0入0汤圆

发表于 2010-4-23 11:32:57 | 显示全部楼层
mark

出5入8汤圆

发表于 2010-5-31 13:29:30 | 显示全部楼层
MARK!正在研究时间触发系统,有时间要一点一点细读本贴!

出0入0汤圆

发表于 2010-5-31 14:59:49 | 显示全部楼层
最近在探索用时间触发的方式实现基于vs1003的mp3,但遇到困难,感觉这类任务不太容易用时间触发的方式实现。

基于vs1003的mp3通常是用下面的方法来实现的:

res = f_open(&fsrc, "test.mp3", FA_OPEN_EXISTING | FA_READ);
    if (res) goto error;

while(1)
{
    res = f_read(fp, buffer, 512, &read_counts);         // 约2ms
    if(res || br == 0)
        break;
    while(p < 512 )  // 320kbps的mp3播放512字节数据12.5ms
    {
        if( VS1003_PIN & _BV(VS1003_DREQ) )
        {
            for(i = 0; i < 32; i++)
                VS1003_WriteData(buffer;
        }
    }
}

error:
    ...

上面的代码执行有如下特点:
1、AVR单片机spi设置为fosc/2的频率,用fatfs读取512字节大约耗时2ms;
2、320Kbps的mp3,512字节的数据需要512B / 40KB/s = 12.5ms,这意味着在12.5ms内至少需要送512B的数据给VS1003。
3、VS1003在DREQ为高时可以连续接收32B的数据,但下一次接收数据需要等待DREQ再次变高,这个时间数据手册上没有给出,
实际测试(没有数字示波器,极不好测试,可能测得不准)等待时间会根据内部数据RAM中有的数据量不同而不同,时快时慢。

4、VS1003播放32字节数据需要0.8ms,如果每0.8ms送32个字节,那么系统时标0.8ms,但读512字节数据需要2ms,
1个时标处理不完,感觉这样的问题用时间触发的方式不好解决。

出0入0汤圆

发表于 2010-6-4 11:53:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-14 15:50:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-14 22:30:06 | 显示全部楼层
不评论,好好的研读

出0入0汤圆

发表于 2010-6-18 00:38:03 | 显示全部楼层
拜读了……

出0入0汤圆

发表于 2010-6-18 11:12:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-18 15:19:25 | 显示全部楼层
回复【125楼】ifree64
-----------------------------------------------------------------------

时间触发+状态机

出0入0汤圆

发表于 2010-6-18 15:29:13 | 显示全部楼层
个人觉的状态机已经很好的发挥了CPU的效率了,再用时间触发,是否有必要。可能我的工作领域的原因只能使用RTS。

出0入0汤圆

发表于 2010-6-18 16:57:59 | 显示全部楼层
值得好好学习!!!

出0入0汤圆

发表于 2010-6-18 17:38:26 | 显示全部楼层
研究一下状态机吧~!

出0入0汤圆

发表于 2010-7-21 23:43:51 | 显示全部楼层
再顶

出0入0汤圆

发表于 2010-7-22 09:22:53 | 显示全部楼层
Mark

出0入0汤圆

发表于 2010-7-22 10:58:25 | 显示全部楼层
我是时间触发忠实拥护者。

事实上,写出来的系统非常非常稳定,而且也非常容易调试。曾用于320f2812(上万行代码),stm32f103。

按照楼主所说,keypad、lcd等都要单独形成一个task,分别按不同时间片执行。

不过,我觉得楼主的main有点问题。没有对任务进行解析。

出0入0汤圆

发表于 2010-7-22 11:43:41 | 显示全部楼层
标记一下,先看书后看帖子

出0入0汤圆

发表于 2010-7-24 10:52:50 | 显示全部楼层
mark,收益匪浅~~~

出0入0汤圆

发表于 2010-7-24 10:54:56 | 显示全部楼层
mark,收益匪浅~~~

出0入0汤圆

发表于 2010-7-24 21:56:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-25 14:43:53 | 显示全部楼层
菜鸟认真想各位老师学习!这本书现在网上缺货,希望能早日买到。

出0入0汤圆

发表于 2010-7-25 16:26:28 | 显示全部楼层
不错,正在看这本书,可以确定的完成时间的确很重要,否则系统会没有什么用,个人感觉哈

出0入0汤圆

发表于 2010-7-25 19:58:14 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-7-25 22:01:09 | 显示全部楼层
MARK 任务划分

出0入0汤圆

发表于 2010-8-11 15:32:48 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-11 18:22:21 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-9-4 11:26:35 | 显示全部楼层
学习!

出0入0汤圆

发表于 2010-10-10 13:35:03 | 显示全部楼层
强帖留名

出0入0汤圆

发表于 2010-10-10 14:38:35 | 显示全部楼层
帮忙盖楼

出0入0汤圆

发表于 2010-10-10 17:18:07 | 显示全部楼层
好帖,顶

出0入0汤圆

发表于 2010-10-10 17:20:36 | 显示全部楼层
思维的火花在碰撞~~~~~~~~~~~~~~~~

出0入0汤圆

发表于 2010-10-12 14:40:41 | 显示全部楼层
顶..

出0入0汤圆

发表于 2010-10-12 17:59:32 | 显示全部楼层
MARK一下,有空慢慢看

出0入0汤圆

发表于 2010-10-12 20:09:24 | 显示全部楼层
猛帖须留名

出0入0汤圆

发表于 2010-10-13 06:54:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-13 16:27:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-3 21:33:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-3 22:23:54 | 显示全部楼层
也期待傻孩子的状态机理论写成书,就所有任务都状态机化,这点很牛啊,也想弄明白

出0入0汤圆

发表于 2010-12-31 17:02:07 | 显示全部楼层
这个必须得顶

出0入0汤圆

发表于 2010-12-31 17:02:11 | 显示全部楼层
这个必须得顶

出0入0汤圆

发表于 2010-12-31 18:20:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-31 19:58:23 | 显示全部楼层
学习,我现在只是到达在1ms定时中断里将标志置1,然后再while里查询的阶段,继续学习。。。

出0入0汤圆

发表于 2010-12-31 21:09:45 | 显示全部楼层
恩 有点意思 合作 抢占

出0入0汤圆

发表于 2010-12-31 23:34:13 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-1 13:13:17 | 显示全部楼层
cool

出0入0汤圆

发表于 2011-1-1 23:23:37 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-5 10:59:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-5 11:24:53 | 显示全部楼层
可能我已经在用了,只是现在遇到继电器的控制相当的别扭,还在探索中,感觉在练无相神功,呵呵。

出0入0汤圆

发表于 2011-1-5 13:23:22 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-1-5 17:56:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-9 15:11:45 | 显示全部楼层
正在看这本书,

出0入0汤圆

发表于 2011-1-17 11:45:28 | 显示全部楼层
看完书再来细读

出0入0汤圆

发表于 2011-2-7 11:25:39 | 显示全部楼层
貌似很牛、正在看uCOS、还没看这书、饭要一口一口的吃,慢慢来吧、

出0入0汤圆

发表于 2011-2-8 10:57:54 | 显示全部楼层

出0入0汤圆

发表于 2011-2-8 16:32:02 | 显示全部楼层
也看了这本书,也和楼主同样的疑问

出0入0汤圆

发表于 2011-4-16 19:00:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-16 19:00:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-17 12:37:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-13 21:16:37 | 显示全部楼层
看的眼都酸了 先MARK

出0入0汤圆

发表于 2011-7-13 23:13:31 | 显示全部楼层
不错的贴子 mark!

出0入0汤圆

发表于 2011-7-18 09:40:36 | 显示全部楼层
我有个东西:LED显示控制卡(STM32F103C系列单芯片),要求显示任意分区(也就是可能是3个区,5个区,但是有个上限),每个区有自己的显示内容(可以是AVI、GIF或者文字移动效果),每个区的显示效果同时且互不影响。
还有一些比如串口、U盘、网口通讯之类的

像这样的任务我肯定是要使用操作系统的,那么用怎么样的调度器,任务该怎么划分(不用考虑通讯,只考虑显示)?

合作式的行不通,因为几个分区是同时动画的,如果每个动画用状态机分解,再轮流执行,那100多个动画效果(程序制作的效果并非AVI GIF)每个效果分几个或者10几个状态,那程序会很头疼。

抢占式也不行,因为分区是平等的,但是不在同一个任务平面。

用时间轮片调度,每个分区获得一个时间片,看上去宏观并行,但是问题又出来了,有些效果中间要DELAY,等扫描程序扫屏,这就要主动让出CPU,提高利用率。LED扫描是一直在做的(占用CPU近50%的时间),一停就黑屏或者行常亮。

脑袋一团糟,请高人给个思路和方向。

出0入0汤圆

发表于 2011-7-29 19:15:37 | 显示全部楼层
这里的思路真好

出0入0汤圆

发表于 2011-8-7 11:37:51 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-8-14 12:13:59 | 显示全部楼层
感觉这样的系统不是很好。

出0入0汤圆

发表于 2011-8-16 21:31:47 | 显示全部楼层
mark,以后再详看

出0入0汤圆

发表于 2012-7-28 11:32:39 | 显示全部楼层
先标记下

出0入0汤圆

发表于 2012-10-22 14:08:30 | 显示全部楼层
时间触发已使用多年,只要理解它的精髓,不要太机械,是非常好用且很稳定的。

出0入0汤圆

发表于 2012-10-23 13:07:34 | 显示全部楼层
标记,时间触发的嵌入式系统

出0入0汤圆

发表于 2012-10-24 13:14:02 | 显示全部楼层
好贴,学习了,mark

出0入0汤圆

发表于 2013-4-7 11:29:20 来自手机 | 显示全部楼层
学习一下....

出0入0汤圆

发表于 2019-2-14 12:23:20 | 显示全部楼层
eddia2012 发表于 2012-10-22 14:08
时间触发已使用多年,只要理解它的精髓,不要太机械,是非常好用且很稳定的。 ...

您好!您只用一个中断还是多个中断呢?

出0入0汤圆

发表于 2019-2-14 19:48:56 来自手机 | 显示全部楼层
wuyiduan 发表于 2011-7-18 09:40
我有个东西:LED显示控制卡(STM32F103C系列单芯片),要求显示任意分区(也就是可能是3个区,5个区,但是 ...

最后如何解决了?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 18:50

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表