智能车制作

标题: 转载21IC菜鸟远离Proteus [打印本页]

作者: ftx920    时间: 2011-9-18 20:26
标题: 转载21IC菜鸟远离Proteus
*注:此文专为21IC而著,可以转载,但需保留本说明,否则将可能导致版权追究

Proteus可能是本版面最受争议的软件之一,我骂他,同时也因为骂他而受别人骂,所以今天我就来告诉新同学们为什么Proteus是菜鸟杀手(老鸟请自觉跳过本帖,你们用不用Proteus都是那么回事)。

严重声明:本人与地球上任何销售软/硬件仿真器的公司、组织、利益团体或个人没有任何利益瓜葛。本文观点仅代表个人见解,不承担围观者因本帖而导致的任何技术错误、软硬件损失、经济损失、精神损失;因新同学围观本文导致的仿真软/硬件设计、制造和利润下滑情况与本人无关!

为什么老鸟用Proteus与我无关,因为他们知道什么是硬件,而菜鸟不知道。为了说明这个问题,我们先跑题到达芬奇画鸡蛋的故事上去,这个故事告诉我们,世界上没有两个长相完全一样的鸡蛋。

OK,现在我要告诉你,世界上同样没有两个长相完全一样的硬件系统。不信么?你找一张光盘,把它复制一张,然后用计算机程序来校验,程序会告诉你,他们完全一致(说俗一点就是他们上面0和1的排列顺序是一样的)。那么现在请你找两只电阻,两只标称阻值都是10k的电阻,请你量一下他们的阻值相同么?什么?你说相同?那是因为你的3位半万用表不够精确,你用10位半的量一下呢,但是在电路图上,他们都是10k,或者至多再标个±5%之类,Why?这就是硬件——世界上没有两个完全一样的硬件

可以说,当一个软件被编写完成之后,他的一切行为就是确定的了(具有事件驱动架构的程序除外,本括号仅为避免被其他老鸟痛批,新同学请无条件跳过),烧录进10000个单片机去,都是同一个软件。但是当一个单片机产品被设计出来后,生产线上所加工出的每一个产品,都有着不同的特性。比如三端稳压器7805,不是每一个的输出电压都在5.000000000V上的,有5.01的,有5.03的,如果你的单片机系统有设计缺陷,对5.01V的可以工作,对5.03V的就要出错,这就是硬件的特点——离散性

硬件设计中很大的一部分工作就是在“容差”,就是说我们明知道构成系统的每一个元器件都有误差,却能够通过概率统计、理论计算,让系统工作起来,这是一项很繁杂的工作,有很多老鸟在设计中会用“经验”二字来代替计算,这通常是没有什么问题的,放生产实践上看,出个万分之一的废品率也就不得了了,但是对正在学习工程思想的菜鸟就是毁灭性的。

如果你不服上面的话,请自己看21IC的帖子,有多少菜鸟在把Proteus设计移植到现实中发生了困难!我甚至还见过LED数码管不加限流电阻就在Proteus里点的。

如果你还是坚定不移的认为Proteus是神圣不可侵犯的话,我再给你说一个:

单片机从休眠状态唤醒,对晶体和匹配电容的要求是很高的,如果激励不足,将导致无法唤醒,设计上除了要选择激励功率合适的晶体和仔细匹配晶体所需的匹配电容,还要在高、低电源电压,高、低环境温度的组合中做休眠唤醒实验以确认激励合适。
请问哪一个仿真软件可以完成上述工作?元器件这么多自然属性(精度、温漂、离散、老化、寄生参数)请问哪个仿真软件可以对每个元件建立精确的数学模型?

最后,再说下Proteus是拿来干什么的。应该说这个软件是给老鸟偷懒用的,比如调个串口通讯,写个I2C时序啥的还成,因为老鸟要的只是功能验证,硬件容差的原理他们已经在N年前就知道了。不过这个软件的作者也不厚道,起码应该在启动界面里做个“**”的标志吧!

末了,诊断自己是否菜鸟的方法是:问实际电路能运行,Proteus里不能仿真之类问题的是老鸟,反之,是菜鸟。

*注:此文专为21IC而著,可以转载,但需保留本说明,否则将可能导致版权追究

Proteus可能是本版面最受争议的软件之一,我骂他,同时也因为骂他而受别人骂,所以今天我就来告诉新同学们为什么Proteus是菜鸟杀手(老鸟请自觉跳过本帖,你们用不用Proteus都是那么回事)。

严重声明:本人与地球上任何销售软/硬件仿真器的公司、组织、利益团体或个人没有任何利益瓜葛。本文观点仅代表个人见解,不承担围观者因本帖而导致的任何技术错误、软硬件损失、经济损失、精神损失;因新同学围观本文导致的仿真软/硬件设计、制造和利润下滑情况与本人无关!

为什么老鸟用Proteus与我无关,因为他们知道什么是硬件,而菜鸟不知道。为了说明这个问题,我们先跑题到达芬奇画鸡蛋的故事上去,这个故事告诉我们,世界上没有两个长相完全一样的鸡蛋。

