“ 在 KiCad 中,多张原理图可以形成层次结构:有一个根原理图,其他图作为根原理图或另一个子原理图的子原理图被创建。如果需要的话,原理图可以被多次包含在一个层次结构中。 ”
简介
将原理图绘制成层次设计,可以提高原理图的可读性,减少重复绘制。
创建层次原理图是从根原理图开始的。其过程是创建一个子原理图,然后在子原理图中绘制电路,并在原理图之间进行必要的电气连接。可以使用层次引脚和标签为子原理图和父原理图的网络建立连接,也可以使用全局标签为层次中的任意网络建立连接。
在KiCad的工程管理器中,无论项目中使用了几个原理图,都只会显示根原理图的名称。且在工程管理器中无法直接添加新的原理图(无论是新建还是将已有的原理图添加到工程中),这与主流的PCB设计工具不太一样,可能会给刚接触 KiCad 的工程师造成困惑:
在KiCad中,需要使用层次导航器,才可以查看项目的层级结构:
在设计中添加原理图
可以用 "添加层次原理图" 工具(快捷键 S,或右边工具栏上的按钮)在设计中添加一个子原理图。
启动该工具,然后依次在画布上点击两次,绘制子原理图页面符的左上角和右下角。绘制合适的页面符尺寸,以放下后续添加的层次引脚。
绘制完成后会弹出属性对话框,并提示输入原理图页面名称和文件名:
Sheetname:原理图页面名称必须是唯一的,因为生成网表时会使用到页面名称。例如,在原理图 sheet1 中具有局部标签 net1,则该网络在网表中的名称为 /sheet1/net1。原理图页面名称也被用来在用户界面的不同地方指代原理图,包括原理图标题栏和层次导航器。
Sheetfile:原理图文件指定将被新建或加载的原理图文件。原理图文件的路径可以是相对的或绝对的,且必须使用完整的文件名(如rams.kicad_sch)。通常最好是将子原理图文件保存在工程目录中,并使用相对路径,这样便于工程的移植。如果Sheetfile的路径中不存在同名的原理图,则会新建一个新的原理图,KiCad通过这种方式创建层次化的结构。目前KiCad还不支持扁平的工程结构,即必须使用原理图页面符才能添加一个原理图,无法直接在工程中添加原理图。
通过为多个原理图页面符指定相同的文件名,一个原理图文件可以在一个工程中被多次使用;原理图中绘制的电路将在每次使用时被实例化一次,任意实例中的任何编辑都将反映在其他实例中。 注意:原理图文件可以在多个工程之间共享,以允许在工程之间的设计复用。然而,对路径可移植性的考量,以及在编辑共享图纸时无意中改变其他工程的风险,不建议这样做。 页码:在这里是可以配置的。页码显示在原理图标题栏及层次导航器中。在层次导航器中,原理图按页码顺序排序。 除此之外,还有几个图形选项可用。边框宽度设置图纸形状周围的边框线条宽度。边框颜色和背景填充分别设置图纸形状的边界和填充的颜色。如果没有设置颜色,就会显示一个棋盘式的色块,并使用颜色主题的默认值。
原理图页支持任意自定义字段,可以分别使用以下按钮添加和删除。
如果勾选“显示”框,可以选择在原理图页面符上显示字段值。并且可以使用文本变量从图纸内部或其他图纸字段中访问它们。
选中原理图页面符并使用快捷键 E,或者通过右键单击页面符并选择 属性… ,可以随时访问原理图页面符属性对话框。
原理图之间的电气连接
原理图之间的电气连接是通过 网络标签 进行的。在 KiCad 中,有几种标签,每种都有不同的连接范围。
局部标签 只在某个原理图内部有效。因此,局部标签不能用于不同原理图之间的连接。
全局标签 在所有的原理图中有效,无论是哪个子原理图。
层次化标签 连接到父原理图中 *层次原理图引脚* 。层次化设计依靠层次化标签和层次原理图引脚来实现父原理图和子原理图之间的连接;你可以把层次原理图引脚看成是父原理图与子原理图的接口。
注意:
如果在同一个原理图页面,无论标签类型如何,具有相同名称的标签将被连接。
隐藏电源引脚也可以被认为是全局标签,因为它们可以连接到原理图层次结构中的任何地方。
层次原理图引脚
原理图页面符绘制完成之后,可以使用右侧工具栏中的 “导入层次原理图引脚” 命令导入图框引脚。如果点击后没有反应,可能是因为原理图页面符对应的子原理图中没有“层次化标签”。
在子原理图内放置层次标签后,可以在父原理图内的子原理图符号上添加匹配的层次原理图引脚。然后,你可以用导线、标签及总线与层次原理图引脚进行连接。原理图页面符中的层次原理图引脚与子原理图中匹配的层次化标签相连。
注意:在原理图页面符中导入相应的层次原理图引脚之前,必须先在子原理图中定义层次化标签。
对于子原理图中的每一个层次化标签,可以通过点击右侧工具栏中的按钮,然后点击原理图页面符,将相应的层次化标签导入原理图页面符中。第一个与层次化标签匹配的层次化引脚将附在光标上,可以将它放在原理图页面符边界的任何地方。再次点击该工具将继续导入更多的层次原理图引脚,直到没有更多的层次化标签需要从子原理图中导入。层次原理图引脚也可以通过在原理图页面符的右键菜单中选择 导入层次原理图引脚 命令来导入。
你可以在原理图页面引脚属性对话框中编辑页面引脚的属性。通过双击原理图页面引脚,或选择页面引脚并使用快捷键 E,或者右击原理图页面引脚并选择
属性… 来打开这个对话框。
原理图页面引脚的 名称 可以在文本框中编辑,也可以从子原理图的层次化标签的下拉列表中选择。原理图页面引脚的名称必须与子原理图中相应的层次化标签相匹配,所以如果页面引脚的名称被改变,标签也必须改变。
形状区域可以改变页面引脚的形状,但没有电气效果。它可以被设置为输入、输出、双向、三态或无源。引脚的字体、文本大小、颜色和强调(粗体或斜体)也可以被改变。
层次化设计实例
层次化设计可以被归入几个类别中的一个:
标准层次化:每张原理图只使用一次,层次结构清洗。
原理图复用(多通道):一些原理图被多次使用。
扁平化:标准层次结构的一个子案例,在子原理图和其父原理图之间没有连接。扁平的层次结构可以用来表示一种非层次结构设计。
每种层次结构模型都可能是有用的;最合适的模型取决于设计需求。
标准层次结构
典型的标准层次结构的例子是 KiCad 包含的 video 演示工程。根原理图包含七个独特的子原理图,每个子原理图都有层次化标签和原理图页面引脚,将子原理图与根原理图相互连接。
原理图复用(多通道)
complex_hierarchy 演示工程是一个原理图复用的层次结构的例子。根原理图包含两个原理图页面符,它们都指向同一个原理图文件(ampli_ht.kicad_sch)。这使得设计中包含了同一个放大器电路的两个副本。尽管这两个原理图页面符指向同一个文件名,但原理图的名称是唯一的(ampli_ht_vertical和ampli_ht_horizontal)。在每个子原理图内,除了位号外,其他的电路都是相同的,而位号也是唯一的。
这个工程不包含原理图层次引脚连接。根原理图和子原理图之间的唯一连接是用电源符号进行的全局连接。如果设计需要,复用的层次结构中的原理图可以包括原理图层次引脚的连接。
扁平化层次结构 flat_hierarchy 演示工程是一个扁平化层次结构的例子。根原理图包含两个不同的原理图页面符,没有层次化原理图引脚。在这个工程中,根原理图除了容纳子原理图外没有任何作用,子原理图只是作为原理图中的附加页使用。
注意:这是在 KiCad 中创建多页原理图的最简单方法。
结束语 KiCad支持层次化的原理图设计,包括标准的层次设计及多通道的复用方式。但目前版本不支持直接创建多页原理图,只能通过扁平化层次结构实现这一需求。 合理的使用层次结构,可以使设计结构清晰,并实现图纸的高效复用。
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !