本月累计签到次数:

今天获取 积分

硬件设计

硬件设计

942 浏览

做硬件开发项目需要注意的几点

设备硬件类 善思惟 2017-02-24 13:20 发表了文章 来自相关话题

1、充分了解各方的设计需求,确定合适的解决方案

启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。

比如A项目的原 查看全部
1、充分了解各方的设计需求,确定合适的解决方案

启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。

比如A项目的原
1049 浏览

一文轻松教你玩转硬件电路设计

设备硬件类 不见不散 2017-01-10 10:43 发表了文章 来自相关话题

时光飞逝,离俺最初画第一块电路已有3年。刚刚开始接触电路板的时候,与你一样,俺充满了疑惑同时又带着些兴奋。在网上许多关于硬件电路的经验、知识让人目不暇接。像信号完整性,EMI,PS设计准会把你搞晕。别急,一切要慢慢来。




1、总体思路。设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也 查看全部
时光飞逝,离俺最初画第一块电路已有3年。刚刚开始接触电路板的时候,与你一样,俺充满了疑惑同时又带着些兴奋。在网上许多关于硬件电路的经验、知识让人目不暇接。像信号完整性,EMI,PS设计准会把你搞晕。别急,一切要慢慢来。




1、总体思路。设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也
954 浏览

高速电路的电磁兼容分析与设计

设备硬件类 回锅肉 2017-01-03 09:56 发表了文章 来自相关话题

引言:
 
电磁兼容性是指电气和电子系统及设备在特定的电磁环境中,在规定的安全界限内以设定的等级运行时,不会由于外界的电磁干扰而引起损坏或导致性能恶化到不可挽救的程 度,同时它们本身产生的电磁辐射不大于检定的极限电平,不影响其他电子设备或系统的正常运行,以达到设备与设备、系统与系统之间互不干扰、共同可靠地工作 的目的 查看全部
引言:
 
电磁兼容性是指电气和电子系统及设备在特定的电磁环境中,在规定的安全界限内以设定的等级运行时,不会由于外界的电磁干扰而引起损坏或导致性能恶化到不可挽救的程 度,同时它们本身产生的电磁辐射不大于检定的极限电平,不影响其他电子设备或系统的正常运行,以达到设备与设备、系统与系统之间互不干扰、共同可靠地工作 的目的
990 浏览

PCB设计后期检查的几大要素

设备硬件类 回锅肉 2017-01-03 09:31 发表了文章 来自相关话题

当一块PCB板完成了布局布线,又检查连通性和间距都没有报错的情况下,一块PCB是不是就完成了呢?答案当然是否定。很多初学者也包括一些有经验的工程师,由于时间紧或者不耐烦亦或者过于自信,往往草草了事,忽略了后期检查。结果出现了一些很基本的BUG,比如线宽不够,元件标号丝印压在过孔上,插座靠得太近,信号出现环路等等。从而 查看全部
当一块PCB板完成了布局布线,又检查连通性和间距都没有报错的情况下,一块PCB是不是就完成了呢?答案当然是否定。很多初学者也包括一些有经验的工程师,由于时间紧或者不耐烦亦或者过于自信,往往草草了事,忽略了后期检查。结果出现了一些很基本的BUG,比如线宽不够,元件标号丝印压在过孔上,插座靠得太近,信号出现环路等等。从而
882 浏览

真正的产品是这样设计的!

设备硬件类 加菲猫的旅行 2016-12-12 09:52 发表了文章 来自相关话题

硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可 查看全部
硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可
1149 浏览

破解MCU,既然可以这么简单!

电气控制类 麦田守候 2016-11-25 10:46 发表了文章 来自相关话题

写在最前面,本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,发烧友对后果概不负责...

首先明白MCU是什么——即结构与组成

Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作 查看全部
写在最前面,本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,发烧友对后果概不负责...

首先明白MCU是什么——即结构与组成

Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作
1158 浏览

真正的产品是这样设计的!

设备硬件类 回锅肉 2016-11-07 10:34 发表了文章 来自相关话题

硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可 查看全部
硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可
3434 浏览

(干货)PCB正片和负片的较量,二者有什么区别

设备硬件类 嗡班匝萨埵吽 2016-10-19 10:26 发表了文章 来自相关话题

【导读】印制电路板,PCB( Printed Circuit Board),又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。本文将为你诠释PCB正片和负片的区别,以及PCB负片使用场合。PCB在电子产业这么“火”的原因,在这里你 查看全部
【导读】印制电路板,PCB( Printed Circuit Board),又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。本文将为你诠释PCB正片和负片的区别,以及PCB负片使用场合。PCB在电子产业这么“火”的原因,在这里你
1501 浏览

硬件设计—热量管理

设计类 amada 2016-06-23 09:26 发表了文章 来自相关话题

在设计电路中,经常会碰到一些功耗较高的元器件,如电源芯片、MOSFET、IGBT等。线型电源芯片选择时,知道输入电源、输出电源、以及输出电流时,以前个人做法就是,稳定工作时,电源芯片的外壳不烫手,所以尽量选择大一点的外壳封装芯片。如24V电源转18V电源,需要输出电流100mA,可选用78系列芯片,其封装有直插TO2 查看全部
在设计电路中,经常会碰到一些功耗较高的元器件,如电源芯片、MOSFET、IGBT等。线型电源芯片选择时,知道输入电源、输出电源、以及输出电流时,以前个人做法就是,稳定工作时,电源芯片的外壳不烫手,所以尽量选择大一点的外壳封装芯片。如24V电源转18V电源,需要输出电流100mA,可选用78系列芯片,其封装有直插TO2
942 浏览

做硬件开发项目需要注意的几点

设备硬件类 善思惟 2017-02-24 13:20 发表了文章 来自相关话题

1、充分了解各方的设计需求,确定合适的解决方案

启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。

比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。

根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。

项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。

2 、原理图设计中要注意的问题

原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。

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

比如A项目中的网络处理器需要1.25V作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。

时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。

芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中没有出现问题。

3、PCB设计中要注意的问题

PCB设计中要做到目的明确,对于重要的信号线要非常严格的要求布线的长度和处理地环路,而对于低速和不重要的信号线就可以放在稍低的布线优先级上。重要的部分包括:电源的分割;内存的时钟线,控制线和数据线的长度要求;高速差分线的布线等等。

A项目中使用内存芯片实现了1G大小的DDR memory,针对这个部分的布线是非常关键的,要考虑到控制线和地址线的拓扑分布,数据线和时钟线的长度差别控制等方面,在实现的过程中,根据芯片的数据手册和实际的工作频率可以得出具体的布线规则要求,比如同一组内的数据线长度相差不能超过多少个mil,每个通路之间的长度相差不能超过多少个mil等等。

当这些要求确定后就可以明确要求PCB设计人员来实现了,如果设计中所有的重要布线要求都明确了,可以转换成整体的布线约束,利用CAD中的自动布线工具软件来实现PCB设计,这也是在高速PCB设计中的一个发展趋势。

4、检查和调试

当准备调试一块板的时候,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏单板。

调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。

5、一些总结的话

现在从技术的角度来说,每个设计最终都可以做出来,但是一个项目的成功与否,不仅仅取决于技术上的实现,还与完成的时间,产品的质量,团队的配合密切相关,所以良好的团队协作,透明坦诚的项目沟通,精细周密的研发安排,充裕的物料和人员安排,这样才能保证一个项目的成功。

一个好的硬件工程师实际上就是一个项目经理,他/她需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,他/她要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,还要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。

在调试的过程中他/她要组织好软件工程师来一起攻关调试,配合测试工程师一起解决测试中发现的问题,等到产品推出到现场,如果出现问题,还需要做到及时的支持。所以做一个硬件设计人员要锻炼出良好的沟通能力,面对压力的调节能力,同一时间处理多个事务的协调和决断能力和良好平和的心态等等。

还有细心和认真,因为硬件设计上的一个小疏忽往往就会造成非常大的经济损失,比如以前碰到一块板在PCB设计完备出制造文件的时候误操作造成了电源层和地层连在了一起,PCB板制造完毕后又没有检查直接上生产线贴装,到测试的时候才发现短路问题,但是元器件已经都焊接到板上了,结果造成了几十万的损失。

所以细心和认真的检查,负责任的测试,不懈的学习和积累,才能使得一个硬件设计人员持续不断的进步,而后术业有所小成。
 
 
来源:网络 查看全部
1、充分了解各方的设计需求,确定合适的解决方案

启动一个硬件开发项目,原始的推动力会来自于很多方面,比如市场的需要,基于整个系统架构的需要,应用软件部门的功能实现需要,提高系统某方面能力的需要等等,所以作为一个硬件系统的设计者,要主动的去了解各个方面的需求,并且综合起来,提出最合适的硬件解决方案。

比如A项目的原始推动力来自于公司内部的一个高层软件小组,他们在实际当中发现原有的处理器板IP转发能力不能满足要求,从而对于系统的配置和使用都会造成很大的不便,所以他们提出了对新硬件的需求。

根据这个目标,硬件方案中就针对性的选用了两个高性能网络处理器,然后还需要深入的和软件设计者交流,以确定内存大小,内部结构,对外接口和调试接口的数量及类型等等细节,比如软件人员喜欢将控制信令通路和数据通路完全分开来,这样在确定内部数据走向的时候要慎重考虑。

项目开始之初是需要召开很多的讨论会议的,应该尽量邀请所有相关部门来参与,好处有三个,第一可以充分了解大家的需要,以免在系统设计上遗漏重要的功能,第二是可以让各个部门了解这个项目的情况,提早做好时间和人员上协作的准备,第三是从感情方面讲,在设计之初各个部门就参与了进来,这个项目就变成了大家共同的一个心血结晶,会得到大家的呵护和良好合作,对完成工作是很有帮助的。

2 、原理图设计中要注意的问题

原理图设计中要有“拿来主义”,现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。当主要的芯片选定以后,最关键的外围设计包括了电源,时钟和芯片间的互连。

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

比如A项目中的网络处理器需要1.25V作为核心电压,要求精度在+5%- -3%之间,电流需要12A左右,根据这些要求,设计中采用5V的电源输入,利用Linear的开关电源控制器和IR的MOSFET搭建了合适的电源供应电路,精度要求决定了输出电容的ESR选择,并且为防止电流过大造成的电压跌落,加入了远端反馈的功能。

时钟电路的实现要考虑到目标电路的抖动等要求,A项目中用到了GE的PHY器件,刚开始的时候使用一个内部带锁相环的零延时时钟分配芯片提供100MHz时钟,结果GE链路上出现了丢包,后来换成简单的时钟Buffer器件就解决了丢包问题,分析起来就是内部的锁相环引入了抖动。

芯片之间的互连要保证数据的无误传输,在这方面,高速的差分信号线具有速率高,好布线,信号完整性好等特点,A项目中的多芯片间互连均采用了高速差分信号线,在调试和测试中没有出现问题。

3、PCB设计中要注意的问题

PCB设计中要做到目的明确,对于重要的信号线要非常严格的要求布线的长度和处理地环路,而对于低速和不重要的信号线就可以放在稍低的布线优先级上。重要的部分包括:电源的分割;内存的时钟线,控制线和数据线的长度要求;高速差分线的布线等等。

A项目中使用内存芯片实现了1G大小的DDR memory,针对这个部分的布线是非常关键的,要考虑到控制线和地址线的拓扑分布,数据线和时钟线的长度差别控制等方面,在实现的过程中,根据芯片的数据手册和实际的工作频率可以得出具体的布线规则要求,比如同一组内的数据线长度相差不能超过多少个mil,每个通路之间的长度相差不能超过多少个mil等等。

当这些要求确定后就可以明确要求PCB设计人员来实现了,如果设计中所有的重要布线要求都明确了,可以转换成整体的布线约束,利用CAD中的自动布线工具软件来实现PCB设计,这也是在高速PCB设计中的一个发展趋势。

4、检查和调试

当准备调试一块板的时候,一定要先认真的做好目视检查,检查在焊接的过程中是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这个好习惯可以避免贸然上电后损坏单板。

调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,要坚信“凡事都是有办法解决的”和“问题出现一定有它的原因”,这样最后一定能调试成功。

5、一些总结的话

现在从技术的角度来说,每个设计最终都可以做出来,但是一个项目的成功与否,不仅仅取决于技术上的实现,还与完成的时间,产品的质量,团队的配合密切相关,所以良好的团队协作,透明坦诚的项目沟通,精细周密的研发安排,充裕的物料和人员安排,这样才能保证一个项目的成功。

一个好的硬件工程师实际上就是一个项目经理,他/她需要从外界交流获取对自己设计的需求,然后汇总,分析成具体的硬件实现。还要跟众多的芯片和方案供应商联系,从中挑选出合适的方案,当原理图完成后,他/她要组织同事来进行配合评审和检查,还要和CAD工程师一起工作来完成PCB的设计。与此同时,还要准备好BOM清单,开始采购和准备物料,联系加工厂家完成板的贴装。

在调试的过程中他/她要组织好软件工程师来一起攻关调试,配合测试工程师一起解决测试中发现的问题,等到产品推出到现场,如果出现问题,还需要做到及时的支持。所以做一个硬件设计人员要锻炼出良好的沟通能力,面对压力的调节能力,同一时间处理多个事务的协调和决断能力和良好平和的心态等等。

还有细心和认真,因为硬件设计上的一个小疏忽往往就会造成非常大的经济损失,比如以前碰到一块板在PCB设计完备出制造文件的时候误操作造成了电源层和地层连在了一起,PCB板制造完毕后又没有检查直接上生产线贴装,到测试的时候才发现短路问题,但是元器件已经都焊接到板上了,结果造成了几十万的损失。

所以细心和认真的检查,负责任的测试,不懈的学习和积累,才能使得一个硬件设计人员持续不断的进步,而后术业有所小成。
 
 
来源:网络
1049 浏览

一文轻松教你玩转硬件电路设计

设备硬件类 不见不散 2017-01-10 10:43 发表了文章 来自相关话题

时光飞逝,离俺最初画第一块电路已有3年。刚刚开始接触电路板的时候,与你一样,俺充满了疑惑同时又带着些兴奋。在网上许多关于硬件电路的经验、知识让人目不暇接。像信号完整性,EMI,PS设计准会把你搞晕。别急,一切要慢慢来。







1、总体思路。设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思路具体实现;但也有 些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂 得借鉴他人的成果)。

2、理解电路。如果你找到了的参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。

3、没有找到参考设计? 没关系。先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是硬件工 程师的能力的体现,这也需要长期地慢慢地积累。这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。

4、硬件电路设计主要是三个部分,原理图,pcb ,物料清单(BOM)表。原理图设计就是将前面的思路转化为电路原理图。它很像我们教科书上的电路图。pcb涉及到实际的电路板,它根据原理图转化而来的 网表(网表是沟通原理图和pcb之间的桥梁),而将具体的元器件的封装放置(布局)在电路板上,然后根据飞线(也叫预拉线)连接其电信号(布线)。完成了 pcb布局布线后,要用到哪些元器件应该有所归纳,所以我们将用到BOM表。

5、用什么工具?protel容易上手,在国内也比较流行,应付一般的工作已经足够,适合初入门的设计者使用。

设计流程

其实无论用简单的protel或者复杂的cadence工具,硬件设计大环节是一样的(protel上的操作类似windwos,是post- command型的;而cadence的产品concept & allegro 是pre-command型的,用惯了protel,突然转向cadence的工具,会不习惯就是这个原因)。设计大环节都要有1)原理图设 计,2)pcb设计,3)制作BOM表。现在简要谈一下设计流程(步骤):

1、原理图库建立。要将一个新元件摆放在原理图上,我们必须得建立改元件的库。库中主要定义了该新元件的管脚定义及其属性,并且以具体的图形形式来代表(我们 常常看到的是一个矩形(代表其IC BODY),周围许多短线(代表IC管脚))。protel创建库及其简单,而且因为用的人多,许多元件都能找到现成的库,这一点对使用者极为方便。应搞 清楚ic body、ic pins、input pin、output pin、analog pin、digital pin、power pin等区别。

2、有了充足的库之后,就可以在原理图上画图了,按照datasheet和系统设计的要求,通过wire把相关元件连接起来。在相关的地方添加line和 text注释。wire和line的区别在于,前者有电气属性,后者没有。wire适用于连接相同网络,line适用于注释图形。这个时候,应搞清一些基 本概念,如:wire,line,bus,part,footprint,等等。

3、做完这一步,我们就可以生成netlist了,这个netlist是原理图与pcb之间的桥梁。原理图是我们能认知的形式,电脑要将其转化为pcb,就必须将原理图转化它认识的形式netlist,然后再处理、转化为pcb。

4、得到netlist,马上画pcb?别急,先做ERC先。
ERC是电气规则检查的缩写。它能对一些原理图基本的设计错误进行排查,如多个output接在一起等问题。(但是一定要仔细检查自己的原理图,不能过分依赖工具,毕竟工具并不能明白你的系统,它只是纯粹地根据一些基本规则排查。)

5、从netlist得到了pcb,一堆密密麻麻的元件,和数不清的飞线是不是让你吓了一跳?呵呵,别急还得慢慢来。

6、确定板框大小。在keepout区(或mechanic区)画个板框,这将限制了你布线的区域。需要根据需求好考虑板长,板宽(有时,还得考虑板厚)。 当然了,叠层也得考虑好。(叠层的意思就是,板层有几层,怎么应用,比如板总共4层,顶层走信号,中间第一层铺电源,中间第二层铺地,底层走信号)。

元件布局、布线

先解释一下前面的术语。post-command,例如,我们要拷贝一个object(元件),我们要先选中这个object,然后按ctrl+C,然后按 ctrl+V(copy命令发生在选中object之后)。这种操作windows和protel都采用的这种方式。但是concept就是另外一种方 式,我们叫做pre-command。同样我们要拷贝一个东西,先按ctrl+C,然后再选中object,再在外面单击(copy命令发生在选中 object之前)。

1、确定完板框之后,就该元件布局(摆放)了,布局这步极为关键。它往往决定了后期布线的难易。哪些元器件该摆正面,哪些元件该摆背面,都要有所考量。但是这 些都是一个仁者见仁,智者见智的问题;从不同角度考虑摆放位置都可以不一样。其实自己画了原理图,明白所有元件功能,自然对元件摆放有清楚的认识(如果让 一个不是画原理图的人来摆放元件,其结果往往会让你大吃一惊^_^)。对于初入门的,注意模拟元件,数字元件的隔离,以及机械位置的摆放,同时注意电源的 拓扑就可以了。

2、接下来就是布线。这与布局往往是互动的。有经验的人往往在开始就能看出哪些地方能布线成功。如果有些地方难以布线还需要改动布局。对于fpga设计来说往 往还要改动原理图来使布线更加顺畅。布线和布局问题涉及的因素很多,对于高速数字部分,因为牵扯到信号完整性问题而变得复杂,但往往这些问题又是难以定量 或即使定量也难以计算的。所以,在信号频率不是很高的情况下,应以布通为第一原则。

3、OK了?别急,用DRC检查检查先。这是一定要检查的。DRC对于布线完成覆盖率以及规则违反的地方都会有所标注,按照这个再一一的排查,修正。

4、有些pcb还要加上敷铜(可能会导致成本增加),将出线部分做成泪滴(工厂也许会帮你加)。最后的pcb文件转成gerber文件就可交付pcb生产了。(有些直接给pcb也成,工厂会帮你转gerber)。

5、要装配pcb,准备bom表吧,一般能直接从原理图中导出。但是需要注意的是,原理图中哪些部分元件该上,哪些部分元件不该上,要做到心理有数。对于小 批量或研究板而言,用excel自己管理倒也方便(大公司往往要专业软件来管理)。而对于新手而言,第一个版本,不建议直接交给装配工厂或焊接工厂将 bom的料全部焊上,这样不便于排查问题。最好的方法就是,根据bom表自己准备好元件。等到板来了之后,一步步上元件、调试。

电路板调试

1、拿到板第一步做什么,不要急急忙忙供电看功能,硬件调试不可能一步调试完成的。先拿万用表看看关键网络是否有不正常,主要是看电源与地之间有否短路(尽管 生产厂商已经帮你做过测试,这一步还是要自己亲自看看,有时候看起来某些步骤挺繁琐,但是可以节约你后面不少时间!),其实短路与否不光pcb有关,在生 产制作的任何一个环节可能导致这个问题,IO短路一般不会造成灾难性的后果,但是电源短路就......

