0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

层次化或扁平化结构原理图设计,哪个更适合我?

KiCad 来源:KiCad 作者:KiCad 2024-11-12 12:20 次阅读

通常来说 KiCad 更建议使用层次化的设计,因为这样结构更清晰,也方便设计复用。对于简单的系统,扁平化设计也很容易实现;但将复杂的系统设计成扁平化却并不那么容易。

wKgaoWcy2KGAahtHAADYi6PdfHM750.png

什么是扁平化设计?

在过去,特别是在计算机时代之前,大多数原理图都是这样制作的。

扁平化设计可以是单页,也可以是多页,用于容纳你的原理图。如果有多页,那么每个页面都可能包含彼此相关的内容。

对于多页设计来说,还必须有一种方法来使这些页面之间产生联系。这种交叉引用在KiCad中被称为标签(有的EDA称之为端口)。另一个重要的工具是电源符号(在过去也被称为电源端口)。典型的如GND、VDD等符号。电源符号在扁平化设计中是全局的,即所有图纸有效。

什么是层次化设计?

层次化设计是一种完全不同的设计范式。在某种意义上,它可以与面向对象的编程相媲美。它背后的主要想法是引入抽象层。这可以使人们更容易理解复杂的系统。

层次化的页面符号不止代表一页原理图,而更像是一个有定义接口的对象。

在KiCad中,这种接口通过分层化引脚与层次化标签实现。全局的标签(比如电源符号)一定程度上降低了这种设计方法的功能。

电源管理系统(BMS)的设计案例

在此示例中,展示的是一个电池管理系统的测量和平衡电路。该电路有一个用于连接电池组中每个电池的接口,一个专门的芯片,可以测量每个电池的电压、温度,并提供一种对单个电池进行放电以实现平衡的方法。它还提供了与外部控制器的接口。

3芯电池的单页扁平化设计

wKgaoWcy2KGAfkoIAAKUj5p_ViI143.png

即使是这样简单的电路,我也需要使用A3大小的图纸,以便能够容纳所有的东西,同时让设计看起来规划合理。 请注意,我们为每个电池复制了设计的平衡部分。想象一下,如果你后来发现某些地方不太对,则需要改变每一个重复的部分。

在扁平化设计中,使用图形线和文字可以很好地帮助区分功能模块,即对系统做一个抽象的功能分割。

6芯电池的多页扁平化设计

wKgaoWcy2KGALlGAAADKcpfNWHM806.png

wKgaoWcy2KGAN2o_AAJdGnvmE2Y339.png

wKgaoWcy2KGARedmAAGvN0d2cIc692.png

wKgaoWcy2KKAYsKlAAG5OMzOj88658.png

在上一节中,我们发现一个单一的页面很快就会变得很有局限性。我们可以增加页面的大小,但即使这样也有局限性。这意味着我们可能需要添加额外的原理图页面,但这并不是KiCads的强项之一。我们可以在这里使用层次化图纸和全局标签达到类似的效果。

根页面是你的设计的索引页,它将所有其他页面实例化。如果你愿意的话,可以在这个根页面上添加一些文字或图画,以明确在图纸中可以找到什么。

12芯电池的层次化设计 wKgaoWcy2KKAGX-nAAPU6_kwAAs994.png 查看之前的设计,我们会发现有很多重复的内容可以放置在单独的设计模块中。这样做将使我们的原理图在 KiCad 中更易于阅读和维护。上图中黄色部分展示的是这些原理图页面符的子图纸内容。对于单页图纸来说,内容并不多。 在这种情况下,我们可以多次实例化同一张子原理图。可以通过复制原理图页面符,或者创建一个新的页面符并指定同样的子原理图来实现这一目的。 现在,如果您修改这个子电路图的一部分,那么变更将传播到所有其他实例。作为测试,你可以尝试更改其中一个电阻器的值并检查它在其他实例中是否发生变化。实例之间唯一独立的是位号符。

在层次化设计的工作流程中,也可以拥有仅实例化一次的图纸。如下图所示,主机接口和菊花链过滤器表仅实例化一次;而每个电池单元都实例化了6次:

wKgaoWcy2KKAGJ3EAAOBMyQxZZQ860.png

上图中的层次化设计可以非常清晰地查看、理解设计意图及每个功能模块的定义。

小结

本文介绍了扁平化设计、层次化设计的概念并给出了3个实例。对于复杂的设计,建议使用层次化设计,因为这样可以使图纸更容易被读懂,也可以让设计更清晰,且支持模块的复用。

下一章中,我们会继续介绍层次化设计中的一些注意点,以及如何在KiCad中创建层次化设计。

wKgaoWcy2KKAEhsCAABCFfRdHrA549.jpg

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • KiCAD
    +关注

    关注

    4

    文章

    105

    浏览量

    8693