OK,现在我要告诉你,世界上同样没有两个长相完全一样的硬件系统。不信么?你找一张光盘,把它复制一张,然后用计算机程序来校验,程序会告诉你,他们完全一致(说俗一点就是他们上面0和1的排列顺序是一样的)。那么现在请你找两只电阻,两只标称阻值都是10k的电阻,请你量一下他们的阻值相同么?什么?你说相同?那是因为你的3位半万用表不够精确,你用10位半的量一下呢,但是在电路图上,他们都是10k,或者至多再标个±5%之类,Why?这就是硬件——世界上没有两个完全一样的硬件

可以说,当一个软件被编写完成之后,他的一切行为就是确定的了(具有事件驱动架构的程序除外,本括号仅为避免被其他老鸟痛批,新同学请无条件跳过),烧录进10000个单片机去,都是同一个软件。但是当一个单片机产品被设计出来后,生产线上所加工出的每一个产品,都有着不同的特性。比如三端稳压器7805,不是每一个的输出电压都在5.000000000V上的,有5.01的,有5.03的,如果你的单片机系统有设计缺陷,对5.01V的可以工作,对5.03V的就要出错,这就是硬件的特点——离散性

硬件设计中很大的一部分工作就是在“容差”,就是说我们明知道构成系统的每一个元器件都有误差,却能够通过概率统计、理论计算,让系统工作起来,这是一项很繁杂的工作,有很多老鸟在设计中会用“经验”二字来代替计算,这通常是没有什么问题的,放生产实践上看,出个万分之一的废品率也就不得了了,但是对正在学习工程思想的菜鸟就是毁灭性的。

如果你不服上面的话,请自己看21IC的帖子,有多少菜鸟在把Proteus设计移植到现实中发生了困难!我甚至还见过LED数码管不加限流电阻就在Proteus里点的。

如果你还是坚定不移的认为Proteus是神圣不可侵犯的话,我再给你说一个:

单片机从休眠状态唤醒,对晶体和匹配电容的要求是很高的,如果激励不足,将导致无法唤醒,设计上除了要选择激励功率合适的晶体和仔细匹配晶体所需的匹配电容,还要在高、低电源电压,高、低环境温度的组合中做休眠唤醒实验以确认激励合适。
请问哪一个仿真软件可以完成上述工作?元器件这么多自然属性(精度、温漂、离散、老化、寄生参数)请问哪个仿真软件可以对每个元件建立精确的数学模型?

最后,再说下Proteus是拿来干什么的。应该说这个软件是给老鸟偷懒用的,比如调个串口通讯,写个I2C时序啥的还成,因为老鸟要的只是功能验证,硬件容差的原理他们已经在N年前就知道了。不过这个软件的作者也不厚道,起码应该在启动界面里做个“**”的标志吧!

末了,诊断自己是否菜鸟的方法是:问实际电路能运行,Proteus里不能仿真之类问题的是老鸟,反之,是菜鸟。

菜鸟请远离Proteus,老老实实去拿烙铁吧!

作者: 翔宇    时间: 2011-9-18 21:33
谢谢楼主分享!
作者: turf456    时间: 2011-9-18 21:39
当时在做一个仿真的时候确实被proteus误导过一次。但是在multisim里是正确的。
老话:仅供参考。
作者: 翔宇    时间: 2011-10-3 13:42
今天才仔细看过,觉得写的不错,也明白了初学单片机时老师为什么不让我用Proteus了。
作者: aytc100    时间: 2011-10-3 15:29
用草稿纸+计算器仿真的飘过
作者: 7998    时间: 2011-10-3 17:40
额,我是菜鸟,最近才接触Proteus,还没入门,看到楼主的帖子感情很复杂,不知道该如何是好,是继续我的Proteus专研还是放弃,看到此贴心里很惶恐,但是我觉得任何东西都是有缺陷的,或许您所指出来的这些就是Proteus的缺陷,但是Proteus这东西的的确确是存在的,而且存在的时间也不短(至少不是一天两天),也有好多人在使用,那么就有它存在的理由。
我是菜鸟,也不太懂Proteus,或许这个东西的确存在理论和实际上的误差,怎么说呢,一切以实物为准,不管是用什么软件、操作系统或是硬件,我门的目的是要做出一个东西,要的是实物,我想说的是,管它这些软件什么乱七八糟的,说白了它们都是工具,只要我做出来的东西没问题那就一切好说!
呵呵,以上言论只是个人看完此帖的感触,如有错误,欢迎纠正!!总之一句话,人是活的,工具是死的,希望楼主不要太介意我的胡言乱语。
作者: renqinglei    时间: 2011-10-6 08:34
确实是的,我刚用的时候被他害苦了,坑死我了!
作者: 海驹    时间: 2011-10-6 20:32
其实在Proteus论坛里是有很多经典的例子的
作者: azhi1992    时间: 2011-10-16 11:16
我们老师说,先用proteus仿真,然后直接实体。。。
作者: 小浩子    时间: 2012-3-28 20:54
还是可以用的呢额  一步一步的来吧




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2