2、电源网络没短路?那么好,那就看看电源输出是否是自己理想的值,对于初学者,调试的时候最好IC一件件芯片上,第一个要上的就是电源芯片。

3、电源网络短路了?这个比较麻烦,不过要仔细看看自己原理图是否有可能这样的情况,同时结合割线的方法一步步排查倒底是什么地方短路了,是pcb的问题 (一般比较烂的pcb厂就可能出现这种情况),还是装配的问题,还是自己设计的问题。关于检查短路还有一些技巧,这在今后登出......

4、电源芯片没有输出?检查检查你的电源芯片输入是否正常吧,还需要检查的地方有使能信号,分压电阻,反馈网络......

5、电源芯片输出值不在预料范围?如果超过很离谱,比如到了10%,那么看看分压电阻先,这两个分压电阻一般要用1%的精度,这个你做到了没有,同时看看反馈网络吧,这也会影响你的输出电源的范围。

6、电源输出正常了,别高兴,如果有条件的话,拿示波器看看吧,看看电源的输出跳变是否正常。也就是抓取开电的瞬间,看看电源从无到有的情况(至于为什么要看着个,嘿嘿......专业人士还是要看的~)

电源的设计

无疑电源设计是整个电路板最重要的一环。电源不稳定,其他啥都别谈。我想不用balabala述说它究竟有多么重要了。
    
在 电源设计我们用得最多的场合是,从一个稳定的“高”电压得到一个稳定的“低”电压。这也就是经常说的DC/DC,其中用得最多的电源稳压芯片有两种,一种 叫LDO(低压差线性稳压器,我们后面说的线性稳压电源,也是指它),另一种叫PWM(脉宽调制开关电源,我们在本文也称它开关电源)。我们常常听到 PWM的效率高,但是LDO的响应快,这是为什么呢?别着急,先让我们看看它们的原理。
   
下面会涉及一些理论知识,但是依然非常浅显易懂,如果你不懂,嘿嘿,得检查一下自己的基础了。

1、线性稳压电源的工作原理






如图是线性稳压电源内部结构的简单示意图。我们的目的是从高电压Vs得到低电压Vo。在图中,Vo经过两个分压电阻分压得到V+,V+被送入放大器(我们把这个放大器叫做误差放大器)的正端,而放大器的负端Vref是电源内部的参考电平(这个参考电平是恒定的)。放大器的输出Va连接到MOSFET的栅极来控制MOSFET的阻抗。Va变大时,MOSFET的阻抗变大;Va变小时,MOSFET的阻抗变小。MOSFET上的压降将是Vs-Vo。
    
现在我们来看Vo是怎么稳定的,假设Vo变小,那么V+将变小,放大器的输出Va也将变小,这将导致MOSFET的阻抗变小,这样经过同样的电流,MOSFET的压差将变小,于是将Vo上抬来抑制Vo的变小。同理,Vo变大,V+变大,Va变大,MOSFET的阻抗变大,经过同样的电流,MOSFET的压差变大,于是抑制Vo变大。
 
2、开关电源的工作原理






如上图,为了从高电压Vs得到Vo,开关电源采用了用一定占空比的方波Vg1,Vg2推动上下MOS管,Vg1和Vg2是反相的,Vg1为高,Vg2为低;上MOS管打开时,下MOS管关闭;下MOS管打开时,上MOS管关闭。由此在L左端形成了一定占空比的方波电压,电感L和电容C我们可以看作是低通滤波器,因此方波电压经过滤波后就得到了滤波后的稳定电压Vo。Vo经过R1、R2分压后送入第一个放大器(误差放大器)的负端V+,误差放大器的输出Va做为第二个放大器(PWM放大器)的正端,PWM放大器的输出Vpwm是一个有一定占空比的方波,经过门逻辑电路处理得到两个反相的方波Vg1、Vg2来控制MOSFET的开关。

误差放大器的正端Vref是一恒定的电压,而PWM放大器的负端Vt是一个三角波信号,一旦Va比三角波大时,Vpwm为高;Va比三角波小时,Vpwm为低,因此Va与三角波的关系,决定了方波信号Vpwm的占空比;Va高,占空比就低,Va低,占空比就高。经过处理,Vg1与Vpwm同相,Vg2与Vpwm反相;最终L左端的方波电压Vp与Vg1相同。如下图






当Vo上升时,V+将上升,Va下降,Vpwm占空比下降,经过们逻辑之后,Vg1的占空比下降,Vg2的占空比上升,Vp占空比下降,这又导致Vo降低,于是Vo的上升将被抑制。反之亦然。
 
3、对比线性稳压电源和开关电源

懂得了线性稳压电源和开关电源的工作原理之后,我们就可以明白为什么线性稳压电源有较小的噪声,较快的瞬态响应,但是效率差;而开关电源噪声较大,瞬态响应较慢,但效率高了。

线性稳压电源内部结构简单,反馈环路短,因此噪声小,而且瞬态响应快(当输出电压变化时,补偿快)。但是因为输入和输出的压差全部落在了MOSFET上,所以它的效率低。因此,线性稳压一般用在小电流,对电压精度要求高的应用上。

而开关电源,内部结构复杂,影响输出电压噪声性能的因数很多,且其反馈环路长,因此其噪声性能低于线性稳压电源,且瞬态响应慢。但是根据开关电源的结构,MOSFET处于完全开和完全关两种状态,除了驱动MOSFET,和MOSFET自己内阻消耗的能量之外,其他能量被全部用在了输出(理论上L、C是不耗能量的,尽管实际并非如此,但这些消耗的能量很小)。

关于高速信号认识的一些误区

1、高速看的是信号沿,不是时钟频率  

一般而言,时钟频率高的,其信号上升沿快,因此一般我们把它们当成高速信号;但反过来不一定成立,时钟频率低的,如果信号上升沿依然快的,一样要把它当成高速信号来处理。根据信号理论,信号上升沿包含了高频信息(用傅立叶变换,可以找出定量表达式),因此,一旦信号上升沿很陡,我们应该按高速信号来处理,设计不好,很可能出现上升沿过于缓慢,有过冲,下冲,振铃的现象。比如,I2C信号,在超快速模式下,时钟频率为1MHz,但是其规范要求上升时间或下降时间不超过120ns!确实有很多板I2C就过不了关!

因此,我们更应该关注的是信号带宽。根据经验公式,带宽与上升时间(10%~90%)的关系为 Fw * Tr = 3.5

2、示波器选择

很多人注意到了示波器的采样率,没有注意到示波器的带宽。但往往示波器带宽是一个更重要的参数。一些人以为只要示波器采样率满足超过信号时钟频率的两倍就行了,这是大错特错。错误的原因是错误的理解了采样定理。采样定理1说明了当采样频率大于信号最大带宽的两倍,就能完美地恢复原信号。但是,采样定理指的信号是带限信号(带宽是有限的),与现实中的信号严重不符。我们一般的数字信号,除了时钟之外,都不是周期的,从长时间来看,其频谱是无限宽的;要能捕获到高速信号,就不能对其高频分量太多的失真。示波器带宽指标与此息息相关。因此,真正要注意的依然是用示波器捕获的信号的上升沿失真在我们可接受的范围。

那么选多高带宽的示波器才合适呢?理论上5倍于信号带宽的示波器捕获的信号比原信号损失不到3%。如果要求损失更宽松,那就可以选择更低端的示波器。用到3倍于信号带宽的示波器应该能满足大多数要求。但是不要忘了你探头的带宽!

总结,说了这么多,硬件设计的秘诀就两条:理清思路、注重细节。各位,你们有何高见呢?
 
 
来源:网络 查看全部
时光飞逝,离俺最初画第一块电路已有3年。刚刚开始接触电路板的时候,与你一样,俺充满了疑惑同时又带着些兴奋。在网上许多关于硬件电路的经验、知识让人目不暇接。像信号完整性,EMI,PS设计准会把你搞晕。别急,一切要慢慢来。


640.webp_(31)_.jpg


1、总体思路。设计硬件电路,大的框架和架构要搞清楚,但要做到这一点还真不容易。有些大框架也许自己的老板、老师已经想好,自己只是把思路具体实现;但也有 些要自己设计框架的,那就要搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂 得借鉴他人的成果)。

2、理解电路。如果你找到了的参考设计,那么恭喜你,你可以节约很多时间了(包括前期设计和后期调试)。马上就copy?NO,还是先看懂理解了再说,一方面能提高我们的电路理解能力,而且能避免设计中的错误。

3、没有找到参考设计? 没关系。先确定大IC芯片,找datasheet,看其关键参数是否符合自己的要求,哪些才是自己需要的关键参数,以及能否看懂这些关键参数,都是硬件工 程师的能力的体现,这也需要长期地慢慢地积累。这期间,要善于提问,因为自己不懂的东西,别人往往一句话就能点醒你,尤其是硬件设计。

4、硬件电路设计主要是三个部分,原理图,pcb ,物料清单(BOM)表。原理图设计就是将前面的思路转化为电路原理图。它很像我们教科书上的电路图。pcb涉及到实际的电路板,它根据原理图转化而来的 网表(网表是沟通原理图和pcb之间的桥梁),而将具体的元器件的封装放置(布局)在电路板上,然后根据飞线(也叫预拉线)连接其电信号(布线)。完成了 pcb布局布线后,要用到哪些元器件应该有所归纳,所以我们将用到BOM表。

5、用什么工具?protel容易上手,在国内也比较流行,应付一般的工作已经足够,适合初入门的设计者使用。

设计流程

其实无论用简单的protel或者复杂的cadence工具,硬件设计大环节是一样的(protel上的操作类似windwos,是post- command型的;而cadence的产品concept & allegro 是pre-command型的,用惯了protel,突然转向cadence的工具,会不习惯就是这个原因)。设计大环节都要有1)原理图设 计,2)pcb设计,3)制作BOM表。现在简要谈一下设计流程(步骤):

1、原理图库建立。要将一个新元件摆放在原理图上,我们必须得建立改元件的库。库中主要定义了该新元件的管脚定义及其属性,并且以具体的图形形式来代表(我们 常常看到的是一个矩形(代表其IC BODY),周围许多短线(代表IC管脚))。protel创建库及其简单,而且因为用的人多,许多元件都能找到现成的库,这一点对使用者极为方便。应搞 清楚ic body、ic pins、input pin、output pin、analog pin、digital pin、power pin等区别。

2、有了充足的库之后,就可以在原理图上画图了,按照datasheet和系统设计的要求,通过wire把相关元件连接起来。在相关的地方添加line和 text注释。wire和line的区别在于,前者有电气属性,后者没有。wire适用于连接相同网络,line适用于注释图形。这个时候,应搞清一些基 本概念,如:wire,line,bus,part,footprint,等等。

3、做完这一步,我们就可以生成netlist了,这个netlist是原理图与pcb之间的桥梁。原理图是我们能认知的形式,电脑要将其转化为pcb,就必须将原理图转化它认识的形式netlist,然后再处理、转化为pcb。

4、得到netlist,马上画pcb?别急,先做ERC先。
ERC是电气规则检查的缩写。它能对一些原理图基本的设计错误进行排查,如多个output接在一起等问题。(但是一定要仔细检查自己的原理图,不能过分依赖工具,毕竟工具并不能明白你的系统,它只是纯粹地根据一些基本规则排查。)

5、从netlist得到了pcb,一堆密密麻麻的元件,和数不清的飞线是不是让你吓了一跳?呵呵,别急还得慢慢来。

6、确定板框大小。在keepout区(或mechanic区)画个板框,这将限制了你布线的区域。需要根据需求好考虑板长,板宽(有时,还得考虑板厚)。 当然了,叠层也得考虑好。(叠层的意思就是,板层有几层,怎么应用,比如板总共4层,顶层走信号,中间第一层铺电源,中间第二层铺地,底层走信号)。

元件布局、布线

先解释一下前面的术语。post-command,例如,我们要拷贝一个object(元件),我们要先选中这个object,然后按ctrl+C,然后按 ctrl+V(copy命令发生在选中object之后)。这种操作windows和protel都采用的这种方式。但是concept就是另外一种方 式,我们叫做pre-command。同样我们要拷贝一个东西,先按ctrl+C,然后再选中object,再在外面单击(copy命令发生在选中 object之前)。

1、确定完板框之后,就该元件布局(摆放)了,布局这步极为关键。它往往决定了后期布线的难易。哪些元器件该摆正面,哪些元件该摆背面,都要有所考量。但是这 些都是一个仁者见仁,智者见智的问题;从不同角度考虑摆放位置都可以不一样。其实自己画了原理图,明白所有元件功能,自然对元件摆放有清楚的认识(如果让 一个不是画原理图的人来摆放元件,其结果往往会让你大吃一惊^_^)。对于初入门的,注意模拟元件,数字元件的隔离,以及机械位置的摆放,同时注意电源的 拓扑就可以了。

2、接下来就是布线。这与布局往往是互动的。有经验的人往往在开始就能看出哪些地方能布线成功。如果有些地方难以布线还需要改动布局。对于fpga设计来说往 往还要改动原理图来使布线更加顺畅。布线和布局问题涉及的因素很多,对于高速数字部分,因为牵扯到信号完整性问题而变得复杂,但往往这些问题又是难以定量 或即使定量也难以计算的。所以,在信号频率不是很高的情况下,应以布通为第一原则。

3、OK了?别急,用DRC检查检查先。这是一定要检查的。DRC对于布线完成覆盖率以及规则违反的地方都会有所标注,按照这个再一一的排查,修正。

4、有些pcb还要加上敷铜(可能会导致成本增加),将出线部分做成泪滴(工厂也许会帮你加)。最后的pcb文件转成gerber文件就可交付pcb生产了。(有些直接给pcb也成,工厂会帮你转gerber)。

5、要装配pcb,准备bom表吧,一般能直接从原理图中导出。但是需要注意的是,原理图中哪些部分元件该上,哪些部分元件不该上,要做到心理有数。对于小 批量或研究板而言,用excel自己管理倒也方便(大公司往往要专业软件来管理)。而对于新手而言,第一个版本,不建议直接交给装配工厂或焊接工厂将 bom的料全部焊上,这样不便于排查问题。最好的方法就是,根据bom表自己准备好元件。等到板来了之后,一步步上元件、调试。

电路板调试

1、拿到板第一步做什么,不要急急忙忙供电看功能,硬件调试不可能一步调试完成的。先拿万用表看看关键网络是否有不正常,主要是看电源与地之间有否短路(尽管 生产厂商已经帮你做过测试,这一步还是要自己亲自看看,有时候看起来某些步骤挺繁琐,但是可以节约你后面不少时间!),其实短路与否不光pcb有关,在生 产制作的任何一个环节可能导致这个问题,IO短路一般不会造成灾难性的后果,但是电源短路就......

2、电源网络没短路?那么好,那就看看电源输出是否是自己理想的值,对于初学者,调试的时候最好IC一件件芯片上,第一个要上的就是电源芯片。

3、电源网络短路了?这个比较麻烦,不过要仔细看看自己原理图是否有可能这样的情况,同时结合割线的方法一步步排查倒底是什么地方短路了,是pcb的问题 (一般比较烂的pcb厂就可能出现这种情况),还是装配的问题,还是自己设计的问题。关于检查短路还有一些技巧,这在今后登出......

4、电源芯片没有输出?检查检查你的电源芯片输入是否正常吧,还需要检查的地方有使能信号,分压电阻,反馈网络......

5、电源芯片输出值不在预料范围?如果超过很离谱,比如到了10%,那么看看分压电阻先,这两个分压电阻一般要用1%的精度,这个你做到了没有,同时看看反馈网络吧,这也会影响你的输出电源的范围。

6、电源输出正常了,别高兴,如果有条件的话,拿示波器看看吧,看看电源的输出跳变是否正常。也就是抓取开电的瞬间,看看电源从无到有的情况(至于为什么要看着个,嘿嘿......专业人士还是要看的~)

电源的设计

无疑电源设计是整个电路板最重要的一环。电源不稳定,其他啥都别谈。我想不用balabala述说它究竟有多么重要了。
    
在 电源设计我们用得最多的场合是,从一个稳定的“高”电压得到一个稳定的“低”电压。这也就是经常说的DC/DC,其中用得最多的电源稳压芯片有两种,一种 叫LDO(低压差线性稳压器,我们后面说的线性稳压电源,也是指它),另一种叫PWM(脉宽调制开关电源,我们在本文也称它开关电源)。我们常常听到 PWM的效率高,但是LDO的响应快,这是为什么呢?别着急,先让我们看看它们的原理。
   
下面会涉及一些理论知识,但是依然非常浅显易懂,如果你不懂,嘿嘿,得检查一下自己的基础了。

1、线性稳压电源的工作原理

640.webp_(32)_.jpg


如图是线性稳压电源内部结构的简单示意图。我们的目的是从高电压Vs得到低电压Vo。在图中,Vo经过两个分压电阻分压得到V+,V+被送入放大器(我们把这个放大器叫做误差放大器)的正端,而放大器的负端Vref是电源内部的参考电平(这个参考电平是恒定的)。放大器的输出Va连接到MOSFET的栅极来控制MOSFET的阻抗。Va变大时,MOSFET的阻抗变大;Va变小时,MOSFET的阻抗变小。MOSFET上的压降将是Vs-Vo。
    
现在我们来看Vo是怎么稳定的,假设Vo变小,那么V+将变小,放大器的输出Va也将变小,这将导致MOSFET的阻抗变小,这样经过同样的电流,MOSFET的压差将变小,于是将Vo上抬来抑制Vo的变小。同理,Vo变大,V+变大,Va变大,MOSFET的阻抗变大,经过同样的电流,MOSFET的压差变大,于是抑制Vo变大。
 
2、开关电源的工作原理

640.webp_(33)_.jpg


如上图,为了从高电压Vs得到Vo,开关电源采用了用一定占空比的方波Vg1,Vg2推动上下MOS管,Vg1和Vg2是反相的,Vg1为高,Vg2为低;上MOS管打开时,下MOS管关闭;下MOS管打开时,上MOS管关闭。由此在L左端形成了一定占空比的方波电压,电感L和电容C我们可以看作是低通滤波器,因此方波电压经过滤波后就得到了滤波后的稳定电压Vo。Vo经过R1、R2分压后送入第一个放大器(误差放大器)的负端V+,误差放大器的输出Va做为第二个放大器(PWM放大器)的正端,PWM放大器的输出Vpwm是一个有一定占空比的方波,经过门逻辑电路处理得到两个反相的方波Vg1、Vg2来控制MOSFET的开关。

误差放大器的正端Vref是一恒定的电压,而PWM放大器的负端Vt是一个三角波信号,一旦Va比三角波大时,Vpwm为高;Va比三角波小时,Vpwm为低,因此Va与三角波的关系,决定了方波信号Vpwm的占空比;Va高,占空比就低,Va低,占空比就高。经过处理,Vg1与Vpwm同相,Vg2与Vpwm反相;最终L左端的方波电压Vp与Vg1相同。如下图

640.webp_(34)_.jpg


当Vo上升时,V+将上升,Va下降,Vpwm占空比下降,经过们逻辑之后,Vg1的占空比下降,Vg2的占空比上升,Vp占空比下降,这又导致Vo降低,于是Vo的上升将被抑制。反之亦然。
 
3、对比线性稳压电源和开关电源

懂得了线性稳压电源和开关电源的工作原理之后,我们就可以明白为什么线性稳压电源有较小的噪声,较快的瞬态响应,但是效率差;而开关电源噪声较大,瞬态响应较慢,但效率高了。

线性稳压电源内部结构简单,反馈环路短,因此噪声小,而且瞬态响应快(当输出电压变化时,补偿快)。但是因为输入和输出的压差全部落在了MOSFET上,所以它的效率低。因此,线性稳压一般用在小电流,对电压精度要求高的应用上。

而开关电源,内部结构复杂,影响输出电压噪声性能的因数很多,且其反馈环路长,因此其噪声性能低于线性稳压电源,且瞬态响应慢。但是根据开关电源的结构,MOSFET处于完全开和完全关两种状态,除了驱动MOSFET,和MOSFET自己内阻消耗的能量之外,其他能量被全部用在了输出(理论上L、C是不耗能量的,尽管实际并非如此,但这些消耗的能量很小)。

关于高速信号认识的一些误区

1、高速看的是信号沿,不是时钟频率  

