Altium Designer Documentation

Status message

Altium Designer 18.1版本现已翻译至中文 跳转至中文界面

输入逻辑系统设计

Created: December 22, 2021 | Updated: February 18, 2022
您当前阅读的版本为21。 关于最新版本,请参阅: 版本 23 的 输入逻辑系统设计
All Contents

先进的电子产品设计通常由多个PCB设计组成,这些设计相互连接,形成完整的功能系统。从带有主板和前面板LCD模块的设计,到带有插卡的复杂有源背板系统,都是作为多板设计系统来实现的。

这需要一个高水平的设计系统,能够在电气上和物理上连接多个“子”PCB设计,同时保持其引脚和网络连接的完整性。Altium Designer以专用的多板设计环境形式支持集成系统级设计,该环境兼具系统的逻辑设计(原理图)和物理设计(PCB)。

在Altium Designer中,系统级多板设计由专门的多板项目类型(*.PrjMbd)及其组成的基于原理图的逻辑设计文档(*.MbsDoc)和基于物理PCB的文档(*.MbaDoc)来承载。这些文件类型将现有的Altium Designer项目设计带入多板设计环境。在这里,它们作为完整的系统相互连接、编辑和检查。

从子PCB项目设计中创建多板系统原理图设计的基本步骤为:

  1. 创建Altium Designer多板项目,并在项目中添加一个多板原理图文档。
  2. 在原理图中放置图块(模块),逻辑地表示子项目。
  3. 将每个模块链接到适当的子项目。
  4. 将子项目的连接数据导入系统设计中。
  5. 添加模块之间的连接以创建逻辑系统设计。
多板原理图文件中逻辑系统设计的物理对应物是多板装配文件,它由多板项目中导入的PCB数据填充。多板系统设计原理图中的每个PCB项目模块都由相应多板装配文件中的物理PCB来表示。

- 如需了解创建和使用多板装配的信息,请查看多板装配文档

启用多板设计的PCB项目

Altium Designer PCB 项目代表多板系统设计中的子板设计,将包含特定连接,例如边缘连接器或插头/插座,这些连接作为系统设计中其他 PCB 的电气和物理接口。

这些连接和它们相关的电气网络将由多板原理图(逻辑)设计文件检测和处理,从而建立系统级设计的板间连接。这一功能通过PCB项目连接器的特定元件参数实现——一个以连接器为属性值的系统参数。

对于PCB项目设计中用于系统级互连的连接器,选择连接器元件,然后在属性面板的参数标签下添加特殊元件参数。

多板设计项目

Altium Designer的系统级设计在多板项目中形成,与其他项目类型一样,多板项目通过菜单“文件” » “新建” » “项目” - 选择“多板设计项目”选项创建。您也可以选择“文件” » “新建” »“项目”选项,打开“新建项目”对话框,查看高级项目创建选项,如托管和VCS项目,以及自动创建指定的主机文件夹。

多板项目的核心设计元素是在多板原理图文件(*.MbsDoc)中开发的逻辑连接设计。如需在“项目”面板上添加此类文件类型,请右键单击项目条目,从上下文菜单中选择“添加新的到项目” » “多板原理图”,或者从主菜单中选择 “文件” » “新建” » “多板原理图”。

对于多板项目及其(打开的)原理图文件,右键单击在“项目”面板上的条目,选择“文件” » “另存为”选项,对文件进行相应的重命名。

多板原理图设计

要建立构成多板系统设计的PCB项目连接,请在原理图上放置代表块(模块),并使用虚拟连接和/或导线将其外部连接器(入口)连接在一起。

代表子PCB项目设计的模块可以通过“放置” » “模块”菜单放置在工作区,或者通过选择编辑器活动栏中的模块按钮()——见下文。

Altium Designer在每个编辑器的工作区顶部都有一个活动栏,提供对象放置命令的快捷按钮。

在按钮的下部区域有一个小三角形,表示有下拉菜单可用于访问其他相关命令。单击并按住按钮以打开菜单。

为辅助重复放置对象的动作,按钮图标和功能将自动调整,显示最后使用的菜单选项。

双击放置的模块,并使用属性面板来定义其标识符标题,以及模块链接到的源PCB设计项目。使用字段相关联的字段设置为本地或基于服务器的托管项目,并指定该项目中所需的板设计(装配体/电路板)。

根据完整系统设计的需要,在多板原理图设计中添加更多的模块及其子项目链接。

要交叉探测并打开一个模块的源项目原理图或PCB,请在工作区选择该模块并使用“设计” » “交叉探测原理图/PCB ”命令。您也可以在模块的右键菜单上使用这些命令。

通过使用“设计” » “从子项目中导入”命令或“设计” » “从选定的子项目中导入”命令导入项目数据,模块将从其链接的PCB项目设计中填充设计数据。最重要的是,这将处理子项目中附有特殊System:Connector参数的连接器的Pin和Net数据。

