当前位置: 首页 > news >正文

AD21原理图的高级应用(二)层次原理图设计

(二)层次原理图设计

  • 1.层次原理图概述
  • 2.层次化原理图的应用
    • 2.1 自上而下的层次化原理图
    • 2.2 自下而上的层次化原理图
  • 3.生成层次设计表

对于大规模的电路系统,需要将其按功能分解为若干个电路模块,用户可以单独绘制好各个功能模块,再将它们组合起来继续处理,最终完成整体电路的连接。这样,电路的结构清晰,便于多人协同操作,加快工作进程。

1.层次原理图概述

层次化原理图主要包括主电路图和子电路图两大部分。它们之间是父电路与子电路的关系,在子电路图中仍可包含下一级子电路。子电路图用来描述某一电路模块的具体功能,由各种元件和导线构成,增加了一些端口,作为与主电路图和其他电路图之间进行连接的接口。主电路图主要由多个页面符组成,用来展示各个电路模块之间的系统连
接关系,描述了整体电路的功能结构。

平坦式原理图采用水平方向分割,如图所示。将总体的电路进行模块划分,各模块之间一般通过“离图连接器《offsheet”或者具有全局连接属性的网络标号来完成电气连接。

在这里插入图片描述

层次化原理图采用垂直方向分割,如图 所示。将总电路以模块划分后,模块之间一般通过“端口”“页面符”“图纸入口”来实现电气连接。

在这里插入图片描述

2.层次化原理图的应用

层次化原理图有自上而下和自下而上两种设计方式。

2.1 自上而下的层次化原理图

自上而下的设计理念是把整个电路分为多个功能模块,确定每个模块的内容,再对这些模块进行详细设计。这种方法要求用户对设计有整体的把握,对模块划分比较清楚。
我们以“1900功放”电路设计为例,演示自上而下的层次化原理图的具体步骤。本电路划分为 3 个电路模块:喇叭保护Trumpet 模块和 2 路功放模块Ambulance-L、Ambulance-R。

(1)建立工程文件。建立一个名为“1900功放.PrjPCB”的工程文件,并添加一个名为 Main.SchDoc 的原理图文件,将其作为层次化原理图的主电路图,如图所示。

在这里插入图片描述

(2)放置页面符,并设置相关参数。

①执行菜单栏中“放置”→“页面符”命令,或按快捷键P+S,或者单击工具栏的图标,光标将会附带一个页面符标识,如图 所示。
②将页面符放到合适的位置,先单击确定页面符的一个顶点,移动光标到合适的位置再次单击确定其对角顶点位置,即可得到大小适宜的页面符,如图所示。

③设置页面符属性。双击页面符,打开页面符属性面板,进行相应的参数设置,如图所示。

在这里插入图片描述

在这里插入图片描述
●Location:页面符在原理图上的坐标位置,根据页面符的移动自动设置,一般不需要设置。
●Designator:用于输入相应页面符的名称,本质与元件标识符类似,不同的页面符要有不同的标识。
●File Name:用于输入页面符所代表的下层子原理图的文件名。
●Width、Height:页面符的宽度和高度,可设置。
●Line Style:用于设置页面符的边框大小,包含“Smallest(最细)”“Small(细)”“Medium(中等)”“Large(粗)”。
●Fill Color:用于设置填充颜色。

设置好参数的页面符如图所示。

在这里插入图片描述
(3)重复上述 3 个步骤,把其他 2 个模块的页面符 U_Ambulance-L 和 U_Ambulance-R设置好,页面符的个数与子原理图(模块)数相符,如图所示。

在这里插入图片描述
(4)放置图纸入口,用于后期页面符之间的连接。执行菜单栏中“放置”→“图纸入口”命令或按快捷键 P+A,如图所示。

① 放置图纸入口到页面符内部,图纸入口只能在页面符的内部边框放置, 如图所示。
在这里插入图片描述

②设置图纸入口属性。
Name:图纸入口名称,应与子图中的端口名称对应,才能完成电气连接。
I/O Type:图纸入口的电气特性,重要的属性之一。

