打印

请问用了操作系统的抗干扰能力强些了吗?

[复制链接]
5631|45
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jack.king|  楼主 | 2009-3-26 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
HWM| | 2009-3-26 15:11 | 只看该作者

没必然联系

使用特权

评论回复
板凳
jack.king|  楼主 | 2009-3-26 15:24 | 只看该作者

对了KEIL自带的RTOS有谁有过没?有什么好处否

使用特权

评论回复
地板
冷漠| | 2009-3-26 16:56 | 只看该作者

看看操作系统原理就知道了。

OS内核:为用户建立了一个最坚固的平台。
就好像用户要盖房子,OS就是地基。
那么,房子这个系统的坚固性,主要取决于地基的坚固性。

这就是和裸奔系统最实质的差别。
请看一下邵贝贝翻译的那本《uc/os-II嵌入式实时操作系统》书的前言:
OS地基是计算机专家设计的。一个菜鸟在其上搭建的房子,其坚固性因此有了专家级。
而一个裸奔系统的坚固性,完全取决于设计师本人的设计水平。

所以,高手自信比计算机专家水平高,所以喜欢裸奔。
而我这样的菜鸟,只能依赖于嵌入式OS。

我自知没有Jean J.Labrossen、Linux、HWM 那样的水平,只好借助巨人的肩膀。

使用特权

评论回复
5
冷漠| | 2009-3-26 17:16 | 只看该作者

一个亲身经历的故事。

经理曾让我仿造一块板,用于电机系统的控制。

硬件一丝不差地仿造出来了,软件盗版很困难,因为我们控制方案不一样。
没什么大不了,硬件原理都知道了,软件自己编呗。
编好之后,实验室模拟完全通过,但是现场干扰就是过不去,每当电机启动时,程序必然跑乱。

拿来别人的板子实验,就是不乱。不服不行。
细分析别人的软件,却是怎么也看不懂。

后来才知道,原来不是别人的编程水平如何高,而是别人会用RTX51来设计系统。

而我们当时只相信自己,最后请了一帮高手,废寝忘食,白天黑夜,历经反复困苦的实验,才算勉强裸奔通过了。



使用特权

评论回复
6
etual| | 2009-3-26 17:25 | 只看该作者

楼上,能详细的说说么?

我想知道OS对系统稳定性带来了什么证明的影响?
OS作为一个代码,被强干扰的情况下,PC指针同样会跑飞
问题是跑飞之后的处理,应该怎么做?
请指教。

使用特权

评论回复
7
zq1987731| | 2009-3-26 19:04 | 只看该作者

个人观点

    OS和裸奔的区别在于前者“跑飞”顶多坏一部分,试想一下Windows中如果一个程序死掉了,你还是可以做其他事的吧?包括强行关掉这个任务也算一件事...后者一“跑飞”可能会全局崩溃。
    因为有任务调度算法的存在,比如你在运行任务A的时候“跑飞”了,那么在下一个时基到的时候中断照样会被正常触发,控制权回到操作系统手上,开始调入任务B,这时候任务B肯定是正常执行了,同理,接着运行任务C,一圈下来了又回到任务A上,那么仍然会回到是“跑飞”状态,那么如果你再添加个任务进去,主要负责监视其他任务有没有跑飞现象,一旦有任务“跑飞”就对其进行处理,就能有很好的抗干扰效果。
    不过抗干扰要依靠软件那肯定是被动的,如果干扰形式为电快速脉冲群,在其频率超高,电压幅度超大的时候,一瞬间能把你的MCU打至“死机”状态,这时候别说跑飞了...连能不能跑都是问题,也就是定时器都不走无法进中断,纵使软件编得再好也没用,唯有等外狗来救命(外狗都就救不了就是传说中的“真死机”状态了)...
    干扰这东西就是麻烦...本人毕业后搞了10个月,才搞出个能过四级EFT的工控板,这么多时间一般项目不知道能做多少个了,晕..

使用特权

评论回复
8
ayb_ice| | 2009-3-26 20:39 | 只看该作者

OS的系统不如裸奔稳定

OS也是程序,而且很复杂,一般多少都有BUG.

使用特权

评论回复
9
原野牧歌| | 2009-3-26 21:09 | 只看该作者

看来用OS也有OS的长处,多任务特性好些。

使用特权

评论回复
10
lost1421| | 2009-3-26 21:13 | 只看该作者

仁者见仁

智者见智!

使用特权

评论回复
11
常来21ic| | 2009-3-26 21:31 | 只看该作者

估计要打口水仗了....

使用特权

评论回复
12
冷漠| | 2009-3-26 21:59 | 只看该作者

