一些原理图设计最佳实践

news2024/11/24 18:44:26

要画出清晰、可读性好和整洁的电路原理图,应该遵守以下一般规范:

  1. 使用专业的绘图软件:使用专业的电路设计软件,如KiCad、Eagle、Altium Designer、OrCAD等,这些软件提供了丰富的元件库和绘图工具,可以轻松创建清晰的原理图。

  2. 组织结构层次:将电路按功能模块进行分组,然后在不同的层次上表示。例如,可以将整个电路划分为模块、子模块和元件层次,使用模块框表示不同的功能模块,并使用引脚连接它们。

  3. 使用清晰的线条和标记:确保线条和连接线清晰可见,使用不同的线宽和样式来表示不同类型的信号,如电源线、地线、信号线等。同时,在连接线交叉的地方使用合适的交叉方式,如使用“X”字形或桥接线。

  4. 使用符号和标注:使用标准的电路符号和标注,确保每个元件都有清晰的标识,并包括元件的数值和型号。对于重要的信号线和节点,使用清晰的标注和引脚号,以帮助读者理解电路的功能和连接。

  5. 逻辑流向和顺序:按照信号流动的逻辑顺序绘制电路原理图,从输入到输出的顺序,这样可以使电路结构更加清晰易懂。

  6. 避免交叉线和拥挤区域:尽量避免交叉线和过于拥挤的区域,这样可以减少混乱和误解。如果需要交叉线,可以使用合适的方式进行标记,如添加标号或使用引脚号。

  7. 使用合适的布局:根据电路的复杂程度和结构,选择合适的布局方式,如层次布局、网格布局或者混合布局。合理地安排元件的位置和方向,使得电路原理图更加整洁和易读。

  8. 注释和说明:在需要解释或说明的地方添加注释和说明文字,以便读者更好地理解电路的功能和设计意图。

  9. 反复检查和修正:在完成电路原理图后,仔细检查并进行修正,确保所有连接正确、符号清晰可见、标注准确无误,并消除任何可能导致混淆的元素。

在此基础上,实践中,应该持续优化工作流和规范,改善质量,提高效率。

我们都曾有过这样的时刻,桌子上堆满了注释齐全的原理图,我们开始分不清这是第几个版本了。我的同事有没有检查过这个?这个集成电路是新的,还是每次满月时就烧掉的那个?

下面就结合工程实践中常遇到的问题,以AD(Altium Designer)为例,尝试给出一些最佳实践。

使用模板保持原理图组织性

在制作模板时,需要考虑许多方面,而且不是每种方法都能同样有效地工作。正确的模板应该适合各个年龄段的人阅读,并在计算机屏幕、纸张和旧型液晶显示器上显示良好。更重要的是,必须注意,模板必须显示出在你的组织内外确定设计所需的所有信息。

我们应该问自己以下问题:如果我们的原理图在最不可能的情况下丢失了,是否有足够的信息可以将其找回?如果它在两年后被找到,我们能否准确地确定它在开发过程中的具体位置和时间?创建层次结构的原理图是理解如何保持原理图组织性的第一步,但每个原理图页面都需要包含非常具体的信息,以帮助组织工作。这些信息被放入标题块和修订块中,以帮助团队中的每个人保持组织性。

Hierarchical命名约定

Altium Designer可能是支持层次化项目最全面的软件,尽管在快速实施结构时有时可能会在原理图中迷失,但它是一个可以帮助你保持大型项目井然有序的功能。

层次结构是通过使用页对象将原理图页放置在另一个原理图页中的结构。这在不同的原理图页之间创建了父子关系。Altium Designer默认情况下不会在原理图页上显示此结构,虽然通过从设备页读取原理图文件名可以轻松进入子电路,但从子电路返回到高级原理图可能会有些困惑。

我可以真诚地推荐一个如何保持原理图组织性的提示,那就是在保存设计文档的目录中强制执行类似的命名结构。例如,如果我们有一个数字音频均衡器的原理图,我们可以将其划分为以下子电路:

MAIN:高级系统视图
MAIN / POWER:电源
MAIN / AUDIO:高级音频处理视图
MAIN / AUDIO / ADC:模数转换器阶段
MAIN / AUDIO / DSP:数字声音处理器阶段
MAIN / AUDIO / DAC:数字模拟转换器阶段
层次化名称构成了我们的"Title"参数,与Altium自动生成的"DocumentName"分开,后者类似于"audio_dac.SchDoc"。

