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

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

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

电路原理图检查的十大步骤详解相关推荐

  1. 十大排序详解(java实现)

    十大排序详解(java实现) 一.十大排序算法概述 1.定义 2.分类 3.比较 4.相关概念 二.各算法原理及实现 1.冒泡排序 2.简单选择排序(Selection Sort) 3.直接插入排序( ...

  2. 学习电气自动化PLC编程最基础的十大知识点详解

    这篇文章其实是学习PLC自动化过程中必须要理解的基础问题,不管是西门子PLC还是三菱PLC,抑或欧姆龙PLC,以及国产品牌的PLC,这些问题都必须理解透,才能更好的开始自动化编程.不然指令学完了梯形图 ...

  3. ETL学习总结(1)——ETL 十大功能特性详解

    前言 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行.说白了就是,很有必要去理解一般ETL工具必备的特性和功能,这样才更好的掌握Kettle的使 ...

  4. Javascript常用的十大设计模式详解

    转载自:https://juejin.im/entry/58c280b1da2f600d8725b887 一:理解工厂模式 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同 ...

  5. SAP UI5 初学者教程之二十六 - OData 服务配合 Mock 服务器的使用步骤详解试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 初学者教程之一:Hello World SAP UI5 初学者教程之二:SAP UI5 ...

  6. [转]大数据环境搭建步骤详解(Hadoop,Hive,Zookeeper,Kafka,Flume,Hbase,Spark等安装与配置)

    大数据环境安装和配置(Hadoop2.7.7,Hive2.3.4,Zookeeper3.4.10,Kafka2.1.0,Flume1.8.0,Hbase2.1.1,Spark2.4.0等) 系统说明 ...

  7. 【Dash搭建可视化网站】项目13:销售数据可视化大屏制作步骤详解

    销售数据可视化大屏制作步骤详解 1 项目效果图 2 项目架构 3 文件介绍和功能完善 3.1 assets文件夹介绍 3.2 app.py和index.py文件完善 3.3 header.py文件完善 ...

  8. 【Dash搭建可视化网站】项目10:疫情数据可视化大屏制作步骤详解

    疫情数据可视化大屏制作步骤详解 1 项目效果图 2 项目架构 3 文件介绍和功能完善 3.1 assets文件夹介绍 3.2 app.py和index.py文件完善 3.3 header.py文件完善 ...

  9. 【Dash搭建可视化网站】项目12:全球恐怖主义数据大屏制作步骤详解

    全球恐怖主义数据大屏制作步骤详解 1 项目效果图 2 项目架构 3 文件介绍和功能完善 3.1 assets文件夹介绍 3.2 app.py和index.py文件完善 3.3 header.py文件完 ...

最新文章

  1. 【python】命令行解析工具getopt用法
  2. Android面试题目之三: 字符串转整形
  3. max分发-(网络系统克隆)
  4. function函数的使用
  5. Linux之apache服务搭建以及浅析web安全
  6. 计算机二级java邓伦单_2010年3月计算机等级考试二级Java笔试试题(文字版)
  7. 桌面支持--WIN7任务栏上EXCEL的图标右键菜单上没有了最近打开的文档目录
  8. Informatica通过人工智能重新定义数据管理助力数据驱动型数字化转型
  9. php隐藏json数据,PHP调用出json后出来的数目字 想隐藏掉 50份求高手帮忙下
  10. 使用WindowsHooks库制作和使用全局钩子
  11. 用Python制作圣诞树
  12. 【Java3D】Java3D的Demo
  13. 福昕PDF电子文档处理套装软件中文企业版9.01
  14. C语言获取程序运行时间
  15. 01 - Python 调用outlook发送邮件
  16. 软件设计学习笔记1_架构
  17. 透过现象看本质,如何针对用户做好需求分析
  18. 如何在Vue项目中引入ArcGIS JavaScript API​ 创建三维可视化地图(含vue项目创建教程)
  19. 八数码问题的三种解决方式,其一:宽度优先搜索
  20. 无线通信基础知识4:功率单位

热门文章

  1. 从TCP拥塞本质看BBR算法及其收敛性(附CUBIC的改进/NCL机制)
  2. 微信小程序iphone11 wx.openBluetoothAdapter 返回状态10001 当前蓝牙适配器不可用
  3. 美国时间格式化成通用时间
  4. 使用mysql_upgrade升级mysql5.1至5.6的数据库升级实施方案
  5. STM8S 模拟I2C程序
  6. Laravel框架-迁移文件
  7. Apollo星火计划学习笔记——Control 专项讲解(LQR)
  8. xls打开显示无法在计算机上运行,电脑无法运行Excel提示不是有效Win32应用程序修复方法...
  9. MG本地服务器如何改ip
  10. React项目中裁剪图片组件使用