高手总结17个画好原理图的技巧

欧若奇科技

专业电路设计,PCB复制,原理图反推,电子产品优化设计等

不光是代码有可读性的说法,原理图也有。很多时候原理图不仅仅是给自己看的,也会给其它人看,如果可读性差,会带来一系列沟通问题。所以,要养成良好习惯,做个规范的原理图。此外,一个优秀的原理图,还会考虑可测试性、可维修性、BOM表归一化等。

1 分模块

如上图所示,用线把整张原理图划分好区域,和各个区域写上功能说明,如:电源、STM32等。

这样让人更清晰、更快速地理解整个原理图,调试、维修的时候也很容易根据问题来查找电路。

2 标注关键参数

如上图,标注了最大输出电流,这样可以方便别人修改电路的时候,知道电源能不能带得起负载。

也可以写其它参数,如:输入电压范围,适用的温度范围,甚至是数字电路中的真值表等。

3 电阻/电容/电感/磁珠的注释

电阻

如上图所示,每个电阻都写上阻值、精度。针对大功率电阻,也可以写上功率,要视具体情况灵活变通。

一般对于开关电源上的采样电阻以及运放电路上的电阻得用1%精度,上下拉电阻可以使用5%精度。

注意:这里的阻值不建议写成102,要直接写成1K。尽量不要让别人去做这个换算,或者人家也不会算。

电容

如上图所示,每个电容都写上了容值和耐压。针对高精度电容,也可以写上精度,或者是材质。

如:瓷片电容的材质有X7R、Y5V、NP0等。

注意:这里的容值不建议写成105,要直接写成1uF。

电感

如上图所示,每个电感都写上电感值和饱和电流。

磁珠

如上图所示,每个磁珠都写上阻值和对应的频率。

其它元件

其它元件也是和电阻、电容等类似,如:晶振8MHz 50ppm等,要举一反三。

4 可维修性

如上图所示,增加L1电感,以便维修时可以断开,更容易排查故障。这里可以使用电感、磁珠或者0R电阻,视具体情况而定。

但是也有特殊情况,如果负载特别大,需要的串入的元件功率很大,成本增加太多,也是划不来的,这时,可以不加。

如果后面接的是QFP64封装之类芯片,功率又比较小,可以串入元件,因为QFP焊接不良的情况会比较多。

5 BOM表归一化

BOM表就是物料清单,尽量让物料的种类少一些,可以让采购员减少工作量,也会在生产上减少很多问题。

这里有两个上拉电阻,一个4.7K,一个10K,如果这个阻值影响不大的话,可以把它们都合并为10K。

去耦电容也是雷同的操作,要举一反三。

6 电源和地的符号

如上图所示。对于双电源系统来说,要在电源符号上写上正负号,单电源系统可以只写正号。

但是千万不要用VCC,不然别人看的时候还要观察一下是几V供电的。

如上图所示,只有一个地平面,则用GND。有数字地和模拟地,则用AGND、DGND。

也有一些系统还有视频地、音频地等,也要用不同的符号。

注意:不要把GND这些网络名给隐藏掉了,会容易出问题。

7 测试点

如上图所示,增加了测试点。测试点也就是一个圆形的pad,裸铜的。

在一些QFP、BGA、QFN封装的芯片,有的引脚很难用示波器测量,这时可以增加测试点,方便操作。

8 网络标号

如上图所示,PC7、PC6是接OLED12864的IIC接口。这里的网络标号增加OLED前缀,以减少网络标号的冲突,也增加了可读性。同理,接温度传感器的网络可以写DS18B20_DATA,网络标号上增加了元件名。其它的芯片也是一样的操作。

所有的网络标号均使用大写字母。

9 容错性/兼容性

在设计初期或是不经意,或是工期太赶,就没有那么多时间去研究电路上的接法是否正确。

这时可以使用一些预留的电路,来提高整板的容错性。

如上图所示,假设工程师还不确定是RX对TX还是RX对TX时,可以使用四个电阻来实现这两种接法。(NC为不接)

焊上R11和R14,不焊R12和R13时,是RX对RX,TX对TX的接法。

不焊R11和R14,焊上R12和R13时,是RX对TX,TX对RX的接法。

当调试通过后,再把这四个电阻去掉,并连上正确的接法。这样既能保证工期,又不会出错。

如果一个板子,不太确定用STM32的F103还是F407,此时,可以做成兼容设计。

如上图所示,圆圈中可放置0R电阻,使用F103时,把0R焊上,电容不焊。使用F407时,把电容焊上,0R不焊。