层次式命名约定

支持长路径名

Windows路径(例如"/Users/oscar.wilde/Documents/Project/AudioAmplifier2000/main_board.SchDoc")的长度可以达到260个字符。重要的是要进行规划,并提供足够的空间。支持整个路径而不仅仅是文件名可以减少错误,并帮助你通过用户名追踪创建原理图文件的计算机。

如果你希望自动将路径名添加到原理图页的标题块中,你需要在创建原理图模板时包含一个路径参数。该路径参数是"DocumentFullPathAndName"。如下所示,这会自动将原理图文件(包括模板和完成的原理图页)的路径放置在标题块中。

示例图片:标题块中的路径信息

通过将路径信息包含在标题块中,你可以轻松地查看原理图所在的位置,并追踪创建原理图的计算机。这对于组织和管理原理图文件非常有用,尤其是在涉及多个项目、团队成员和文件版本的复杂环境中。

在使用过程中,需要确保操作系统和软件工具都能正确处理和显示这些长路径,以避免任何潜在的问题。并且,现在我们正在尝试用git进行这些管理,比通过软件内的变量来进行追踪更加方便。

使用等宽字体

使用等宽字体可能看起来有点奇怪,几乎像复古的感觉。等宽字体类似于打字机,每个字符之间的间距是相同的。这与大多数变宽度字体不同,变宽度字体中,字母"I"占用的空间比字母"K"少。

使用等宽字体可以更快地比较打印纸上的路径和Git哈希,并且可以使文本大小更可预测。在我们的示例模板中,我们将使用Courier New字体,因为它在Windows计算机上是默认可用的,并且外观良好。还可以下载和安装更现代的等宽无衬线字体,如Source Code Pro,但我不建议这样做,除非你有一种自动在所有计算机上部署字体的系统。

等宽与变宽字体对比

使用等宽字体的好处是在原理图中对齐文本和元素更加准确,而且在打印和共享原理图时可以更容易地阅读和比较文字内容。通过保持字母之间的等距离,等宽字体使得字符在整个原理图中保持一致的水平位置,使得对齐和比较更加方便。

在选择和使用等宽字体时,确保所选字体在不同计算机上的可用性和显示效果,以确保一致的阅读体验。

选择合适的标题块大小

在欧洲,A4和A3是最常用的纸张尺寸,大致相当于美国使用的A和B纸张尺寸。许多在线上可以找到的技术绘图模板,特别是基于早期Altium Designer模板的那些,标题块大约占据页面宽度的1/3。

我发现试图将过多内容塞进标题块既不实用也不优雅。正如任何字体设计师所知道的,字体周围需要一定的空白区域才能保证可读性。

选择适当的标题块大小非常重要。标题块应该足够大,以容纳所有必要的信息,例如项目名称、作者、日期和版本等。但是,过大的标题块可能会占据太多空间,使原理图的可视区域减少,导致阅读和理解变得困难。

字体可读性依赖周围的留白

需要找到一个平衡点,确保标题块大小足够容纳所需的信息,同时不过分占用原理图的空间。这样可以保持原理图的整洁和可读性。根据纸张尺寸和打印要求,可以根据实际需要调整标题块的大小。

同时,也要考虑选择合适的字体大小和行间距,以确保标题块中的文本清晰可读。字体大小应该足够大,以便在打印和阅读原理图时不会造成眼部疲劳或阅读困难。

总而言之,选择适合的标题块大小是一项重要的设计考虑因素,需要在信息容纳和视觉整洁之间找到平衡点。

我建议使用A4纸(在美国称为A型)的较短边作为参考。这样可以在纵向和横向两种方向上创建原理图,并且在所有常见的纸张尺寸中都显得整洁和比例适宜。

A4短边作为标题块参考宽度

始终标注工程师联系方式等必要信息

我见过许多商业项目的标题块中缺少关键信息的情况。其中最常见的是负责绘图的工程师姓名。有些公司决定出于保密的考虑省略姓名,但我认为跟踪电路负责人的个人信息以及为设计师提供成绩证明是非常重要的。

必要信息示例

传统上一般会标注工程师名字,在标题块中写出设计师的姓名还可以帮助避免不必要的责备:“指责之指责”,如果设计中存在问题,由设计师姓名所指示的人负责修复。这个简单的提示可以帮助许多团队经理保持理智。

