AD原理图编译WARNING:Net XXX has no driving source

Altium designer WARNING系列:
WARNING:Net XXX has no driving source

这篇博客填一下以前一篇关于Altium designer ERROR的坑原文章
本次文章以基于AT89C51的函数信号发生器为例:https://blog.csdn.net/toyjis/article/details/105886632

在我们在画完原理图后,很多人都会选择进行编译,一方面可以检查电气关系是否正确,一方面可以确保在后续PCB设计中不会因原理图出错而返工。但是,在当我们编译后,经常会出现WARNING:Net XXX has no driving source这样的警告,而且这种警告经常会出现在单片机的晶振和复位网络中,本文将会从报错原因,产生原理和解决方案几个部分进行讨论。

下图为编译结果,其中No.4warning和电源有关,详见文章https://blog.csdn.net/toyjis/article/details/105567531
编译后的warning

报错原因:
首先,我们尝试翻译一下这个warning是什么意思:Net—网络,RST—我们的复位网络名称,has no—没有/缺少,driving source—驱动源。连起来就是说:在网络RST/XTAL1/XTAL2中,没有驱动源。这就要求我们知道,什么东西是驱动源,如果我们找到驱动源,然后加入到网络中,这个问题估计就会解决。

什么是驱动源呢?
在电路中分为有源器件和无源器件,他们最本质的区别就是内部有无电源,一般的电阻、电容、电感等都是无源器件,ic、模块等都是有源器件。辨别他们的技巧就是:需要加电才能表现特性的称为有源器件,反之,则为无源器件。

在搞明白报错原因后, 我们看一下为什么会有这个warning。

产生原理:

我们可以在messages里双击warning,将错误点在原理图中定位,如下图所示:
问题点

我们分析一下为什么会有警告:

1、RST电路。我们看一下RST电路两端的元器件,在MCU部分,RST接入51单片机芯片第九脚(RST),仔细观察芯片表示,RST脚是一个向内的箭头,他代表input(输入),这个脚只能单向输入,肯定不能输出作为一个电源或者信号源。再看复位电路部分,RST分接到了电阻R1、电解电容EC1和开关K0上,前面在报错原因部分我们就已经说了,阻容感都是无源器件,而开关在断开时就是断路,更不可能是驱动源。很显然这个电路没有驱动源。
2、XTAL1/XTAL电路。同理,我们看一下这两个电路,芯片端还是input属性,连接元器件也是无源器件。

通过分析我们已经找到了为什么出现错误,现在我们看看这么解决问题。

解决方案:

1、最生猛的解决方案——直接加上电源。但是很显然这是不行的,RST电路接入电源后一直都是高电平,芯片的复位电路就报废掉了。XTAL是晶振电路,加入电源后整个芯片时钟都会崩溃(错的!!)
2、修改元器件。已知存在有源晶振(oscillator),我们接入其测试一下(省去滤波电容)。
有源晶振
编译结果
芜湖,换汤不换药,有源晶振也不行。

那么就没办法了么?
——办法还是有的,只不过是很狗的办法

**1、**仿真可以通过,不如拿出程序员的看见本领——忽略warning。
**2、**实在嫌弃warning的话,可以放置一个不进行ERC检测命令,例如有源晶振的第一脚。
**3、**还可以修改芯片引脚的属性,改成passive即可,这种方法本质上没改变芯片,但是我个人很少用。

以上三种方法都是比较鸵鸟的行为,算是在某种程度上逃避了warning,但是这种逃避是在我们经过分析后的结果,通过分析我们知道了warning无害,所以我们可以大胆的开始进行PCB设计。而对于那些不知道的warning,我们不妨刨根问底一下!

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 黑客帝国 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读