电路原理图检查的十大步骤详解

最近一直在做嵌入式系统,画原理图。最后,为了保证原理图准确无误,检查原理图花费我近两周的时间,在此,把我在检查原理图方面的心得体会总结在此,供大家参考,说得不对的地方欢迎大家指出。

往往我们画完电路原理图后,也知道要检查检查,但从哪些地方入手检查呢?检查原理图需要注意哪些地方呢?下面听我根据我的经验一一道来。

1. 检查所有的芯片封装图引脚是否有误

当然,我指的是自己画的芯片封装。我在项目中曾经把一个芯片的2个引脚画反了,导致最后制版出来后不得不跳线,这样就很难看了。

所以,检查与原理图前一定要从芯片的封装入手,坚决把错误的封装扼杀在摇篮中!

2. 使用protel的Tools->ERC电气规则检查,根据其生成的文件来排错

这个指的是protel99的ERC电气规则检查,DXP应该也会有相应的菜单可以完成这样一个检查。很有用,它可以帮你查找出很多错误,根据它生成的错误文件,对照着错误文件检查一下你的原理图,你应该会惊叹:“我这么仔细地画图,竟然还会有这么多错误啊?”

3. 检测所有的网络节点net是否都连接正确(重点)

一般容易出现的错误有:

(1) 本来两个net是应该相连接的,却不小心标得不一致,例如我曾经把主芯片的DDR时钟脚标的是DDR_CLK,而把DDR芯片对应的时钟脚标成了DDRCLK,由于名字不一致,其实这两个脚是没有连接在一起的。

(2) 有的net只标出了一个,该net的另一端在什么地方却忘记标出。

(3) 同一个net标号有多个地方重复使用,导致它们全部连接到了一起。

4. 检测各个芯片功能引脚是否都连接正确,检测所有的芯片是否有遗漏引脚,不连接的划X

芯片的功能引脚一定不要连错,例如我使用的音频处理芯片有LCLK、BCLK、MCLK三个时钟引脚,与主芯片的三个音频时钟引脚一定要一一对应,连反一个就不能工作了。

是否有遗漏引脚其实很容易排查,仔细观察各个芯片,看是否有没有遗漏没有连接出去的引脚,查查datasheet,看看该引脚什么功能,如果系统中不需要,就使用X把该引脚X掉。

5. 检测所有的外接电容、电感、电阻的取值是否有根据,而不是随意取值

其实新手在画原理图时,时常不清楚某些外围电阻、电容怎么取值,这时千万不要随意取值,往往这些外围电路电阻、电容的取值在芯片的datasheet上都有说明的,有的datasheet上也给出了典型参考电路,或者一些电阻电容的计算公式,只要你足够细心,大部分电阻电容的取值你都是可以找到依据的。偶尔实在找不到依据的,可以在网上搜搜其他人的设计案例或者典型连接,参考一下。总之,不要随意设置这些取值。

6. 检查所有芯片供电端是否加了电容滤波

电源端的电容滤波的重要性就不用我多说了,其实做过硬件的人都应该知道。一般情况下,电路电源输入端会引进一些纹波,为了防止这些纹波对芯片的逻辑造成太大的影响,往往需要在芯片供电端旁边加上一些0.1uf之类的电容,起到一些滤波效果,检查电路原理图时,你可以仔细观察一下是否在必要地芯片电源端加上了这样的滤波电路呢?

7. 检测系统所有的接口电路

接口电路一般包括系统的输入和输出,需要检查输入是否有应有的保护等,输出是否有足够的驱动能力等

输入保护一般有:反冲电流保护、光耦隔离、过压保护等等。

输出驱动能力不足的需要加上一些上拉电阻提高驱动能力。

8. 检查各个芯片是否有上电、复位的先后顺序要求,若有要求,则需要设计相应的时延电路