此外,还应包括公司的地址信息。这样做不仅可以提供对公司的准确标识,还可以方便他人在需要时联系到相应的团队或部门。

在标题块中包含工程师姓名和公司地址是确保原理图上具有相关个人和公司信息的一种有效方法。这样可以为设计的责任和贡献提供明确的证据,并帮助确保设计的透明度和责任追溯性。

但是现在,我们已经开始尝试使用git来完成这些,虽然不那么直观,但是更加信息化。

追踪可变性

按照墨菲定律:每个电位器都会以错误的方向旋转。我经常陷入这个问题,因此我总是在任何电位器周围添加四个0欧姆电阻器,以在装配阶段改变旋转方向。

添加跳线电阻以便适应变化

同样地,我常常不确定我的电路是否能够使用微控制器内部的100/200千欧姆上拉电阻,或者是否需要外部的10/47千欧姆电阻。因此,我总是留下一个未焊装的电阻。在我之前工作的一家公司,我们通过使用像"RES_DO_NOT_PLACE"这样的电阻型号来跟踪这些"假设性"元件,但这给我们的EMS供应商带来了困惑和沮丧。

一种更清晰的方法是使用变种(Variants):首先放置所有需要放置的元件,然后创建一个名为"MAIN"的默认配置变种。更新OutJob文件,只导出该变种。这样,你将能够清晰地在原理图和Draftsman文档中跟踪未焊装的元件,减少错误的发生。变种名称可以通过参数"VariantName"显示在标题块中。

另一种选择是在变种中将特定元件标记为DNP(Do Not Place)。创建一个变种并将元件标记为DNP可以消除手动跟踪装配板上哪些元件是DNP的需要。如果你只需要将特定的0欧姆电阻标记为DNP,更好的选择是使用可焊接的跳线,这样你就不需要购买和放置额外的元件。

通过采用这些方法,你可以有效地跟踪和管理原理图中的变种,从而在装配阶段识别和实施特定的修改或定制化,同时保持清晰的文档和组织结构。

保持文字清晰可读

在用户界面设计的学术研究中,长期以来已经得出了一个结论:保持字体大小在10或12点左右是良好的实践,其中12点的字体大小适用于大多数年龄段的人群。最小的页面字体大小大约为6点。在我们的模板中,选择在这个范围内的字体大小。通过采用12点的字体大小,即使将我们的A3原理图以A4的大小打印,仍然可以读取。这样可以确保文字在适当的页面尺寸上保持清晰可读。

在每一页上添加“保密”标识

大多数保密协议将保密信息的概念限定为明确标注为保密的文件。你的电路原理图很可能包含了你企业最重要的商业机密。你应该在上面添加一个明显的“保密”标识。

这样做有几个好处。首先,它提醒所有使用者和阅读者这些信息是机密的,并需要妥善保护。其次,它帮助你确保在信息传递和共享过程中的法律要求和合规性。最后,它可以在出现任何信息泄露的情况下提供额外的法律保护。

你可以选择在每一页的角落或页眉/页脚处添加一个“保密”标识,使用醒目的字体和颜色,以确保其易于识别和辨认。这种标识的存在将提醒所有相关人员这些信息的保密性质,并促使他们采取适当的措施来保护这些信息的安全性。

“保密”标识

当然了,对于开源项目就没有这个必要了,但是不妨把开源许可证标注上。

创建和分发电路原理图模板

  1. 设计模板:使用Altium Designer或其他电路原理图设计软件创建一个电路原理图模板。根据之前提到的指南,例如使用层次结构的命名规范、包含清晰的标题块和相关信息、使用等宽字体以及保持文字在合适的页面尺寸下可读性等,设计模板以满足你的特定需求和偏好。

  2. 自定义模板:在创建基本模板之后,根据你的组织需求进行自定义。添加公司标志、工程师姓名、公司地址以及其他必要的信息到标题块中。根据需要设置参数和变体,以跟踪不同的配置或选项。

  3. 测试和验证:在分发模板之前,进行全面测试,确保其按预期工作。检查是否存在错误、缺失信息或格式问题。使用模板创建示例电路原理图,验证模板是否符合你组织的标准和要求。

  4. 编写和共享说明:创建一份文档或一套说明,解释如何有效使用模板。包括填写标题块的指南、处理变体的指南以及其他使用模板的具体说明。这份文档将帮助用户理解和正确使用模板。

  5. 分发模板:一旦模板最终确定并完成文档编写,将其分发给组织内相关的用户或团队。你可以通过集中的文档管理系统、电子邮件或其他适当的渠道进行共享。确保模板易于获取,并确保用户知道其可用性。

  6. 提供培训和支持:对用户进行培训或提供指导,教授他们如何有效使用模板。解答他们可能有的任何问题或关切,并提供持续的支持,以确保模板能够顺利采用和使用。

  7. 更新和维护模板:随着组织需求的变化或出现新的最佳实践,定期审查和更新模板。向用户传达任何更新或修订,并确保他们可以获取到最新版本的模板。