若不清楚具体 I/O 类型,建议选择 Unspecified。设置好的图纸入口如图 所示。
在这里插入图片描述

放置并设置好其他页面符的图纸入口,如图所示。

(5)通过导线完成页面符之间的连接。相同的图纸入口,用导线连接起来,完成主电路图 Main. SchDoc 的绘制,如图 所示。
在这里插入图片描述

注意:GND端口和电源端口具有全局连接的属性,所以不需要额外放置相应的图纸入口或端口。

(6)绘制子原理图(模块原理图)。根据主原理图的页面符将与之相对应的子原理图绘制出来。

在这里插入图片描述
①执行菜单栏中“设计”→“从页面符创建图纸”命令,或按快捷键D+R,如图所示。或在页面符上右击,从弹出的快捷菜单中执行“页面符操作”→“从页面符创建图纸”命令,如图 所示。鼠标点击要创建的页面符。

在这里插入图片描述
在这里插入图片描述
②若采用指令1,则光标变为十字,将光标放到页面符单击即可弹出对应的子原理图文件。若采用指令 2,则直接弹出。弹出的子原理图如图 1-31 所示。此时可以看到,在弹出的原理图中已经自动生成相应的端口。

③ 保存弹出的原理图,按普通原理图的设置方法,放置所需的元件并进行电气连接,完成Trumpet. SchDoc,如图 所示。
④ 绘制完成其他子原理图,由主电路图的其他两个页面符 U_Ambulance-L 和 U_Ambulance-R 创建 Ambulance-L.SchDoc 和 Ambulance-R. SchDoc,完成子电路的绘制。绘制完后,对整个工程进行位号标注并保存好。最终工程中包含的文件如图所示。

(7)在工作区中选择“1900 功放.PrjPCB”,右击,编译整个工程,如图所示。通过 Messages 面板查看是否存在错误,是则修改好。

2.2 自下而上的层次化原理图

自下而上的层次化原理图设计理念是用户先绘制原理图子图,再根据原理图子图生成页面符,进而生成主原理图,达到整个设计要求。这种方法比较适合对整体设计不太熟悉的用户,对初学者也是一个很好的选择。

依旧以“1900功放”电路设计为例,演示自下而上的层次化原理图的具体步骤。本电路划分为 3 个电路模块:喇叭保护Trumpet 模块和 2 路功放模块Ambulance -L、Ambulance-R。

在这里插入图片描述
(1)新建一个工程,将每一个子电路画好,需要进行跨页连接的网络用端口连上(这里直接复制上一个
工程已画好的原理图),如图 所示。

(2)给工程添加一个主原理图 main.SchDoc。在原理图空白处右击,从弹出的快捷菜单中执行“图纸操作”→Create Sheet Symbol From Sheet 命令,如图 所示。随之弹出“选择文件设置”对话框,如图所示。

在这里插入图片描述
在这里插入图片描述
(3)依次单击生成子原理图相应的页面符,最终如图所示。原理图绘制完成之后,图中包含的端口会同步到相应的页面符中。(此处没有绘制原理图,只做演示作用)

在这里插入图片描述
(4)用导线连接各个页面符,页面符可以移动,内部图纸入口也可以移动,以便于连接。

3.生成层次设计表

设计的层次原理图在层次较少的情况下,结构相对简单,用户能很快理解。但是对于层次较多的电路图,其层次关系复杂,用户不容易看懂。Altium Designer 软件提供了层次设计表的功能,作为辅助用户查看复杂层次关系的工具。借助层次设计表,用户可以清晰地把握层次结构,进一步明确设计内容。

建立层次设计表的步骤如下:
(1)执行菜单栏中“报告”→Report Project Hierarchy 命令,如图 1-43 所示,即可生成相关的层次设计表。
在这里插入图片描述

(2)层次设计表会添加到工程下的 Generated→Text Documents 文件夹中,后缀是REP 的一个文件。位置如图 所示,内容如图所示。

