Altium Designer 入门笔记(4)层次原理图的设计

本文详细介绍了层次原理图的设计方法,包括自上而下和自下而上的设计流程,强调了模块化设计在复杂电路系统中的重要性。通过使用层次结构,可以将大型电路分解为具有明确功能的子模块,方便管理和连接。同时,层次原理图的切换和设计表功能有助于理解和调试电路设计。
摘要由CSDN通过智能技术生成

一、电路模块化设计

在前面我们学习了一般电路原理图的基本设计方法,将整个系统的电路绘制在一张原理图纸上。这种适用于规模小,逻辑结构比较简单的系统电路设计。对于大规模的复杂系统,应该采用另外一种设计设计方法,即电路的模块化设计。

1.1 层次原理图的基本概念

层次结构电路原理图的设计理念是将实际的总体电路进行模块划分,划分的原则是每一个电路模块都应有明确的功能和相对独立的结构,而且还要有简单、统一的接口,便于模块间的连接。

1.2层次原理图的基本结构和组成

顶层原理图 分为 (1)子原理图 (2)子系统顶层原理图

子系统顶层原理图 分为(1)子原理图 (2)子原理图

图纸符号之间也是借助电路端口,可以使用导线或总线连接,而且同一个项目的电路原理图(包括顶层原理图和子原理图),相同名称输出输入端口和电路端口之间在电气意义上都是相互连接的。

1.3 层次原理图的设计方法

层次原理图设计的具体方法有两种:(1)自上而下的设计方式(2)自下而上的设计方式

1.3.1 自上而下的层次原理图设计

先绘制顶层原理图,然后将顶层原理图中各个页面符对印的子原理图分别绘制。

(1)绘制顶层原理图

1、执行菜单命令“文件”-->"新的"——>"项目",建立一个新PCB项目文件,另存为“NEW.PRJPCB”

2、执行菜单命令“文件”-->"新的"——>"原理图",建立一个新原理图文件,另存为“NEW.SchDoc”

(设置原理图图纸参数)

3、执行菜单命令“放置”-->"页面符",或者单击“布线”工具栏的额“放置页面符”按钮,放置页面符。

4、通过单击鼠标确定页面符大小,单击右键退出绘制模式。

5、双击已画完的页面符,可以对“属性”进行设置。

【属性中,注意“Sheet Entries”(图纸入口)

在该选项组中,可以为页面符添加、删除和编辑与其余元件连接的图纸入口。单击“Add”按钮,在该画面自动添加图纸入口。】

6、执行菜单命令“放置”-->"添加图纸入口",或者单击“布线”工具栏中对应的按钮,放置页面符的图纸入口。左键单击放置入口,右键单击退出该模式。

7、双击放置的图纸入口,系统弹出“属性”面板。

8、使用导线将各个页面符的图纸入口连接起来,并绘制图中其它部分的原理图。

(2)绘制子原理图

1、执行菜单命令“设计-->"从页面符创建图纸"  移动光标到页面符内部空白处,单击鼠标左键。

2、系统会自动生成一个与该页面同名的子原理图文件,并在原理图文件中生成3个与页面符对应的输入输出端口,

3、绘制子原理图。

4、采用同样的方法,绘制其它原理图。

1.3.2 自下而上的层次原理图设计

(1)绘制子原理图

1、新建项目文件和电路原理图文件

2、根据功能电路模块绘制出子原理图

3、在子原理图中放置输入输出端口。

(2)绘制顶层原理图

1、在项目中新建一个原理图文件,另存为NEW.SchDoc,执行菜单命令“设计”——>“Create Sheet Symbol From Sheet”(原理图生成图纸符),系统弹出选择文件放置对话框。

2、在该对话框中选择子原理图文件,单击按钮“ok”,光标出现一个页面虚影。在指定位置单击鼠标左键,将页面符放置在顶层原理图中,然后设置页面符的属性。

3、采用同样的方法,放置另外一个页面符,并设置属性。

4、用导线将这些页面符连接起来,并绘制其余电路图。

1.4 层次原理图之间的切换

绘制完成的层次电路原理图中一般都包含有顶层原理图和多张子原理图,用户在编辑时常常需要在这些图中来回切换查看。

(1)打开“Projects”,单击面板中相应的原理图文件名,在原理图编辑区内就会显示对应的原理图。

(2)用命令方式切换

1.由顶层原理图切换到子原理图

打开项目文件,执行菜单命令“工程”--->"CompilePCB Project Amplified Modulator.PRJPCB",编译整个电路系统。

打开顶层原理图,执行菜单命令“工具”-->“上/下层次”,

单击文件名后,系统自动打开子原理图,并将其切换到原理图编辑区内。此时,子原理图中与前面单击的图纸入口同名的端口处于高亮状态。

2.由子原理图切换到顶层原理图

打开子原理图,执行菜单命令“工具”-->“上/下层次”

移动光标到子原理图的一个输入输出端口

单击该端口,系统将自动打开并切换到顶层原理图。

1.5层次设计表

一个复杂的电路系统可能包含多个层次的层次电路图,因此层次原理图的关系比较复杂,用户将不容易看懂这些电路图。为了解决整个问题,AD提供了层次设计报表,通过报表用户可以清楚地了解原理图的层级结构关系。

打开项目文件,执行菜单命令“工程”--->"CompilePCB Project Amplified Modulator.PRJPCB",编译整个电路系统。

执行菜单命令“报告”-->“Report Project Hierarchy”,系统将生成层次设计报表。

  • 12
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用`sklearn`库中的`DBSCAN`算法对数据进行聚类的示例代码。在这个例子中,我们使用`make_blobs`函数生成一个随机的二维数据集,并将聚类结果进行可视化。 ```python import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_blobs from sklearn.cluster import DBSCAN from sklearn.preprocessing import StandardScaler # 生成随机数据集 X, y = make_blobs(n_samples=100, centers=3, n_features=2, random_state=42) # 对数据进行标准化 X = StandardScaler().fit_transform(X) # 使用 DBSCAN 算法进行聚类 dbscan = DBSCAN(eps=0.3, min_samples=5) dbscan.fit(X) # 可视化聚类结果 core_samples_mask = np.zeros_like(dbscan.labels_, dtype=bool) core_samples_mask[dbscan.core_sample_indices_] = True labels = dbscan.labels_ n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0) unique_labels = set(labels) colors = [plt.cm.Spectral(each) for each in np.linspace(0, 1, len(unique_labels))] for k, col in zip(unique_labels, colors): if k == -1: col = [0, 0, 0, 1] class_member_mask = (labels == k) xy = X[class_member_mask & core_samples_mask] plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col), markeredgecolor='k', markersize=14) xy = X[class_member_mask & ~core_samples_mask] plt.plot(xy[:, 0], xy[:, 1], 'o', markerfacecolor=tuple(col), markeredgecolor='k', markersize=6) plt.title('Estimated number of clusters: %d' % n_clusters_) plt.show() ``` 这段代码会生成一个包含随机数据集聚类结果的可视化图表。在你的项目中,你需要将数据从`.csv`文件中读取,并将聚类结果保存到另一个`.csv`文件中,以及根据需要进行其他修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值