通过遵循这些步骤,你可以创建和分发一个电路原理图模板,在你的组织的电路设计流程中促进组织、标准化和高效性。依然可以通过git来对团队的模板进行管理和分发,确保一致性。

创建和分发统一的色彩调色板

明智地选择你的颜色。

如果你还足够幸运,仍然在人生的上半场徘徊,你可能会倾向于在绘图中使用降低对比度的调色板,比如蓝色和浅蓝色。请抵制这种冲动:你年长的同事可能已经降低了对比度敏感度。你的电路原理图不应该通过颜色来编码信息,并且应该可以以单色打印。

我个人已经放弃了Altium Designer的蓝/黄/红/绿/黑调色板,而是几乎只使用蓝色或纯黑色,只有NetTies和文本字符串具有不同的颜色。如果你想选择多种颜色,我建议选择红色和蓝色。

对于大多数人来说,人眼有三种不同的色感锥。下面的图表显示了人眼在可见光谱上的色感锥敏感性。绿色和红色有很大的重叠,这在一定程度上解释了为什么红绿色盲是最常见的色盲形式之一。

标准化的人眼色感锥响应,由维基提供

另一方面,红色和蓝色在光谱中相距较远,因此大多数色盲人士可以轻松区分它们。一些电子设计自动化软件套件限制了它们的样式,以促进销售,因为这有助于创建一个连贯的品牌,但Altium Designer并不强制实施这种限制。

创建预配置的项目模板

保持团队成员的同步不仅仅涉及了解如何通过模板来组织原理图,幸运的是,就像Altium Designer允许我们为原理图或PCB使用模板一样,我们也可以为项目文件使用相同的方法。项目模板还可以用于在PCB设计团队中实施组织。我们在原理图模板中采用的一些自定义参数(例如ProjectTitle)应该在每个PrjPcb项目级别上添加,以便更容易记住和编辑。

公众号 | FunIO
微信搜一搜 “funio”,发现更多精彩内容。
个人博客 | blog.boringhex.top

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/639252.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用POI实现JAVA操作Excel文件

1、POI工具介绍 1.1、POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。 1.2、主要是运用其中读取和输出excel的功能。 1.3、POI官网地址: https://poi.apache.org/components/i…

2021 年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题

2021 年全国硕士研究生入学统一考试管理类专业学位联考逻辑试题 一. 逻辑推理:第 26~55 小题,每小题 2 分,共 60 分。下列每题给出的 A、B、C、D、E 五个选项中,只有一项是符合试题要求的。 26.哲学是关于世界观、方法论的学问。哲…

SEC的尴尬,无法找到行踪飘忽不定的“华人首富”

圈内很多有,也许会有这样一幅画面。“哎呀,他到底跑哪儿去了?”美国证券交易委员会SEC主席Gensler气得拍着桌子,旁边还放着长达136页的对币安的起诉文件。这可真是让人头疼啊!毕竟赵长鹏最近几年一直神出鬼没&#xff…

Mybatis学习笔记二

目录 一、MyBatis的各种查询功能1.1 查询一个实体类对象1.2 查询一个List集合1.3 查询单个数据1.4 查询一条数据为map集合1.5 查询多条数据为map集合1.5.1 方法一:1.5.2 方法二: 二、特殊SQL的执行2.1 模糊查询2.2 批量删除2.3 动态设置表名2.4 添加功能…

现代图片性能优化: 懒加载及异步图像解码方案

图片的懒加载 懒加载是一种网页性能优化的常见方式,它能极大的提升用户体验。到今天,现在一张图片超过几 M 已经是常见事了。如果每次进入页面都需要请求页面上的所有的图片资源,会较大的影响用户体验,对用户的带宽也是一种极大的…