例如我项目中使用的DM6467芯片,对供电电压的上电有先后顺序要求,必须先给1.2V电源端供电,然后给1.8V电源端供电,最后给3.3V电源端供电。因此,我们将电源芯片产生的三种电压通过一个时延芯片的处理(其实也可以使用一个三极管,利用钳位电压),然后再依次输送到主芯片中。

9. 检查各个芯片的地,该接模拟地的接模拟地,该接数字地的是否接的数字地,数字地与模拟地之间是否隔开

一般处理模拟信号的芯片有:传感器芯片、模拟信号采集芯片、AD转换芯片、功放芯片、滤波芯片、载波芯片、DA转换芯片、模拟信号输出芯片等等,往往只有当系统中存在这些处理模拟信号的芯片或者电路时才会涉及模拟地和数字地。

一般芯片的接地脚该连接模拟地还是数字地在芯片手册中都有说明,按照datasheet上连接就可以了。

10. 观察各个模块是否有更优的解决方案(可选)

其实,刚刚设计原理图初稿时,往往没有想那么多,当整个系统成型后,你往往会发现其实很多地方是可以改进可以优化的。我们项目中的电源模块前前后后改版了4次,每过一段时间往往又发现了更好的解决方案,现在的电源方案又简洁又实用,效果也高很多,我想这就是不断改进不断优化的好处吧!

转载于:https://www.cnblogs.com/wanghuaijun/p/11318033.html

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

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

相关文章

亚伦•斯沃茨:怎样有效利用时间

编者按:今天是著名黑客亚伦•斯沃茨(Aaron Swartz)头七的日子。斯沃茨14岁就参与创造RSS 1.0规格的制定,曾在斯坦福大学就读了一年,是社交新闻网站Reddit的三位创始人之一……斯沃茨自杀时才年仅26岁。这26岁的短暂生命…

AntD 可编辑行表格

本地数据代码模板自用,官网例子改改 // 编辑行的自定义表格 import React, { useState } from "react"; import {Table,Input,InputNumber,Popconfirm,Form,Typography,Divider, } from "antd";interface Item {key: string;name: string;age: number;add…

SharePoint 2013 - System Features

1. Embed Information & Convert to PDF 功能,在文档的preview界面(hover panel); 2. Share功能可以选择是否发送邮件 -- Done 4. Shredded Storage, 将文档的内容和每次的更改分开存储,每次只存储更改的内容,而不…

三心二意,助你好运?

经验说:做事要专心致志。 实验说:专心致志常常让人缺少一双发现的眼睛。 专心致志从来都被当做一个美德来歌颂。从来我们就认为要想成为伟大的人就必须要像牛顿老师那样把钟当成吃的放到锅里煮才行,至少至少也得有能在集市上看书的本事。否则…

React Antd Upload自定义上传customRequest

单独的上传图片接口要传参,action方式不太适合,需要使用自定义上传customRequest覆盖 公司代码不可弄,就发一个可用的demo例子 import React, { useState } from "react"; import { render } from "react-dom"; import "antd/dist/antd.css"; i…

HDU 4109 Instrction Arrangement

题目链接:https://vjudge.net/problem/HDU-4109 题目大意 有 N 个指令,标号从 0 ~ N - 1,和 M 个指令间的先后关系,每个关系都有一个权值 w,表示后一个指令在前一个指令开始时间之后 w 纳秒才开始执行。现在要并发执行…

养成一个习惯需要多久?

有人说养成一个习惯需要21天,有人说30天……养成习惯到底需要多少天? _hzw 2012-11-09 18:04又快到年末了。 年初时,你曾许诺要养成一些好习惯,比如要常运动、多读书、少微博。有人说说养成一个习惯只需要坚持21天;21天…

vue3 eslint The template root requires exactly one element问题

vue项目中手动引入eslint npm install eslint --save-dev eslint初始化 npx eslint --init 运行时npm run lint 简单语法问题--fix会自动修复 但是vue3项目出现只能有一个根节点的问题 原因在于 eslintrc.js里extends中plugin:vue/essential的问题 看eslint-plugin-vue官网…

