输入逻辑系统设计
先进的电子产品设计通常由多个PCB设计组成,这些设计相互连接,形成完整的功能系统。从带有主板和前面板LCD模块的设计,到带有插卡的复杂有源背板系统,都是作为多板设计系统来实现的。
这需要一个高水平的设计系统,能够在电气上和物理上连接多个“子”PCB设计,同时保持其引脚和网络连接的完整性。Altium Designer以专用的多板设计环境形式支持集成系统级设计,该环境兼具系统的逻辑设计(原理图)和物理设计(PCB)。
在Altium Designer中,系统级多板设计由专门的多板项目类型(*.PrjMbd)及其组成的基于原理图的逻辑设计文档(*.MbsDoc)和基于物理PCB的文档(*.MbaDoc)来承载。这些文件类型将现有的Altium Designer项目设计带入多板设计环境。在这里,它们作为完整的系统相互连接、编辑和检查。
从子PCB项目设计中创建多板系统原理图设计的基本步骤为:
- 创建Altium Designer多板项目,并在项目中添加一个多板原理图文档。
- 在原理图中放置图块(模块),逻辑地表示子项目。
- 将每个模块链接到适当的子项目。
- 将子项目的连接数据导入系统设计中。
- 添加模块之间的连接以创建逻辑系统设计。
启用多板设计的PCB项目
Altium Designer PCB 项目代表多板系统设计中的子板设计,将包含特定连接,例如边缘连接器或插头/插座,这些连接作为系统设计中其他 PCB 的电气和物理接口。
这些连接和它们相关的电气网络将由多板原理图(逻辑)设计文件检测和处理,从而建立系统级设计的板间连接。这一功能通过PCB项目连接器的特定元件参数实现——一个以连接器为属性值的系统参数。
对于PCB项目设计中用于系统级互连的连接器,选择连接器元件,然后在属性面板的参数标签下添加特殊元件参数。
多板设计项目
Altium Designer的系统级设计在多板项目中形成,与其他项目类型一样,多板项目通过菜单“文件” » “新建” » “项目” - 选择“多板设计项目”选项创建。您也可以选择“文件” » “新建” »“项目”选项,打开“新建项目”对话框,查看高级项目创建选项,如托管和VCS项目,以及自动创建指定的主机文件夹。
多板项目的核心设计元素是在多板原理图文件(*.MbsDoc)中开发的逻辑连接设计。如需在“项目”面板上添加此类文件类型,请右键单击项目条目,从上下文菜单中选择“添加新的到项目” » “多板原理图”,或者从主菜单中选择 “文件” » “新建” » “多板原理图”。
多板原理图设计
要建立构成多板系统设计的PCB项目连接,请在原理图上放置代表块(模块),并使用虚拟连接和/或导线将其外部连接器(入口)连接在一起。
代表子PCB项目设计的模块可以通过“放置” » “模块”菜单放置在工作区,或者通过选择编辑器活动栏中的模块按钮()——见下文。
Select a placed Module and use the Properties panel to define its Designator and Title, and also the source PCB design project the Module is linked to. The Source options may be set to a Local or Server based Managed project, and the desired board design within that project specified (Assembly/Board). 选择一个已放置的模块,并使用属性面板定义其标识符和标题,以及该模块所链接的源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”栏中包括其“条目”名称,以及两端的“引脚”和“网络”。
编辑连接
子项目模块之间的连接不一定是Pin脚对Pin脚的匹配,特别是当一个连接器被分割成不同部分,连接到不同的PCB模块时。
要编辑或纠正模块互连之间的引脚/网络匹配,请在工作区选择“连接”,然后根据需要在属性面板的“连接”列表条目中调整“From/To”分配。
使用“From”或“To”下拉列表选择一个新的网络分配,在模块与模块的连接中,通过该单独连接或导线,形成不同的端到端信号关系。
连接管理器
多板设计中的整体连接建立后,详情将显示在编辑器的“连接管理器”对话框中(“设计” » “连接管理器”)。
这个对话框列出了所有的网络/引脚分配,根据其上级连接标识符和类型(导线、直连等)分组,并包括其系统设计ID和网名,以及它们的“From”和“To”引脚/网络连接。使用此对话框的选项,在列表中添加字面引脚连接详情。
对话框下方的冲突解决区域显示在设计更新期间当前多板系统设计和源(子)项目之间的任何连接冲突,如下所述。
系统设计更新
在多板系统设计的过程中,很可能也会开发源子项目,而这些变化需要写入(同步到)系统设计中。这个更新过程通过工程变化列表(ECO)将子设计重新导入多板设计空间中。
使用“设计” » “从子项目导入”命令来导入系统设计中所有子项目的变化,或者使用“设计” » “从选定子项目导入”来重新导入当前在工作区选定的项目模块的连接数据。您也可以单击模块的右键菜单来使用这些命令。
已执行的工程变化列表将记录当前系统设计连接性和从子项目中导入的连接数据之间的差异。这些信息将显示在“连接管理器”对话框(“设计” » “连接管理器”)中,“连接管理器”也可用来处理或拒绝来自子项目的更新连接数据。
Resolve Conflicts 解决冲突
The Connection Manager dialog listing will highlight any connections that are considered as in Conflict, or in practice, any imported connection update that does not agree with the system design editor’s existing connectivity data map. Select a highlighted Net entry in the list to see a graphic representation of the Conflict and to access a range of button options that can be used to resolve it. “连接管理器”对话列表将高亮显示被认为是冲突的连接,或者导入的连接更新与系统设计编辑器的现有连接数据图不一致的实际情况。在列表中选择高亮显示的网络条目,可以看到冲突的图形表示,并访问一系列可用于解决冲突的按钮选项。
在连接管理器列表中高亮显示的网络信息代表了拟议变更。在这里的示例中,子项目(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号引脚之间。
When a conflict resolution option has been selected, an affirmative answer in the following Confirmation dialog will cause the conflict resolution action to be applied to all conflicts of the same type. 当选择冲突解决选项后,在下面“确认”对话框中的肯定回答将导致冲突解决行为被应用到所有相同类型的冲突。
更正后的网络分配将以绿色高亮显示,并反映在对话框下部的连接图形中。选择按钮,将更新后的分配应用到多板系统设计中。
“冲突解决”变更应用后,当在系统设计工作区选择相关连接时,可以在属性面板中检查这些更改。
在以下显示的属性面板图像中,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号引脚将被交换。
其他的检测和冲突解决的更改,如不匹配的网络名称,通过直接更新子项目中的目标进行同步。