一般而言,时钟频率高的,其信号上升沿快,因此一般我们把它们当成高速信号;但反过来不一定成立,时钟频率低的,如果信号上升沿依然快的,一样要把它当成高速信号来处理。根据信号理论,信号上升沿包含了高频信息(用傅立叶变换,可以找出定量表达式),因此,一旦信号上升沿很陡,我们应该按高速信号来处理,设计不好,很可能出现上升沿过于缓慢,有过冲,下冲,振铃的现象。比如,I2C信号,在超快速模式下,时钟频率为1MHz,但是其规范要求上升时间或下降时间不超过120ns!确实有很多板I2C就过不了关!

因此,我们更应该关注的是信号带宽。根据经验公式,带宽与上升时间(10%~90%)的关系为 Fw * Tr = 3.5

2、示波器选择

很多人注意到了示波器的采样率,没有注意到示波器的带宽。但往往示波器带宽是一个更重要的参数。一些人以为只要示波器采样率满足超过信号时钟频率的两倍就行了,这是大错特错。错误的原因是错误的理解了采样定理。采样定理1说明了当采样频率大于信号最大带宽的两倍,就能完美地恢复原信号。但是,采样定理指的信号是带限信号(带宽是有限的),与现实中的信号严重不符。我们一般的数字信号,除了时钟之外,都不是周期的,从长时间来看,其频谱是无限宽的;要能捕获到高速信号,就不能对其高频分量太多的失真。示波器带宽指标与此息息相关。因此,真正要注意的依然是用示波器捕获的信号的上升沿失真在我们可接受的范围。

那么选多高带宽的示波器才合适呢?理论上5倍于信号带宽的示波器捕获的信号比原信号损失不到3%。如果要求损失更宽松,那就可以选择更低端的示波器。用到3倍于信号带宽的示波器应该能满足大多数要求。但是不要忘了你探头的带宽!

总结,说了这么多,硬件设计的秘诀就两条:理清思路、注重细节。各位,你们有何高见呢?
 
 
来源:网络
954 浏览

高速电路的电磁兼容分析与设计

设备硬件类 回锅肉 2017-01-03 09:56 发表了文章 来自相关话题

引言:
 
电磁兼容性是指电气和电子系统及设备在特定的电磁环境中,在规定的安全界限内以设定的等级运行时,不会由于外界的电磁干扰而引起损坏或导致性能恶化到不可挽救的程 度,同时它们本身产生的电磁辐射不大于检定的极限电平,不影响其他电子设备或系统的正常运行,以达到设备与设备、系统与系统之间互不干扰、共同可靠地工作 的目的。

1 电磁兼容产生的因素

(1)电阻的频率特性。在数字电路中,电阻的主要作用在于限流和确定固定电平,在高频电路中,存在于电阻两端的高频寄生电容会对正常的电路特性造成破坏。同样电阻的引脚电感对电路的EMC影响很大。

(2)电容的频率特性。电容器一般应用在电源总线,它提供去耦合、旁路和维持固定的直流电压和电流的作用。但是在高频电路中,当电路的工作频率超过了电容的自谐振频率时,其寄生电感将使电容表现为电感特性,从而失去原有的功能并影响电路的工作性能。

(3)电感的频率特性。电感器是用来控制PCB内的EMI。当电路的工作频率增加时,电感的等效阻抗会随着频率的增加而增大,当电路的工作频率超过电感的工作频率上限时,电感将会影响电路的正常工作。

(4)导线的频率特性。PCB上的走线和元器件的引脚导线都有寄生电感和电容,这些寄生电感和电容会影响到导线的频率特性,从而有可能在元器件和导线之 间产生谐振,致使导线成为电磁干扰的重要发射天线。通常,导线在低频段表现为电阻特性,在高频段则表现为电感特性,因此在PCB上,导线的长度一般要求小 于工作频率波长的二十分之一,以避免导线成为电磁干扰的发射源。

(5)静电。静电放电问题已经成为电子产品的一大公害,可能给产品带来永久性的损坏,因此在产品设计中,必须采取相应的静电防护措施。常用的防静电措施包括选择具有防静电材料,采用电气隔离措施,提高产品的绝缘强度以及设置良好的静电屏蔽层和泄放通道等。

(6)电源。随着高频开关电源的广泛应用和电力系统负荷的不断增加,电源对产品的干扰问题逐渐成为影响产品EMC特性的一个重要因素。因此,一些易受干 扰的敏感设备已经不直接采用交流供电而改用直流供电,这样虽然增加了系统的复杂性和成本,但是有效提高了系统工作的稳定性。

(7)雷电。雷电实质上是一种正负电荷中和的强静电放电过程,由此产生的强电磁脉冲导致各种电子设备受损的主要原因。雷电对电子设备的影响包括直击雷和 感应雷两种,现在各种室内使用的电子设备,一般不容易遭受直击雷的影响,但是依然容易受到感应雷的损害。为了确保电子设备的安全运行,必须对电子设备进行 防雷击保护。常用的防雷措施包括设置避雷针、安装避雷器和避雷线等。2 电磁兼容产生的要素

理论和实践的研究证明,不管复杂系统还是简单装置,任何一个电磁干扰的发生必须具备三个基本条件:存在一定的干扰源、有干扰的完整耦合通道、有被干扰对象的响应。

2.1 电磁干扰源

电磁干扰源指产生电磁干扰的任何元件、器件、设备、系统或自然现象。高频电路对电磁干扰尤为敏感,因而需要采取多种措施来抑制电磁干扰。经过理论与实验分析得知:高频电路中,电磁干扰主要来自以下几个方面:

(1)器件工作的噪声干扰

(a)数字电路工作时产生电磁干扰。

(b)信号电压、电流变化产生的电磁场干扰。

(2)高频信号噪声干扰

(a)串扰:是指一个信号在传输通道上传输时,因电磁耦合而对相邻的传输线产生不期望的影响,在被干扰信号表现为被注入了一定的耦合电压和耦合电流。过大的串扰可能引起电路的误触发、时序延时,导致系统无法正常工作。

(b)回波损耗:当高频信号在电缆及通信设备中传输时,遇到波阻抗不均匀点时,就会对信号形成反射,这种反射不但导致信号的传输损耗增大,并且会使传输信号畸变,对传输性能影响很大。

(3)电源噪声干扰

PCB中的电源噪声主要由电源自身产生或受扰感应的噪声组成,主要表现为:①电源本身所固有的阻抗所导致的分布噪声;②共模场干扰;③差模场干扰;④线间干扰;⑤电源线耦合。

(4)地线噪声干扰

由于地线上存在电阻、阻抗,当电流通过地线时,就会产生压降,当电流足够大或工作频率足够高时,这个压降会大到足以对电路造成干扰。地线导致的噪声干扰主要包括地线环路干扰和公共阻抗耦合干扰。

(a)地线环路干扰:当多个功能单元连接在地线上时,如果地线中的电流足够大,则会在设备间的连接电缆上产生压降。由于各个电路间的电气特性不平衡,每 根导线上的电流会不同,因此产生差模电压,从而对电路造成影响。此外外部电磁场也有可能在地线环路中感应出电流,从而导致干扰。

(b)公共阻抗耦合干扰;当多个功能单元公用同一段地线时,由于地线阻抗的存在,各个单元的地电位之间会发生相互调制,从而导致各个单元信号间相互耦合产生干扰,在高频电路中,电路处于高频工作状态,地线阻抗往往较大,此时的公共阻抗耦合干扰尤其明显。

消除公共阻抗耦合的途径有两个:一个是减小公共地线部分的阻抗,这样公共地线上的电压也随之减小,从而控制公共阻抗耦合。另一个方法是通过适当的接地方 式避免容易相互干扰的电路共用地线,一般要避免强电电路和弱电电路共用地线,数字电路和模拟电路共用地线。如前所述,减小地线阻抗的核心问题是减小地线的 电感。这包括使用扁平导体做地线,用多条相距较远的并联导体作接地线。对于印刷线路板,在双层板上布地线网格能够有效地减小地线阻抗,在多层板中专门用一 层做地线虽然具有很小的阻抗,但这会增加线路板的成本。通过适当接地方式避免公共阻抗的接地方法是并联单点接地,并联接地的缺点是接地的导线过多。因此在 实际中,没有必要所有电路都并联单点接地,对于相互干扰较少的电路,可以采用串联单点接地。例如,可以将电路按照强信号,弱信号,模拟信号,数字信号等分 类,然后在同类电路内部用串联单点接地,不同类型的电路采用并联单点接地。

2.2 抑制耦合通道

高速电路中电磁干扰的主要耦合通道包括辐射耦合、传导耦合、电容耦合、电感耦合、电源耦合以及地线耦合等。

对于辐射耦合来说,其主要抑制方法是采取电磁屏蔽,将干扰源与敏感对象有效隔离。

对于传导耦合来说,其主要的方法是在信号布线的时候,合理安排高速信号线的走向。输入输出端用的导线应尽量避免相邻平行,以免发生信号反馈或串扰,可在 两条平行线间增设一条地线加以隔离。对于外连信号线来说,应尽量缩短输入引线,提高输入端阻抗。对模拟信号输入线最好加以屏蔽,当板上信号导线阻抗不匹配 时,会导致信号反射,当印制导线较长时,线路电感会导致减幅振荡。通过串入阻尼电阻(阻值通常取22~2 200 hm,典型值为470 hm),可有效抑制振荡,增强抗干扰能力,改善波形。

对于电感、电容的耦合干扰来说,可采用如下两个方面进行抑制:一方面是选择合适的 元器件,对于电感电容,应该根据不同元器件的频率特性来选择,对于其他元器件,则应选择寄生电感、电容较小的器件。另一方面是合理地进行布局和布线,要尽 量避免长距离平行布线,电路中电气互连点间的布线力求最短。信号(特别是高频信号)线的拐角应设计成45度走向或称圆形、圆弧形,切忌画成小于或等于90 度角度形状。相邻布线面导线采取相互垂直、斜交或弯曲走线的形式以减少过孔的寄生电容和电感,过孔和管脚之间的引线越短越好,并可以考虑并联打多个过孔或 微型过孔以减少等效电感。选用元器件封装时,应选择标准封装,以减少因封装不匹配而导致的引线阻抗及寄生电感。

对于电源耦合以及地耦合 来说,首先应注意降低电源线和地线阻抗,对公共阻抗、串扰和反射等引起的波形畸变和振荡现象需采取必须措施。在各集成电路的电源和地线间分别接入旁路电容 以缩短开关电流的流通途径。将电源线和地线设计成格子形状,而不用梳子形状,这是因为格子状能显著缩短线路环路,降低线路阻抗,减少干扰。当印制电路板上 装有多个集成电路,且部分元件功耗较大,地线出现较大电位差,形成公共阻抗干扰时,宜将地线设计成封闭环路,这种环路无电位差,具有更高的噪声容限。应尽 量缩短引线,将各集成电路的地以最短距离连到电路板的入口地线,降低印制导线产生的尖峰脉冲。让地线、电源线的走向与数据传输方向一致,以提高电路板的噪 声容限。尽量采用多层印制电路板,降低接地电位差,减少电源线阻抗和信号线间串扰。当没有多层板而不得不使用双面板时,必须尽量加宽地线线条,通常地线应 加粗到可通过3倍于导线实际流过的电流量为宜,或采用小型母线方式,将公共电源线和地线尽量分布于印制板两面的边缘。在电源母线插头处接入 1μF~10μF的钽电容器进行去耦,并在去耦电容并联一个0.01 μF~0.1μF的高频陶瓷电容器。

2.3 保护敏感对象

对敏感对象的保护主要集中在两个方面,一方面是切断敏感对象与电磁干扰之间的通道。另一方面就是降低敏感对象的敏感度。

电子设备的敏感度是一柄双刃剑,一方面使用者希望电子装置的灵敏度高,以提高对信号的接受能力;另一方面,灵敏度高也意味着受噪声影响的可能性越大。因此电子设备的敏感度应根据具体情况来确定。

对于模拟电子设备来说,通常采用的方法是采用优选电路,比如设计低噪声电路、减少带宽、抑制干扰传输、平衡输入、抑制干扰及选用高质量电源等。通过这些方法可以有效降低电子设备对电磁干扰的敏感度,提高设备的抗干扰能力。

对于数字式电子设备来说,应在工作指标许可的情况下,采用直流噪声容限高的数字电路,例如CMOS数字电路的直流噪声容限远高于TTL数字电路的直流噪 声容限;在工作指标许可的情况下,尽量采用开关速度低的数字电路,因为开关速度越高,由它引起的电压或电流的变化也就越快,从而越容易产生电路间的耦合干 扰;在电路可接受的前提下,尽可能提高门槛电压,利用在电路前设置分压器或稳压管的方法来提高门槛电压;采用负载阻抗匹配的措施,即使负载阻抗等于信号线 的波阻抗,消除数字信号在传输过程中由于折射和反射的作用而产生的畸变。通常情况下,对敏感对象的保护需要与对干扰源的屏蔽以及对耦合通道的抑制结合起来 使用,并且需要在实践中根据实际情况进行反复实验,以达到最好的防护效果。总结

高速电路板的电磁兼容分析与设计是一个系统性很强的工作,需要大量的工作经验积累。电磁兼容设计是关系电子系统是否能实现功能、满足设计指标的关键之一,随着电子系统的复杂程度增加,工作频率增高,电磁兼容设计在电子设计中的地位将越来越突出,越来越重要。
 
 
来源:网络 查看全部
引言:
 
电磁兼容性是指电气和电子系统及设备在特定的电磁环境中,在规定的安全界限内以设定的等级运行时,不会由于外界的电磁干扰而引起损坏或导致性能恶化到不可挽救的程 度,同时它们本身产生的电磁辐射不大于检定的极限电平,不影响其他电子设备或系统的正常运行,以达到设备与设备、系统与系统之间互不干扰、共同可靠地工作 的目的。

1 电磁兼容产生的因素

(1)电阻的频率特性。在数字电路中,电阻的主要作用在于限流和确定固定电平,在高频电路中,存在于电阻两端的高频寄生电容会对正常的电路特性造成破坏。同样电阻的引脚电感对电路的EMC影响很大。

(2)电容的频率特性。电容器一般应用在电源总线,它提供去耦合、旁路和维持固定的直流电压和电流的作用。但是在高频电路中,当电路的工作频率超过了电容的自谐振频率时,其寄生电感将使电容表现为电感特性,从而失去原有的功能并影响电路的工作性能。

(3)电感的频率特性。电感器是用来控制PCB内的EMI。当电路的工作频率增加时,电感的等效阻抗会随着频率的增加而增大,当电路的工作频率超过电感的工作频率上限时,电感将会影响电路的正常工作。

(4)导线的频率特性。PCB上的走线和元器件的引脚导线都有寄生电感和电容,这些寄生电感和电容会影响到导线的频率特性,从而有可能在元器件和导线之 间产生谐振,致使导线成为电磁干扰的重要发射天线。通常,导线在低频段表现为电阻特性,在高频段则表现为电感特性,因此在PCB上,导线的长度一般要求小 于工作频率波长的二十分之一,以避免导线成为电磁干扰的发射源。

(5)静电。静电放电问题已经成为电子产品的一大公害,可能给产品带来永久性的损坏,因此在产品设计中,必须采取相应的静电防护措施。常用的防静电措施包括选择具有防静电材料,采用电气隔离措施,提高产品的绝缘强度以及设置良好的静电屏蔽层和泄放通道等。

(6)电源。随着高频开关电源的广泛应用和电力系统负荷的不断增加,电源对产品的干扰问题逐渐成为影响产品EMC特性的一个重要因素。因此,一些易受干 扰的敏感设备已经不直接采用交流供电而改用直流供电,这样虽然增加了系统的复杂性和成本,但是有效提高了系统工作的稳定性。

(7)雷电。雷电实质上是一种正负电荷中和的强静电放电过程,由此产生的强电磁脉冲导致各种电子设备受损的主要原因。雷电对电子设备的影响包括直击雷和 感应雷两种,现在各种室内使用的电子设备,一般不容易遭受直击雷的影响,但是依然容易受到感应雷的损害。为了确保电子设备的安全运行,必须对电子设备进行 防雷击保护。常用的防雷措施包括设置避雷针、安装避雷器和避雷线等。2 电磁兼容产生的要素

理论和实践的研究证明,不管复杂系统还是简单装置,任何一个电磁干扰的发生必须具备三个基本条件:存在一定的干扰源、有干扰的完整耦合通道、有被干扰对象的响应。

2.1 电磁干扰源

电磁干扰源指产生电磁干扰的任何元件、器件、设备、系统或自然现象。高频电路对电磁干扰尤为敏感,因而需要采取多种措施来抑制电磁干扰。经过理论与实验分析得知:高频电路中,电磁干扰主要来自以下几个方面:

(1)器件工作的噪声干扰

(a)数字电路工作时产生电磁干扰。

(b)信号电压、电流变化产生的电磁场干扰。

(2)高频信号噪声干扰

(a)串扰:是指一个信号在传输通道上传输时,因电磁耦合而对相邻的传输线产生不期望的影响,在被干扰信号表现为被注入了一定的耦合电压和耦合电流。过大的串扰可能引起电路的误触发、时序延时,导致系统无法正常工作。

(b)回波损耗:当高频信号在电缆及通信设备中传输时,遇到波阻抗不均匀点时,就会对信号形成反射,这种反射不但导致信号的传输损耗增大,并且会使传输信号畸变,对传输性能影响很大。

(3)电源噪声干扰

PCB中的电源噪声主要由电源自身产生或受扰感应的噪声组成,主要表现为:①电源本身所固有的阻抗所导致的分布噪声;②共模场干扰;③差模场干扰;④线间干扰;⑤电源线耦合。

(4)地线噪声干扰

由于地线上存在电阻、阻抗,当电流通过地线时,就会产生压降,当电流足够大或工作频率足够高时,这个压降会大到足以对电路造成干扰。地线导致的噪声干扰主要包括地线环路干扰和公共阻抗耦合干扰。

(a)地线环路干扰:当多个功能单元连接在地线上时,如果地线中的电流足够大,则会在设备间的连接电缆上产生压降。由于各个电路间的电气特性不平衡,每 根导线上的电流会不同,因此产生差模电压,从而对电路造成影响。此外外部电磁场也有可能在地线环路中感应出电流,从而导致干扰。

(b)公共阻抗耦合干扰;当多个功能单元公用同一段地线时,由于地线阻抗的存在,各个单元的地电位之间会发生相互调制,从而导致各个单元信号间相互耦合产生干扰,在高频电路中,电路处于高频工作状态,地线阻抗往往较大,此时的公共阻抗耦合干扰尤其明显。

消除公共阻抗耦合的途径有两个:一个是减小公共地线部分的阻抗,这样公共地线上的电压也随之减小,从而控制公共阻抗耦合。另一个方法是通过适当的接地方 式避免容易相互干扰的电路共用地线,一般要避免强电电路和弱电电路共用地线,数字电路和模拟电路共用地线。如前所述,减小地线阻抗的核心问题是减小地线的 电感。这包括使用扁平导体做地线,用多条相距较远的并联导体作接地线。对于印刷线路板,在双层板上布地线网格能够有效地减小地线阻抗,在多层板中专门用一 层做地线虽然具有很小的阻抗,但这会增加线路板的成本。通过适当接地方式避免公共阻抗的接地方法是并联单点接地,并联接地的缺点是接地的导线过多。因此在 实际中,没有必要所有电路都并联单点接地,对于相互干扰较少的电路,可以采用串联单点接地。例如,可以将电路按照强信号,弱信号,模拟信号,数字信号等分 类,然后在同类电路内部用串联单点接地,不同类型的电路采用并联单点接地。

2.2 抑制耦合通道

高速电路中电磁干扰的主要耦合通道包括辐射耦合、传导耦合、电容耦合、电感耦合、电源耦合以及地线耦合等。

对于辐射耦合来说,其主要抑制方法是采取电磁屏蔽,将干扰源与敏感对象有效隔离。

对于传导耦合来说,其主要的方法是在信号布线的时候,合理安排高速信号线的走向。输入输出端用的导线应尽量避免相邻平行,以免发生信号反馈或串扰,可在 两条平行线间增设一条地线加以隔离。对于外连信号线来说,应尽量缩短输入引线,提高输入端阻抗。对模拟信号输入线最好加以屏蔽,当板上信号导线阻抗不匹配 时,会导致信号反射,当印制导线较长时,线路电感会导致减幅振荡。通过串入阻尼电阻(阻值通常取22~2 200 hm,典型值为470 hm),可有效抑制振荡,增强抗干扰能力,改善波形。