当然,也可以预留其它电路,要举一反三。

10 NC、NF

原理图上常常出现NC和NF两种字符,如下图所示,是不接、不焊的意思。

NC=Not connect 不接。

NF=Not Fix 不安装。

当然,NC也可以表示为normal close常闭,在继电器、接触器上用的多。

要视具体情况来辨认。

11 版本变更

很多时候一个电路不是一版就成功的。它会经历很多版本,每个版本都有变更的地方。这时要明确地标注出来。

如上图所示,明确地指出,V2版本把C12改成10uF,以便万一出问题,容易追溯。

12 悬空引脚

悬空引脚也要画上X。

13 可扩展性

很多时候,需求是不断变化的。如果仅仅针对当前需求来设计,一旦将来有改动,又要重新打板。

所以,很有必要增加一些预留的引脚、电路,以便快速验证整板的功能是否满足新需求。如下图所示,预留了一些IO口。

14 防呆

有一些接口是不防呆的,也就是存在两种或多种接法。

如上图所示,4P杜邦线(合在一起,没有分开的),有两种接法:

  • 红黑白黄
  • 黄白黑红

然后,该座子在原理图上是上图所示的定义,那么会有一种接法导致电源接反,可能会烧坏元件。

如果原理图是设计成这样,则不会烧坏元件,因为3.3V电源也就加在GPIO口上而已。

要做防呆,可以使用防呆的座子,如:USB座、航空接口等。

也有另一种方法,对称设计法。

如上图所示,引脚的排列是对称的,也就是无论怎么接,都是没问题的,只是成本会有所增加。

还有一种方法适用于直流电源的接口,一般是门禁系统用的多。

如上图所示,增加一个整流桥,不管+13.4V和PGND怎么接,在1、3引脚上都能产生正确的+12V和GND。

当然,这种方法也要考虑成本和功耗等。

15 信号的流向

一些模拟电路,需要标明信号的流向。

如上图所示,标明了定向耦合器中的信号流向。

16 PCB走线建议

如果PCB不是你画的话,可以在原理图上标明PCB的走线规则或者建议。

如上图所示,标明了一对差分线在PCB上的处理方法。

17 不使用\表示取反

一旦用了“\”,就有可能被wire挡住,然后看不到,从而导致网络可能连接不正确。

可以考虑用“#”来表示取反。(转)

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

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

相关文章

零基础也可以探索 PyTorch 中的上采样与下采样技术

目录 torch.nn子模块Vision Layers详解 nn.PixelShuffle 用法与用途 使用技巧 注意事项 参数 示例代码 nn.PixelUnshuffle 用法与用途 使用技巧 注意事项 参数 示例代码 nn.Upsample 用法与用途 使用技巧 注意事项 参数 示例代码 nn.UpsamplingNearest2d …

DDNS-GO配置使用教程

环境:openwrt 下载地址:Releases jeessy2/ddns-go GitHub 下载 ssh至openwrt根目录,根据你的处理器选择要下载的版本,我是路由器,选择的是 ddns-go_5.7.1_linux_arm64.tar.gz wget github链接 安装 tar -zxvf…

svn - 配置账号、自动更新、配置log权限

概述 虽然已经有很多朋友的公司都不使用svn了,但也有很多朋友的公司在使用,统一整理了svn的配置账号、自动更新、配置log权限,常用的操作知识。 找到Svn的位置和运行的项目 找到运行中的svn进程PID,/var/svn/,这个就是svn服务启…

计算机网络-2019期末考试解析

【前言】 从内容上看比较像计算机网络课程了,先做了。 一.填空选择题(共 20 分,每空 1 分) 1 、双绞线由两根相互绝缘的、绞合成均匀的螺纹状的导线组成,下列关于双绞线的叙述,不正确的是___ __…

go语言的http post推送

