硬件电路板一板成的绝招-15年硬件设计经验分享(电路设计技巧)

启芯硬件笔记 2025-03-16 21:53:01
大家好,我是启芯。

从2009年开始到现在,我已经从事硬件单板电路设计有十五年了。

在这段不算短的时间里,我设计了各种各样的电路,有低速单片机系统也有28G 及以上的serdes高速接口;

有简单系统如单片机嵌入式智能硬件等,也有复杂的平板电脑和手机等产品线。

我从最开始的硬件设计漏洞百出,到最近几年基本能保证硬件电路一板成,极少有原理性的错误。

在这个过程中,除了不断吸取教训总结经验,还练就了不少绝招,不断迭代硬件设计流程,使用更多更好的设计工具,尽量避免错误(尤其是低级错误)的发生。今天,我向大家分享其中一个绝招,大家花几分钟看完,保证能对相关设计工作大有裨益。

1-怎么做?

我要分享的绝招是对芯片规格书或手册中重要硬件设计信息的深度处理,我称之为“芯片设计参数一张图”。字面意思很容易理解,即一张图包含所有主要的硬件设计、调试中最重要的信息等,以便高效且准确地进行硬件电路的设计调试工作。

这个绝招尤其对于复杂芯片最为适用,因为理论上芯片越复杂硬件设计更容易出错。经过大量的研发实践,我总结了芯片核心电气参数,时序,调试等数据,只需花几分钟将其列在一张图中,便于设计的快速导入,同时也对后期的调试工作提供的巨大的便利。

我先上图,让大家感受一下,然后再详细解释

我的方法是,在设计之前根据芯片的datasheet花5-10分钟制作这张图。

首先,我会找到芯片中电气信息最多的一张时序图;这个可能是该芯片中最为重要的一张图,也可能是一张表,或者状态机之类的,这个根据芯片的功能决定。

然后在图上列出感兴趣的电压、电压的网络名和电压值的对照,因为单看名字不知道DOVDD应该是1.8V还是1.2V, 电流等必备信息;

之后,我会添加时钟频率,以及i2c的电压要求以及地址信息;

最后,添加其他的核心控制信号,例如复位 reset 信号、使能 enable 信号或 powerdown 信号的电压要求等。

2-有什么好处

下面我来逐条解释这样做的巨大好处:

首先,找时序图是因为时序控制对于芯片启动阶段至关重要,时序是一切的基础,并且芯片电源设计的核心之一就是电源的时序设计。

第二,列出芯片用到主要电源轨的电压电流对应关系,电压网络和电压值对应关系,这个很好理解。主要是便于选择合适的外围电源芯片,给目标芯片供电。虽然电源选型有很多重要的参数,但最重要的是输入输出电压和输出电流这几项参数。如果能将这些参数放在一张设计图中,就能简化问题。

以这颗芯片为例,用到了三种电源,分别是2.8v, 1.8v, 1.2v. 电流也都列在后面,方便电源选型。

第三,时钟频率及电压要求。因为所有的硬件系统都需要参考时钟,时钟的主要硬件参数就是时钟频率和电压要求,比如常用的电压有 1.8V 和 3.3V,这个新手工程师很容易搞错,造成电路工作不正常。另外,如果系统是否对时钟的精度要求也要仔细核对,某些系统要求时钟 30-50ppm,晶振外围匹配电容不对,导致输出时钟精度不够会导致传输错误。

第四,i2c 的电压和地址信息。稍复杂一点的芯片都有 i2c 接口,这一块设计有几个要点:比如是否要加上拉?上拉到几 V,是1.8V 还是 3.3V,这个也是容易出错的点,有没有地址选择管脚,该管脚上下拉地址分别是什么?这个后续通讯验证会用到