对于电感、电容的耦合干扰来说,可采用如下两个方面进行抑制:一方面是选择合适的 元器件,对于电感电容,应该根据不同元器件的频率特性来选择,对于其他元器件,则应选择寄生电感、电容较小的器件。另一方面是合理地进行布局和布线,要尽 量避免长距离平行布线,电路中电气互连点间的布线力求最短。信号(特别是高频信号)线的拐角应设计成45度走向或称圆形、圆弧形,切忌画成小于或等于90 度角度形状。相邻布线面导线采取相互垂直、斜交或弯曲走线的形式以减少过孔的寄生电容和电感,过孔和管脚之间的引线越短越好,并可以考虑并联打多个过孔或 微型过孔以减少等效电感。选用元器件封装时,应选择标准封装,以减少因封装不匹配而导致的引线阻抗及寄生电感。

对于电源耦合以及地耦合 来说,首先应注意降低电源线和地线阻抗,对公共阻抗、串扰和反射等引起的波形畸变和振荡现象需采取必须措施。在各集成电路的电源和地线间分别接入旁路电容 以缩短开关电流的流通途径。将电源线和地线设计成格子形状,而不用梳子形状,这是因为格子状能显著缩短线路环路,降低线路阻抗,减少干扰。当印制电路板上 装有多个集成电路,且部分元件功耗较大,地线出现较大电位差,形成公共阻抗干扰时,宜将地线设计成封闭环路,这种环路无电位差,具有更高的噪声容限。应尽 量缩短引线,将各集成电路的地以最短距离连到电路板的入口地线,降低印制导线产生的尖峰脉冲。让地线、电源线的走向与数据传输方向一致,以提高电路板的噪 声容限。尽量采用多层印制电路板,降低接地电位差,减少电源线阻抗和信号线间串扰。当没有多层板而不得不使用双面板时,必须尽量加宽地线线条,通常地线应 加粗到可通过3倍于导线实际流过的电流量为宜,或采用小型母线方式,将公共电源线和地线尽量分布于印制板两面的边缘。在电源母线插头处接入 1μF~10μF的钽电容器进行去耦,并在去耦电容并联一个0.01 μF~0.1μF的高频陶瓷电容器。

2.3 保护敏感对象

对敏感对象的保护主要集中在两个方面,一方面是切断敏感对象与电磁干扰之间的通道。另一方面就是降低敏感对象的敏感度。

电子设备的敏感度是一柄双刃剑,一方面使用者希望电子装置的灵敏度高,以提高对信号的接受能力;另一方面,灵敏度高也意味着受噪声影响的可能性越大。因此电子设备的敏感度应根据具体情况来确定。

对于模拟电子设备来说,通常采用的方法是采用优选电路,比如设计低噪声电路、减少带宽、抑制干扰传输、平衡输入、抑制干扰及选用高质量电源等。通过这些方法可以有效降低电子设备对电磁干扰的敏感度,提高设备的抗干扰能力。

对于数字式电子设备来说,应在工作指标许可的情况下,采用直流噪声容限高的数字电路,例如CMOS数字电路的直流噪声容限远高于TTL数字电路的直流噪 声容限;在工作指标许可的情况下,尽量采用开关速度低的数字电路,因为开关速度越高,由它引起的电压或电流的变化也就越快,从而越容易产生电路间的耦合干 扰;在电路可接受的前提下,尽可能提高门槛电压,利用在电路前设置分压器或稳压管的方法来提高门槛电压;采用负载阻抗匹配的措施,即使负载阻抗等于信号线 的波阻抗,消除数字信号在传输过程中由于折射和反射的作用而产生的畸变。通常情况下,对敏感对象的保护需要与对干扰源的屏蔽以及对耦合通道的抑制结合起来 使用,并且需要在实践中根据实际情况进行反复实验,以达到最好的防护效果。总结

高速电路板的电磁兼容分析与设计是一个系统性很强的工作,需要大量的工作经验积累。电磁兼容设计是关系电子系统是否能实现功能、满足设计指标的关键之一,随着电子系统的复杂程度增加,工作频率增高,电磁兼容设计在电子设计中的地位将越来越突出,越来越重要。
 
 
来源:网络
990 浏览

PCB设计后期检查的几大要素

设备硬件类 回锅肉 2017-01-03 09:31 发表了文章 来自相关话题

当一块PCB板完成了布局布线,又检查连通性和间距都没有报错的情况下,一块PCB是不是就完成了呢?答案当然是否定。很多初学者也包括一些有经验的工程师,由于时间紧或者不耐烦亦或者过于自信,往往草草了事,忽略了后期检查。结果出现了一些很基本的BUG,比如线宽不够,元件标号丝印压在过孔上,插座靠得太近,信号出现环路等等。从而导致电气问题或者工艺问题,严重的要重新打板,造成浪费。所以,当一块PCB完成了布局布线之后,很重要的一个步骤就是后期检查。





PCB的检查有很多个细节的要素,本人列举了一些自认为最基本的并且最容易出错的要素,作为后期检查。
 
1、元件封装

(1)焊盘间距。如果是新的器件,要自己画元件封装,保证间距合适,焊盘间距直接影响到元件的焊接。

(2)过孔大小(如果有)。对于插件式器件,过孔大小应该保留足够的余量,一般保留不小于0.2mm比较合适。

(3)轮廓丝印。器件的轮廓丝印最好比实际大小要大一点,保证器件可以顺利安装。

2、布局

(1)IC不宜靠近板边。

(2)同一模块电路的器件应靠近摆放。比如去耦电容应该靠近IC的电源脚,组成同一个功能电路的器件优先摆放在一个区域,层次分明,保证功能的实现。

(3)根据实际安装安排插座的位置。插座都是引线到其他模块的,根据实际结构,为了安装方便,一般采用就近原则,安排插座的位置,而且一般靠近板边。

(4)注意插座方向。插座都是有方向的,方向反了,线材就要重新定做。对于平插的插座,插口方向应该朝向板外。

(5)Keep Out区域不能有器件。

(6)干扰源要远离敏感电路。高速信号、高速时钟或者大电流开关信号都属于干扰源,应该远离敏感电路,比如复位电路,模拟电路。可以用铺地来隔开它们。

3、布线

(1)线宽大小。线宽要结合工艺、载流量来选择,最小线宽不能小于PCB厂家的最小线宽。同时保证承载电流能力,一般以1mm/A来选取合适线宽。

(2)差分信号线。对于USB、以太网等差分线,注意走线要等长、平行、同平面,间距由阻抗决定。

(3)高速线注意回流路径。高速线容易产生电磁辐射,如果走线路径与回流路径形成面积过大,就会形成一个单匝线圈向外辐射电磁干扰,如图1。所以走线的时候要注意旁边有回流路径,多层板设置有电源层和地平面可以有效解决这个问题。

(4)注意模拟信号线。模拟信号线应该与数字信号隔开,走线尽量避免从干扰源(如时钟、DC-DC电源)旁边走过,而且走线越短越好。






图1

4、EMC和信号完整性

(1)端接电阻。高速线或者频率较高并且走线较长的数字信号线最好在末端串入一个匹配电阻。

(2)输入信号线并接小电容。从接口输入的信号线,最好在靠近接口的地方并接皮法级小电容。电容大小根据信号的强度以及频率决定,不能太大,否则影响信号完整性。对于低速的输入信号,比如按键输入,可以选用330pF的小电容,如图2。

(3)驱动能力。比如驱动电流较大的开关信号可以加三极管驱动;对于扇出数较大的总线可以加缓冲器(如74LS224)驱动。





图2

5、丝印

(1)板名、时间、PN码。

(2)标注。对一些接口(如排阵)的管脚或者关键信号进行标注。

(3)元件标号。元件标号要摆放至合适的位置,密集的元件标号可以分组摆放。注意不要摆放在过孔的位置。

6、其他
Mark点。对于需要机器焊接的PCB,需要加入两到三个的Mark点。
 
 
来源:网络 查看全部
当一块PCB板完成了布局布线,又检查连通性和间距都没有报错的情况下,一块PCB是不是就完成了呢?答案当然是否定。很多初学者也包括一些有经验的工程师,由于时间紧或者不耐烦亦或者过于自信,往往草草了事,忽略了后期检查。结果出现了一些很基本的BUG,比如线宽不够,元件标号丝印压在过孔上,插座靠得太近,信号出现环路等等。从而导致电气问题或者工艺问题,严重的要重新打板,造成浪费。所以,当一块PCB完成了布局布线之后,很重要的一个步骤就是后期检查。
QQ截图20170103092901.png


PCB的检查有很多个细节的要素,本人列举了一些自认为最基本的并且最容易出错的要素,作为后期检查。
 
1、元件封装

(1)焊盘间距。如果是新的器件,要自己画元件封装,保证间距合适,焊盘间距直接影响到元件的焊接。

(2)过孔大小(如果有)。对于插件式器件,过孔大小应该保留足够的余量,一般保留不小于0.2mm比较合适。

(3)轮廓丝印。器件的轮廓丝印最好比实际大小要大一点,保证器件可以顺利安装。

2、布局

(1)IC不宜靠近板边。

(2)同一模块电路的器件应靠近摆放。比如去耦电容应该靠近IC的电源脚,组成同一个功能电路的器件优先摆放在一个区域,层次分明,保证功能的实现。

(3)根据实际安装安排插座的位置。插座都是引线到其他模块的,根据实际结构,为了安装方便,一般采用就近原则,安排插座的位置,而且一般靠近板边。

(4)注意插座方向。插座都是有方向的,方向反了,线材就要重新定做。对于平插的插座,插口方向应该朝向板外。

(5)Keep Out区域不能有器件。

(6)干扰源要远离敏感电路。高速信号、高速时钟或者大电流开关信号都属于干扰源,应该远离敏感电路,比如复位电路,模拟电路。可以用铺地来隔开它们。

3、布线

(1)线宽大小。线宽要结合工艺、载流量来选择,最小线宽不能小于PCB厂家的最小线宽。同时保证承载电流能力,一般以1mm/A来选取合适线宽。

(2)差分信号线。对于USB、以太网等差分线,注意走线要等长、平行、同平面,间距由阻抗决定。

(3)高速线注意回流路径。高速线容易产生电磁辐射,如果走线路径与回流路径形成面积过大,就会形成一个单匝线圈向外辐射电磁干扰,如图1。所以走线的时候要注意旁边有回流路径,多层板设置有电源层和地平面可以有效解决这个问题。

(4)注意模拟信号线。模拟信号线应该与数字信号隔开,走线尽量避免从干扰源(如时钟、DC-DC电源)旁边走过,而且走线越短越好。


QQ截图20170103093025.png

图1

4、EMC和信号完整性

(1)端接电阻。高速线或者频率较高并且走线较长的数字信号线最好在末端串入一个匹配电阻。

(2)输入信号线并接小电容。从接口输入的信号线,最好在靠近接口的地方并接皮法级小电容。电容大小根据信号的强度以及频率决定,不能太大,否则影响信号完整性。对于低速的输入信号,比如按键输入,可以选用330pF的小电容,如图2。

(3)驱动能力。比如驱动电流较大的开关信号可以加三极管驱动;对于扇出数较大的总线可以加缓冲器(如74LS224)驱动。

QQ截图20170103093105.png

图2

5、丝印

(1)板名、时间、PN码。

(2)标注。对一些接口(如排阵)的管脚或者关键信号进行标注。

(3)元件标号。元件标号要摆放至合适的位置,密集的元件标号可以分组摆放。注意不要摆放在过孔的位置。

6、其他
Mark点。对于需要机器焊接的PCB,需要加入两到三个的Mark点。
 
 
来源:网络
882 浏览

真正的产品是这样设计的!

设备硬件类 加菲猫的旅行 2016-12-12 09:52 发表了文章 来自相关话题

硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可测试性、可生产性等要求的硬件产品。

可以看到,一个成功的硬件设计,主要功能的实现只是所有环节中的一小部分,而且基本来说,主要功能的实现主要是依靠芯片厂商提供的套片方案,一般来说为了降低风险,主要是参考套片方案的参考设计完成,芯片厂商也会提供包括器件封装、参考设计、仿真模型、PCB参考等等全部资料,在芯片功能越来越复杂的今天,一个片子动不动就几百上千个PIN,对于一个新项目来说,是没有时间一页页去吃透每个PIN,每个输入输出的具体功能,电气参数的,尤其是对于高速设计,比如DDR3接口、XAUI接口等等。






一般来说芯片厂商提供的参考设计就是他们经过开发,验证,测试的最佳方案了,很多情况就是你必须按照参考设计来做,否则硬件可能就有问题,一般来说就是信号完整性问题或者EMC问题。

芯片厂商提供越来越周到的服务,看起来硬件工程师HW的价值越来越低了,毕竟一个产品的核心功能或者技术一般都在ASIC或者FPGA里面了,HW一般没有能力进行核心逻辑设计IC design, 毕竟这是跟HW设计并行的另一项工作,另一项也很复杂的工作。

对于这个问题,我也曾经困惑过,总是感觉硬件设计没有什么好搞的了,不就是抄抄参考设计,就跟组装一台电脑一样组装一个单板嘛。当然随着项目经验的增多,尤其从事现在硬件系统级设计的角色,感觉原来自己考虑更多是从一名原理图设计工程师的角度考虑问题。

就像开始说的,一个成功的硬件设计,功能Function只是一小部分,至于其他的因素和能力,一个HW的能力取决于能考虑因素越多,越深入,就越是一个 优秀的HW工程师。

1、成本Cost:任何一个卖硬件产品的公司的主要盈利一般来说就是销售价格-COGS,而COGS90%取决于设计,剩下就是生产成本了,这个价格一般来说比较透明,代工厂也很多,竞争激烈。虽然说设计成本60%也取决于主要芯片的价格(这个主要要靠公司高层跟芯片厂商谈判的结果了,HW的作用有限,更多是系统工程师做决策用什么芯片能符合产品需求和软件功能需求),但是剩下的电阻,电容,电感,二极管,三极管,保护器件,接口器件,逻辑芯片,逻辑功能,小芯片,电源电路全都是HW做主了,当然有参考设计,不过一般来说参考设计为了更好体现芯片的良好性能,一般会选用比较贵的,性能更好的器件,这就要结合公司的器件库进行取舍了。 我的经验是多看看公司的同类产品设计,看看大家主流是用什么器件,毕竟对于元器件来说,价格跟购买量有很大关系,不同的采购量导致的价格可能相差几倍。

2、信号完整性:主要影响两方面:EMC和时序Timing,不好的SI设计会有很强的过冲over/undershoot,尖峰Spike,这会造成对应频率N谐振频率的发射;不好的SI设计会导致High/low不稳定,或者上升时间/下降时间Rising Time/Falling Time占数据周期过长,或者时钟不稳定,都会导致在接收端采样Sample时出现误判断,实际上,接收端不会出错,出错的只是信号。 SI设计在原理图设计来说,主要从阻抗匹配(串行电阻)上来解决,辅以适当的退耦滤波电容;跟主要是在PCB上,一般来说PCB层数越多,SI会更好,当 然这里要跟Cost 进行一个取舍了。

3、电源设计:虽然一般大些的公司都有专门的电源设计工程师,不过对于HW来说,基本的Power设计能力还是很重要的,从道理上来说,任何电路都是一种电源,任何电路问题都可以归结于一种电源问题,只有对于电源电路理解深入了,才能对于电路板理解跟深入,尤其是对于模拟电路问题,才能想到用模拟电路来设计一些简单电路,而不是费力用逻辑电路来搭。

4、安规:对于接口电路来说,主要成本都在与安规器件,这个接口究竟要抗多大的电压,电流打击?这就要好好考虑用什么器件了,fuse? PTC? TVS?高压电容?

5、电磁兼容: 主要是针对各个国家的相应规范(安规也是),对于各种可能产生辐射的信号都充分考虑好退耦,滤波,对于欧盟来说一般是EN55022/EN55024,对于美国一般是FCC Part 15, 欧盟和美国的辐射标准略有不同,欧盟的标准稍微严格一些。

6、功耗:现在都提倡环保,运营商也是,HW也必须考虑省电,比如用效率更高的电源电路,用PWM替代LDO,效率更高的转换拓扑。

7、散热:芯片集成度越来越高,单芯片的功耗从几瓦到现在的几十瓦,散热就是一个大问题,而且伴随着接口的速率提高,接口芯片的功耗也在提高,造成整个系统就是:热!这就需要好好考虑散热问题,从PCB的布局,到散热片Heatsink的使用,到风扇的使用,都有很多考虑。

8、噪音:风扇是散热最好的办法,但是带来的问题就是噪声,ITU对于通信设备的噪声也有明确的规范,这就需要平衡风扇数量,转速,风向,控制等因素。

9、器件采购:HW选用的器件必须得是Sourcing部门能够采购到的,而且一般也要考虑second source的问题,和lead time的问题,不能说选用一个只有一个小公司生产的稀有器件,万一这个器件EoL了,你是怎么办?只能修改设计了,这就损失大了!

10、可靠性:整个系统MTBF的数值多少?风险最大的器件是什么?每个器件的工作Margin是百分之多少?

11、可测试性/可生产性:主要针对于工厂的考虑,必须考虑到方便工厂的生产测试,方便生产,如果你的测试很复杂,会大大降低生产线的产能和良率,进而影响供货以及生产成品。

对于参考设计,我感觉最有用的地方主要是供电电路,退耦滤波电路以及Layout设计,至于总线连接,复位电路,时钟电路,接口电路等等,一般来说都需要根据公司器件库,设计案例以及业界主流器件/方案进行修改。所以千万不要迷信参考电路,那只是参考,过分迷信参考设计,自己还没搞清楚芯片具体功能/参数呢,就COPY过来,即使能够工作,肯定在成本方面,生产方面有很多问题。

硬件设计制造流程

这两年硬件的大潮席卷中国,什么智能硬件、什么硬件开源等等,层出不穷。


原理设计,只有原理上行得通,理论上才行得通。原理设计,也叫系统设计,需要全盘考虑把需求变成实际的产品。很多情况下这个不是难点,难得是怎么把系统想的全面。充分的考虑今后会发生什么事。因为从原理上牵扯到很多事情,物料,价格,产品大小,系统稳定性,安全防护等等。一个好的原理设计者会让硬件项目事半功倍,而不好的就会不断出问题,不断的重新设计。这也是硬件工程师越老越吃香的原因,因为一个老工程师的设计经验会让项目少走很多弯路,节省时间和研发费用。

PCB设计(电路板设计)。现在的硬件都是完成在电路板上的,只有电路板做的好,才能完全发挥原理上的功能和稳定性。PCBlayout其实是一门技术苦力活,学起来不是很难,但是要做好久确很不容易,注意的事太多,一不小心就弄错。要很好的空间感,要细心。

这里我只提一下几个容易出问题的地方,PCB与结构,阻抗设计,电源走向。

生产制造。中国现在已经成为全球最大的电子生产基地。很多产品都是在中国里面完成制造的。一个产品在工厂生产出来只是一部分,还需要包括测试,组装,库存等方面。这其中的学问还是很深的。比如完成那些测试,怎么测试,在什么环境测试都是一门学问。

那么实际设计的步骤是怎样?

1.硬件需求分析。
2.系统设计,原理图设计。
3.PCB设计。
4.样机制作。
5.测试检验。
6.如果满足需求,准备转批量生产,如果不满足需求,又要从2重新开始。
7.量产开始。

这中间其实还涉及到原材料采购等等。为什么很多硬件设计不断跳票,是因为他们公布的时间点很多是理想的时间点,量产开始后产量也不是一下就上去的,有很多因素制约着产量,特别是原材料的采购周期。一般的芯片的采购周期是6到8周,而且没有预定或者备货的话,芯片的量也不会很多。所以说那些开始限购的产品,但是如果几个月或者半年都还在限制销售的话,这就不得不怀疑这个公司的诚意了。
 
 
来源:网络 查看全部
硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可测试性、可生产性等要求的硬件产品。

可以看到,一个成功的硬件设计,主要功能的实现只是所有环节中的一小部分,而且基本来说,主要功能的实现主要是依靠芯片厂商提供的套片方案,一般来说为了降低风险,主要是参考套片方案的参考设计完成,芯片厂商也会提供包括器件封装、参考设计、仿真模型、PCB参考等等全部资料,在芯片功能越来越复杂的今天,一个片子动不动就几百上千个PIN,对于一个新项目来说,是没有时间一页页去吃透每个PIN,每个输入输出的具体功能,电气参数的,尤其是对于高速设计,比如DDR3接口、XAUI接口等等。

