|比人心还复杂的是硬件开发?

|比人心还复杂的是硬件开发?


今天 , 我以嵌入式产品的硬件部分为例 , 讲解其开发过程 , 希望通过这篇文章 , 大家能对嵌入式硬件开发流程有更深刻的认识 , 在以后的学习和工作中 , 更加规范化和标准化 , 提高开发技能 。

嵌入式产品的硬件形态各异 , CPU 从简单的4/8位单片机到32位的ARM处理器 , 以及其他专用IC 。
另外 , 依据产品的不同需求 , 外围电路也各不相同 , 每一次硬件开发过程 , 都需要依据实际的需求 , 考虑多方面的因素 , 选择最合适的方案来 。
硬件产品需求
和普通的嵌入式产品需求一样 , 阶段1:产品需求 。
硬件总体设计方案
一个硬件开发项目 , 它的需求可能来自很多方面 , 比如市场产品的需要或性能提升的要求等 , 因此 , 作为一个硬件设计人员 , 我们需要主动去了解各个方面的需求并分析 , 根据系统所要完成的功能 , 选择最合适的硬件方案 。
在这一阶段 , 我们需要分析整个系统设计的可行性 , 包括方案中主要器件的可采购性 , 产品开发投入 , 项目开发周期预计 , 开发风险评估等 , 并针对开发过程中可能遇到的问题 , 提前选择应对方案 , 保证硬件的顺利完成 。
硬件电路原理图设计
在系统方案确定后 , 我们即可以开展相关的设计工作 , 原理设计主要包括系统总体设计和详细设计 , 最终产生详细的设计文档和硬件原理图 。
原理设计和PCB设计是设计人员最主要的两个工作之一 , 在原理设计过程中 , 我们需要规划硬件内部资源 , 如系统存储空间 , 以及各个外围电路模块的实现 。
另外 , 对系统主要的外围电路 , 如电源、复位等也需要仔细的考虑 , 在一些高速设计或特殊应用场合 , 还需要考虑EMC/EMI等 。

电源是保证硬件系统正常工作的基础 , 设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等 。

为了系统稳定可靠的工作 , 复位电路的设计也非常重要 , 如何保证系统不会在外界干扰的情况下异常复位 , 如何保证在系统运行异常的时候能够及时复位 , 以及如何合理的复位 , 才能保证系统完整的复位后 , 这些也都是我们在原理设计的时候需要考虑的 。

同样的 , 时钟电路的设计也是非常重要的一个方面 , 一个不好的时钟电路设计 , 可能会引起通信产品的数据丢包 , 产生大的EMI , 甚至导致系统不稳定 。
原理图设计中要有“拿来主义”!现在的芯片厂家一般都可以提供参考设计的原理图 , 所以要尽量的借助这些资源 , 在充分理解参考设计的基础上 , 做一些自己的发挥 。PCB图设计
PCB设计阶段 , 即是将原理图设计转化为实际的可加工的PCB线路板 , 目前主流的PCB设计软件有PADS、Candence和Protel几种 。
PCB设计 , 尤其是高速PCB , 需要考虑EMC/EMI , 阻抗控制 , 信号质量等 , 对PCB 设计人员的要求比较高 。
为了验证设计的PCB是否符合要求 , 有的还需要进行PCB仿真 。 并依据仿真结果调整PCB的布局布线 , 完成整个的设计 。
PCB加工文件制作与PCB打样
【|比人心还复杂的是硬件开发?】PCB绘制完成以后 , 在这一阶段 , 我们需要生成加工厂可识别的加工文件 , 即常说的光绘文件 , 将其交给加工厂打样PCB空板 , 一般1至4层板可以在一周内完成打样 。