go语言的网络功能比较强大,使用go语言实现http 协议的推送非常简单,这里做了个简单的post推送示例。 代码 package mainimport ("bytes""fmt""io/ioutil""crypto/tls""net/http""flag" …

[modern c++] std::binder 的返回值用 std::function 保存

前言: 当使用 std::function 保存 std::binder 的返回值时,需要注意所有被 placeholder 占用的参数位置都不应该再出现再 std::function 的模板列表里。 参考: c - std::function and std::bind return value - Stack Overflow Demo&#x…

canvas绘制流动的蚂蚁线(图文示例)

查看专栏目录 canvas示例教程100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…

sqlilabs第五十一五十二关

Less-51(GET - Error based - ORDER BY CLAUSE-String- Stacked injection) 手工注入 源码 单引号闭合用注释(没有后续输出只能堆叠注入) 自动注入 和上一关一样 Less-52(GET - Bind based - ORDER BY CLAUSE-numeric- Stacked injection) 手工注入 数字类型 不用注释直接…

gcc/g++工具详解

目录 一、安装gcc/g 二、背景知识 三、相关选项 四、gcc如何工作 1.预处理 2.编译 3.汇编 4.链接 5.函数库的概念 6.动静态库 一、安装gcc/g gcc/g -v : 用来查看当前你使用的gcc/g版本 因为我的gcc/g是升级过的所以版本更高,如果你用的是centos7.6的话…

干货|Google ads谷歌广告投放详细步骤与技巧

对于跨境电商、独立站运营的卖家来说,谷歌广告投放是必备的流量拓展来源,但是在投入运营之前,你需要完整了解谷歌广告投放详细步骤,以为你丝滑地进行有效投放做好基础,下面为大家整理具体的谷歌投放技巧与步骤&#xf…

BIOS知识枝桠——认识主板

文章目录 前言一、主要构成二、I/O区域1.I/O区域2.CPU区域与内存区域3.拓展区域4.南桥区域与外围接口 其他 前言 主板由电路板铜线芯片针脚数千个精密的元器件组合构成,是把显卡、内存、CPU等核心硬件串在一起的骨架,在计算机中发挥着重要的作用。文章以…

箭头函数与普通函数的差异

一、箭头函数中的this指向 箭头函数的this指向通常有两种情况 如果箭头函数处在一个普通函数之中,那么他的this指向与包裹他的外层函数的this指向一致。其他情况下箭头函数中的this都指向window let obj {fn:function(){console.log(我是普通函数,this obj) …

[渗透测试学习] Surveillance -HackTheBox

文章目录 信息搜集getshell提权信息搜集 nmap扫描端口 nmap -sV -sC -v -p- --min-rate 1000 10.10.11.245扫出来两个端口,其中80端口有http服务并且重定向到surveillance.htb 那么我们添加下域名然后访问80端口,发现是企业网站尝试扫描子域名和目录无果后,用Wappalyzer插…

vue3中的hook公共函数封装及运用

vue3 中的 hooks 就是函数的一种写法,就是将文件的一些单独功能的js代码进行抽离出来,放到单独的js文件中,或者说是一些可以复用的公共方法/功能 使用Vue3的组合API封装的可复用的功能函数自定义hook的作用类似于vue2中的mixin技术自定义Hook…

NetCore部署微服务(三)

接上文,服务端部署完成之后,同样我们也需要修改一下客户端代码 Blocking Queries 1.1 服务发现 在客户端代码中使用Nuget安装consul包 修改配置文件,我们首先需要把consul的请求地址配置在配置文件中 修改control方法 using Consul; usin…

复选框QCheckBox和分组框QGroupBox

1. 复选框:QCheckBox 实例化 //实例化 // QCheckBox* checkBox new QCheckBox("是否同意该条款",this);QCheckBox* checkBox new QCheckBox(this);1.1 代码实现 1.1.1 复选框的基本函数 复选框选中状态的参数 Qt::Unchecked //未选中状态 Qt::Part…

学习C指针

指针基本介绍 计算机中的每个内存都有地址 整型分配4字节,字符分配1字节 ,浮点数分配4字节 指针是一个变量,它存放着另外一个变量的地址 int a; int *p; p &a;// a 5; printf(p) //get a address print &a //get a address …

chatgpt免费使用的网站

前言 如果您认为本文对你有帮助,希望可以点赞收藏!感谢您的支持 下面我为你推荐我自己在用的gpt类工具,帮你在工作学习生活上解决一些大小问题 🎉智能GPT 地址: https://meet.adminjs.net 在他的详情中有详细的使用…

半监督学习 - 自训练(Self-training)

什么是机器学习 半监督学习中的自训练(Self-training)是一种利用已标记数据和未标记数据进行模型训练的方法。以下是自训练的详细教程: 步骤一:准备数据集 标记数据集: 收集和标记一小部分数据,用于有监…

Pandas实战100例 | 案例 21: 条件运算

案例 21: 条件运算 知识点讲解 在 Pandas 中进行条件运算可以用于创建新的列或修改现有的列,基于一定的条件逻辑。这些运算通常结合布尔索引或 apply 方法进行。 布尔条件运算: 可以根据列之间的比较生成布尔值列。apply 方法进行条件运算: 使用 apply 方法可以在 DataFrame…