一个产品从方案制定到最终做成可以展示或验证其功能和性能的样机需要走很多步骤,在此我梳理一下与PCB设计相关的关键步骤让工程师能够清晰掌握每个环节要做的事情以及各个节点可能需要的时间,这对于做项目非常重要。

设计流程本质上是一个将概念变成实际的、能够工作的系统的过程, 最终的目标是一个PCB板

一个电子产品的设计流程

从此页面也看出来做一个“硬件设计工程师”需要掌握的技能点还是很多的,不仅要掌握每个环节的设计技能,还要有与此节点相关的专业知识。

设计流程的本质,就是将一个概念、idea变成一个能够工作,能够实现其功能、性能的系统的过程,除了硬件之外,还可能需要相应的逻辑编程、软件编程、工业设计等等。

对于硬件工程师来讲,重点的目标是做一个PCB板,并将相应的元器件放上去以后能够工作起来 - 达到预先设定的目标。

单独把PCB设计的部分拎出来看看具体都有哪些环节,在这个流程中最重要的就是如何做到设计规范化,如何把控每个环节的时间节点,这样整个项目才能受控。

来了一个项目,先要进行头脑风暴,也就是把各种可能的方案、想法都天马行空的放出来,大家在一起讨论 - 这个时候严谨的工程师们,你的思想是自由的,但考验的是你的知识面哦。是不是发现自己知道的太少了? - 目标:越多的主意/方案越好 - 最好多人参与讨论,集思广益 - 根据需求,但不要受约束或正式需求的限制

从众多的idea中根据设计的一些关键需要以及原则确定最佳的方案,考虑的因素在本页中汇总出来,做过项目的工程师自己对照一下是不是这些都有所考虑?是不是还有需要补充的?

  • 目标:选出最佳的方案
  • 用“需求”和“限制”来进行评估
    • 满足项目的需求:
    • 功能
    • 性能
    • 可用性
    • 可靠性
    • 可维护性
    • 预算

  • 面包板
  • 开发板
  • 仿真工具
  • 同时考虑到:
  • 上市时间
  • 性价比 - 开发成本/单价
  • 熟悉程度
  • 备用方案

方案定下来,先别着急直接画板,最好先做一些测试评估,比如找来关键器件的评估板、参考板进行一些评估;用面包板或其它原型板搭一下简单的电路,一方面可以验证自己方案的可行性,同时也为后面的电路设计摸清楚很多事情,比如究竟哪些器件是需要的,如何连接最合适?供电电路应该是如何的?等等。

  • 将“概念”转变成“框图”
  • 将“框图”转变成“元器件”
  • Top-down:
    • 从高层次开始设计,逐级分解
    • 明确定义子系统的功能
    • 明确定义子系统的接口
  • Bottom-up:
    • 从模块开始进行逐级集成
    • 在模块之间添加“glue logic”进行连接
  • 组合:
    • 适用于子系统风险较高的复杂设计
  • 需要做很多重要的决定:
    • 模拟还是数字?
    • 3.3V还是5V?
    • 单芯片还是分立器件组合?
  • 需要做很多折衷:
    • 高分辨率还是低功耗?
    • 同样的供电系统 - 是较高的数率还是较长的传输距离?
  • 一个改变有可能会影响到整个系统的改变
    • 尽可能避免这种设计
    • 在复杂的、高度优化的系统中很难

完成了必要的评估和测试,就可以开始详细的方案设计,你定下来的方案、idea都是用框图实现的,现在不够了,需要细化到多个模块,每个模块的功能、指标、接口方式等等,需要确定实现每个模块的关键的元器件以及相应的 接口方式、供电方式、外围器件等。

确定了核心的器件,并且已经对这些器件的货源进行了确认以及将来可能的风险评估以后,就可以进入实际的设计了,这也是我们硬件工程师一看到就兴奋的过程 - 建库、画原理图、布局、布线、Gerber输出制板,这几部分在页面中用红色部分标记出来,除了具体的设计之外,还要和PCB加工厂一起搞定PCB板的生产,以及拿到PCB板以后进行焊接、调试。

5.7.1 原理图绘制

在PCB设计过程中,先是要将原理框图转化为详细的设计,也就是绘制原理图的过程,它是一个逻辑设计的过程,当然这个过程也涉及到很多层面的知识,比如数据手册(一般是英文的)的阅读、建库、电路的设计仿真等。

  • 原理图绘制就是将框图转化成详细的设计,是一个逻辑设计的过程
    • 画原理图1 - 创建一个新的原理图
    • 画原理图2 - 添加一个器件
    • 画原理图3 - 通过连线(Track又叫Trace)将器件的管脚连接

5.7.2 布局布线

完成了电路的逻辑设计就可以在设定尺寸、层数的PCB板上进行元器件的布局(排列)和布线(电气连接)了,这个过程可以看到实际产品的样子了,尤其是通过3D视图进行查看。

布局、布线不是天马行李肆意妄为的过程,一定要考虑到后期生产、加工的实际需求,也就是DFM,它是在一系列的“约束”条件下的设计行为,在这个过程中一定要有“产品”的概念。

- 布局布线就是将原理图(通过网表)转换成适合生产加工的一系列Gerber和钻孔文件的过程

  1. 输入: 原理图 (或网表)
  2. 使用: 器件库
  3. 输出
  1. Gerbers 光绘文件 (top, bottom, middle layers)
  2. Copper
  3. Soldermask
  4. Silkscreen
  5. NC打孔文件
  6. 孔径大小
  7. X-Y位置
  8. 生产图
  9. 器件名字和位置
  10. Pick & place文件
  1. 要做的事情
  1. 创建器件
  2. 设定板子的外形尺寸
  3. 布图规划
  4. 选择层数并定义各层的功能
  5. 放置器件(调用库)
  6. 手工布线(地/电源, RF信号等)
  7. 自动布线 (非关键的信号)
  8. 设计规则检查 (DRC)

- 在约束条件下的布局和布线

  1. “约束”会影响到板子的大小、元器件的放置位置、电路板层数的选择等
  2. 在布局的时候需要先根据“约束条件”设定“规则”来限定板子的布局和布线
  1. 同其它板卡或系统连接的要求 - 板卡尺寸、定位孔、接插件位置
  2. 制板厂的加工工艺要求 - 线宽、间距、过孔孔径等
  3. 成本要求
  4. 关键元器件的空间要求, 比如温度传感器附近不能有功率器件(发热)
  5. 标准规范 - 无线通信、EMC等
  1. 关键元器件的布局

  1. Altium PCB设计指南 - 附件下载
  2. Eagle PCB设计指南 - 附件下载
  3. PADS PCB设计指南 - 附件下载
  4. PCB设计服务流程 - 附件下载
  5. PCB产品设计流程 - 附件下载