QQ截图20161212095134.png


一般来说芯片厂商提供的参考设计就是他们经过开发,验证,测试的最佳方案了,很多情况就是你必须按照参考设计来做,否则硬件可能就有问题,一般来说就是信号完整性问题或者EMC问题。

芯片厂商提供越来越周到的服务,看起来硬件工程师HW的价值越来越低了,毕竟一个产品的核心功能或者技术一般都在ASIC或者FPGA里面了,HW一般没有能力进行核心逻辑设计IC design, 毕竟这是跟HW设计并行的另一项工作,另一项也很复杂的工作。

对于这个问题,我也曾经困惑过,总是感觉硬件设计没有什么好搞的了,不就是抄抄参考设计,就跟组装一台电脑一样组装一个单板嘛。当然随着项目经验的增多,尤其从事现在硬件系统级设计的角色,感觉原来自己考虑更多是从一名原理图设计工程师的角度考虑问题。

就像开始说的,一个成功的硬件设计,功能Function只是一小部分,至于其他的因素和能力,一个HW的能力取决于能考虑因素越多,越深入,就越是一个 优秀的HW工程师。

1、成本Cost:任何一个卖硬件产品的公司的主要盈利一般来说就是销售价格-COGS,而COGS90%取决于设计,剩下就是生产成本了,这个价格一般来说比较透明,代工厂也很多,竞争激烈。虽然说设计成本60%也取决于主要芯片的价格(这个主要要靠公司高层跟芯片厂商谈判的结果了,HW的作用有限,更多是系统工程师做决策用什么芯片能符合产品需求和软件功能需求),但是剩下的电阻,电容,电感,二极管,三极管,保护器件,接口器件,逻辑芯片,逻辑功能,小芯片,电源电路全都是HW做主了,当然有参考设计,不过一般来说参考设计为了更好体现芯片的良好性能,一般会选用比较贵的,性能更好的器件,这就要结合公司的器件库进行取舍了。 我的经验是多看看公司的同类产品设计,看看大家主流是用什么器件,毕竟对于元器件来说,价格跟购买量有很大关系,不同的采购量导致的价格可能相差几倍。

2、信号完整性:主要影响两方面:EMC和时序Timing,不好的SI设计会有很强的过冲over/undershoot,尖峰Spike,这会造成对应频率N谐振频率的发射;不好的SI设计会导致High/low不稳定,或者上升时间/下降时间Rising Time/Falling Time占数据周期过长,或者时钟不稳定,都会导致在接收端采样Sample时出现误判断,实际上,接收端不会出错,出错的只是信号。 SI设计在原理图设计来说,主要从阻抗匹配(串行电阻)上来解决,辅以适当的退耦滤波电容;跟主要是在PCB上,一般来说PCB层数越多,SI会更好,当 然这里要跟Cost 进行一个取舍了。

3、电源设计:虽然一般大些的公司都有专门的电源设计工程师,不过对于HW来说,基本的Power设计能力还是很重要的,从道理上来说,任何电路都是一种电源,任何电路问题都可以归结于一种电源问题,只有对于电源电路理解深入了,才能对于电路板理解跟深入,尤其是对于模拟电路问题,才能想到用模拟电路来设计一些简单电路,而不是费力用逻辑电路来搭。

4、安规:对于接口电路来说,主要成本都在与安规器件,这个接口究竟要抗多大的电压,电流打击?这就要好好考虑用什么器件了,fuse? PTC? TVS?高压电容?

5、电磁兼容: 主要是针对各个国家的相应规范(安规也是),对于各种可能产生辐射的信号都充分考虑好退耦,滤波,对于欧盟来说一般是EN55022/EN55024,对于美国一般是FCC Part 15, 欧盟和美国的辐射标准略有不同,欧盟的标准稍微严格一些。

6、功耗:现在都提倡环保,运营商也是,HW也必须考虑省电,比如用效率更高的电源电路,用PWM替代LDO,效率更高的转换拓扑。

7、散热:芯片集成度越来越高,单芯片的功耗从几瓦到现在的几十瓦,散热就是一个大问题,而且伴随着接口的速率提高,接口芯片的功耗也在提高,造成整个系统就是:热!这就需要好好考虑散热问题,从PCB的布局,到散热片Heatsink的使用,到风扇的使用,都有很多考虑。

8、噪音:风扇是散热最好的办法,但是带来的问题就是噪声,ITU对于通信设备的噪声也有明确的规范,这就需要平衡风扇数量,转速,风向,控制等因素。

9、器件采购:HW选用的器件必须得是Sourcing部门能够采购到的,而且一般也要考虑second source的问题,和lead time的问题,不能说选用一个只有一个小公司生产的稀有器件,万一这个器件EoL了,你是怎么办?只能修改设计了,这就损失大了!

10、可靠性:整个系统MTBF的数值多少?风险最大的器件是什么?每个器件的工作Margin是百分之多少?

11、可测试性/可生产性:主要针对于工厂的考虑,必须考虑到方便工厂的生产测试,方便生产,如果你的测试很复杂,会大大降低生产线的产能和良率,进而影响供货以及生产成品。

对于参考设计,我感觉最有用的地方主要是供电电路,退耦滤波电路以及Layout设计,至于总线连接,复位电路,时钟电路,接口电路等等,一般来说都需要根据公司器件库,设计案例以及业界主流器件/方案进行修改。所以千万不要迷信参考电路,那只是参考,过分迷信参考设计,自己还没搞清楚芯片具体功能/参数呢,就COPY过来,即使能够工作,肯定在成本方面,生产方面有很多问题。

硬件设计制造流程

这两年硬件的大潮席卷中国,什么智能硬件、什么硬件开源等等,层出不穷。


原理设计,只有原理上行得通,理论上才行得通。原理设计,也叫系统设计,需要全盘考虑把需求变成实际的产品。很多情况下这个不是难点,难得是怎么把系统想的全面。充分的考虑今后会发生什么事。因为从原理上牵扯到很多事情,物料,价格,产品大小,系统稳定性,安全防护等等。一个好的原理设计者会让硬件项目事半功倍,而不好的就会不断出问题,不断的重新设计。这也是硬件工程师越老越吃香的原因,因为一个老工程师的设计经验会让项目少走很多弯路,节省时间和研发费用。

PCB设计(电路板设计)。现在的硬件都是完成在电路板上的,只有电路板做的好,才能完全发挥原理上的功能和稳定性。PCBlayout其实是一门技术苦力活,学起来不是很难,但是要做好久确很不容易,注意的事太多,一不小心就弄错。要很好的空间感,要细心。

这里我只提一下几个容易出问题的地方,PCB与结构,阻抗设计,电源走向。

生产制造。中国现在已经成为全球最大的电子生产基地。很多产品都是在中国里面完成制造的。一个产品在工厂生产出来只是一部分,还需要包括测试,组装,库存等方面。这其中的学问还是很深的。比如完成那些测试,怎么测试,在什么环境测试都是一门学问。

那么实际设计的步骤是怎样?

1.硬件需求分析。
2.系统设计,原理图设计。
3.PCB设计。
4.样机制作。
5.测试检验。
6.如果满足需求,准备转批量生产,如果不满足需求,又要从2重新开始。
7.量产开始。

这中间其实还涉及到原材料采购等等。为什么很多硬件设计不断跳票,是因为他们公布的时间点很多是理想的时间点,量产开始后产量也不是一下就上去的,有很多因素制约着产量,特别是原材料的采购周期。一般的芯片的采购周期是6到8周,而且没有预定或者备货的话,芯片的量也不会很多。所以说那些开始限购的产品,但是如果几个月或者半年都还在限制销售的话,这就不得不怀疑这个公司的诚意了。
 
 
来源:网络
1149 浏览

破解MCU,既然可以这么简单!

电气控制类 麦田守候 2016-11-25 10:46 发表了文章 来自相关话题

写在最前面,本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,发烧友对后果概不负责...

首先明白MCU是什么——即结构与组成

Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。

Ⅱ:存储器,包括ROM和RAM。ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。存储数据掉电后不消失。ROM又分为片内存储器和片外(扩展)存储器两种。

RAM数据存储器,在程序运行过程中可以随时写入数据,又可以随时读出数据。存储数据在掉电后不能保持。RAM也分为片内数据存储器和片外(扩展)存储器两种。






Ⅲ:输入、输出I/O接口,与外部输入、输出(电路)设备相连接。PO/P1/P2/P3等数字I/O接口,内部电路含端口锁存器、输出驱动器和输入缓冲器等电路。其中PO为三态双向接口,P1/P2/P3数字I/O端口,内部驱动器为“开路集电极”输出电路,应用时内部或外部电路接有上拉电阻。每个端口均可作为数字信号输入或输出口,并具有复用功能(指端口功能有第一功能、第二功能甚至数个功能,在应用中可灵活设置)。

MCU器件,除数字I/O端口外,还有ADC模拟量输入、输出端口,输入信号经内部A/D转换电路,变换为数字(频率)信号,再进行处理;对输出模拟量信号,则先经D/A转换后,再输出至外部电路。

再来谈几种如何破解MCU方法

一、非侵入式攻击

不需要对元器件进行初始化。攻击时可以把元器件放在测试电路中分析,也可单独连接元器件。一旦成功,这种攻击很容易普及,并且重新进行攻击不需要很大的开销。另外,使用这种攻击不会留下痕迹。因此,这被认为是对任意元器件的硬件安全最大的威胁。同时,通常需要很多时间和精力来寻找对特定元器件的非侵入式攻击方法。这通常对元器件进行反向工程,包括反汇编软件和理解硬件版图。

非侵入式攻击可以是被动的或主动的。被动攻击,也叫侧面攻击,不会对被攻击元器件发生作用,但通常是观察它的信号和电磁辐射。如功耗分析和时钟攻击。主动攻击,如穷举攻击和噪声攻击,特点是将信号加到元器件上,包括电源线。

一个简单的非侵入式攻击可以是复制一个上电配置的基于SRAM的FPGA。接上配置芯片用的JATG接口,用示波器或逻辑分析仪,捕捉所有信号。然后可以通过分析波形并回复独有的命令。

只使用到一半的FPGA资源时,可以轻微改变数据流来伪装盗版的事实。配置时留下一点空间而不影响元器件的运行。JTAG接口在发送信号时序时也有一些自由,故盗版的波形可以设置成看上去与原始信号不一样的。另外,破解者可以在上传时交换行地址,给人的印象是完全不同的设计。

含糊与安全

半导体制造商给大客户提供了增强产品防破解能力的措施:包装上的客户印字代替了标准的芯片型号。这给人的印象是产品是由定制的集成电路设计的。众所周知,ASIC提供了很好地保护措施来防止多种攻击,只有极少数经验丰富且装备精良的破解者才有可能成功破解。这会使很多潜在的破解者望而却步。但一个信心坚定的破解者会尝试用简单的方法确定芯片是不是真的ASIC。最简单的方法是观察连接到电源,地,时钟,复位,串口或别的接口的引脚。与数据库中被怀疑的微控制器相比较,这种结果非常可靠,每种微控制器都有自己的引脚特点。一旦发现相似的,就把它放在通用烧写器上尝试读出结果。

另一个简单的方法是限制访问程序存储器。通常用在智能卡中,但一些微控制器中也用到。这不是很可靠且实用的方法。当然在智能卡中用得很好,所有的客户被与芯片制造商迫签署不扩散协议。但微控制器极少这样,能被通用烧写器烧写的微控制器世界上很多公司都能提供。即使文件中没有烧写的规格,用低成本的示波器几个小时就可以套出需要的波形。如果微控制器不被特殊通用烧写器所支持,仍然可以通过从制造商购买开发板来获得直接完整的协议。

二、时序攻击(Timing attacks)

一些安全相关的操作使用输入的值和密钥,由半导体芯片执行不同的时间来比较。小心的时序测量和分析就能恢复出密钥。这个方法最早在1996年的文献上提到。稍后这种攻击成功破解了实际的RSA签名的智能卡。

为了攻击成功,需要收集装置的信息,与处理时间整合比较,如问答延迟(question-answer delay)。很多密码算法容易受到时序攻击,主要原因是软件来执行算法。那包括执行适时跳过需要的分支和操作条件;使用缓存;不固定时间处理指令如倍频和分频;还有大量的其他原因。结果就是执行能力典型地取决于密钥和输入的数据。






为防止此类攻击可以使用盲签名(Blinding signatures)技术。这个方法是利用选定的随机数与输入数据混合来防止破解者知道输入数据的数学运算法则。

时序攻击可用在安全保护是基于密码的微控制器,或使用确定数字的卡或密码来进行访问控制的系统,如达拉斯的iButton产品。这些系统中共有的风险是输入的连续数字在数据库进行再次校验。系统需经常检查输入到数据库的密钥的每个字节,一旦发现不正确的字节就会立即停止,然后切换到下一个直到最后一个。所以破解者很容易测量出输入最后一个密钥倒请求另一个的时间,并得出发现的密钥相似度。尝试相对小的数字,有可能找到匹配的密钥。

为防止这些攻击,设计者需要小心计算处理器的周期。当密码进行比较时确保正确和错误的时间是一样的,例如:飞思卡尔的68HC08微控制器的内部存储器载入模块在输入正确的八字节密码后可以访问内部闪存。为达到正确和错误的密码都处理相同的时间,程序中增加了额外的空操作指令。这对时序攻击提供了很好的保护。一些微控制器有内部阻容振荡器,那样处理器的工作频率与电压和芯片的温度相关。这使得时序分析很困难,攻击时需要稳定元器件的温度并减少电源线上的噪声和电压波动。一些智能卡有内部随机时钟信号使得攻击时测量时间延迟无效。

三、穷举攻击(也称暴力攻击Brute force attacks)

暴力对于半导体硬件和密码来说是另一种意思。对于密码,暴力攻击是对系统尝试数量众多的密钥。通常是使用高速计算机来寻找匹配的密钥。 一个例子是微控制器中的密码保护设置。以TI的MSP430为例,密码本身长度为32字节(256位),抵挡暴力攻击已经足够了。但密码分配在与处理器中断矢量相同的存储器地址。那么,首先减少存储器内矢量一直指向的区域。然后当软件被更新时,只有小部分的密码被修改,因为大部分中断子程序指向的矢量是相同的地址。

结果是,如果破解者知道早前密码中的一个,就很容易做系统的搜索,在合理的时间内找到正确的密码。 暴力攻击也可用在ASIC或CPLD的硬件设计来实现。这种情况下,破解者使用所有可能的逻辑组合到元器件可能的输入端并观察所有输出。这种方法也称为黑箱分析(Black-box analysis),因为破解者不知道被测试元器件的情况。通过所有可能的信号组合,尝试获得元器件的功能。这种方法对相对小的逻辑器件很有效。另一个问题是破解者使用的ASIC或CPLD有触发器,故输出将可能是当前状态或输入的状态。但如果预先检查并分析信号,搜索的范围可以显著减少。例如,时钟输入,数据总线和一些控制信号是很容易认出的。

另一种可能的暴力攻击,对很多半导体芯片有效,是将外部高压信号(通常是两倍于电源电压)加到芯片引脚上,来试图进入工厂测试或编程模式。事实上,这些引脚用数字万用表很容易发现,因为它们没有保护二极管到电源脚。一旦发现对高压敏感的引脚,破解者就可以尝试可能的逻辑信号组合来加到别的引脚上,找出用于进入工厂测试或编程模式的部分。 破解者也可用元器件的通信协议来找出设计者嵌入在软件中的测试和更新用得隐藏功能。

芯片制造商经常提供给后期测试用得嵌入硬件测试接口。如果这些接口的安全保护没有适当设计,破解者很容易利用它来读写片上存储器。在智能卡中,这些测试接口通常位于芯片电路之外,并在测试后从物理上除去。 任何安全系统,不管软件和硬件,在设计上都可能有缺陷,对于破解者来说都是机会,暴力攻击有可能找到它。小心设计安全保护系统,进行适当的评估,可以避免很多问题,并使得这些攻击事实上不可行。

四、功耗分析(Power analysis)

一个运算设备的功耗取决于它当前的状态。依照CMOS晶体管的原理,各部分动态时的功耗比静态的要大。当输入电压加到反向器上,会引起一个晶体管短路,这个晶体管电流的增加比静态消耗的寄生漏电要大得多。在电源线上加个10-20欧的电阻,就可以测量电流的波动。为达到更好的效果,需要使用至少12位精度和50MHz采样速度的模数转换器。

这些获得的参数可以用来区别处理器的不同指令并估计总线上同时翻转的位数。 通过平均多次重复同样操作的电流,即使是没有通过总线的很小信号也能区别开。有些信号如移位状态特别有用,因为很多密码的密钥产生算法使用移位操作来逐一移出单个密钥倒进位标志。即使状态位的变化不能直接测量,它们通常会改变指令次序或微码的执行,这会导致功耗的明显变化。






不同指令导致不同级别的指令解码和运算单元的活动,可被清晰地区别开,故运算部分能被推测出。处理器的不同单元在时钟沿相关的不同时间里有独有的开关状态,能被高频仪器分离出来。

有多种不同的功耗分析技术用在破解密码算法上。整个分析过程是相对简单的,只需要标准的现有的廉价仪器设备。 功耗分析技术主要有两种:简单功耗分析(SPA:Simple Power Analysis)和差分功耗分析(DPA:Difference Power Analysis)。SPA是在密码或别的安全相关操作时直接观察功耗,可以得知设备运行时的信息如密钥资料。如果破解者知道密码算法,很容易通过观察处理器指令次序,特别是移位条件转移,找到一些位的信息。如果算法或逻辑运算的结果很容易被看出,如进位状态,零或负标志,就可以获得更多的信息。

DPA是种更有效的技术,因为破解者不需要知道密码算法是如何执行的。它使用静态分析和已知密码运算的大量功耗迹线来获取隐藏信息。用统计方法鉴别功耗的微小区别,可用来恢复密钥中的单个的位信息。 功耗特性当然包括噪声部分。额外的噪声可以通过减少获取信号的探针长度并小心使用测量仪器来降低它。测量接在地线上的电阻的功耗有一些优势。首先,减少了噪声电平。其次,可以用示波器的探头直接测量信号,因为大部分探针站有公共的地线与外部电源地相连。为了增加信噪比,可以通过提高平均采样数来获得。

有源探头能降低输入电容,增加对输入信号的带宽。一种方法是用高速低噪声的运放来构建相对简单的探头,另一种是用很短的同轴电缆直连到示波器的输入端。在这些情况下,探头的输入电容显著减少。

对现有的功耗分析步骤进行了改进。这是一种新的方法,尚未有类似的。我们用铁芯变压器来取代连到电源或地的电阻,那样波形就有点不一样,因为信号的直流成分丢失了,同时又有些有利条件。常用的方法对直流电流几乎没有什么限制。但对于10欧电阻来讲100mA的电流意味着有1V的电压降,那可能中断微控制器的正常操作。

减少这个电阻可以解决这个问题,但会使得难以识别功耗的微小变动。使用变压器后,不需要使用昂贵的有源探头,标准的无源探头就可以给出几乎相同的结果。如果信号太小,调节二次侧的线圈就可以增加振幅。变压器也担当无源滤波器的角色,如波形,同样的处理器指令对电阻和变压器所测量到的波形有不同的影响。那可以通过对获得的信号进行处理。为了攻击获得成功,需要采集数千的样本,然后快速分析处理所展现的秘密。

最近,芯片设计上已考虑这种攻击,并将使得这种攻击方法更难获得成功。

五、噪声攻击(Glitch attacks)

噪声攻击是快速改变输入到微控制器的信号,以影响它的正常运行。通常噪声是叠加在电源上或时钟信号上,但噪声也可以是外加的短暂电场或电磁脉冲。在离芯片表面数百微米处放置两根金属针,然后加上少于1微秒的数百伏电压的窄脉冲,晶圆衬底会感应出一个电场,使得邻近晶体管的阈值电压发生变化。最近出现一种改进的方法:使用几百圈金属线绕在微探针的针尖构成一个小型电感。当电流进入线圈会产生磁场,针尖将集中磁力线。