在这里插入图片描述

相关文章:

AD21原理图的高级应用(二)层次原理图设计

(二)层次原理图设计 1.层次原理图概述2.层次化原理图的应用2.1 自上而下的层次化原理图2.2 自下而上的层次化原理图 3.生成层次设计表 对于大规模的电路系统,需要将其按功能分解为若干个电路模块,用户可以单独绘制好各个功能模块,再将它们组合起来继续处…...

ROS中使用RealSense-D435

文章目录 D435简介RealSense的SDK2.0安装方法1:直接利用安装源安装注册服务器公匙将服务器添加到存储库列表安装库 方法2:利用源码安装GitHub下载librealsense安装编译依赖运行脚本cmake编译 软件显示 ROS接口安装启动节点查看话题rviz显示点云 Python接…...

nlp系列(6)文本实体识别(Bi-LSTM+CRF)pytorch

模型介绍 LSTM:长短期记忆网络(Long-short-term-memory),能够记住长句子的前后信息,解决了RNN的问题(时间间隔较大时,网络对前面的信息会遗忘,从而出现梯度消失问题,会形成长期依赖…...

zookeeper-3.7.1集群

1.下载&解压安装包apache-zookeeper-3.7.1-bin.tar.gz 解压到/app/ &改名zookeeper-3.7.1 [rootnode1 app]# tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /app/ [rootnode1 app]# mv apache-zookeeper-3.7.1-bin zookeeper-3.7.1 ---- 删除docs [rootnode1…...

ubuntu上安装firefox geckodriver 实现爬虫

缘由:当时在windows 上运行chrom 的时候 发现要找到 浏览器和 webdirver 相匹配的 版本比较麻烦,当时搞了大半天才找到并安装好。 这次在ubuntu上尝试用firefox 实现爬虫 文章分为三个部分: 环境搭建浏览器弹窗输入用户名,密码的…...

【Matlab】基于长短期记忆网络的时间序列预测(Excel可直接替换数据)

【Matlab】基于长短期记忆网络的时间序列预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码6.完整代码7.运行结果1.模型原理 "基于长短期记忆网络(Long Short-Term Memory, LSTM)的时间序列预测"是一种使用LSTM神经网络来预测时间…...

[NLP]LLM高效微调(PEFT)--LoRA

LoRA 背景 神经网络包含很多全连接层,其借助于矩阵乘法得以实现,然而,很多全连接层的权重矩阵都是满秩的。当针对特定任务进行微调后,模型中权重矩阵其实具有很低的本征秩(intrinsic rank),因…...

vue3 vant上传图片

在 Vue 3 中使用 Vant 组件库进行图片上传,您可以使用 Vant 的 ImageUploader 组件。ImageUploader 是 Vant 提供的图片上传组件,可以方便地实现图片上传功能。 以下是一个简单的示例,演示如何在 Vue 3 中使用 Vant 的 ImageUploader 组件进行…...

深入理解linux内核--内存管理

RAM的某些部分永久分配给内核, 来存放内核代码及静态内核数据结构。 RAM的其余部分称为动态内存, 这不仅是进程所需的宝贵资源, 也是内核本身所需的宝贵资源。页框管理 Intel的Pentinum处理器可采用两种不同的页框大小: 4KB&…...

SpringBoot热部署的开启与关闭

1、 开启热部署 &#xff08;1&#xff09;导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId> </dependency>&#xff08;2&#xff09;设置 此时就搞定了。。。 2、…...

k8s集群部署(使用kubeadm部署工具进行快速部署,相关对应版本为docker20.10.0+k8s1.23.0+flannel)

1. 安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x64硬件配置&#xff1a;2GB或更多RAM&#xff0c;2个CPU或更多CPU&#xff0c;硬盘20GB或更多可以访问外网&#xff0c;需要拉…...

20230729 git github gitee

1.gitee与gitHub概念&#xff1f; Gitee&#xff08;码云&#xff09;是开源中国社区推出的代码托管协作开发平台&#xff0c;支持Git和SVN&#xff0c;提供免费的私有仓库托管。Gitee专为开发者提供稳定、高效、安全的云端软件开发协作平台&#xff0c;无论是个人、团队、或是…...

php建造者模式

一&#xff0c;建造者模式&#xff0c;也叫做生成器模式&#xff0c;是创建设计模式的一种&#xff0c;它能将一个复杂的对象的创建过程分离开来&#xff0c;使你能够分步骤的创建对象。建造者模式也允许你使用相同的建造代码创造出不同类型和形式的对象。 建造者模式一般包括四…...

linux---》用户操作/su和sudo/普通权限/特殊权限/解压压缩/软件管理,rpm和yum/源码安装nginx

用户操作 ####创建用户####1 创建sa和sutdents组 groupadd sa groupadd students # 2 用户可以属于多个组&#xff0c;只能属于一个主组&#xff0c;附加组可以有多个 G useradd -u 5001 -g students -G sa -c "注释" -s /bin/bash lqz666 # 3 设置密码 passwd lqz6…...

tinkerCAD案例:20. Simple Button 简单按钮和骰子

文章目录 tinkerCAD案例&#xff1a;20. Simple Button 简单按钮Make a Trick Die tinkerCAD案例&#xff1a;20. Simple Button 简单按钮 Project Overview: 项目概况&#xff1a; This is a series of fun beginner level lessons to hone your awesome Tinkercad skills a…...

Java - 为什么要用BigDecimal?

&#x1f914;️为什么要用BigDecimal&#xff1f; 当然是因为使用Double计算&#xff0c;在某些对精度要求很高的场景下会出现问题&#x1f480;不信你看⤵️ Test void test12() {// 丢失精度double result 0.2 0.1;System.out.println(result); // 输出结果为 0.300000000…...

mac 删除自带的ABC输入法保留一个搜狗输入法,搜狗配置一下可以减少很多的敲击键盘和鼠标点击次数

0. 背景 对于开发者来说&#xff0c;经常被中英文切换输入法所困扰&#xff0c;我这边有一个方法&#xff0c;删除mac默认的ABC输入法 仅仅保留搜狗一个输入法&#xff0c;配置一下搜狗输入&#xff1a;哪些指定为英文输入&#xff0c;哪些指定为中文输入&#xff08;符号也可…...

JiaYu说:如何做好IT类的技术面试?

IT类的技术面试 面试IT公司的小技巧IT技术面试常见的问题嵌入式技术面试嵌入式技术面试常见的问题嵌入式软件/硬件面试题 JiaYu归属嵌入式行业&#xff0c;所以这里只是以普通程序员的角度去分析技术面试的技巧 当然&#xff0c;也对嵌入式技术面试做了小总结&#xff0c;友友们…...

RL 实践(6)—— CartPole【REINFORCE with baseline A2C】

本文介绍 REINFORCE with baseline 和 A2C 这两个带 baseline 的策略梯度方法&#xff0c;并在 CartPole-V0 上验证它们和无 baseline 的原始方法 REINFORCE & Actor-Critic 的优势参考&#xff1a;《动手学强化学习》完整代码下载&#xff1a;7_[Gym] CartPole-V0 (REINFO…...

Python numpy库的应用、matplotlib绘图、opencv的应用

numpy import numpy as npl1 [1, 2, 3, 4, 5]# array():将列表同构成一个numpy的数组 l2 np.array(l1) print(type(l2)) print(l2) # ndim : 返回数组的轴数&#xff08;维度数&#xff09; # shape&#xff1a;返回数组的形状&#xff0c;用元组表示&#xff1b;元组的元素…...

手把手教你用AT32F403A实现串口空闲中断接收完整数据帧

深入解析AT32F403A串口空闲中断实现高效数据帧接收 在嵌入式系统开发中&#xff0c;串口通信是最基础也最常用的外设接口之一。面对实际应用中常见的不定长数据帧接收需求&#xff0c;传统轮询方式不仅效率低下&#xff0c;还容易丢失数据。而国产MCU雅特力AT32F403A提供的**串…...

实践指南:运用语义熵为LLM生成内容构建“幻觉防火墙”

1. 什么是语义熵&#xff1f;为什么它能成为LLM的"幻觉防火墙"&#xff1f; 第一次听到"语义熵"这个词时&#xff0c;我正被一个智能客服项目折磨得焦头烂额。当时我们的GPT-3.5模型总喜欢给用户编造不存在的产品功能&#xff0c;就像个过度热情的销售员。…...

vue路由跳转打开新窗口并携带参数(vue2/vue3)

概要 在一些需求中经常遇到跳转页面&#xff0c;但是产品让跳转页面的同时打开一个新窗口方便用户进行对比数据&#xff0c;接下来就是跳转页面打开新窗口的方法 vue2的写法 const routeUrl this.$router.resolve({path: "/页面路由",query: { id: xx参数 },});wi…...

微软 Copilot 条款更新:功能拓展与合规管控并行

微软 Copilot 条款更新&#xff1a;明确适用范围与新增功能规则微软 Copilot 此次更新使用条款&#xff0c;明确了条款适用于某些 Copilot 服务和体验的具体情形。新增了关于 Copilot Actions、Copilot Labs 和购物体验的条款&#xff0c;还修订了行为准则&#xff0c;清晰界定…...

别再只用ZF和MMSE了!手把手教你用MATLAB实现ML信号检测(附完整代码与性能对比)

突破传统线性检测&#xff1a;MATLAB实战ML信号检测全解析 在无线通信系统的接收端设计领域&#xff0c;信号检测算法的选择直接影响着系统性能与实现复杂度之间的平衡。许多初学者往往止步于迫零(ZF)和最小均方误差(MMSE)这两种线性检测方法&#xff0c;却忽视了最大似然(ML)检…...

如何快速批量下载知网文献?CNKI-download自动化工具终极指南

如何快速批量下载知网文献&#xff1f;CNKI-download自动化工具终极指南 【免费下载链接】CNKI-download :frog: 知网(CNKI)文献下载及文献速览爬虫 项目地址: https://gitcode.com/gh_mirrors/cn/CNKI-download 对于学术研究者和学生来说&#xff0c;从知网&#xff0…...

Phi-3-mini-4k-instruct-gguf步骤详解:supervisor服务管理与错误日志定位方法

Phi-3-mini-4k-instruct-gguf步骤详解&#xff1a;supervisor服务管理与错误日志定位方法 1. 模型概述 Phi-3-mini-4k-instruct-gguf是微软Phi-3系列中的轻量级文本生成模型GGUF版本&#xff0c;特别适合问答、文本改写、摘要整理和简短创作等场景。这个开箱即用的解决方案已…...

快速体验:Python3.8镜像开箱即用,无需配置直接写代码

快速体验&#xff1a;Python3.8镜像开箱即用&#xff0c;无需配置直接写代码 1. Python3.8镜像简介 Python作为当下最流行的编程语言之一&#xff0c;其3.8版本在性能优化和功能完善方面达到了一个成熟稳定的阶段。这个预配置好的Python3.8镜像&#xff0c;让你可以完全跳过繁…...

it-tools:Docker一键部署,中文界面即开即用

1. 为什么选择Docker部署it-tools&#xff1f; 最近在帮团队搭建开发环境时&#xff0c;发现很多同事都在反复安装各种零散的小工具——JSON格式化、时间戳转换、密码生成器...既占用本地资源又难以统一管理。直到发现了it-tools这个神器&#xff0c;它把200实用工具打包成Web应…...

python复习--进程相关--is_alive()

一、Process.is_alive() is_alive() 是 multiprocessing.Process 提供的方法&#xff0c;用于 判断进程当前是否仍在运行。 process.is_alive()返回值&#xff1a; True → 进程正在运行False → 进程未启动 或 已经结束 二、进程生命周期与 is_alive() 一个 Process 对象…...