3.3 层次结构原理图的设计方法
基于上述设计理念,层次电路原理图的具体实现方法有两种:一种是自上而下的设计方法;另一种是自下而上的设计方法。
自上而下的设计方法是在绘制电路原理图之前,要求设计者对这个设计有一个整体的把握。把整个电路设计分成多个模块,确定每个模块的设计内容,然后对每一模块进行详细的设计。在C语言中,这种设计方法被称为自顶向下,逐步细化。该设计方法要求设计者在绘制原理图之前就对系统有比较深入的了解,对电路的模块划分比较清楚。
自下而上的设计方法是设计者先绘制子原理图,根据子原理图生成原理图符号,进而生成上层原理图,最后完成整个设计。这种方法比较适用于对整个设计不是非常熟悉的用户,这也是一种适合初学者选择的设计方法。
3.3.1 自上而下的层次原理图设计
本节以“基于通用串行数据总线USB的数据采集系统”的电路设计为例,详细介绍自上而下层次电路的具体设计过程。
采用层次电路的设计方法,将实际的总体电路按照电路模块的划分原则划分为4个电路模块,即CPU模块和三路传感器模块Sensor1、Sensor2和Sensor3。首先绘制出层次原理图中的顶层原理图,再分别绘制出每一电路模块的具体原理图。
自上而下绘制层次原理图的操作步骤如下。
1)启动Altium Designer 18,选择“File”→“新的”→“项目”→“PCB工程”命令,则在“Projects”面板中出现了新建的项目文件,另存为“USB采集系统.PrjPCB”。
2)在项目文件“USB采集系统.PrjPCB”上右击,在弹出的快捷菜单中选择“添加新的到工程”→“Schematic”命令,在该项目文件中新建一个电路原理图文件,另存为“Mother.SchDoc”,并完成图纸相关参数的设置。
3)选择“放置”→“页面符”命令,或者单击“布线”工具栏中的“放置页面符”按钮,光标将变为十字形状,并带有一个页面符标志。
4)移动鼠标指针到需要放置页面符的地方,单击确定页面符的一个顶点,移动鼠标指针到合适的位置再次单击确定其对角顶点,即可完成页面符的放置。
5)光标仍处于放置页面符的状态,重复上一步操作即可放置其他页面符。右击或者按〈Esc〉键即可退出操作。
6)设置页面符的属性。双击需要设置属性的页面符或在绘制状态时按〈Tab〉键,系统将弹出相应的“Properties”面板,如图3-3所示。页面符属性的主要参数含义如下。
图3-3 “Properties”面板
① “Properties”选项组。
● “Designator”文本框:用于设置页面符的名称。这里可输入Modulator(调制器)。
● “File Name”文本框:用于显示该页面符所代表的下层原理图的文件名。
● “Bus Text Style”下拉列表:用于设置线束连接器中文本显示类型。单击该下拉列表框的级联按钮,有两个选项供选择:Full(全程)和Prefix(前缀)。
● “Line Style”下拉列表:用于设置页面符边框的宽度,有4个选项供选择:Smallest、Small、Medium和Large。
● “Fill Color”复选框:若选中该复选框,则页面符内部被填充。否则,页面符是透明的。
② “Source”选项组。
“File Name”文本框:用于设置该页面符所代表的下层原理图的文件名,输入Modulator.schdoc(调制器电路)。
③ “Sheet Entries”选项组。
在该选项组中可以为页面符添加、删除和编辑与其余元器件连接的图纸入口,在该选项组下进行添加图纸入口,与工具栏中的“添加图纸入口”按钮作用相同。
单击“Add”按钮,在该面板中自动添加图纸入口,如图3-4所示。
图3-4 “Sheet Entries”选项组
● :用于设置页面符文字的字体类型、大小和颜色,同时设置字体添加加粗、斜体、下划线和横线等效果,如图3-5所示。
● “Other”按钮:用于设置页面符中图纸入口的电气类型、边框的颜色和填充颜色。如图3-6所示。
图3-5 文字设置
图3-6 “其余”选项
④ “Parameters”选项卡。
单击图3-3中的“Parameters”标签,打开“Parameters”选项卡,如图3-7所示。在该选项卡中可以为页面符的图纸符号添加、删除和编辑标注文字。单击“Add”按钮,添加参数显示如图3-8所示。
图3-7 “Parameters”选项卡
图3-8 设置参数属性
在该面板中可以设置标注文字的“名称”“值”“位置”“颜色”“字体”“定位”以及类型等。
单击按钮,显示“Value”值,单击按钮,显示“Name”。
按照上述方法放置另外3个原理图符号U-Sensor2、U-Sensor3和U-CPU,并设置好相应的属性,如图3-9所示。
图3-9 设置好的4个原理图符号
7)选择“放置”→“添加图纸入口”命令,或者单击“布线”工具栏中的“放置图纸入口”按钮,光标将变为十字形状。
8)移动鼠标指针到页面符内部,选择放置图纸入口的位置,单击会出现一个随光标移动的图纸入口,但只其能在原理图符号内部的边框上移动,在适当的位置再次单击即可完成图纸入口的放置。此时,光标仍处于放置图纸入口的状态,可继续放置其他的图纸入口。右击或者按〈Esc〉键即可退出操作。
9)设置图纸入口的属性。根据层次电路图的设计要求,在顶层原理图中,每一个页面符的所有图纸入口都应该与其所代表的子原理图上的一个电路输入、输出端口相对应,包括端口名称及接口形式等。因此,需要对图纸入口的属性加以设置。双击需要设置属性的图纸入口或在绘制状态时按〈Tab〉键,系统将弹出相应的“Properties”面板,如图3-10所示。
图3-10 “Properties”面板
图纸入口属性的主要参数含义如下。
● “Name”文本框:用于设置图纸入口名称。这是图纸入口最重要的属性之一,具有相同名称的图纸入口在电气上是连通的。
● “I/O Type”下拉列表:用于设置图纸入口的电气特性,对后面的电气规则检查提供一定的依据。有Unspecified(未指明或不确定)、Output(输出)、Input(输入)和Bidirectional(双向型)4种类型,如图3-11所示。
● “Harness Type”下拉列表:设置线束的类型。
● “Font”下拉列表:用于设置端口名称的字体类型、字体大小和字体颜色,同时设置字体添加加粗、斜体、下划线和横线等效果。
● “Border Color”颜色框:用于设置端口边界的颜色。
● “Fill Color”颜色框:用于设置端口内的填充颜色。
● “Kind”下拉列表:用于设置图纸入口的箭头类型。单击下拉列表框的级联按钮,有4个选项供选择,如图3-12所示。
图3-11 输入/输出端口的类型
图3-12 箭头类型
10)按照同样的方法,把所有的图纸入口放在合适的位置处,并一一完成属性设置。
11)使用导线或总线把每一个原理图符号上的相应图纸入口连接起来,并放置好接地符号,完成顶层原理图的绘制,如图3-13所示。
图3-13 顶层原理图
根据顶层原理图中的原理图符号,把与之相对应的子原理图分别绘制出来,这一过程就是使用原理图符号来建立子原理图的过程。
12)选择“设计”→“从页面符创建图纸”命令,此时光标将变为十字形状。移动鼠标指针到原理图符号“U-CPU”内部,然后单击,系统自动生成一个新的原理图文件,名称为“CPU.SchDoc”,与相应的原理图符号所代表的子原理图文件名一致,如图3-14所示。此时可以看到,在该原理图中已经自动放置好了与4个电路端口方向一致的输入/输出端口。
13)使用普通电路原理图的绘制方法,放置各种所需的元器件并进行电气连接,完成“Cpu”子原理图的绘制,如图3-15所示。
图3-14 由原理图符号“U-CPU”建立的子原理图
图3-15 子原理图“CPU.SchDoc”
14)使用同样的方法,用顶层原理图中的另外3个原理图符号“U-Sensor1”“U-Sensor2”和“U-Sensor3”建立与其相对应的3个子原理图“Sensor1.SchDoc”“Sensor2.SchDoc”和“Sensor3.SchDoc”,并且分别绘制出来。
采用自上而下的层次电路图设计方法,完成了整个USB数据采集系统的电路原理图绘制。
3.3.2 自下而上的层次原理图设计
对于一个功能明确、结构清晰的电路系统来说,采用层次电路设计方法,使用自上而下的设计流程,能够清晰地表达出设计者的设计理念。但在有些情况下,特别是在电路的模块化设计过程中,不同电路模块的不同组合,会形成功能完全不同的电路系统。用户可以根据自己的具体设计需要,选择若干个已有的电路模块,组合产生一个符合设计要求的完整电路系统。此时,该电路系统可以使用自下而上的层次电路设计流程来完成。
下面还是以“基于通用串行数据总线USB的数据采集系统”电路设计为例,介绍自下而上层次电路的具体设计过程。自下而上绘制层次原理图的操作步骤如下。
1)启动Altium Designer 18,新建项目文件。选择“File”→“新的”→“项目”→“PCB工程”命令,则在“Projects”面板中出现了新建的项目文件,另存为“USB采集系统.PrjPCB”。
2)新建原理图文件作为子原理图。在项目文件“USB采集系统.PrjPCB”上右击,在弹出的快捷菜单中选择“添加新的到工程”→“Schematic”命令,在该项目文件中新建原理图文件,另存为“CPU.SchDoc”,并完成图纸相关参数的设置。采用同样的方法建立原理图文件“Sensor1.SchDoc”“Sensor2.SchDoc”和“Sensor3.SchDoc”。
3)绘制各个子原理图。根据每一模块的具体功能要求,绘制电路原理图。例如,CPU模块主要完成主机与采集到的传感器信号之间的USB接口通信,这里使用带有USB接口的单片机“C8051F320”来完成。而三路传感器模块Sensor1、Sensor2和Sensor3则主要完成对三路传感器信号的放大和调制,具体绘制过程不再赘述。
4)放置各子原理图中的输入、输出端口。子原理图中的输入、输出端口是子原理图与顶层原理图之间进行电气连接的重要通道,应该根据具体设计要求进行放置。
例如,在原理图“CPU.SchDoc”中,三路传感器信号分别通过单片机P2口的3个引脚P2.1、P2.2、P2.3输入到单片机中,是原理图“CPU.SchDoc”与其他3个原理图之间的信号传递通道,所以在这3个引脚处放置了3个输入端口,名称分别为“Port1”“Port2”和“Port3”。除此之外,还放置了一个共同的接地端口“GND”。
同样地,在子原理图“Sensor1.SchDoc”信号输出端放置一个输出端口“Port1”,在子原理图“Sensor2.SchDoc”的信号输出放置一个输出端口“Port2”,在子原理图“Sensor3.SchDoc”的信号输出端放置一个输出端口“Port3”,分别与子原理图“CPU.SchDoc”中的3个输入端口相对应,并且都放置了共同的接地端口。移动鼠标指针到需要放置原理图符号的地方,单击确定原理图符号的一个顶点,移动鼠标指针到合适的位置再次单击确定其对角顶点,即可完成原理图符号的放置。放置了输入、输出端口的3个子原理图“Sensor1. SchDoc”“Sensor2.SchDoc”和“Sensor3.SchDoc”分别如图3-16~图3-18所示。
图3-16 子原理图“Sensor1.SchDoc”
图3-17 子原理图“Sensor2.SchDoc”
图3-18 子原理图“Sensor3.SchDoc”
5)在项目“USB采集系统.PrjPCB”中新建一个原理图文件“Mother1.PrjPCB”,以便进行顶层原理图的绘制。
6)打开原理图文件“Mother1.PrjPCB”,选择“设计”→“Create Sheet Symbol From Sheet”命令,系统将弹出如图3-19所示的“Choose Document to Place”对话框。
图3-19 “Choose Document to Place”对话框
在该对话框中,系统列出了同一项目中除当前原理图外的所有原理图文件,用户可以选择其中的任何一个原理图来建立原理图符号。例如,选中“CPU.SchDoc”,单击“OK”按钮,关闭该对话框。
7)此时光标变成十字形状,并带有一个原理图符号的虚影。选择适当的位置,将该原理图符号放置在顶层原理图中,如图3-20所示。该原理图符号的标识符为“U-CPU”,边缘已经放置了4个电路端口,方向与相应的子原理图中输入、输出端口一致。
8)按照同样的操作方法,由3个子原理图“Sensor1.SchDoc”“Sensor2.SchDoc”和“Sensor3.SchDoc”可以在顶层原理图中分别建立3个原理图符号“U-Sensor1”“U-Sensor2”和“U-Sensor3”,如图3-21所示。
图3-20 放置U_CPU原理图符号
图3-21 顶层原理图符号
9)设置原理图符号和电路端口的属性。由系统自动生成的原理图符号不一定完全符合设计要求,很多时候还需要进行编辑,如原理图符号的形状、大小和电路端口的位置要有利于布线连接,电路端口的属性需要重新设置等。
10)用导线或总线将原理图符号通过电路端口连接起来,并放置接地符号,完成顶层原理图的绘制,结果和图3-13完全一致。