最后,重要的控制管脚信息。比如重要的有复位信号reset和使能信号enable, 这里要特别注意,复位是高复位还是低复位,使能是高电平使能还是低电平使能?这些信号看起来很简单,但根据我的经验,也很容易出错,尤其是部分高电平复位,低电平使能的case, 很容易出错,如果是量产过程中出错就很严重了。另外,还有复位或使能的上拉电平问题,可能是是1.8V和3.3V,或者5V等,这个也要特别注意,如果信号上下拉不对,也会导致系统工作出错

大家可以再回过头看我上面分享的这张图,其中至少包含6个重要的信息,意味着如果没有总结这张图,那么需要至少翻看芯片手册中至少6个地方,才能凑齐全部有用信息,同时,这些信息是硬件设计和调试中最重要的部分,比如,从图中可以看出这颗芯片或模组是不需要控制上电时序的,其次,能看到AVDD, DOVDD, 及DVDD的实际电压和最大电流需求,这是电源供电电路设计中不可或缺的信息;以及芯片的时钟要求,为24MHz, 这为电路的起振电路提供了设计支持,以及I2C的地址信息,最后,整张图的基础部分是系统的实际工作时序,这个对系统调试很重要。

逐一查看,效率很低,会有大量的重复劳动,还容易出错,更容易忘记。比如

供电信息在下面这一页

然后,电源电压的对应关系,和典型电流及最大电流的关系,又在下面这张图里面,这些信息为系统电源设计提供支撑

再往下,是上电时序是否需要控制?以及芯片的工作时序要求,这些也是设计中需要重点考虑的

接着,是整个系统的工作时序关系,和要求,这些设计和调试都需要重点参考的!

再接着,芯片的时钟电路要求如下

最后,芯片的I2C地址控制如下,他表示这个管脚拉低,地址为0x6C, 这个管脚拉高地址为0x20, 很多芯片都有这个bit, 好处是复杂的系统中如果有大量I2C设备是,为了避免地址冲突重复,及更灵活控制。另外,再调试阶段,也需要去检查I2C地址信息是否正确?

实际的设计中,预留了上拉电阻和下拉电阻,这样作为EVB板卡,就有了足够的灵活性

效果评估:

用我的方法一张图就能搞定所有信息,如果找手册信息需要翻6页以上,二者的巨大差异高下立判。大家可根据实际的工作需求,对图表进行自定义修改,力求通过一张图或一张表搞定芯片的全部感兴趣信息,这样能显著提供效率,降低错误发生的可能性。

3-点评

这里面说的相关设计内容,看起来都不太难,但是就很容易出错,几乎review 每个新人的设计,在上面这些点上都会犯错,无一例外。也有工作好几年或老手,时不时没注意也会在这些地方跌跟头。比如没注意电源的上电时序,芯片的供电电流不够,电源的压差太大,芯片存在烧毁的可能性等等。

所以,如果我的读者能够避开这些问题,就比很多所谓的老手要强一些了。硬件电路走到今天,其实说到底,表面上没有太难的东西,因为已经是充分系统集成化的工程,对于工程师来说,更多的是比拼细节,细节决定成败。

另外,硬件系统化后看似设计更简单了,但整体的系统设计及验证其实更复杂了,这要求硬件工程师不断更新学习,不断掌握更多的绝招,才能完胜硬件设计之道

适用人群,硬件设计工程师,调试工程师,PCB layout工程师等

再分享一颗芯片的,这里面列出来感性的时序要求,电压,电流,以及shutdown的电平要求,这颗芯片的时钟晶振及其他信息由于我很清楚,所以没有列进去。大家采用本方法也是因人而异,图表中要列出自己感兴趣且重要的全部信息,不要有遗漏,力求通过一张图能解决自己设计和调试中的全部问题,这是唯一的目标!

-----------------------------

好了,今天的分享就到这里。

如果大家觉得内容有帮助,请关注并点赞。后续会不定期分享更多硬件设计和调试的绝招。

如果你有好的独门教招,请告诉我,让更多人受益。

如果需要文中提到的更多标注好的图片案例,请回复公众号,获取全套高清无码大图。

0 阅读:13
启芯硬件笔记

启芯硬件笔记

专注硬件设计,高速电路开发及实战经验分享。