选中在工作区中的条目图形,可在属性面板中看到详情,如连接器引脚/网线。在连接到另一个模块上的条目之前,面板上的条目部件/引脚列表显示连接器和引脚未配对。

连接子项目

要完成创建和连接子项目模块的过程,请在模块条目之间放置一个逻辑连接

在编辑器的“放置”菜单或“活动栏”(位于工作区顶部)中可找到各种连接类型,包括直接联接式连接器和导线连接器。单击并拖拽模块入口点之间的连接线,创建逻辑连接。注意,系统原理图编辑器中的所有元素,包括条目对象,都可以拖到新的位置。

选中在工作区中的连接图形,可在属性面板中看到详情,如包含的网线和引脚连接。

项目结构

一个已建立的多板项目具有分层的文件结构,包括源文件(多板原理图和装配体),以及与原理图系统设计中的模块相连的子PCB子项目。当系统设计模块链接到该外部项目时,子项目结构会立即被添加到多板项目中。

项目面板中展开项目结构,显示多板项目中的组成文件以及子项目。编译子项目,其核心元素如元件和网络数据即可填充面板。要编译项目,在项目面板树上右键单击其名称,选择编译PCB项目[...名称...]命令。

使用连接

原理图中模块之间建立的连接最终代表了整个系统设计中子项目连接器、连接器引脚和网络之间的连接。多板原理图编辑环境提供了额外的功能,可用于在整个产品设计过程中修改、检查和更新这种连接。

分割连接

在设计中,如果一个子项目连接器服务于一个以上的连接项目,可以使用多板原理图编辑器的分割功能对源连接器进行逻辑分割(引脚/网络)——在实际情况中,一个模块与另外两个模块连接。

举例说明,一块PCB上的单一排针插头要容纳两个较小的排针插座,而这两个插座又连接到另外两块PCB上——来自单一(20针)连接的分段信号被分配到一块PCB(10针)连接和另一块PCB(10针)连接。

要分割连接,选择模块,然后在属性面板中选择条目。选中按钮,在下面的“分割条目”对话框中,勾选您希望将其分离(分割)到另一个条目的引脚/网络组合。使用按钮来确认选择。

编辑器将自动为分离的引脚/网络创建一个新的模块条目,然后您可以根据需要将其连接到不同的模块。

在这一示例中,我们要把模块M1上的条目HDR6连接到模块M2(面板液晶显示器)和模块M3(电源板)上。HDR6入口连接已被分割,逻辑分离出将连接到电源模块M3的HDR3上的三个电源网络。这在M1上创建出一个额外的HDR6条目(HDR6 [1-2,15]),只为M3提供三个电源连接,而原来的HDR6条目被自动重新分配以提供其余17个连接,最终连接到LCD模块M2的HDR1。

选中在工作区中的连接,可在属性面板中查看构成网络。在这里,(分割的)HDR6网络的一个部分通过电线连接W-PS与HDR3相连,代表主板(M1)和电源(M3)之间的三条电源线。如下图所示,在面板的“连接”区域中列出的每条虚拟导线也在“From”和“To”栏中包括其“条目”名称,以及两端的“引脚”和“网络”。