【id:76】【20分】B. 商旅信用卡(多重继承)

题目描述 某旅游网站(假设旅程网)和某银行推出旅游综合服务联名卡—旅程信用卡,兼具旅程会员卡和银行信用卡功能。 旅程会员卡,有会员卡号(int)、旅程积分(int),通过会员…

Spring Cloud Kubernetes详解

目录 一、 为什么你需要 Spring Cloud Kubernetes? 二、 Starter 三、 用于 Kubernetes 的 DiscoveryClient 四、Kubernetes 原生服务发现(service discovery) 五、Kubernetes PropertySource 的实现 1、使用 ConfigMap PropertySource …

ssg标识符

1. 关键字(keyword) 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词) HelloWorld案例中,出现的关键字有 class、public 、 static 、 void 等,这些单词已经被Java定义…

【appium】appium自动化入门之API(上)

这个系列预计会讲启动APP—元素定位—初步使用—API命令详解 本系列没提过的知识点也不用急,大家可以点击文末小卡片进群来一起交流 目录 第 2 章 初步使用 2.1 启动 app(淘宝) 前言 2.1.1 下载 aapt 2.1.2 获取 apk 包名 2.1.3 获取 launch…

Linux之通配符、引号的使用

目录 Linux之通配符、引号的使用 通配符 定义 范围 用法及含义 案例 引号使用 案例 Linux之通配符、引号的使用 通配符 定义 通配符是一种特殊语句,主要有星号(*)、问号(?)等表示,用来模糊搜索文件,当查找目录或文件时,…

Gin微服务框架_golang web框架_完整示例Demo

Gin简介 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活&…

Spark入门

Spark概述 1.1 什么是Spark 回顾:Hadoop主要解决,海量数据的存储和海量数据的分析计算。 Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。 1.2 Hadoop与Spark历史 MR是进程模型,ResourceManager NodeManager都是进程&…

107-Spring的底层原理(上篇)

Spring的底层原理 之前说明的都是Spring的应用(64章博客开始(包括其后面的相关博客)),现在来说明他为什么可以那样做 在说明之前,这里需要对64章博客中的spring的了解需要再次的说明: Spring…

Unity中UI方案。IMGUI、UIElement、UGUI、NGUI

引言 unity中有很多ui方案,各种方案有什么优势劣势,这里一一列举一下,知识扩充一下。 UI方案适用范围IMGUI仅用于Editor扩展,或运行时DebugUIElement可用于发布运行时和EditorUGUIRuntime,两大主流 UI 解决方案之一NG…

python语法-MySQL数据库(综合案例:读取文件,写入MySQL数据库中)

python语法-MySQL数据库 综合案例:读取文件,写入MySQL数据库中 (项目数据见文章末参考内容) 解析: sql代码如下: create database pysql charset utf8;use pysql;select database();create table orders…

华为OD机试真题 JavaScript 实现【求小球落地5次后所经历的路程和第5次反弹的高度】【牛客练习题 HJ38】

一、题目描述 假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? 数据范围:输入的小球初始高度满足 1 \le n \le 1000 \1≤n≤1000 ,且保证是一…

今年十八,期末速刷(操作系统篇1)

马上期末了,想问问各位期末考几科 我家学校网安考7科呜呜呜 只能出点文章一把梭了。。。 争取只挂一科 先来先算法(FCFS) 算法思想 我今天学FCFS只有一个要求 公平、公平 还是tnd公平 算法规则 按照进程的先后顺序来进行服务。 是否…

Web自动化测试:WebDriverWait元素等待和全局设置

由于现在部分web应用加载方式的选择,页面会需要一定时间逐渐加载完毕,也就是说有的页面元素先加载出来,有的元素后加载出来。如果直接定位所查找的元素的话,可能会由于此元素尚未加载完毕找不到元素从而报错,由于网络不…

leetcode 647.回文子串

题目描述 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会…

【干货】有效的项目绩效管理评估,能成为组织成长的引擎

是谁已经开始在写年中总结了? 对于这件事,项目经理们肯定不会缺席,毕竟每周、每月、每个季度都少不了项目报告。这两天项目经理小刘,还在办公室吐槽项目绩效的数据实在太差了,询问如何能巧妙美化数据,这是…