Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >菜鸟,请你们真爱生命,远离Proteus

菜鸟,请你们真爱生命,远离Proteus

作者头像
单片机技术宅
发布于 2020-03-17 03:14:28
发布于 2020-03-17 03:14:28
7310
举报
文章被收录于专栏:初学单片机初学单片机

以下是全文:

*注:此文专为21IC而著,可以转载,但需保留本说明,否则将可能导致版权追究 Proteus可能是本版面最受争议的软件之一,我骂他,同时也因为骂他而受别人骂,所以今天我就来告诉新同学们为什么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设计移植到现实中发生了困难,有多少菜鸟直接照搬proteus里的设计到硬件上来就瞎了的,就几个是直接照搬过来可以直接运行成功的。我甚至还见过LED数码管不加限流电阻就在Proteus里点的。

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

老鸟用proteus都干嘛了?

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单片机技术宅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Keras学习(一)—— Keras 模型(keras.model): Sequential 顺序模型 和 Model 模型
首先了解Keras的一个很好的途径就是通过 文档 Keras 中文文档地址: https://keras.io/zh/models/about-keras-models/
全栈程序员站长
2022/11/15
1.7K0
Keras的基本使用(1)--创建,编译,训练模型
Keras 是一个用 Python 编写的,高级的神经网络 API,使用 TensorFlow,Theano 等作为后端。快速,好用,易验证是它的优点。 官方文档传送门:http://keras.io/ 中文文档传送门:http://keras.io/zh 中文第三方文档:http://keras-cn.readthedocs.io
caoqi95
2019/03/27
1.4K0
Keras 学习笔记(三)Keras Sequential 顺序模型
你可以通过将网络层实例的列表传递给 Sequential 的构造器,来创建一个 Sequential 模型:
种花家的奋斗兔
2020/11/12
2.4K0
Deep learning基于theano的keras学习笔记(1)-Sequential模型
《统计学习方法》中指出,机器学习的三个要素是模型,策略和优算法,这当然也适用于深度学习,而我个人觉得keras训练也是基于这三个要素的,先建立深度模型,然后选用策略(目标函数),采用优化器,编译和训练模型。
李智
2018/08/03
1.4K0
Keras框架速查手册(Python For Data Science Cheat Sheet Keras)
Keras框架速查表 1 Keras 1.1 一个基本示例 2 数据 2.1 Keras数据设置 3 模型结构 3.1 Sequential模型 3.2 多层感知器(MLP) 3.2.1 二元分类 3.2.2 多类别分类 3.2.3 回归 3.3 卷积神经网络(CNN) 3.4 循环神经网络(RNN) 4 预处理 4.1 序列填充 4.2 创建虚拟变量 4.3 训练集、测试集分离 4.4 标准化/归一化 5 模型细节提取 5.1 模型输出形状 5.2 模型总结 5.3 get模型参数 5.4 g
荣仔_最靓的仔
2022/01/05
3810
Keras框架速查手册(Python For Data Science Cheat Sheet Keras)
keras系列︱Sequential与Model模型、keras基本结构功能(一)
中文文档:http://keras-cn.readthedocs.io/en/latest/ 官方文档:https://keras.io/ 文档主要是以keras2.0。
全栈程序员站长
2022/11/03
1.9K0
keras系列︱Sequential与Model模型、keras基本结构功能(一)
该文章介绍了在深度学习模型中,不同的层对输入进行计算,从而影响模型的性能。文章详细讨论了卷积层、池化层、全连接层和LSTM层的特点和作用,以及如何使用这些层来构建高性能的模型。此外,文章还探讨了如何通过冻结层和重新训练层来提高模型的性能。
悟乙己
2018/01/02
10.3K0
keras系列︱Sequential与Model模型、keras基本结构功能(一)
Keras学习笔记——Hello Keras
目前最流行的框架莫过于Tensorflow了,但是只要接触过它的人,就知道它使用起来是多么让人恐惧。Tensorflow对我们来说,仿佛是一门高深的Deep Learning学习语言,需要具备很深的机器学习和深度学习功底,才能玩得转。
用户1154259
2018/07/31
6970
keras 基础入门整理
在进行自然语言处理之前,需要对文本进行处理。 本文介绍keras提供的预处理包keras.preproceing下的text与序列处理模块sequence模块
学到老
2019/01/25
1.6K0
Keras函数式API
之前所有的神经网络都是基于Sequential模型实现的,而且网络都是层的线性叠加。但是在实际情况下,有些网络需要多个独立的输入,有些网络需要多个输出;而且有些层之间具有内部分支。
皮大大
2023/08/25
2240
【Keras】Keras入门指南
在用了一段时间的Keras后感觉真的很爽,所以特意祭出此文与我们公众号的粉丝分享。 Keras是一个非常方便的深度学习框架,它以TensorFlow或Theano为后端。用它可以快速地搭建深度网络,灵活地选取训练参数来进行网路训练。总之就是:灵活+快速!
keloli
2018/09/13
2.1K0
超快速!10分钟入门Keras指南
作者:李中粱 小编:赵一帆 1 Keras框架介绍 在用了一段时间的Keras后感觉真的很爽,所以特意祭出此文与我们公众号的粉丝分享。 Keras是一个非常方便的深度学习框架,它以TensorFlow或Theano为后端。用它可以快速地搭建深度网络,灵活地选取训练参数来进行网路训练。总之就是:灵活+快速!!! 2 安装Keras 首先你需要有一个Python开发环境,直接点就用Anaconda,然后在CMD命令行中安装: # GPU 版本 >>> pip install --upgrade tensorf
机器学习算法工程师
2018/03/30
1.3K0
超快速!10分钟入门Keras指南
Keras官方中文版文档正式发布
机器之心整理 参与:思源 今年 1 月 12 日,Keras 作者 François Chollet‏ 在推特上表示因为中文读者的广泛关注,他已经在 GitHub 上展开了一个 Keras 中文文档项目。而昨日,François Chollet‏ 再一次在推特上表示 Keras 官方文档已经基本完成!他非常感谢翻译和校对人员两个多月的不懈努力,也希望 Keras 中文使用者能继续帮助提升文档质量。 这一次发布的是 Keras 官方中文文档,它得到了严谨的校对而提升了整体质量。但该项目还在进行中,虽然目前已经
朱晓霞
2018/04/18
1.2K0
Keras官方中文版文档正式发布
第一个深度学习实战案例:电影评论分类
这是一个典型的二分类问题。使用的是IMDB数据集,训练集是25000条,测试也是25000条
皮大大
2022/04/02
5210
第一个深度学习实战案例:电影评论分类
MLK | Keras 基础模型调参指南
上一篇文章讲解了如何简易入门Keras,大致给出了一个深度学习模型,但对于模型如何调参就没有太过于深入讲解,今天继续写一篇文章来整理下 Keras 深度学习模型的调参教程,希望可以对大家有所帮助。
Sam Gor
2019/08/09
1.2K0
MLK | Keras 基础模型调参指南
神经网络基础及Keras入门
人工神经网络,简称神经网络,在机器学习和认知科学领域,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。
小歪
2018/12/17
5880
keras系列︱图像多分类训练与利用bottleneck features进行微调(三)
该文摘要总结:利用卷积神经网络来对图像进行特征提取和分类,使用预训练的VGG16网络作为基础网络,通过修改网络结构以适应自己的数据集,并使用合成数据集进行训练。在训练过程中,使用了数据增强技术,包括旋转、翻转和水平翻转等,以提高模型的性能。最终,该模型在测试集上获得了85.43%的准确率,表现良好。
悟乙己
2018/01/02
4.4K0
keras系列︱图像多分类训练与利用bottleneck features进行微调(三)
Keras 训练简单的深度神经网络
机器学习训练营最近的作业都是使用Keras,所以最近去翻了下文档,这里记录一下学习栗子。(官网有中文文档)
小歪
2018/12/13
8290
Python深度学习精华笔记2:基于keras建模解决深度学习二分类问题
本文是第二篇:基于keras建模解决Python深度学习的二分类问题,使用keras内置的IMDB数据集
皮大大
2023/08/29
4990
推荐阅读
相关推荐
Keras学习(一)—— Keras 模型(keras.model): Sequential 顺序模型 和 Model 模型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档