请注意,为了方便起见,您可以编辑连接列表中每个条目的导线名称(#)和本地网络名称(Net),这些名称是多板系统设计中的本地名称,不影响源子项目。

编辑连接

子项目模块之间的连接不一定是Pin脚对Pin脚的匹配,特别是当一个连接器被分割成不同部分,连接到不同的PCB模块时。

要编辑或纠正模块互连之间的引脚/网络匹配,请在工作区选择“连接”,然后根据需要在属性面板的“连接”列表条目中调整“From/To”分配。

使用“From”“To”下拉列表选择一个新的网络分配,在模块与模块的连接中,通过该单独连接或导线,形成不同的端到端信号关系。

连接管理器

多板设计中的整体连接建立后,详情将显示在编辑器的“连接管理器”对话框中(“设计” » “连接管理器”)。

这个对话框列出了所有的网络/引脚分配,根据其上级连接标识符和类型(导线、直连等)分组,并包括其系统设计ID和网名,以及它们的“From”和“To”引脚/网络连接。使用对话框的选项,在列表中添加字面引脚连接详情。

对话框下方的冲突解决区域显示在设计更新期间当前多板系统设计和源(子)项目之间的任何连接冲突,如下所述。

系统设计更新

在多板系统设计的过程中,很可能也会开发源子项目,而这些变化需要写入(同步到)系统设计中。这个更新过程通过工程变化列表(ECO)将子设计重新导入多板设计空间中。

使用“设计” » “从子项目导入”命令来导入系统设计中所有子项目的变化,或者使用“设计” » “从选定子项目导入”来重新导入当前在工作区选定的项目模块的连接数据。您也可以单击模块的右键设计上下文菜单来使用这些命令。

已执行的工程变化列表将记录当前系统设计连接性和从子项目中导入的连接数据之间的差异。这些信息将显示在“连接管理器”对话框(“设计” » “连接管理器”)中,“连接管理器”也可用来处理或拒绝来自子项目的更新连接数据。

解决冲突

“连接管理器”对话列表将高亮显示被认为是冲突的连接,或者导入的连接更新与系统设计编辑器的现有连接数据图不一致的实际情况。在列表中选择高亮显示的网络条目,可以看到冲突的图形表示,并访问一系列可用于解决冲突的按钮选项。

在连接管理器列表中高亮显示的网络信息代表了拟议变更。在这里的示例中,子项目(LCD模块)中HDR1的4号和5号引脚上的网络顺序不同(实际已交换)。

连接管理器将解释这一变化,并在冲突解决图形上提供适当的解决方式按钮。这些选项包括:

  • 确认——模块M2中HDR1连接器的4号和5号引脚的网络将在系统设计中变更,以符合对话框中更新的分配(如高亮显示)。
  • 恢复——模块M2中HDR1的当前网络与引脚的关系将被保留。系统设计将忽略建议的更改。请注意,此时系统设计与子设计中的网络分配不一致。
  • 交换引脚——连接另一端(M1上的HDR6,主电路板)的引脚/网络分配将被改变,保持两个模块(M1和M2)之间的正确网络关系。
  • 交换导线——连接M2上HDR1和M1上的HDR6的虚拟导线将被改变(在这一示例中被交换)以纠正网络连接冲突,而连接器的引脚/网络分配不会改变。在这里,W2线将连接在HDR6的4号引脚和HDR1的5号引脚之间,W3连接在HDR6的5号引脚和HDR1的4号引脚之间。
可用的冲突解决选项将取决于所选的连接类型。例如,“交换导线”选项将不支持模块条目之间的直接连接,即印刷电路板直接插在一起,而不是用导线连接。

当选择冲突解决选项后,在下面“确认”对话框中的肯定回答将导致冲突解决行为被应用到所有相同类型的冲突。

更正后的网络分配将以绿色高亮显示,并反映在对话框下部的连接图形中。选择按钮,将更新后的分配应用到多板系统设计中。

注意,在解决冲突时,对话框中显示的网络名称值不会改变,因为它们代表本地系统设计中的网络名称。名称在模块条目之间最初放置连接时自动创建,并且可以在属性面板中编辑该连接(或导线等)并随时更改。

“冲突解决”变更应用后,当在系统设计工作区选择相关连接时,可以在属性面板中检查这些更改。

在以下显示的属性面板图像中,W-LCD连接示例冲突通过交换导线选项解决。这样可以有效地交叉W2和W3导线,从而保持正确的网络连续性,也就是说,项目模块之间的复位和读/写网络是匹配的(分别为LCD_RW# → RSW和LCD_RS# → RS)。

更新子项目

为了保持多板原理图设计和所包含子PCB项目之间的同步性,系统设计者支持引脚/网络数据的双向交换。如上所述,连接数据从子项目中导入系统设计,系统设计的连接数据可以通过子项目更新功能——“设计“ » “更新子项目”传回源PCB项目。更新单独的子项目,选择其相关的模块,并选择“设计” » “更新选定的子项目”命令(您也可以在模块的右键菜单上的设计上下文使用这些命令)。

当命令运行时,设计编辑器将系统设计中的连接性数据与子项目中的数据进行比较。检测到的差异将在接下来的工程变化列表(ECO)对话框中列为拟议变更,或者“比较器”警报对话框将显示没有任何差异——也就是说,不需要变更来维持系统设计与子项目的同步性。

在这一示例中检测到的差异,在LCD板子项目(系统设计中的M2)中,RS和RSW网络在连接器HDR1上被交换,ECO建议在源项目中进行引脚交换以同步网络。

当ECO被执行时(在可选验证后),LCD模块子项目中的HDR1连接器的引脚被交换。

请注意,更新子项目的过程通常在连接管理器对话框中解决任何冲突之后进行,以便将子项目同步到系统设计的正确状态。

在以上示例中,子项目引脚/网络关系已经恢复到其变化之前的状态。这相当于改变后的子项目数据已经被导入到系统设计中,并且连接冲突已经用“恢复”选项解决。如果使用“交换引脚”选项来解决冲突,主板项目中HDR6连接器的4号和5号引脚将被交换。

其他的检测和冲突解决的更改,如不匹配的网络名称,通过直接更新子项目中的目标进行同步。

Found an issue with this document? Highlight the area, then use Ctrl+Enter to report it.

联系我们

联系原厂或当地办公室

We're sorry to hear the article wasn't helpful to you.
Could you take a moment to tell us why?
200 characters remaining
You are reporting an issue with the following selected text
and/or image within the active document: