对于夫规模的复杂系统,应该采用另外一种设计方法,即电路的模块化设计。将整体系统按照功能分解成若干个电路模块,每个电路模块能够完成一定的独立功能,具有相对的独立性,可以由不同的设计者分别绘制在不同的原理图纸上。这样,电路结构清晰,同时也便于多人共同参与设计,加快工作进程。 5.1 层次电路原理图的基本概念对应电路原理图的模块化设计,Altium Designer中提供了层次化原理图的设计方法,这种方法可以将一个庞大的系统电路作为一个整体项目来设计,而根据系统功能所划分出的若干个电路模块,则分别作为设计文件添加到该项目中。这样就把一个复杂的大型电路原理图设计变成了多个简单的小型电路原理图设计,层次清晰,设计简便。 层次电路原理图的设计理念是将实际的总体电路进行模块划分,划分的原则是每一个电路模块都应该有明确的功能特征和相对独立的结构,而且还要有简单、统一口,便于模块彼此之间的连接。 针对每一个具体的电路模块,可以分别绘制相应的电路原理图,该原理图一般称之为“子原理图”。而各个电路模块之间的连接关系则是采用一个顶层原理图来表示,顶层原理图主要由若干个方块电路即图纸符号组成,用来展示各个电路模块之间的系统连接关系,描述了整体电路的功能结构。这样,把整个系统电路分解成了顶层原理图和若干个子原理图来分别进行设计。 在层次原理图的设计过程中还需要注意一个问题。如果在对层次原理图进行编译之后“Navigator(导航)”面板中只出现一个原理图,则说明层次原理图的设计中存在着很大的问题。另外,在另一个层次原理图的工程项目中只能有一个总母图,一张原理图中的方块电路不能参考本张图纸上的其他方块电路或其上一级的原理图。 5.2 层次原理图的基本结构和组成Altium Designer系统提供的层次原理图设计功能非常强大,能够实现多层的层次化设计功能。用户可以将整个电路系统划分为若干个子系统,每一个子系统可以划分为若干个功能模块,而每一个功能模块还可以再细分为若干个基本的小模块,这样依次细分下去,就把整个系统划分成为多个层次,电路设计由繁变简。 如图所示是一个二级层次原理图的基本结构图,由顶层原理图和子原理图共同组成,是一种模块化结构。
其中,子原理图就是用来描述某一电路模块具体功能的普通电路原理图,只不过增加了一些输入/输出端口,作为与上层进行电气连接的通道口。普通电路原理图的绘制方法在前面己经学习过,主要由各种具体的元器件、导线等构成。 顶层电路图即母图的主要构成元素却不再是具体的元器件,而是代表子原理图的图纸符号。如图所示是一个采用层次结构设计时的顶层原理图。该顶层原理图主要由4个图纸符号组成,每一个图纸符号都代表一个相应的子原理图文件,共有4个子原理图。在图纸符号的内部给出了一个或多个表示连接关系的电路端口,对于这些端口,在子原理图中都有相同名称的输入/输出端口与之相对应,以便建立起不同层次间的信号通道。
图纸符号之间也是借助于电路端口,可以使用导线或总线完成连接。而且,同一个项目的所有电路原理图(包括顶层原理图和子原理图)中,相同名称的输入/输出端口和电路端口之间,在电气意义上都是相互连接的。 5.3 层次原理图的设计方法根据上面所讲的层次原理图的模块化结构,我们知道,层次电路原理图的设计实际上就是对顶层原理图和若干子原理图分别进行设计的过程。设计过程的关键在于不同层次间的信号如何正确地传递,这一点主要就是通过在顶层原理图中放置图纸符号、电路端口,而在各个子原理图中放置相同名称的输入/输出端口来实现的。 基于上述的设计理念,层次电路原理图设计的具体实现方法有两种:一种是自上而下的层次原理图设计,另一种是自下而上的层次原理图设计。 自上而下的设计思想是在绘制电路原理图之前,要求设计者对这个设计有一个整体的把握。把整个电路设计分成多个模块,确定每个模块的设计内容,然后对每一模块进行详细的设计。在C语言中,这种设计方法被称为自顶向下,逐步细化。该设计方法要求设计者在绘制原理图之前就对系统有 比较深入的了解,对于电路的模块划分比较清楚。 自下而上的设计思想则是设计者先绘制原理图子图,根据原理图子图生成方块电路图,进而生成上层原理图,最后生成整个设计。这种方法比较适用于对整个设计不是非常熟悉的用户,这也是初学者一种不错的选择方法。 5.3.1 自上而下的层次原理图设计本节以“基于通用串行数据总线USB的数据采集系统”电路设计为例,详细介绍自上而下层次电路的具体设计过程。 各种数据的采集和实时处理在科学研究及工业控制中是必不可少的。在一个实用的数据采集处理系统中,外设与主机的通信接口非常关键。一方面,接口应该简单灵活且有比较高的数据传输率;另一方面,主机能够对较大的数据量作出快速响应,并能进行实时分析和处理。采用USB接口能满足上述的要求,而且与传统的接口如PCI总线和RS-232串行总线相比,具有传输速度高,功耗低,支持即插即用,可以同时连接多个外设等优点。因此,将USB接口应用在数据采集系统中是非常适用的。 我们采用层次电路的设计方法,将实际的总体电路按照电路模块的划分原则划分为4个电路模块:CPU模块和三路传感器模块Sensor1、Sensor2、Sensor3。首先绘制出层次原理图中的顶层原理图,然后再分别绘制出每一电路模块的具体原理图。 自上而下绘制层次原理图的具体步骤如下: (1)启动Altium Designer程序。 (2)新建空白工程“USB采集系统.PrjPCB”。 (3)在项目文件“USB采集系统.PrjPCB”上右击,在弹出的快捷菜单中选择“给工程添加新的”→“Schematic(原理图)”命令,在该项目文件中新建一个电路原理图文件,另存为"Mother.SchDoc”,并完成图纸相关参数的设置。 (4)执行“放置”→“图表符”命令,或者单击“连线”工具栏中的放置图表符按钮,光标将变为十字形状,并带有一个原理图符号标志。
(5)移动光标到需要放置原理图符号的地方,单击确定原理图符号的一个顶点,移动光标到合适的位置再一次单击确定其对角顶点,即可完成原理图符号的放置。
此时放置的图纸符号并没有具体的意义,需要进行进一步设置,包括其标识符、所表示的子原理图文件及一些相关的参数等。 (6)此时,光标仍处于放置原理图符号的状态,重复步骤(5)的操作即可放置其他原理图符号。右击或者按Esc键即可退出操作。 (7)设置原理图符号的属性。双击需要设置属性的原理图符号或在绘制状态时按Tab键,系统将弹出相应的“方块符号”对话框,如图所示。原理图符号属性的主要参数含义如下。
- 位置:表示原理图符号在原理图上的X轴和Y轴坐标,可以输入数值。
- X-Size(宽度),Y-Size(高度):表示原理图符号的宽度和高度,可以输入数值。
- 板的颜色:用于设置原理图符号边框的颜色。
- 填充色:用于设置原理图符号的填充颜色。
- “Draw Solid(是否填充)”复选框:选中该复选框,则原理图符号将以Fill Color(填充颜色)中的颜色填充多边形。
- 板的宽度:用于设置原理图符号的边框粗细,包括Smallest(最小)、Small(小)、Medium(中等)和Large(大)4种线宽。
- “标识”文本框:用于输入相应原理图符号的名称。所起作用与普通电路原理图中的元件标识符相似,是层次电路图中用来表示原理图符号的唯一标志,不同的原理图符号应该有不同的标识符。在这里输入“U-Sensor1”。
- “文件名”文本框:用于输入该原理图符号所代表的下层子原理图的文件名。在这里输入“Sensor1.SchDoc”。
- “显示此处隐藏文本文件”复选框:用于确定是显示还是隐藏原理图符号的文本域。
(8)在“方块符号”对话框中,选择“参数”选项卡,如图所示,用户可以在该选项卡中执行添加、删除和编辑原理图符号等其他有关参数的操作。
单击“添加”按钮,系统将弹出如图所示的“参数属性”对话框。在该对话框中,可以设置追加的参数名称、数值等属性。
(9)在“名称”选项组的文本框中输入“Description”,选中下面的“可见的”复选框;在“值”选项组的文本框中输入“U-Sensor1”,选中下面的“可见的”复选框。单击“确定”按钮,关闭该对话框。单击“方块符号”对话框中的“确定”按钮,关闭该对话框。按照上述方法放置另外3个原理图符号U-Sensor2、U-Sensor3和U-Cpu,并设置好相应的属性,如图所示。
(10)放置好原理图符号以后,下一步就需要在上面放置电路端口。电路端口是原理图符号代表的子原理图之间所传输的信号在电气上的连接通道,应放置在原理图符号边缘的内侧。执行“放置”→“添加图纸入口”命令,或者单击“连线”工具栏中的放置图纸入口按钮,光标将变为十字形状。
(11)移动光标到原理图符号内部,选择放置电路端口的位置,单击会出现一个随光标移动的电路端口,但其只能在原理图符号内部的边框上移动,在适当的位置再次单击即可完成电路端口的放置。此时,光标仍处于放置电路端口的状态,继续放置其他的电路端口。右击或者按Esc键即可退出操作。
(12)设置电路端口的属性。根据层次电路图的设计要求,在顶层原理图中,每一个原理图符号上的所有电路端口都应该与其所代表的子原理图上的一个电路输入着输出端口相对应,包括端口名称及接口形式等。因此,需要对电路端口的属性加以设置。双击需要设置属性的电路端口或在绘制状态时按Tab键,系统将弹出相应的“方块入口”对话框,如图所示。电路端口属性的主要参数含义如下。
- 填充色:设置电路端口内部的填充颜色。
- 文本颜色:设置电路端口标注文本的颜色。
- 板的颜色:设置电路端口边框的颜色。
- 边:设置电路端口在原理图符号中的大致方位,包括Top(顶部)、Left(左侧)、Bottom(底部)和Right(右侧)4个选项。
- 类型:设置电路端口的形状。
- “I/0类型”下拉列表框:用于设置电路的端口属性,包括Unspecified(未指明)、Output(输出)、Input(输入)和Bidirectional(双向)4个选项。该下拉列表框通常与电路端口外形的设置一一对应,这样有利于直观理解。端口的属性是由I/O类型决定的,这是电路端口最重要的属性。。
- “名称”下拉列表框:设置电路端口的名称,应该与层次原理图子图中的端口名称对应,只有这样才能完成层次原理图的电气连接。
- “位置”文本框:设置电路端口的位置。该文本框的内容将根据端口移动而自动设置,用户不需要进行更改。
属性设置完毕后单击“确定”按钮关闭该对话框。 (13)按照同样的方法,把所有的电路端口放在合适的位置处,并一一完成属性设置。
(14)使用导线或总线把每一个原理图符号上的相应电路端口连接起来,并放置好接地符号,完成顶层原理图的绘制,如图所示。
根据顶层原理图中的原理图符号,把与之相对应的子原理图分别绘制出来,这一过程就是使用原理图符号来建立子原理图的过程。 (15)执行“设计”→“产生图纸”命令,此时光标将变为十字形状。移动光标到原理图符号“U-Cpu"内部,单击,系统自动生成一个新的原理图文件,名称为"Cpu.SchDoc”,与相应的原理图符号所代表的子原理图文件名一致,如图所示。此时可以看到,在该原理图中己经自动放置好了与4个电路端口方向一致的输入/输出端口。
(16)使用普通电路原理图的绘制方法,放置各种所需的元件并进行电气连接,完成“Cpu”子原理图的绘制。 (17)使用同样的方法,用顶层原理图中的另外3个原理图符号(U-Sensor1、U-Sensor2和U-Sensor3)建立与其相对应的3个子原理图(Sensor1.SchDoc、Sensor2.SchDoc和Sensor3,SchDoc),并且分别绘制出来。 至此,采用自上而下的层次电路图设计方法,完成了整个USB数据采集系统的电路原理图绘制。
|