每个晶体管和与它相连的线路构成有时延特性的RC电路。处理器的最大可用时钟频率取决于该电路的最大延迟。同样的,每个触发器在接收输入电压和由此引致的输出电压之间有个特征时间窗口。这个窗口由给定的电压和温度来确定。如果用时钟噪声(比正常的时钟脉冲要短得多)或电源噪声(电源电压的快速波动)将会影响芯片里的某些晶体管,导致一个或多个触发器进入错误状态。通过改变参数,处理器会被导致执行许多完全不同的错误指令,有时甚至是不被微码支持的。经管我们不会预先知道何种噪声会导致何种芯片的何种错误,但它能相当简单地进行系统的搜索。

1、时钟噪声攻击(Clock glitches)

时钟信号的噪声攻击在目前是最简单的,且相当实用。实际应用中的噪声通常用来取代跳转条件并试验先前的测试指令。可以在安全密码问询处理时创建一个攻击窗口,简单预防执行这些指令。指令噪声也能用来扩大循环的时间。如,串口子程序在输出缓冲后再读更多的内容;或在密钥操作时减少循环次数来传一个弱的密码。 为获得噪声,时钟需要临时增加一个或大于半个周期,有些触发器在到达新状态之前就获得输入。时钟噪声通常针对处理器的指令流。对硬件执行安全保护的微控制器没有什么效果。实际中,仅使用时钟噪声来攻击微控制器或智能卡的软件程序接口。






这类保护的破解是相对容易的。如处理器在循环里只执行一个指令,攻击时可用不同的时钟噪声导致处理器误操作。不需要小心地与时钟信号同步,只需要随机制造噪声就可在数次攻击内成功。插入噪声是相对容易的,无需使用外部发生器,瞬间短路晶振即可。当谐振器在不同的泛音上产生震荡会发出很多噪声。大部分情况下需要在确定的时钟周期内获得所需结果,在这种情况下用信号发生器更好。

使用时钟噪声来攻击某些微控制器也许是很困难的。例如德仪的MPS430微控制器在内部RC震荡器工作的启动模块。很难与内部时钟同步,攻击时很难估计精确的时间。一些智能卡在处理器指令流里会随机插入延迟,使得攻击更为困难。使用功耗分析会有帮助,但要求非常昂贵的设备来实时获得参考信号。

2、电源噪声攻击(Power glitches)

电源供应电压的波动会导致晶体管阈值电平的漂移。结果就是一些触发器在不同的时间里采样它们的输入,或读出错误的安全熔丝的状态。 通常用瞬间增加电源电压或电压跌落来制造噪声,一般在10个时钟周期内。电源噪声通常用在微控制器的程序接口上,能影响处理器运行或硬件安全电路。一般地,弱点比时钟噪声更难找到并利用,因为对于时域参数,振幅,上升/下降时间都是变量。

一个例子是上例提到的攻击MC68C05B6.如果在执行AND $0100指令时电源电压减少50-70%,处理器从EEPROM中取出的值是FFh而不是实际的值。这会对应熔丝未加密状态。窍门是小心计算执行时间来减少电源电压,否则处理器会停止运行或进入复位状态。这种任务并不难,复位后目标指令在第一个一百周期内被执行。破解者可以使用矢量发生器或构建一个自己的噪声源。

另一个是微芯的老旧的PIC16F84。芯片的擦除操作会解除安全保护。但同时会芯片上程序和数据存储器中的内容。安全保护电路在硬件设计上是在安全熔丝复位之前擦掉存储器。但我们发现在芯片擦除操作时电源电压几微秒内增加到大约10V,会中断存储器擦除操作,但安全熔丝正常完成复位,这使得有可能读出存储器里的内容。如此高压需要谨慎使用,如果时间过长会损伤芯片。新版本的PIC16F84A增加了防欠压和过压攻击的能力。如果电源电压低于3V或6V,通过编程接口的任意修改存储器的操作会被立即中断。

不是一直需要电源噪声超过电源电压范围的规格。例如,PIC18F84A微控制器,保护机制可以阻止在芯片擦除操作开始后使用大于50mV的噪声。那会导致中止程序存储器的擦除操作但不会擦掉熔丝。

上述例子表明噪声攻击时无需特殊工具就有很好的效果。智能卡里有时钟监控电路但极少微控制器有。

六、数据保持能力分析(Data remanence)

处理器一般会把密钥保存在静态RAM里,如果元器件被篡改就会掉电,RAM内容丢失,从而保护密钥不被窃取。众所周知的是在低于零下20度时,SRAM里的内容会“冰冻”。很多元器件把温度低于这个阈值视为发生篡改事件。我们做了一些实验来确定现代SRAM数据保持能力与温度的关系。我们的实验表明传统的思维不再有效。即使在高温下,数据保持能力也是个问题。数据保持能力不仅仅对SRAM有影响,对DRAM, UV EPROM, EEPROM和闪存也有影响。结果是,仍然可以从已擦除的存储器中获得一些信息。

这会给安全设备带来很多问题。 安全工程师都很关注断电后SRAM器件能保持数据的时间。原因如下:很多产品使用密钥或类似的方法进行加密和别的安全相关的计算,需要不能被读出或改变。最普遍的解决方法是把安全密钥放在带篡改传感器的易失存储器中。一旦检测到发生篡改,易失传感器会掉电或短路到地。但如果数据保留时间大于破解者打开元器件并对存储器上电的时间,那保护机制就被摧毁了。

在二十世纪八十年代,发现低温能将SRAM的数据保存时间增加到几秒甚至几分钟。对于那个时候的元器件,发现零下20度就可以增加数据保存时间,并且会随着温度的降低而增加保持的时间。有些就增加了温度传感器,温度低于零下20度就触发篡改事件,立即清零存储器。本次试验是重复这个工作,察看2000年后的产品是否也有此特性。

