一个产品从方案制定到最终做成可以展示或验证其功能和性能的样机需要走很多步骤,在本章我梳理了与PCB设计相关的几个关键步骤,让工程师能够清晰掌握每个环节要做的事情以及各个节点可能需要的时间,这对于做项目非常重要。 产品的设计流程本质上是一个将概念变成实际的、能够工作的系统的过程, 最终的目标是一个PCB板

一个电子产品的设计流程

从此流程图也看出来做一个“硬件设计工程师”需要掌握的技能点还是很多的,不仅要掌握每个环节的设计技能,还要有与此节点相关的专业知识,除了硬件之外,还可能需要相应的逻辑编程、软件编程、工业设计等等。 对于硬件工程师来讲,重点的目标是做一个PCB板,并将相应的元器件放上去以后能够工作起来 - 达到预先设定的目标,因此本书重点强调与PCB设计相关的环节和技能 - 单独把PCB设计的部分拎出来看看具体都有哪些环节,在这个流程中最重要的就是如何做到设计规范化、如何把控每个环节的时间节点,这样整个项目才能受控。

来了一个项目,先要进行头脑风暴,也就是把各种可能的方案、想法都天马行空地放出来,项目组的所有相关人员一起参与讨论 - 这个时候严谨的工程师们,要尽可能解放自己的思想,当然你拥有的知识面以及通过各种方式迅速搜寻资料的能力也是非常重要的,我们平时就要多用英文阅读国外专业英文网站的资料;多阅读专业媒体上的新产品、新方案等方面的文章;多参加行业的研讨会,通过这些专业的活动了解行业最新的技术发展以及尽可能掌握行业的总体状况,这些日常的积累对于头脑风暴都是非常有帮助的。可以说这个阶段的目标:越多的主意/方案越好 - 最好多人参与讨论,集思广益 - 根据需求,但不要受约束或正式需求的限制。

在这个阶段,可以使用框图、草稿的方式来简洁、明了地表达各种方案的大致思路,不需要花费太多的时间在格式上。

无论任何方案,电子产品系统都是需要电子元器件来构成的,因此我们需要对所有的元器件的特性、参数、封装、价格等有大致的了解,权威的目录分销商网站(Digikey、Mouser、Arrow等都是国际著名的元器件分销商)可以提供非常好的参考,浏览这些网站可以获得很多信息,给自己的头脑风暴提供依据。

电子系统之间的连接方式有多种,我们需要将各种可能的连接方式都考虑到,并对每种连接方式的优势、局限性有比较好的分析,列出各种可能性,在后期可以基于实际的因素进行取舍。

在电子产品系统的设计中系统的供电以及相应的性能要求越来越重要,因此在头脑风暴的阶段要将系统的供电方式以及每种方式的优缺点做一下对比分析。

从众多的方案、创意(我们常说的idea)中根据设计的一些关键需要以及原则确定最佳的方案。

  • 用“需求”和“限制”来进行评估
    • 满足项目的需求:
      • 功能 - 是否能实现项目要求的所有功能
      • 性能 - 是否能够达到每项功能所要求的性能指标,要注意性能和功能是有所不同的。
      • 可用性 - 在满足了系统的功能和性能指标的前提下,还要考虑该方案是否符合用户的使用习惯,被用户所接受。很多时候科技含量很高的产品,功能很全、性能指标做得很高,但用户体验不佳,或者无法满足用户的痛点。不被用户和客户接受的产品无法成为真正的产品。
    • 可靠性 - 任何项目或产品都是要在市场上被用户长期使用的,因此一定要长期稳定可靠,如果可靠性差,造成大量的用户退货,维护成本很高,这也不是一个好的方案。
    • 可维护性 - 很多产品,尤其是可编程的产品,都需要后期的维护和升级,在方案的设计中也要考虑到可维护性。
    • 预算 - 产出比、性价比是任何商业行为都要考虑的,产品的研发更是如此。不仅要求最终的产品价廉物美,研发过程中的投入也要满足预算的要求。这些预算包括很多部分 - 技术研发人员的人人力成本、物料采购成本、测试认证成本、业务沟通成本、市场营销成本等等。这些因素在制定合理的方案的时候都要考虑在内。

在方案评估阶段,通过现有的条件和手段对各种方案进行尽可能充分的仿真、验证是非常重要的,能够对不同方案的可行性做数据方面的对比。在PCB设计之前,我们可以利用面包板、开发板、仿真工具等多种方式进行测试。比如找来关键器件的评估板、参考板进行一些评估;用面包板或其它原型板搭一些简单的电路,一方面可以验证自己方案的可行性,同时也为后面的电路设计摸清楚很多事情,比如究竟哪些器件是需要的,如何连接最合适?供电电路应该是如何的?等等。

  • 面包板:不需要焊接,一般用于低速、穿孔器件的功能性验证
  • 开发板:一般为芯片原厂或其合作的独立设计公司(我们称之为IDH)提供的用于评估其核心器件的板卡,并配有一系列的测试端口
  • 仿真工具:不需要实际的电路,可以在电脑上通过软件加载一系列与设计相关的参数给出工作效果的过程,仿真过程对于模拟电路的器件选型和电路设计以及FPGA、IC设计等都非常重要

同时考虑到:

  1. 上市时间 - 根据这个时间节点倒推PCB设计每个环节的时间点以及需要的资源
  2. 性价比 - 开发成本/单价
  3. 熟悉程度 - 如果你对一个器件或工具不太熟悉,不仅整个流程花费的时间要久,风险也会更高
  4. 备用方案 - 未来的不确定性是永远存在的,要做最坏的打算,无论是核心器件的选用还是配套的测试工具都要有备用的方案。

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

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

  • 将“概念”转变成“框图”
  • 将“框图”转变成“元器件”
  • 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. 关键元器件的布局