我在这个 PCB 布局上放太多了吗?

电器工程 电路板 pcb设计 altium pcb制造 布局
2022-01-25 18:01:36

我正在做我的第一个 PCB 布局(使用 Altium),终于通过了自动布线阶段。结果是一团糟,并且缺少一些网络和设计规则违规。我是否在这块板上打包了太多东西,还是我只需要重新考虑我的组件放置?

板是两层。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我被一个非常特殊的外壳困住了,无法使板子在 xy 轴上变大。

这是一个爱好板,但我在家里有一个完整的 SMD 焊接设置(很好的范围和所有)。连接器位置是外壳的一部分(否则这些将是首先要移动的东西)。它是旧发动机监控系统的直接替代品。它主要通过热电偶和热敏电阻进行测量。中间的大芯片是运行在 16 MHz的ATmega2560 。


更新:

感谢所有输入。我重新排列了电路板并移至 4 层。然后我用手把它全部路由了。现在看起来好多了!

新的电路板布局

在此处输入图像描述

4个回答

我假设您正在使用自动布线器,因为您认为它会节省您的时间。但是我有一个坏消息:据说PCB布局是80%的元件布局,20%的布线。您不能只打掉组件,您需要考虑信号如何连接,如果您正确放置组件,布局将从这个位置“流动”。因此,如果您有一个良好的布局,您可以立即进行布线,并且在进行此布局时最好自己(或至少大部分)进行布线。

自动布线器很痛苦。我从未见过人们非常成功地使用它们——尤其是像您在 Altium 中找到的那样的内置工具(尽管他们最近展示了一个新工具,所以这可能会有所帮助?)。此外,元件的放置也很重要。

任何自动布局或电路综合的一个问题是程序只会执行您告诉它的事情 - 如果您不告诉它所有内容,它会做一些愚蠢的事情。你的规则需要完美您的约束需要是完整的。您的每一项要求都需要以规则和指令的形式提出。通常你可能没有意识到你隐含知道/需要多少 - 不要将电源信号一直路由到电路板 - 去耦电容器和芯片的电源引脚之间的连接必须尽可能短并且不能走绕着一堆模拟电路蜿蜒而行——不胜枚举。

您的位置似乎草率 - 举个例子:

在此处输入图像描述

如果要翻转 R17,则从 R17 到 R18 的迹线不需要穿过从 R17 到 D1 的迹线。R19 似乎与 C12 平行——也许这是您可以用来简化布局的东西,通过将它们物理上相互平行。将 R19 移动到 C12 上方或下方也可以更轻松地很好地路由 C18。C17 似乎也可以翻转 180 度,这样就不需要交叉痕迹。将 D1 顺时针旋转 90 度可能会使从“中心”引脚到 R17 的走线更容易布线。而且您在这些组件下有一堆未使用的空间,为什么不使用它并将整个组件向下移动一点呢?还记得我说过的 80% 布局,20% 实际布线吗?

此外,您的自动布线器似乎刚刚放弃了。举个例子: 奇数错误

有很多空间可以将这些痕迹分开。这应该不是问题,任何人都可以看到您只需将左侧轨迹向左移动一小部分,错误就会得到修复。

与其他人所说的不同,使用自动路由器不是问题。他们是对的,因为您不能只是将整个设计扔给自动路由器并期望它为您解决所有问题。但是,如果使用得当,自动路由器是合法且省时的工具。不要听那些说不要使用自动路由器的下意识的人。

您的问题是您试图在 2 层板上塞入太多东西。期望在 2 层中布置那么多紧密间隔的引脚是非常不现实的。

另一个问题是您没有足够仔细地考虑布局。这很难通过查看您的图像来评估,但似乎很有可能。

一方面,密集芯片周围的空间非常小。即使有多层,该芯片周围也会出现拥塞。有时我什至将走线从密集的芯片上手动布线,以将它们扩展一点,然后看看自动布线器如何处理它。

但是,良好布线的第一条规则是良好的布局您不能只是在某处放下零件,然后在以后的布线中以某种方式将它们连接起来。良好的布局是您在进行更多设计时将学习并获得一些直觉的东西。对于前几个设计,给自己留出很多空间是有帮助的。你没有。

大型零件的引脚分配通常很灵活。这通常适用于微控制器和 FPGA。在某些情况下,我实际上打印了大部分的引脚图。然后我在它周围做了笔记,对应于它必须连接到板上的东西的粗略放置。我划掉了所有固定引脚,例如电源、接地、MCLR 等。然后我根据它们必须连接的物体的接近程度仔细分配软引脚。