另一个需要关注的是即使部分内容已被破坏,安全信息也能被复原。假设破解者获得了n=128位密钥中的m=115位,也就是90%的信息。他可以通过搜索n!/(m!(n-m)!=128!/(115!13!)=2.12*1017~258个可能的密钥。通过1万台电脑,每台每秒进行10亿次搜索密钥的操作,破解者只需6个小时就能搜遍所有密钥。如果只有80%的信息,也就是知道128位密钥中的103位,那就有2.51*1026~288种可能。几乎增大了一百倍,破解者要花百万年来搜索密钥,故认为均匀的128位密钥不能被恢复。
 
 
 
来源:网络 查看全部
写在最前面,本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,发烧友对后果概不负责...

首先明白MCU是什么——即结构与组成

Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分组成。前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。

Ⅱ:存储器,包括ROM和RAM。ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。存储数据掉电后不消失。ROM又分为片内存储器和片外(扩展)存储器两种。

RAM数据存储器,在程序运行过程中可以随时写入数据,又可以随时读出数据。存储数据在掉电后不能保持。RAM也分为片内数据存储器和片外(扩展)存储器两种。

QQ截图20161125103830.png


Ⅲ:输入、输出I/O接口,与外部输入、输出(电路)设备相连接。PO/P1/P2/P3等数字I/O接口,内部电路含端口锁存器、输出驱动器和输入缓冲器等电路。其中PO为三态双向接口,P1/P2/P3数字I/O端口,内部驱动器为“开路集电极”输出电路,应用时内部或外部电路接有上拉电阻。每个端口均可作为数字信号输入或输出口,并具有复用功能(指端口功能有第一功能、第二功能甚至数个功能,在应用中可灵活设置)。

MCU器件,除数字I/O端口外,还有ADC模拟量输入、输出端口,输入信号经内部A/D转换电路,变换为数字(频率)信号,再进行处理;对输出模拟量信号,则先经D/A转换后,再输出至外部电路。

再来谈几种如何破解MCU方法

一、非侵入式攻击

不需要对元器件进行初始化。攻击时可以把元器件放在测试电路中分析,也可单独连接元器件。一旦成功,这种攻击很容易普及,并且重新进行攻击不需要很大的开销。另外,使用这种攻击不会留下痕迹。因此,这被认为是对任意元器件的硬件安全最大的威胁。同时,通常需要很多时间和精力来寻找对特定元器件的非侵入式攻击方法。这通常对元器件进行反向工程,包括反汇编软件和理解硬件版图。

非侵入式攻击可以是被动的或主动的。被动攻击,也叫侧面攻击,不会对被攻击元器件发生作用,但通常是观察它的信号和电磁辐射。如功耗分析和时钟攻击。主动攻击,如穷举攻击和噪声攻击,特点是将信号加到元器件上,包括电源线。

一个简单的非侵入式攻击可以是复制一个上电配置的基于SRAM的FPGA。接上配置芯片用的JATG接口,用示波器或逻辑分析仪,捕捉所有信号。然后可以通过分析波形并回复独有的命令。

只使用到一半的FPGA资源时,可以轻微改变数据流来伪装盗版的事实。配置时留下一点空间而不影响元器件的运行。JTAG接口在发送信号时序时也有一些自由,故盗版的波形可以设置成看上去与原始信号不一样的。另外,破解者可以在上传时交换行地址,给人的印象是完全不同的设计。

含糊与安全

半导体制造商给大客户提供了增强产品防破解能力的措施:包装上的客户印字代替了标准的芯片型号。这给人的印象是产品是由定制的集成电路设计的。众所周知,ASIC提供了很好地保护措施来防止多种攻击,只有极少数经验丰富且装备精良的破解者才有可能成功破解。这会使很多潜在的破解者望而却步。但一个信心坚定的破解者会尝试用简单的方法确定芯片是不是真的ASIC。最简单的方法是观察连接到电源,地,时钟,复位,串口或别的接口的引脚。与数据库中被怀疑的微控制器相比较,这种结果非常可靠,每种微控制器都有自己的引脚特点。一旦发现相似的,就把它放在通用烧写器上尝试读出结果。

另一个简单的方法是限制访问程序存储器。通常用在智能卡中,但一些微控制器中也用到。这不是很可靠且实用的方法。当然在智能卡中用得很好,所有的客户被与芯片制造商迫签署不扩散协议。但微控制器极少这样,能被通用烧写器烧写的微控制器世界上很多公司都能提供。即使文件中没有烧写的规格,用低成本的示波器几个小时就可以套出需要的波形。如果微控制器不被特殊通用烧写器所支持,仍然可以通过从制造商购买开发板来获得直接完整的协议。

二、时序攻击(Timing attacks)

一些安全相关的操作使用输入的值和密钥,由半导体芯片执行不同的时间来比较。小心的时序测量和分析就能恢复出密钥。这个方法最早在1996年的文献上提到。稍后这种攻击成功破解了实际的RSA签名的智能卡。

为了攻击成功,需要收集装置的信息,与处理时间整合比较,如问答延迟(question-answer delay)。很多密码算法容易受到时序攻击,主要原因是软件来执行算法。那包括执行适时跳过需要的分支和操作条件;使用缓存;不固定时间处理指令如倍频和分频;还有大量的其他原因。结果就是执行能力典型地取决于密钥和输入的数据。

QQ截图20161125103848.png


为防止此类攻击可以使用盲签名(Blinding signatures)技术。这个方法是利用选定的随机数与输入数据混合来防止破解者知道输入数据的数学运算法则。

时序攻击可用在安全保护是基于密码的微控制器,或使用确定数字的卡或密码来进行访问控制的系统,如达拉斯的iButton产品。这些系统中共有的风险是输入的连续数字在数据库进行再次校验。系统需经常检查输入到数据库的密钥的每个字节,一旦发现不正确的字节就会立即停止,然后切换到下一个直到最后一个。所以破解者很容易测量出输入最后一个密钥倒请求另一个的时间,并得出发现的密钥相似度。尝试相对小的数字,有可能找到匹配的密钥。

为防止这些攻击,设计者需要小心计算处理器的周期。当密码进行比较时确保正确和错误的时间是一样的,例如:飞思卡尔的68HC08微控制器的内部存储器载入模块在输入正确的八字节密码后可以访问内部闪存。为达到正确和错误的密码都处理相同的时间,程序中增加了额外的空操作指令。这对时序攻击提供了很好的保护。一些微控制器有内部阻容振荡器,那样处理器的工作频率与电压和芯片的温度相关。这使得时序分析很困难,攻击时需要稳定元器件的温度并减少电源线上的噪声和电压波动。一些智能卡有内部随机时钟信号使得攻击时测量时间延迟无效。

三、穷举攻击(也称暴力攻击Brute force attacks)

暴力对于半导体硬件和密码来说是另一种意思。对于密码,暴力攻击是对系统尝试数量众多的密钥。通常是使用高速计算机来寻找匹配的密钥。 一个例子是微控制器中的密码保护设置。以TI的MSP430为例,密码本身长度为32字节(256位),抵挡暴力攻击已经足够了。但密码分配在与处理器中断矢量相同的存储器地址。那么,首先减少存储器内矢量一直指向的区域。然后当软件被更新时,只有小部分的密码被修改,因为大部分中断子程序指向的矢量是相同的地址。

结果是,如果破解者知道早前密码中的一个,就很容易做系统的搜索,在合理的时间内找到正确的密码。 暴力攻击也可用在ASIC或CPLD的硬件设计来实现。这种情况下,破解者使用所有可能的逻辑组合到元器件可能的输入端并观察所有输出。这种方法也称为黑箱分析(Black-box analysis),因为破解者不知道被测试元器件的情况。通过所有可能的信号组合,尝试获得元器件的功能。这种方法对相对小的逻辑器件很有效。另一个问题是破解者使用的ASIC或CPLD有触发器,故输出将可能是当前状态或输入的状态。但如果预先检查并分析信号,搜索的范围可以显著减少。例如,时钟输入,数据总线和一些控制信号是很容易认出的。

另一种可能的暴力攻击,对很多半导体芯片有效,是将外部高压信号(通常是两倍于电源电压)加到芯片引脚上,来试图进入工厂测试或编程模式。事实上,这些引脚用数字万用表很容易发现,因为它们没有保护二极管到电源脚。一旦发现对高压敏感的引脚,破解者就可以尝试可能的逻辑信号组合来加到别的引脚上,找出用于进入工厂测试或编程模式的部分。 破解者也可用元器件的通信协议来找出设计者嵌入在软件中的测试和更新用得隐藏功能。

芯片制造商经常提供给后期测试用得嵌入硬件测试接口。如果这些接口的安全保护没有适当设计,破解者很容易利用它来读写片上存储器。在智能卡中,这些测试接口通常位于芯片电路之外,并在测试后从物理上除去。 任何安全系统,不管软件和硬件,在设计上都可能有缺陷,对于破解者来说都是机会,暴力攻击有可能找到它。小心设计安全保护系统,进行适当的评估,可以避免很多问题,并使得这些攻击事实上不可行。

四、功耗分析(Power analysis)

一个运算设备的功耗取决于它当前的状态。依照CMOS晶体管的原理,各部分动态时的功耗比静态的要大。当输入电压加到反向器上,会引起一个晶体管短路,这个晶体管电流的增加比静态消耗的寄生漏电要大得多。在电源线上加个10-20欧的电阻,就可以测量电流的波动。为达到更好的效果,需要使用至少12位精度和50MHz采样速度的模数转换器。

这些获得的参数可以用来区别处理器的不同指令并估计总线上同时翻转的位数。 通过平均多次重复同样操作的电流,即使是没有通过总线的很小信号也能区别开。有些信号如移位状态特别有用,因为很多密码的密钥产生算法使用移位操作来逐一移出单个密钥倒进位标志。即使状态位的变化不能直接测量,它们通常会改变指令次序或微码的执行,这会导致功耗的明显变化。

QQ截图20161125103904.png


不同指令导致不同级别的指令解码和运算单元的活动,可被清晰地区别开,故运算部分能被推测出。处理器的不同单元在时钟沿相关的不同时间里有独有的开关状态,能被高频仪器分离出来。

有多种不同的功耗分析技术用在破解密码算法上。整个分析过程是相对简单的,只需要标准的现有的廉价仪器设备。 功耗分析技术主要有两种:简单功耗分析(SPA:Simple Power Analysis)和差分功耗分析(DPA:Difference Power Analysis)。SPA是在密码或别的安全相关操作时直接观察功耗,可以得知设备运行时的信息如密钥资料。如果破解者知道密码算法,很容易通过观察处理器指令次序,特别是移位条件转移,找到一些位的信息。如果算法或逻辑运算的结果很容易被看出,如进位状态,零或负标志,就可以获得更多的信息。

DPA是种更有效的技术,因为破解者不需要知道密码算法是如何执行的。它使用静态分析和已知密码运算的大量功耗迹线来获取隐藏信息。用统计方法鉴别功耗的微小区别,可用来恢复密钥中的单个的位信息。 功耗特性当然包括噪声部分。额外的噪声可以通过减少获取信号的探针长度并小心使用测量仪器来降低它。测量接在地线上的电阻的功耗有一些优势。首先,减少了噪声电平。其次,可以用示波器的探头直接测量信号,因为大部分探针站有公共的地线与外部电源地相连。为了增加信噪比,可以通过提高平均采样数来获得。

有源探头能降低输入电容,增加对输入信号的带宽。一种方法是用高速低噪声的运放来构建相对简单的探头,另一种是用很短的同轴电缆直连到示波器的输入端。在这些情况下,探头的输入电容显著减少。

对现有的功耗分析步骤进行了改进。这是一种新的方法,尚未有类似的。我们用铁芯变压器来取代连到电源或地的电阻,那样波形就有点不一样,因为信号的直流成分丢失了,同时又有些有利条件。常用的方法对直流电流几乎没有什么限制。但对于10欧电阻来讲100mA的电流意味着有1V的电压降,那可能中断微控制器的正常操作。

减少这个电阻可以解决这个问题,但会使得难以识别功耗的微小变动。使用变压器后,不需要使用昂贵的有源探头,标准的无源探头就可以给出几乎相同的结果。如果信号太小,调节二次侧的线圈就可以增加振幅。变压器也担当无源滤波器的角色,如波形,同样的处理器指令对电阻和变压器所测量到的波形有不同的影响。那可以通过对获得的信号进行处理。为了攻击获得成功,需要采集数千的样本,然后快速分析处理所展现的秘密。

最近,芯片设计上已考虑这种攻击,并将使得这种攻击方法更难获得成功。

五、噪声攻击(Glitch attacks)

噪声攻击是快速改变输入到微控制器的信号,以影响它的正常运行。通常噪声是叠加在电源上或时钟信号上,但噪声也可以是外加的短暂电场或电磁脉冲。在离芯片表面数百微米处放置两根金属针,然后加上少于1微秒的数百伏电压的窄脉冲,晶圆衬底会感应出一个电场,使得邻近晶体管的阈值电压发生变化。最近出现一种改进的方法:使用几百圈金属线绕在微探针的针尖构成一个小型电感。当电流进入线圈会产生磁场,针尖将集中磁力线。

每个晶体管和与它相连的线路构成有时延特性的RC电路。处理器的最大可用时钟频率取决于该电路的最大延迟。同样的,每个触发器在接收输入电压和由此引致的输出电压之间有个特征时间窗口。这个窗口由给定的电压和温度来确定。如果用时钟噪声(比正常的时钟脉冲要短得多)或电源噪声(电源电压的快速波动)将会影响芯片里的某些晶体管,导致一个或多个触发器进入错误状态。通过改变参数,处理器会被导致执行许多完全不同的错误指令,有时甚至是不被微码支持的。经管我们不会预先知道何种噪声会导致何种芯片的何种错误,但它能相当简单地进行系统的搜索。

1、时钟噪声攻击(Clock glitches)

时钟信号的噪声攻击在目前是最简单的,且相当实用。实际应用中的噪声通常用来取代跳转条件并试验先前的测试指令。可以在安全密码问询处理时创建一个攻击窗口,简单预防执行这些指令。指令噪声也能用来扩大循环的时间。如,串口子程序在输出缓冲后再读更多的内容;或在密钥操作时减少循环次数来传一个弱的密码。 为获得噪声,时钟需要临时增加一个或大于半个周期,有些触发器在到达新状态之前就获得输入。时钟噪声通常针对处理器的指令流。对硬件执行安全保护的微控制器没有什么效果。实际中,仅使用时钟噪声来攻击微控制器或智能卡的软件程序接口。

QQ截图20161125103920.png


这类保护的破解是相对容易的。如处理器在循环里只执行一个指令,攻击时可用不同的时钟噪声导致处理器误操作。不需要小心地与时钟信号同步,只需要随机制造噪声就可在数次攻击内成功。插入噪声是相对容易的,无需使用外部发生器,瞬间短路晶振即可。当谐振器在不同的泛音上产生震荡会发出很多噪声。大部分情况下需要在确定的时钟周期内获得所需结果,在这种情况下用信号发生器更好。

使用时钟噪声来攻击某些微控制器也许是很困难的。例如德仪的MPS430微控制器在内部RC震荡器工作的启动模块。很难与内部时钟同步,攻击时很难估计精确的时间。一些智能卡在处理器指令流里会随机插入延迟,使得攻击更为困难。使用功耗分析会有帮助,但要求非常昂贵的设备来实时获得参考信号。

2、电源噪声攻击(Power glitches)

电源供应电压的波动会导致晶体管阈值电平的漂移。结果就是一些触发器在不同的时间里采样它们的输入,或读出错误的安全熔丝的状态。 通常用瞬间增加电源电压或电压跌落来制造噪声,一般在10个时钟周期内。电源噪声通常用在微控制器的程序接口上,能影响处理器运行或硬件安全电路。一般地,弱点比时钟噪声更难找到并利用,因为对于时域参数,振幅,上升/下降时间都是变量。

一个例子是上例提到的攻击MC68C05B6.如果在执行AND $0100指令时电源电压减少50-70%,处理器从EEPROM中取出的值是FFh而不是实际的值。这会对应熔丝未加密状态。窍门是小心计算执行时间来减少电源电压,否则处理器会停止运行或进入复位状态。这种任务并不难,复位后目标指令在第一个一百周期内被执行。破解者可以使用矢量发生器或构建一个自己的噪声源。

另一个是微芯的老旧的PIC16F84。芯片的擦除操作会解除安全保护。但同时会芯片上程序和数据存储器中的内容。安全保护电路在硬件设计上是在安全熔丝复位之前擦掉存储器。但我们发现在芯片擦除操作时电源电压几微秒内增加到大约10V,会中断存储器擦除操作,但安全熔丝正常完成复位,这使得有可能读出存储器里的内容。如此高压需要谨慎使用,如果时间过长会损伤芯片。新版本的PIC16F84A增加了防欠压和过压攻击的能力。如果电源电压低于3V或6V,通过编程接口的任意修改存储器的操作会被立即中断。

不是一直需要电源噪声超过电源电压范围的规格。例如,PIC18F84A微控制器,保护机制可以阻止在芯片擦除操作开始后使用大于50mV的噪声。那会导致中止程序存储器的擦除操作但不会擦掉熔丝。

上述例子表明噪声攻击时无需特殊工具就有很好的效果。智能卡里有时钟监控电路但极少微控制器有。

六、数据保持能力分析(Data remanence)

处理器一般会把密钥保存在静态RAM里,如果元器件被篡改就会掉电,RAM内容丢失,从而保护密钥不被窃取。众所周知的是在低于零下20度时,SRAM里的内容会“冰冻”。很多元器件把温度低于这个阈值视为发生篡改事件。我们做了一些实验来确定现代SRAM数据保持能力与温度的关系。我们的实验表明传统的思维不再有效。即使在高温下,数据保持能力也是个问题。数据保持能力不仅仅对SRAM有影响,对DRAM, UV EPROM, EEPROM和闪存也有影响。结果是,仍然可以从已擦除的存储器中获得一些信息。

这会给安全设备带来很多问题。 安全工程师都很关注断电后SRAM器件能保持数据的时间。原因如下:很多产品使用密钥或类似的方法进行加密和别的安全相关的计算,需要不能被读出或改变。最普遍的解决方法是把安全密钥放在带篡改传感器的易失存储器中。一旦检测到发生篡改,易失传感器会掉电或短路到地。但如果数据保留时间大于破解者打开元器件并对存储器上电的时间,那保护机制就被摧毁了。

在二十世纪八十年代,发现低温能将SRAM的数据保存时间增加到几秒甚至几分钟。对于那个时候的元器件,发现零下20度就可以增加数据保存时间,并且会随着温度的降低而增加保持的时间。有些就增加了温度传感器,温度低于零下20度就触发篡改事件,立即清零存储器。本次试验是重复这个工作,察看2000年后的产品是否也有此特性。

另一个需要关注的是即使部分内容已被破坏,安全信息也能被复原。假设破解者获得了n=128位密钥中的m=115位,也就是90%的信息。他可以通过搜索n!/(m!(n-m)!=128!/(115!13!)=2.12*1017~258个可能的密钥。通过1万台电脑,每台每秒进行10亿次搜索密钥的操作,破解者只需6个小时就能搜遍所有密钥。如果只有80%的信息,也就是知道128位密钥中的103位,那就有2.51*1026~288种可能。几乎增大了一百倍,破解者要花百万年来搜索密钥,故认为均匀的128位密钥不能被恢复。
 
 
 
来源:网络
1158 浏览

真正的产品是这样设计的!

设备硬件类 回锅肉 2016-11-07 10:34 发表了文章 来自相关话题

硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可测试性、可生产性等要求的硬件产品。

可以看到,一个成功的硬件设计,主要功能的实现只是所有环节中的一小部分,而且基本来说,主要功能的实现主要是依靠芯片厂商提供的套片方案,一般来说为了降低风险,主要是参考套片方案的参考设计完成,芯片厂商也会提供包括器件封装、参考设计、仿真模型、PCB参考等等全部资料,在芯片功能越来越复杂的今天,一个片子动不动就几百上千个PIN,对于一个新项目来说,是没有时间一页页去吃透每个PIN,每个输入输出的具体功能,电气参数的,尤其是对于高速设计,比如DDR3接口、XAUI接口等等。

一般来说芯片厂商提供的参考设计就是他们经过开发,验证,测试的最佳方案了,很多情况就是你必须按照参考设计来做,否则硬件可能就有问题,一般来说就是信号完整性问题或者EMC问题。

芯片厂商提供越来越周到的服务,看起来硬件工程师HW的价值越来越低了,毕竟一个产品的核心功能或者技术一般都在ASIC或者FPGA里面了,HW一般没有能力进行核心逻辑设计IC design, 毕竟这是跟HW设计并行的另一项工作,另一项也很复杂的工作。

对于这个问题,我也曾经困惑过,总是感觉硬件设计没有什么好搞的了,不就是抄抄参考设计,就跟组装一台电脑一样组装一个单板嘛。当然随着项目经验的增多,尤其从事现在硬件系统级设计的角色,感觉原来自己考虑更多是从一名原理图设计工程师的角度考虑问题。

就像开始说的,一个成功的硬件设计,功能Function只是一小部分,至于其他的因素和能力,一个HW的能力取决于能考虑因素越多,越深入,就越是一个 优秀的HW工程师。

1、成本Cost:任何一个卖硬件产品的公司的主要盈利一般来说就是销售价格-COGS,而COGS90%取决于设计,剩下就是生产成本了,这个价格一般来说比较透明,代工厂也很多,竞争激烈。虽然说设计成本60%也取决于主要芯片的价格(这个主要要靠公司高层跟芯片厂商谈判的结果了,HW的作用有限,更多是系统工程师做决策用什么芯片能符合产品需求和软件功能需求),但是剩下的电阻,电容,电感,二极管,三极管,保护器件,接口器件,逻辑芯片,逻辑功能,小芯片,电源电路全都是HW做主了,当然有参考设计,不过一般来说参考设计为了更好体现芯片的良好性能,一般会选用比较贵的,性能更好的器件,这就要结合公司的器件库进行取舍了。 我的经验是多看看公司的同类产品设计,看看大家主流是用什么器件,毕竟对于元器件来说,价格跟购买量有很大关系,不同的采购量导致的价格可能相差几倍。

2、信号完整性:主要影响两方面:EMC和时序Timing,不好的SI设计会有很强的过冲over/undershoot,尖峰Spike,这会造成对应频率N谐振频率的发射;不好的SI设计会导致High/low不稳定,或者上升时间/下降时间Rising Time/Falling Time占数据周期过长,或者时钟不稳定,都会导致在接收端采样Sample时出现误判断,实际上,接收端不会出错,出错的只是信号。 SI设计在原理图设计来说,主要从阻抗匹配(串行电阻)上来解决,辅以适当的退耦滤波电容;跟主要是在PCB上,一般来说PCB层数越多,SI会更好,当 然这里要跟Cost 进行一个取舍了。

3、电源设计:虽然一般大些的公司都有专门的电源设计工程师,不过对于HW来说,基本的Power设计能力还是很重要的,从道理上来说,任何电路都是一种电源,任何电路问题都可以归结于一种电源问题,只有对于电源电路理解深入了,才能对于电路板理解跟深入,尤其是对于模拟电路问题,才能想到用模拟电路来设计一些简单电路,而不是费力用逻辑电路来搭。

4、安规:对于接口电路来说,主要成本都在与安规器件,这个接口究竟要抗多大的电压,电流打击?这就要好好考虑用什么器件了,fuse? PTC? TVS?高压电容?

5、电磁兼容: 主要是针对各个国家的相应规范(安规也是),对于各种可能产生辐射的信号都充分考虑好退耦,滤波,对于欧盟来说一般是EN55022/EN55024,对于美国一般是FCC Part 15, 欧盟和美国的辐射标准略有不同,欧盟的标准稍微严格一些。

6、功耗:现在都提倡环保,运营商也是,HW也必须考虑省电,比如用效率更高的电源电路,用PWM替代LDO,效率更高的转换拓扑。

7、散热:芯片集成度越来越高,单芯片的功耗从几瓦到现在的几十瓦,散热就是一个大问题,而且伴随着接口的速率提高,接口芯片的功耗也在提高,造成整个系统就是:热!这就需要好好考虑散热问题,从PCB的布局,到散热片Heatsink的使用,到风扇的使用,都有很多考虑。

8、噪音:风扇是散热最好的办法,但是带来的问题就是噪声,ITU对于通信设备的噪声也有明确的规范,这就需要平衡风扇数量,转速,风向,控制等因素。

9、器件采购:HW选用的器件必须得是Sourcing部门能够采购到的,而且一般也要考虑second source的问题,和lead time的问题,不能说选用一个只有一个小公司生产的稀有器件,万一这个器件EoL了,你是怎么办?只能修改设计了,这就损失大了!

10、可靠性:整个系统MTBF的数值多少?风险最大的器件是什么?每个器件的工作Margin是百分之多少?

11、可测试性/可生产性:主要针对于工厂的考虑,必须考虑到方便工厂的生产测试,方便生产,如果你的测试很复杂,会大大降低生产线的产能和良率,进而影响供货以及生产成品。

对于参考设计,我感觉最有用的地方主要是供电电路,退耦滤波电路以及Layout设计,至于总线连接,复位电路,时钟电路,接口电路等等,一般来说都需要根据公司器件库,设计案例以及业界主流器件/方案进行修改。所以千万不要迷信参考电路,那只是参考,过分迷信参考设计,自己还没搞清楚芯片具体功能/参数呢,就COPY过来,即使能够工作,肯定在成本方面,生产方面有很多问题。

硬件设计制造流程

这两年硬件的大潮席卷中国,什么智能硬件、什么硬件开源等等,层出不穷。


原理设计,只有原理上行得通,理论上才行得通。原理设计,也叫系统设计,需要全盘考虑把需求变成实际的产品。很多情况下这个不是难点,难得是怎么把系统想的全面。充分的考虑今后会发生什么事。因为从原理上牵扯到很多事情,物料,价格,产品大小,系统稳定性,安全防护等等。一个好的原理设计者会让硬件项目事半功倍,而不好的就会不断出问题,不断的重新设计。这也是硬件工程师越老越吃香的原因,因为一个老工程师的设计经验会让项目少走很多弯路,节省时间和研发费用。

PCB设计(电路板设计)。现在的硬件都是完成在电路板上的,只有电路板做的好,才能完全发挥原理上的功能和稳定性。PCBlayout其实是一门技术苦力活,学起来不是很难,但是要做好久确很不容易,注意的事太多,一不小心就弄错。要很好的空间感,要细心。

这里我只提一下几个容易出问题的地方,PCB与结构,阻抗设计,电源走向。

生产制造。中国现在已经成为全球最大的电子生产基地。很多产品都是在中国里面完成制造的。一个产品在工厂生产出来只是一部分,还需要包括测试,组装,库存等方面。这其中的学问还是很深的。比如完成那些测试,怎么测试,在什么环境测试都是一门学问。

那么实际设计的步骤是怎样?

1.硬件需求分析。
2.系统设计,原理图设计。
3.PCB设计。
4.样机制作。
5.测试检验。
6.如果满足需求,准备转批量生产,如果不满足需求,又要从2重新开始。
7.量产开始。

这中间其实还涉及到原材料采购等等。为什么很多硬件设计不断跳票,是因为他们公布的时间点很多是理想的时间点,量产开始后产量也不是一下就上去的,有很多因素制约着产量,特别是原材料的采购周期。一般的芯片的采购周期是6到8周,而且没有预定或者备货的话,芯片的量也不会很多。所以说那些开始限购的产品,但是如果几个月或者半年都还在限制销售的话,这就不得不怀疑这个公司的诚意了。
 
 
 
来源:网络 查看全部
硬件设计就是根据产品经理的需求PRS(Product Requirement Specification),在COGS(Cost of Goods Sale)的要求下,利用目前业界成熟的芯片方案或者技术,在规定时间内完成符合PRS功能、性能、电源设计、功耗、散热、噪音、信号完整性、电磁辐射、安规、器件采购、可靠性、可测试性、可生产性等要求的硬件产品。

可以看到,一个成功的硬件设计,主要功能的实现只是所有环节中的一小部分,而且基本来说,主要功能的实现主要是依靠芯片厂商提供的套片方案,一般来说为了降低风险,主要是参考套片方案的参考设计完成,芯片厂商也会提供包括器件封装、参考设计、仿真模型、PCB参考等等全部资料,在芯片功能越来越复杂的今天,一个片子动不动就几百上千个PIN,对于一个新项目来说,是没有时间一页页去吃透每个PIN,每个输入输出的具体功能,电气参数的,尤其是对于高速设计,比如DDR3接口、XAUI接口等等。

一般来说芯片厂商提供的参考设计就是他们经过开发,验证,测试的最佳方案了,很多情况就是你必须按照参考设计来做,否则硬件可能就有问题,一般来说就是信号完整性问题或者EMC问题。

芯片厂商提供越来越周到的服务,看起来硬件工程师HW的价值越来越低了,毕竟一个产品的核心功能或者技术一般都在ASIC或者FPGA里面了,HW一般没有能力进行核心逻辑设计IC design, 毕竟这是跟HW设计并行的另一项工作,另一项也很复杂的工作。

对于这个问题,我也曾经困惑过,总是感觉硬件设计没有什么好搞的了,不就是抄抄参考设计,就跟组装一台电脑一样组装一个单板嘛。当然随着项目经验的增多,尤其从事现在硬件系统级设计的角色,感觉原来自己考虑更多是从一名原理图设计工程师的角度考虑问题。

就像开始说的,一个成功的硬件设计,功能Function只是一小部分,至于其他的因素和能力,一个HW的能力取决于能考虑因素越多,越深入,就越是一个 优秀的HW工程师。

1、成本Cost:任何一个卖硬件产品的公司的主要盈利一般来说就是销售价格-COGS,而COGS90%取决于设计,剩下就是生产成本了,这个价格一般来说比较透明,代工厂也很多,竞争激烈。虽然说设计成本60%也取决于主要芯片的价格(这个主要要靠公司高层跟芯片厂商谈判的结果了,HW的作用有限,更多是系统工程师做决策用什么芯片能符合产品需求和软件功能需求),但是剩下的电阻,电容,电感,二极管,三极管,保护器件,接口器件,逻辑芯片,逻辑功能,小芯片,电源电路全都是HW做主了,当然有参考设计,不过一般来说参考设计为了更好体现芯片的良好性能,一般会选用比较贵的,性能更好的器件,这就要结合公司的器件库进行取舍了。 我的经验是多看看公司的同类产品设计,看看大家主流是用什么器件,毕竟对于元器件来说,价格跟购买量有很大关系,不同的采购量导致的价格可能相差几倍。

2、信号完整性:主要影响两方面:EMC和时序Timing,不好的SI设计会有很强的过冲over/undershoot,尖峰Spike,这会造成对应频率N谐振频率的发射;不好的SI设计会导致High/low不稳定,或者上升时间/下降时间Rising Time/Falling Time占数据周期过长,或者时钟不稳定,都会导致在接收端采样Sample时出现误判断,实际上,接收端不会出错,出错的只是信号。 SI设计在原理图设计来说,主要从阻抗匹配(串行电阻)上来解决,辅以适当的退耦滤波电容;跟主要是在PCB上,一般来说PCB层数越多,SI会更好,当 然这里要跟Cost 进行一个取舍了。

3、电源设计:虽然一般大些的公司都有专门的电源设计工程师,不过对于HW来说,基本的Power设计能力还是很重要的,从道理上来说,任何电路都是一种电源,任何电路问题都可以归结于一种电源问题,只有对于电源电路理解深入了,才能对于电路板理解跟深入,尤其是对于模拟电路问题,才能想到用模拟电路来设计一些简单电路,而不是费力用逻辑电路来搭。

4、安规:对于接口电路来说,主要成本都在与安规器件,这个接口究竟要抗多大的电压,电流打击?这就要好好考虑用什么器件了,fuse? PTC? TVS?高压电容?

5、电磁兼容: 主要是针对各个国家的相应规范(安规也是),对于各种可能产生辐射的信号都充分考虑好退耦,滤波,对于欧盟来说一般是EN55022/EN55024,对于美国一般是FCC Part 15, 欧盟和美国的辐射标准略有不同,欧盟的标准稍微严格一些。

6、功耗:现在都提倡环保,运营商也是,HW也必须考虑省电,比如用效率更高的电源电路,用PWM替代LDO,效率更高的转换拓扑。

7、散热:芯片集成度越来越高,单芯片的功耗从几瓦到现在的几十瓦,散热就是一个大问题,而且伴随着接口的速率提高,接口芯片的功耗也在提高,造成整个系统就是:热!这就需要好好考虑散热问题,从PCB的布局,到散热片Heatsink的使用,到风扇的使用,都有很多考虑。

8、噪音:风扇是散热最好的办法,但是带来的问题就是噪声,ITU对于通信设备的噪声也有明确的规范,这就需要平衡风扇数量,转速,风向,控制等因素。

9、器件采购:HW选用的器件必须得是Sourcing部门能够采购到的,而且一般也要考虑second source的问题,和lead time的问题,不能说选用一个只有一个小公司生产的稀有器件,万一这个器件EoL了,你是怎么办?只能修改设计了,这就损失大了!

10、可靠性:整个系统MTBF的数值多少?风险最大的器件是什么?每个器件的工作Margin是百分之多少?

11、可测试性/可生产性:主要针对于工厂的考虑,必须考虑到方便工厂的生产测试,方便生产,如果你的测试很复杂,会大大降低生产线的产能和良率,进而影响供货以及生产成品。

对于参考设计,我感觉最有用的地方主要是供电电路,退耦滤波电路以及Layout设计,至于总线连接,复位电路,时钟电路,接口电路等等,一般来说都需要根据公司器件库,设计案例以及业界主流器件/方案进行修改。所以千万不要迷信参考电路,那只是参考,过分迷信参考设计,自己还没搞清楚芯片具体功能/参数呢,就COPY过来,即使能够工作,肯定在成本方面,生产方面有很多问题。

硬件设计制造流程

这两年硬件的大潮席卷中国,什么智能硬件、什么硬件开源等等,层出不穷。


原理设计,只有原理上行得通,理论上才行得通。原理设计,也叫系统设计,需要全盘考虑把需求变成实际的产品。很多情况下这个不是难点,难得是怎么把系统想的全面。充分的考虑今后会发生什么事。因为从原理上牵扯到很多事情,物料,价格,产品大小,系统稳定性,安全防护等等。一个好的原理设计者会让硬件项目事半功倍,而不好的就会不断出问题,不断的重新设计。这也是硬件工程师越老越吃香的原因,因为一个老工程师的设计经验会让项目少走很多弯路,节省时间和研发费用。

PCB设计(电路板设计)。现在的硬件都是完成在电路板上的,只有电路板做的好,才能完全发挥原理上的功能和稳定性。PCBlayout其实是一门技术苦力活,学起来不是很难,但是要做好久确很不容易,注意的事太多,一不小心就弄错。要很好的空间感,要细心。

这里我只提一下几个容易出问题的地方,PCB与结构,阻抗设计,电源走向。

生产制造。中国现在已经成为全球最大的电子生产基地。很多产品都是在中国里面完成制造的。一个产品在工厂生产出来只是一部分,还需要包括测试,组装,库存等方面。这其中的学问还是很深的。比如完成那些测试,怎么测试,在什么环境测试都是一门学问。

那么实际设计的步骤是怎样?

1.硬件需求分析。
2.系统设计,原理图设计。
3.PCB设计。
4.样机制作。
5.测试检验。
6.如果满足需求,准备转批量生产,如果不满足需求,又要从2重新开始。
7.量产开始。

这中间其实还涉及到原材料采购等等。为什么很多硬件设计不断跳票,是因为他们公布的时间点很多是理想的时间点,量产开始后产量也不是一下就上去的,有很多因素制约着产量,特别是原材料的采购周期。一般的芯片的采购周期是6到8周,而且没有预定或者备货的话,芯片的量也不会很多。所以说那些开始限购的产品,但是如果几个月或者半年都还在限制销售的话,这就不得不怀疑这个公司的诚意了。
 
 
 
来源:网络
3434 浏览

(干货)PCB正片和负片的较量,二者有什么区别

设备硬件类 嗡班匝萨埵吽 2016-10-19 10:26 发表了文章 来自相关话题

【导读】印制电路板,PCB( Printed Circuit Board),又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。本文将为你诠释PCB正片和负片的区别,以及PCB负片使用场合。PCB在电子产业这么“火”的原因,在这里你都可以找到答案。

PCB为什么能够广泛使用?

PCB之所以能得到越来越广泛地应用,因为它有很多独特优点,概栝如下。

可高密度化。数十年来,印制板高密度能够随着集成电路集成度提高和安装技术进步而发展着。

高可靠性。通过一系列检查、测试和老化试验等可保证PCB长期(使用期,一般为20年)而可靠地工作着。

可设计性。对PCB各种性能(电气、物理、化学、机械等)要求,可以通过设计标准化、规范化等来实现印制板设计,时间短、效率高。

可生产性。采用现代化管理,可进行标准化、规模(量)化、自动化等生产、保证产品质量一致性。

可测试性。建立了比较完整测试方法、测试标准、各种测试设备与仪器等来检测并鉴定PCB产品合格性和使用寿命。

可组装性。PCB产品既便于各种元件进行标准化组装,又可以进行自动化、规模化批量生产。同时,PCB和各种元件组装部件还可组装形成更大部件、系统,直至整机。

可维护性。由于PCB产品和各种元件组装部件是以标准化设计与规模化生产,因而,这些部件也是标准化。所以,一旦系统发生故障,可以快速、方便、灵活地进行更换,迅速恢服系统工作。当然,还可以举例说得更多些。如使系统小型化、轻量化,信号传输高速化等。

PCB正片和负片的区别

概念:正片和负片是底片的两种不同类型。正片:简单地说就是,在底片上看到什么就有什么。负片:正好相反,看到的就是没有的,看不到的就是有的。




正片和负片只是指一个层的两种不同的显示效果。无论你这一层是设置正片还是负片,作出来的PCB板是一样的。只是在cadence处理的过程中,数据量,DRC检测,以及软件的处理过程不同而已。它们的具体区别如下: 

最终效果的差别

1、PCB正片和负片是最终效果是相反的制造工艺。

PCB正片的效果:凡是画线的地方印刷板的铜被保留,没有画线的地方敷铜被清除。如顶层、底层...的信号层就是正片。

PCB负片的效果:凡是画线的地方印刷板的敷铜被清除,没有画线的地方敷铜反而被保留。Internal Planes层(内部电源/接地层)(简称内电层),用于布置电源线和地线。放置在这些层面上的走线或其他对象是无铜的区域,也即这个工作层是负片的。

输出工艺的差别
 
2、负片:一般是我们讲的tenting制程,其使用的药液为酸性蚀刻





负片是因为底片制作出来后,要的线路或铜面是透明的,而不要的部份则为黑色或棕色的,经过线路制程曝光后,透明部份因干膜阻剂受光照而起化学作用硬化,接下来的显影制程会把没有硬化的干膜冲掉,于是在蚀刻制程中仅咬蚀干膜冲掉部份的铜箔(底片黑色或棕色的部份),而保留干膜未被冲掉属于我们要的线路(底片透明的部份),去膜以后就留下了我们所需要的线路,在这种制程中膜对孔要掩盖,其曝光的要求和对膜的要求稍高一些,但其制造的流程速度快。

正片:一般是我们讲的pattern制程,其使用的药液为碱性蚀刻
 
正片若以底片来看,要的线路或铜面是黑色或棕色的,而不要部份则为透明的,同样地经过线路制程曝光后,透明部份因干膜阻剂受光照而起化学作用硬化,接下来的显影制程会把没有硬化的干膜冲掉,接着是镀锡铅的制程,把锡铅镀在前一制程(显影)干膜冲掉的铜面上,然后作去膜的动作(去除因光照而硬化的干膜),而在下一制程蚀刻中,用碱性药水咬掉没有锡铅保护的铜箔(底片透明的部份),剩下的就是我们要的线路(底片黑色或棕色的部份)。

注意*:在实际布线上,电源层使用负片,会带来很多便捷,但是有的公司会要求电源层也用正片来处理,因为负片在的逻辑与平时布线相反,如果没有划分好负片网络很可能出现死铜,这对整个板子信号会带来影响的。尤其是电源层出现多个电源,在整个板子有 1,2V,2.5V,3.3V,5V 数模混合电源,容易导致电源分割失误、在分割时采用 P+L 划分不同网络的区域。

应用好处及应用场合
 
3、负片就是为了减小文件尺寸减小计算量用的。有铜的地方不显示,没铜的地方显示。这个在地层电源层能显著减小数据量和电脑显示负担。不过现在的电脑配置对这点工作量已经不在话下了,我觉得不太推荐负片使用,容易出错。焊盘没设计好有可能短路什么的。

电源分割方便的话,方法有很多,正片也可以用其他方法很方便的进行电源分割,没必要一定用负片。

pcb设计时,如何区分正片和负片?






但是,不管是正片还是负片,在设置焊盘时都要注意——

在制作pad时,最好把flash做好,把三个参数全部设置上,无论你做正片还是负片,都是一劳永逸。如果不用负片,那么,可以不设置flash。

在做焊盘时,如果内层不做花焊盘,那么在多层板电源层是负片情况下就不会有花焊盘出现,必须前面做了花焊盘才会有。反过来,如果前期做了,但出图的时候不想要花焊盘,可以直接在art work负片中设置去掉花焊盘。

当然电源层也可以采用正片直接铺铜的方式,铺洞时设置孔的连着方式等参数,也可达到花焊盘的效果,这样在做焊盘的时候不做花焊盘也可以通过设置孔的连接方式达到花焊盘的效果。设置方法:shape—global dynamic parameter-Thermal relief connects 里进行相应设置。

每个管脚可以拥有所有类型的pad:

Regular

thermal relief

anti-pad and custom shapes


这些pad将应用于设计中的各个走线层。对于artwork层中的负片,allegro将使用thermal relief和anti-pad。而对于正片,allegro只使用Regular pad。这些工作是allegro在生成光绘文件时,自动选择的。

每一层中都有可能指定Regular Thermal relief及Anti-pad是出于以下考虑:在出光绘文件时,当该层中与该焊盘相连通的是一般走线,那么,在正片布线层中,Allegro将决定使用Regular焊盘。如果是敷铜,则使用Thermal relief焊盘,如果不能与之相连,则使用Anti-pad。具体使用由Allegro决定。
 
 
来源:网络 查看全部
【导读】印制电路板,PCB( Printed Circuit Board),又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连接的载体。由于它是采用电子印刷术制作的,故被称为“印刷”电路板。本文将为你诠释PCB正片和负片的区别,以及PCB负片使用场合。PCB在电子产业这么“火”的原因,在这里你都可以找到答案。

PCB为什么能够广泛使用?

PCB之所以能得到越来越广泛地应用,因为它有很多独特优点,概栝如下。

可高密度化。数十年来,印制板高密度能够随着集成电路集成度提高和安装技术进步而发展着。

高可靠性。通过一系列检查、测试和老化试验等可保证PCB长期(使用期,一般为20年)而可靠地工作着。

可设计性。对PCB各种性能(电气、物理、化学、机械等)要求,可以通过设计标准化、规范化等来实现印制板设计,时间短、效率高。

可生产性。采用现代化管理,可进行标准化、规模(量)化、自动化等生产、保证产品质量一致性。

可测试性。建立了比较完整测试方法、测试标准、各种测试设备与仪器等来检测并鉴定PCB产品合格性和使用寿命。

可组装性。PCB产品既便于各种元件进行标准化组装,又可以进行自动化、规模化批量生产。同时,PCB和各种元件组装部件还可组装形成更大部件、系统,直至整机。

可维护性。由于PCB产品和各种元件组装部件是以标准化设计与规模化生产,因而,这些部件也是标准化。所以,一旦系统发生故障,可以快速、方便、灵活地进行更换,迅速恢服系统工作。当然,还可以举例说得更多些。如使系统小型化、轻量化,信号传输高速化等。

PCB正片和负片的区别

概念:正片和负片是底片的两种不同类型。正片:简单地说就是,在底片上看到什么就有什么。负片:正好相反,看到的就是没有的,看不到的就是有的。
0_(1).gif

正片和负片只是指一个层的两种不同的显示效果。无论你这一层是设置正片还是负片,作出来的PCB板是一样的。只是在cadence处理的过程中,数据量,DRC检测,以及软件的处理过程不同而已。它们的具体区别如下: 

最终效果的差别

1、PCB正片和负片是最终效果是相反的制造工艺。

PCB正片的效果:凡是画线的地方印刷板的铜被保留,没有画线的地方敷铜被清除。如顶层、底层...的信号层就是正片。

PCB负片的效果:凡是画线的地方印刷板的敷铜被清除,没有画线的地方敷铜反而被保留。Internal Planes层(内部电源/接地层)(简称内电层),用于布置电源线和地线。放置在这些层面上的走线或其他对象是无铜的区域,也即这个工作层是负片的。

输出工艺的差别
 
2、负片:一般是我们讲的tenting制程,其使用的药液为酸性蚀刻

640.webp_(17)_.jpg

负片是因为底片制作出来后,要的线路或铜面是透明的,而不要的部份则为黑色或棕色的,经过线路制程曝光后,透明部份因干膜阻剂受光照而起化学作用硬化,接下来的显影制程会把没有硬化的干膜冲掉,于是在蚀刻制程中仅咬蚀干膜冲掉部份的铜箔(底片黑色或棕色的部份),而保留干膜未被冲掉属于我们要的线路(底片透明的部份),去膜以后就留下了我们所需要的线路,在这种制程中膜对孔要掩盖,其曝光的要求和对膜的要求稍高一些,但其制造的流程速度快。

正片:一般是我们讲的pattern制程,其使用的药液为碱性蚀刻
 
正片若以底片来看,要的线路或铜面是黑色或棕色的,而不要部份则为透明的,同样地经过线路制程曝光后,透明部份因干膜阻剂受光照而起化学作用硬化,接下来的显影制程会把没有硬化的干膜冲掉,接着是镀锡铅的制程,把锡铅镀在前一制程(显影)干膜冲掉的铜面上,然后作去膜的动作(去除因光照而硬化的干膜),而在下一制程蚀刻中,用碱性药水咬掉没有锡铅保护的铜箔(底片透明的部份),剩下的就是我们要的线路(底片黑色或棕色的部份)。

注意*:在实际布线上,电源层使用负片,会带来很多便捷,但是有的公司会要求电源层也用正片来处理,因为负片在的逻辑与平时布线相反,如果没有划分好负片网络很可能出现死铜,这对整个板子信号会带来影响的。尤其是电源层出现多个电源,在整个板子有 1,2V,2.5V,3.3V,5V 数模混合电源,容易导致电源分割失误、在分割时采用 P+L 划分不同网络的区域。

应用好处及应用场合
 
3、负片就是为了减小文件尺寸减小计算量用的。有铜的地方不显示,没铜的地方显示。这个在地层电源层能显著减小数据量和电脑显示负担。不过现在的电脑配置对这点工作量已经不在话下了,我觉得不太推荐负片使用,容易出错。焊盘没设计好有可能短路什么的。

电源分割方便的话,方法有很多,正片也可以用其他方法很方便的进行电源分割,没必要一定用负片。

pcb设计时,如何区分正片和负片?

0_(2).gif


但是,不管是正片还是负片,在设置焊盘时都要注意——

在制作pad时,最好把flash做好,把三个参数全部设置上,无论你做正片还是负片,都是一劳永逸。如果不用负片,那么,可以不设置flash。

在做焊盘时,如果内层不做花焊盘,那么在多层板电源层是负片情况下就不会有花焊盘出现,必须前面做了花焊盘才会有。反过来,如果前期做了,但出图的时候不想要花焊盘,可以直接在art work负片中设置去掉花焊盘。

当然电源层也可以采用正片直接铺铜的方式,铺洞时设置孔的连着方式等参数,也可达到花焊盘的效果,这样在做焊盘的时候不做花焊盘也可以通过设置孔的连接方式达到花焊盘的效果。设置方法:shape—global dynamic parameter-Thermal relief connects 里进行相应设置。

每个管脚可以拥有所有类型的pad:

Regular

thermal relief

anti-pad and custom shapes


这些pad将应用于设计中的各个走线层。对于artwork层中的负片,allegro将使用thermal relief和anti-pad。而对于正片,allegro只使用Regular pad。这些工作是allegro在生成光绘文件时,自动选择的。

每一层中都有可能指定Regular Thermal relief及Anti-pad是出于以下考虑:在出光绘文件时,当该层中与该焊盘相连通的是一般走线,那么,在正片布线层中,Allegro将决定使用Regular焊盘。如果是敷铜,则使用Thermal relief焊盘,如果不能与之相连,则使用Anti-pad。具体使用由Allegro决定。
 
 
来源:网络
1501 浏览

硬件设计—热量管理

设计类 amada 2016-06-23 09:26 发表了文章 来自相关话题

在设计电路中,经常会碰到一些功耗较高的元器件,如电源芯片、MOSFET、IGBT等。线型电源芯片选择时,知道输入电源、输出电源、以及输出电流时,以前个人做法就是,稳定工作时,电源芯片的外壳不烫手,所以尽量选择大一点的外壳封装芯片。如24V电源转18V电源,需要输出电流100mA,可选用78系列芯片,其封装有直插TO220、TO92,贴片TO236、TO89、TO252、SO8等等,这些芯片输出电压18V,输出电流都大于100mA,如何选择呢?

我们先计算一下芯片功耗P=(24-18)*0.1=0.6W,0.6W的功耗到底选择多大的封装呢?选择大一点的肯定没问题,能不能选择小一点,如何选择呢?后来知道了热阻这一概念,事情就好办了!下面解释一下热阻(网络中找到的)

热量在热流路径上遇到的阻力,反映介质或介质间的传热能力的大小,表明了 1W热量所引起的温升大小,单位为℃/W或K/W。用热功耗乘以热阻,即可获得该传热路径上的温升。可以用一个简单的类比来解释热阻的意义,换热量相当于电流,温差相当于电压,则热阻相当于电阻。

那么现在我们知道了0.6W的芯片,如果芯片内部温度最高是125°,外壳温度为116°,那么它内部到外壳的热阻就是内外温差除以功耗等于15℃/W。(注意:这只是它的测量方法,电阻不是由电压和电流决定的,同样热阻也不是由温差和功耗决定的)

如果一个贴片芯片,其散热途径是:芯片内部->芯片外壳->环境,那么红色到绿色的热阻为Rjc,红色到灰色的热阻为Rja。




网络中找到的相关定义:

热阻Rja:芯片的热源结(junction)到周围冷却空气(ambient)的总热阻,乘以其发热量即获得器件温升。

热阻Rjc:芯片的热源结到封装外壳间的热阻,乘以发热量即获得结与壳的温差。
下面我们看一下ST的L78L18数据手册:




假设,SO-8封装的L78L18内部结温达到最高温度125°,其Rjc为20,功耗0.6W,反向得出外壳温度Tc为125-20*0.6=113°,也就是说0.6W时,最要外壳温度Tc低于113°,那么芯片都没有问题。

如果此时SO-8,封装下面有一个6平方cm的铜箔的话,则Rja为55,同样0.6W,反向计算出环境温度Tj为125-55*0.6=92°,同样得出功耗0.6W、封装SO8(下面铜箔6平方cm)的L78L18在环境温度低于92°以下就能正常工作。按经验在打一个8折,73°以下,这样的设计应该就可以了。

如果我们选用TO92封装,那要求环境温度为多少?125-200*0.6=5°,要求5°以下才能正常工作,所以TO92的封装0.6W的功耗就不够用了。

下面看一下ST的L7818系列的数据手册:




最高结温150°,TO220封装,Rjc=5、Rja=50,0.6W功耗,最大壳温Tc=147°、最大环境温度Ta=120°

温度还会影响其他参数,同时各个厂家的热阻、最高结温不一样,根据我们的需要选择性价比合适的芯片。

来源:网络 查看全部
在设计电路中,经常会碰到一些功耗较高的元器件,如电源芯片、MOSFET、IGBT等。线型电源芯片选择时,知道输入电源、输出电源、以及输出电流时,以前个人做法就是,稳定工作时,电源芯片的外壳不烫手,所以尽量选择大一点的外壳封装芯片。如24V电源转18V电源,需要输出电流100mA,可选用78系列芯片,其封装有直插TO220、TO92,贴片TO236、TO89、TO252、SO8等等,这些芯片输出电压18V,输出电流都大于100mA,如何选择呢?

我们先计算一下芯片功耗P=(24-18)*0.1=0.6W,0.6W的功耗到底选择多大的封装呢?选择大一点的肯定没问题,能不能选择小一点,如何选择呢?后来知道了热阻这一概念,事情就好办了!下面解释一下热阻(网络中找到的)

热量在热流路径上遇到的阻力,反映介质或介质间的传热能力的大小,表明了 1W热量所引起的温升大小,单位为℃/W或K/W。用热功耗乘以热阻,即可获得该传热路径上的温升。可以用一个简单的类比来解释热阻的意义,换热量相当于电流,温差相当于电压,则热阻相当于电阻。

那么现在我们知道了0.6W的芯片,如果芯片内部温度最高是125°,外壳温度为116°,那么它内部到外壳的热阻就是内外温差除以功耗等于15℃/W。(注意:这只是它的测量方法,电阻不是由电压和电流决定的,同样热阻也不是由温差和功耗决定的)

如果一个贴片芯片,其散热途径是:芯片内部->芯片外壳->环境,那么红色到绿色的热阻为Rjc,红色到灰色的热阻为Rja。
硬件设计—热量管理1.png

网络中找到的相关定义:

热阻Rja:芯片的热源结(junction)到周围冷却空气(ambient)的总热阻,乘以其发热量即获得器件温升。

热阻Rjc:芯片的热源结到封装外壳间的热阻,乘以发热量即获得结与壳的温差。
下面我们看一下ST的L78L18数据手册:
硬件设计—热量管理2.webp_.jpg

假设,SO-8封装的L78L18内部结温达到最高温度125°,其Rjc为20,功耗0.6W,反向得出外壳温度Tc为125-20*0.6=113°,也就是说0.6W时,最要外壳温度Tc低于113°,那么芯片都没有问题。

如果此时SO-8,封装下面有一个6平方cm的铜箔的话,则Rja为55,同样0.6W,反向计算出环境温度Tj为125-55*0.6=92°,同样得出功耗0.6W、封装SO8(下面铜箔6平方cm)的L78L18在环境温度低于92°以下就能正常工作。按经验在打一个8折,73°以下,这样的设计应该就可以了。

如果我们选用TO92封装,那要求环境温度为多少?125-200*0.6=5°,要求5°以下才能正常工作,所以TO92的封装0.6W的功耗就不够用了。

下面看一下ST的L7818系列的数据手册:
硬件设计—热量管理3.webp_.jpg

最高结温150°,TO220封装,Rjc=5、Rja=50,0.6W功耗,最大壳温Tc=147°、最大环境温度Ta=120°

温度还会影响其他参数,同时各个厂家的热阻、最高结温不一样,根据我们的需要选择性价比合适的芯片。

来源:网络