收藏 人收藏

    评论

    相关推荐

    关于层次符号的管脚的一个疑问

    用PADS Logic画原理图的时候,创建了一个MCU模块的层次符号,如下图。想把P46连接到键盘模块的PS2_DAT管脚上,于是把与P46连接的网络改成PS2_DAT,结果奇怪的
    发表于 03-08 12:22

    【GoKit试用体验】+Labview扁平化设计(win8还是IOS?)-实时显示Gokit的数据

    1.首界面 看一下扁平化效果还可以吧?2.什么?灯已经可以控制了 (远程还是本地?往下看)3.小心了,有人来了.4.风机也可以动了啊???电机还可以正反转的哦5.RGB也可以变色了用LABVIEW做了一个扁平化的显示界面,看着挺舒服的,能实时显示Gokit的所有数据!
    发表于 07-10 17:28

    Labview扁平化设计(win8还是IOS?)-实时显示互联网的数据

    功能:1.可以以转盘的形式实时显示温度和湿度的值,并且带有数字显示;2.灯泡的颜色是可变的,可以显示任意设定的灯的颜色;3.电机的旋转方向可控,电机的转速可调;1.首界面 看一下扁平化效果还可以吧?2.
    发表于 07-10 20:25

    能不能设计AC220V转DC5V1A,扁平化,小体积的恒压电源?

    能不能设计AC220V转DC5V1A,扁平化,小体积的恒压电源?大侠请联系,qq49646588
    发表于 01-20 17:13

    【AD问答 11】 怎么创建层次原理图形式

    。待相关的子电路完成后,再将它们组合起来继续处理。最后,完成完整电路。[hide]多页原理图绘制方法采用垂直分割,而此处的模块也可能是由几个更基础的模块构成,一路延续下去,就形成金字塔型的层次
    发表于 03-13 11:13

    Altium如何创建层次原理图形式

    多页原理图绘制方法:采用垂直分割,而此处的模块也可能是由几个更基础的模块构成,一路延续下去,就形成金字塔型的层次结构。如下图: 在AltiumDesigner里面的形式如下图: Sh
    发表于 09-06 15:48

    扁平化图形界面示例V1.0---鼠标左键按住绿色空白区域可拖动窗口位置

    扁平化图形界面示例V1.0---鼠标左键按住绿色空白区域可拖动窗口位置
    发表于 12-03 17:13

    层次原理图设计

    4.1 层次原理图的设计概念4.2 层次原理图结构4.3 层次
    发表于 08-18 08:39 0次下载

    LabVIEW前面板JKI扁平化控件的详细资料概述

    本文档的主要内容介绍的是LabVIEW前面板JKI扁平化控件的详细资料概述
    发表于 06-13 08:00 107次下载
    LabVIEW前面板JKI<b class='flag-5'>扁平化</b>控件的详细资料概述

    捷通华声应用AI技术,实现企业服务门户智能扁平化

    从原来复杂的按键、多层选项,到智能语音交互、一键直达业务节点,智能语音导航不但创造了更便捷的用户体验,也有效减少了企业的人工服务成本。捷通华声愿携手产业伙伴,共同为更多企业打造扁平化、智能的企业服务门户。
    的头像 发表于 09-05 16:48 3885次阅读

    中心or去中心,哪个更适合互联网的未来?

    随着互联网巨头的不断强大,亦即“中心”愈演愈烈之时,一些人对互联网的中心趋势表达担忧,反弹的声音也越来越大,中心和去中心究竟哪个方式
    的头像 发表于 08-15 10:29 3461次阅读

    Labview扁平化设计,实时显示Gokit的数据

    Gokit能用来做什么呢? 点亮一盏灯 ? MCU红外遥控器 ? 做个小型气象站 ?......现在, 用LabView做了一个扁平化的显示界面显示Gokit的所有数据吧。 1.首界面 看一下扁平化
    的头像 发表于 11-10 20:05 823次阅读

    Labview扁平化设计,实时显示Gokit的数据

    Gokit能用来做什么呢?点亮一盏灯?MCU红外遥控器?做个小型气象站?......现在,用LabView做了一个扁平化的显示界面显示Gokit的所有数据吧。1.首界面看一下扁平化效果还可以吧2.
    的头像 发表于 11-11 17:41 810次阅读
    Labview<b class='flag-5'>扁平化</b>设计,实时显示Gokit的数据

    层次设计中的注意事项

    “  通常来说 KiCad 更建议使用层次的设计,因为这样结构更清晰,也方便设计复用。 对于简单的系统,扁平化设计也很容易实现;但将复杂的系统设计成
    的头像 发表于 11-13 18:07 53次阅读
    <b class='flag-5'>层次</b><b class='flag-5'>化</b>设计中的注意事项

    KiCad层次原理图使用教程

    “  在 KiCad 中,多张原理图可以形成层次结构:有一个根原理图,其他作为根原理图
    的头像 发表于 11-13 18:06 97次阅读
    KiCad<b class='flag-5'>层次</b><b class='flag-5'>原理图</b>使用教程