这可以是一个迭代过程。您可能会绕到零件的一半,并意识到您在一个方向上短了一根针。这可能需要在零件的另一侧重新分配引脚来转移东西。

对于像微控制器这样的大部件,我将它放在一个大的空白区域,然后只将其直接连接的部件放在它周围。这包括旁路盖和带盖的晶体(如果有的话)。然后,您从那时起将整组零件作为一个整体定位并移动。

将一些零件仅放置在粗略的位置是完全正常的,然后随着更多零件的放置而返回并更有效地包装它们。同样,整个过程是迭代的。在您获得一些经验和直觉之后,这些步骤会更快。预计前几个设计,尤其是密集的设计,需要一段时间。

一旦你有一个合理的布局,空气线不会在整个地方交叉,对重要信号进行一些手动布线。我通常先做所有的旁路电容,当然它们应该已经靠近它们绕过的电源和接地引脚。如果您有接地层,那么下一步就是使用通孔将大部分接地点连接到接地层。这仅留下将成为实际可路由迹线的空气线。

此时,根据您的经验,您路由一些您可以看到的问题,或者只是让自动路由飞行。

但是,您还没有使用自动路由器来创建最终路线,只是为了向您展示问题点。良好的自动路由也是一个迭代过程。您运行自动布线器,查看它在哪里出现问题,进行一些手动布线并可能因此更改布局,再次运行自动布线器,等等。最终您会聚到一条完整的布线上。通过为您完成大量繁重的工作,自动路由器仍然为您节省了大量时间。

在你有一个相当满意的解决方案后,你会仔细查看所有内容并手动清理明显的东西。例如,如果您有一个接地层,您不希望过孔聚集在一起。许多小岛比地平面上的几个大岛要好。

不过,再一次,不要听所有的宗教下意识的声音。继续使用自动路由器,但要小心和负责任地使用。我专业从事电气工程,并且以某种方式在我设计的所有电路板上使用了自动路由器,可能超过 95%。电路板越复杂,自动布线器就越是为您完成繁重工作的宝贵工具。只是不要期望它会完成所有工作。而且,您必须从良好的位置开始。

自动路由器并不神奇。并且不应该用来做全板。您首先需要自己路由重要的位。像功率、高速和旁路电容。然后你可以让自动路由做一些乏味的事情。
设计规则必须设置完美,自动路由器才能正常工作。

现在看起来你已经随机放置了组件。如果将组件分组,或者至少将它们放在网格上,您会得到更好的结果。例如,

  • U3,很可能是一个电压调节器,附近会有一些 C。这些看起来不是很近。
  • U7 和 U8 很可能有一个旁路盖。那些在哪里?
  • 右侧有一组 R。如果这些用于电阻网络,为什么不将它们放在方形网格中?如果您在两者之间保留一些空间,则通常可以手动将它们布线好。
    例子:
    方格路由示例

我建议查看一些专业板(拆解一些测试设备),或高质量的开放硬件,也许还有一些 pcb 布局视频。例如来自EEVblog

至少您正在使用带有安装座的定义板尺寸,好!这是一个经典的初学者错误,在没有尺寸限制的情况下布线电路板,并在电路板已经制作完成时考虑外壳。

您犯了新手可能犯的最大错误之一,那就是相信自动布线器会为您完成工作。这是爱好者之间的一个巨大误解,那就是自动布线器是为初学者准备的。实际上恰恰相反。只有专家 Altium(和其他软件包)用户才能正确使用它,当他们成为专家时,他们通常更容易手动路由。初学者应该总是从手开始。不要使用自动路由器。

为了帮助您对电路板进行布线,我建议首先放置关键位置的部件(主要是连接器)。任何您知道的东西都需要放置在一个准确的位置,即使是几毫米也不能移动。然后开始将剩余的组件分成小部分。例如,将与 U1 IC 直接连接或相关的所有组件组合在一起(板外),将其排列为短而直(不要交叉),然后将它们布线在一起(板外) )。对所有不同的模块(或一次至少几个)执行此操作,然后将模块作为组件组移动到板上,放到有意义的地方。当您将已经布线的模块移到板上时,您将能够重新定位这些组,使它们之间的空气线短而直,并且您重复该过程以将“模块”路由在一起,就像您在每个模块中执行组件一样。坚持下去,最终您将拥有一个经过深思熟虑、干净的设计,具有最少的过孔和逻辑信号流。

为了回答您的实际问题,不-该板上没有太多内容。事实上,与我工作过的一些相比,这相当稀少。您只需要明智地放置组件,即可最大限度地减少所需的过孔数量和环绕的轨道数量。正如其他人所提到的,缩小你的通孔。对于大多数通孔来说,0.2mm 的钻孔就足够了。