7楼讲得差不多了。

OS的基本理论之一是“虚拟计算机”概念:

也就是多任务中的每一个任务都被看做是一个独立的MCU,一个真实的MCU被分割为多个“虚拟的”MCU。

每个虚拟MCU在它占有CPU资源的时间片内,独立享有MCU所有资源。
假设这一时刻受到外界干扰,造成当前任务A“死机”,很快OS内核会将控制权切换到下一个虚拟MCU B重新正常运行。

A怎么办?众所周知:一个任务是一个while(1)循环,对于死机程序,OS切换只要到任务从头开始运行即可。这和裸奔看门狗恢复程序原理中冷启动/热启动是一样的。

那么为什么OS内核不会受外界干扰影响?
1、内核运行时间极断,受干扰概率低;
2、干扰时刻主要是任务控制外设时刻造成的电源浪涌波动引起的,而OS内核不可能控制任何外设。它总是运行在最安静的环境时刻。
3、OS内核的节拍中断是基于片内计时器的,片内计时器是基于硬件的,硬件是坚固于软件的。也就是说,一个MCU,其最坚固的部分,就是硬件计数器了吧。
4、比较起来,一个外部狗比内部计数器更坚固,所以一般嵌入式OS内核都留有与外部狗的接口。也就是说:OS内核担负监视各个任务的运行和恢复,而外部狗负责监视OS内核的正常运行。


使用特权

评论回复
13
NE5532| | 2009-3-26 22:35 | 只看该作者

越复杂的东西,越容易出事。

使用特权

评论回复
14
wujing198| | 2009-3-26 22:42 | 只看该作者

受教了

听上去很有道理。不过要是自己搞个简单的主程序完成任务分时调度,效果岂不是更好?简单,避免了ls说的复杂的容易出错的问题;分时调度,实现了ls的ls所说的os的好处。

使用特权

评论回复
15
冷漠| | 2009-3-27 09:47 | 只看该作者

敬佩14楼。

整个中科院20年前就是这么想的。(美国人太笨,搞那么复杂的东西?咱中国人从来就是以简约闻名于世的。)结果话说到今天也没整出来个实际简约的东东。也许中科院都是一帮庸人?

希望寄托在14楼身上。


OS内核复杂吗?RTX51Tiny内核源代码,时钟+调度,一共不到200字节。(再问13楼,200字节的分时调度功能实现代码算不算复杂?)

问问“神人”HOTPOWER ,他的xxx51“简单的裸奔式OS”,主程序源代码简约到了多少字节?

谁能雷翻 RTX51tiny ?
谁能雷翻 HOTPOWER ?

20年做不出个200字节的分时调度,总有他的道理。
到现在才不得不承认,还是别人厉害。专家就是专家,无论裸奔还是其他方法,都无法再化简了。

别拿小于200字节的走马灯程序说事。
此类玩具程序当然不需要用OS。

使用特权

评论回复
16
yewuyi| | 2009-3-27 10:51 | 只看该作者

~~

可靠性是系统指标,用带不带OS这一个环节去推导系统是否可靠荒谬之极。。。

使用特权

评论回复
17
yongfei| | 2009-3-27 11:09 | 只看该作者

请问12楼,片内硬件计数器坚固在何种地方?

使用特权

评论回复
18
冷漠| | 2009-3-27 11:25 | 只看该作者

呵呵,看看商业软件。

楼上做的嵌入式系统的可靠性系统指标,不包含软件可靠性类似指标?

如果有类似指标的话,会不会说:其中软件是我们公司的专家自己做的,完全可靠!

我怎么只看到所有的这类嵌入式产品都鼓吹自己的软件是在uc/OS、uCLinnux .....等等这OS、那OS平台上开发的。怎么没见有人敢说是本公司软件工程师自己开发的?或者是公司缺乏像 yewuyi 这样高水平而且敢于蔑视OS可靠性的软件专家?

为什么没人敢把这部分内容去掉? 说我们公司软件工程师的水平完全不用依赖...OS,....

使用特权

评论回复
19
冷漠| | 2009-3-27 11:29 | 只看该作者

回17楼。

因为片内计数器电路是硬件!

使用特权

评论回复
20
jack.king|  楼主 | 2009-3-27 11:48 | 只看该作者

呵呵!

我也遇到过遇到干扰不知道怎么办的事情!
  我做一个工控的东西外面还有外狗,硬件是抄的别人的.软件在实验可以可是遇到机电边或者有强干扰的地方就死机.真的是头痛!所以我想用用RTX-51怎样
!其实也没有用什么就是让它去调度下任务!

使用特权

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

本版积分规则

488

主题

2158

帖子

1

粉丝