你所知道的学习方法,都是错的!

你所知道的学习方法,都是错的! 上课的时候记笔记?哪门功课不行,就集中精力专项突击?自习的时候不要晃,选好一个地儿安安稳稳地待那儿学习?你还在这样学习吗?不要被骗了:这…

BZOJ 1683.City skyline 城市地平线

传送门 从左到右扫一遍,考虑什么时候会和之前形成同一幢房子从而不用统计 显然是当前的高度和之前某个点高度相同,并且它们之间没有更矮的建筑 考虑用一个单调栈维护一个单调上升的房子轮廓,然后对于扫到的每一个高度,看看栈里有没…

Vue3 eslint 编译器宏和 defineProps,defineEmits,no-undef 规则警告

.eslintrc.js修改 定义全局globals module.exports {globals: {defineProps: readonly,defineEmits: readonly,defineExpose: readonly,withDefaults: readonly},env: {browser: true,es2021: true},extends: [plugin:vue/vue3-strongly-recommended, standard],parserOptio…

Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲

Java生鲜电商平台-SpringCloud微服务开发中的数据架构设计实战精讲 Java生鲜电商平台: 微服务是当前非常流行的技术框架,通过服务的小型化、原子化以及分布式架构的弹性伸缩和高可用性,可以实现业务之间的松耦合、业务的灵活调整组合以及系统的高可用性…

JS两个对象数组过滤掉相同的对象

let arr1 [{uid:1,name:张三},{uid:2,name:李四}]; let arr2 [{id:1,name:张三},{id:2,name:王五,age:23},{id:3,name:罗翔}]; 去掉arr2中包含的arr1相同name的对象: //ES6的方法,得到新数组 const newArr arr2.filter((item) > {return !arr1.some(ele>…

亚伦•斯沃茨:提升时间的品质

亚伦•斯沃茨:提升时间的品质 不休不眠地工作是低效的,怎样发挥时间的最大效率? 伏维阁主 2013-01-18 16:45图片来源:personalitytutor.com (亚伦•斯沃茨Aaron Swartz / 文)《 怎样有效利用时间 》中给出的…

useEffect中使用异步函数

useEffect是不能直接用 async await 语法糖的 /* 错误用法 ,effect不支持直接 async await*/useEffect(async ()>{/* 请求数据 */const res await getData()},[]) useEffect 的回调参数返回的是一个清除副作用的 clean-up 函数。因此无法返回 Promise&#xf…

Flex4_HttpService组件

1、在JavaWeb项目中新建Servlet(FlexLoginServelt) : public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");response.setContentType("text…

想要提高记忆力?做梦去吧!

想要提高记忆力?做梦去吧! 豆豆助 2010-11-26 11:47经验说:不好好学习,就知道睡觉 实验说:要想记忆好,睡觉不能少。做梦可以增强我们的记忆。 有没有办法能让人不费吹灰之力增强记忆力? 做梦吧你…

This beta version of Typora is expired, please download and install a newer version. 解决方案

原文链接:https://blog.csdn.net/yyywxk/article/details/125133205 问题描述 今日打开 Typora 软件时,突然报错,提示软件版本已过期,需要安装新版本,如下图所示。 关闭错误提示框后会自动跳转到:https://…

MySQL查询count(*)、count(1)、count(field)的区别收集

count(*)对行的数目进行计算,包含NULLcount(column)对特定的列的值具有的行数进行计算,不包含NULL值。 count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。 任何情况下select count(*) from tablename是最优选择&#xff1…

真想学习?扔掉你详细的计划吧!

真想学习?扔掉你详细的计划吧! 该不该定个计划?详细的计划确实可以更高效,也许可以将你减肥的速度加快一倍。但是如果想学习,还是扔掉详细的计划吧!因为它会占用你太多的认知资源,只顾着闷头做事…