版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计验证与同步Modifiedbyon22-Jan-2016为了确保设计已经做好了PCB布局的准备工作,工程师们采用什么作为他们的日常工具呢?在此阶段,验证设计的正确性通常是最困难但也是最重要的一个方面。本文重点讨论PCB布局之前工程师面临的各种难题,并给出了避免各种错误以及利用AltiumDesigner协助工程师开展工作的具体方法。设计一旦通过验证,接下来就是将设计转变为PCB布局。无论是首次将原理图设计转变为PCB文件,还是在原理图上或PCB上对现有设计加以更改,均需要采用某种方法使两边保持同步。AltiumDesigner具有强大的设计同步功能,可有效解决设计同步问题,帮助您轻松完成实际设计过程中最重要以及最有乐趣的工作。验证AltiumDesigner中的设计Modifiedbyon22-Jan-2016Contents设计验证策略验证——我们的产品设计是否合理?验证中的众多人为因素验证清单——绝对最小值元器件库策略创建集成元器件库非标准元件类型已分配封装封装管理器从PCB元器件库更新从元件库更新原理图设计策略编译VS电气规则检查设计技术的一些附加注释设计符号设计标注不同的设计方法互连–不同的模型可以影响如何执行设计布线错误扁平化设计层次化设计设计复用设计Snippets–现有设计的简单复用设计复用–参数层次化设计物料清单BOM信息反向标注电路板按位置重新标注时,元件标号予以更新由于空间限制工程师需要使用较小元件封装当检测到元件值错误,或者当某个值一开始为空,之后在电路板设计时予以确定引脚交换造成的网络表变更总结为了确保设计已经做好了PCB布局的准备工作,工程师们采用什么作为他们的日常工具呢?在此期间,验证设计的正确性通常是最困难但也是最重要的一个方面。本文重点讨论PCB布局之前的各种难题,并给出了避免各种错误以及利用AltiumDesigner协助工程师开展工作的具体方法。设计验证策略良好的设计检查和调试策略会将设计集成到一系列准备周全的步骤中,保证设计顺利完成并投入市场。这个过程需要的就是一个完整详尽的流程路线图。
验证设计的最佳途径是拥有一款能为您提供尽多帮助的软件!验证——我们的产品设计是否合理?测试常被认为是一个很宽泛的话题,也被称为验证与确认。
验证是指确保设计准确运行的流程。而确认却稍有不同,它是指确保设计可追溯到某一组设计要求。这是一个很大的区别。简单来说:验证——“我们的产品设计是否合理?”
确认——“我们设计的产品是否合理?”如上所述,本文侧重介绍在PCB布局前(即最难发现问题并要求工程师花费精力的阶段)针对电子设计的验证工作。这些方法,我们称之为策略,会重点围绕更加实际的实战技术,是工程师日常储备的一部分,确保他们能始终按时、保质完成任务,顺利设计出好产品!验证中的众多人为因素设计方案是人为开发设计的,并非像制造厂一样从一个模子里出产品。鉴于此,在验证过程中会有许多技术要素发挥作用,值得一提的是人为要素占大部分,并对最终结果和质量产生重大影响。
当一个设计构建完成,人类的创造力就转化为物理形态!
例如,在提供关键任务应用(例如航天工业)的公司中,常常不得不克服的一大难题是心理活动对审查质量的影响。工程师不是机器人,许多细节都可能影响质量。上市时间压力是可能造成设计不佳的另一个要素,这几乎是每家公司所要面临的问题,无论其产品和应用是什么。
本文的重点不在人为因素,但这也是影响进程的重要因素。验证清单——绝对最小值绝大多数成功公司采用了更谨慎的验证方法,那么这些几乎可用于各个方面的较成熟的验证方法有哪些呢?让我们来看一看:工程师不得审查自己的设计。虽然工程师可能认为自己的设计最好(这样可加快进程)。然而,在关键任务设计中,由于工程师对自己的设计太过熟悉反而会有损其客观判断。制备一份检查清单,这样每次都可以发现所有错误,然后反馈给工程师。在自信能够成功使用新元件的封装前,需对这些封装进行测试(通常包括打印出封装、放置元器件进行测试、检查引脚-焊盘标号是否正确映射以及引脚功能与焊盘是否匹配)ERC/DRC检查原理图和电路板,并确定可能存在的错误和警告的容忍等级。对各Gerber层进行人工检视,查看是否存在问题(一些工程师甚至会在CAM编辑器内运行DRC)。对各层进行目视检查。打印并检查各层。Gerber和钻孔登记。审查通常至少包括一份生成的原理图元件表,并根据此表验证元件类型是否正确。最后,将所有相应的变更更新到PCB中,尤其是在原理图中可能有嵌入的PCB规则(线宽、间距)或测试点的情况下。元器件库策略几乎所有公司都拥有数据库,并采用自备的特定元件号。开始设计前,工程师所面临的最大挑战之一是验证元器件库,并确认已采用经认可的符号和封装。当然,该设计是从创建或评估实际元器件库(符号和封装)开始,因为如果元件不可用,您就无从下手。创建集成元器件库AltiumDesigner中的集成元器件库是由源符号、封装和其它所有信息(例如SPICE和其它模型文件)编译成的单个文件。采用集成元器件库是一个好的开始,它在验证数据表和封装时能够节约大把时间。采用集成元器件库(并非所有CAD都包含此类元件库)的优势在于只需在开始时进行一次验证。之后,AltiumDesigner不会对您的工作做出任何修改,并在需要时显示工程师需要查看的信息。
在编译过程中,查看关系是如何定义的,以确认模型和符号之间的关系,并将他们纳入一个集成元器件库中。该文件在编译后不可直接编辑,这样可进一步提高可移植性和安全性。
即使没有采用集成元器件库,而是采用源原理图或PCB元器件库,编译元器件库时也会交叉检测符号到针脚的映射(这是常见的错误来源)。虽然这听起来显而易见,但至关重要的是所有的一切均已进行精确检测,并且各零件都满足设计的最低要求。只有保证这一点,工程师才有把握在开始设计前避免许多问题。构建、使用并修改集成元器件库以及如在AltiumDesigner中创建源原理图和PCB元器件库的相关指南见构建集成库章节。参见库元件指南,浏览构建元件的基础知识以及如何使用原理图和PCB元器件库编辑器生成元件报告。非标准元件类型并非所有元件都需要安装在PCB上,并非所有元件都需列在物料清单上,并非所有装在PCB上的部件都需显示在原理图上。AltiumDesigner通过元件属性对话框(元器件库内或原理图上)内的元件类型这一属性对此提供支持。
举例来说,通过在原理图中添加用于装配PCB的支架元件,来增加原理图的可读性。如果物料清单内对该元件不作要求,那么该元件的类型可设为Graphical。执行原理图电气检查时不包括图形元件,它既不在物料清单内,也不需要在原理图同步到PCB同步时进行检测。在这种情况下,元件类型设为Graphical。
图1依据特殊元器件要求设置元件类型还有一种经常在验证中用到的特殊元件类别-原理图和PCB上都需要这种元件,设计同步时对其进行检测,但物料清单上对该元件不作要求。在这种情况下,该元件类型设为Standard(noBOM)。
另一种特殊元件为散热片,一般原理图上未显示(但有时可能会有),并且在原理图电气验证期间无需检测,但必须纳入材料表中。在这种情况下,元器件类型设为Mechanical。元件定义的基本原则、元件属性以及元件、模型和元器件库之间的基本关系见元件、模型和元器件库的概念章节。已分配封装如上所述,大多数公司都有数据库并采用自备的零件号,分配封装通常是在创建元器件库时以及项目开始时需处理的问题。这一问题几乎总是出现在绘制原理图之前。然而,封装在PCB设计阶段仍可进行后续修改,尤其是当电路板上空间不多需调整封装轮廓时。有的公司甚至会为库中每个部件创建备用封装,以此来避免只有单个封装时PCB设计阶段出现的问题。封装管理器图2设计过程中利用封装管理器随时管理封装分配针对原理图设计阶段内元器件库的修改,AltiumDesigner的原理图编辑器内配有一个功能强大的封装管理器。从工具菜单上启动封装管理器,工程师利用封装管理器查看并管理整个项目中各元件相关的所有封装。多项选择功能便于对多个元件进行封装分配,更改封装的链接方式,或为分配了多个封装的元件更改当前的封装。设计变更通过AltiumDesigner的标准ECO系统实施,按要求更新原理图和PCB。
一开始采用通用零件之后再分配封装通常会面临许多问题,并且其检查过程也变得愈加困难,因此提前确定解决此问题的流程不失为一种良策。解决方案之一是当PCB工程师更改封装时,在原理图上设一个标注,以供其他不了解设计的人员查看。
为此,AltiumDesigner可在文本框和原理图标注内直接编辑,加速编辑和审查过程,允许工程师方便地查看文本布局,如图3所示。图3直接在标注或文本框内编辑文本,以便记录稍后需审查的设计变更
案例分析:这些元件看似相同,但实则不同
某些机构制定了封装库的维护标准,这意味着需要仔细地设计PCB元器件库。为了说明已分配封装存在的问题,工程师可设计一个情况,即元件可具有“相同”的外观,但属性却完全不同。转动0°的封装和转动90°的封装看起来可能相同,甚至名称都一样。最理想的是采用一个工具将各原理图符号和封装与某一元器件库进行对比,每当发现异常(尤其是图形区别)时予以报告。然而,事实上并非如此。该问题通常在PickandPlace文件中被发现,或在设计阶段后期公司装配电路板时发现。一个在建库期间早就发现的简单设计错误之后会演变为代价昂贵的错误。
在另一个案例分析中,有一客户要求利用元件传统绘图外形绘制他们的元件符号,但另一客户要求根据特定标准绘制相同的元件符号。
与之相关的一点,值得一提的是在原理图元器件库编辑器中,Tools
»
Mode这一功能可让工程师定义一个元件的多个图形表示。在显示图4所示工具栏之前,必须开启原理图元器件库:图4采用Mode功能定义单个元件的多个图形表示从PCB元器件库更新PCB设计阶段所作的变更通常是封装变更。在这种情况下,需根据元器件库内相应的封装对电路板上的封装进行验证。对于上述更新,封装管理器称之为从PCB元器件库更新,以便工程师确保电路板上的封装与源元器件库内的封装精确匹配。对每个电路板和元器件库版本中的所有对象进行全面的分析和对比,根据封装与原理图符号的链接方式详述每一个区别,如图5所示。图5从PCB元器件库更新可对电路板所用的每个封装进行全面对比举例来说,如果在原理图符号中,您指定某一封装,并且该封装可取自任意元器件库,那么从PCB元器件库更新将会访问已安装的任一元器件库。如果指定从某个具体元器件库更新,那么仅可搜索这个库(若已安装)。
对于不匹配的封装,您可单独选择是否更新这一封装。从元件库更新在外部元器件数据库内参考封装模型或修改原理图符号屡见不鲜。例如,工程师或元器件库管理员可修改元件内引脚编号或在元器件库内的某一元件上增设测试点。任何修改都需要应用到所影响的元件实例上,这样才能将原有元件替换为修改后的元件。
工程师团队中,元器件库通常由元器件库管理员进行管理和更新,以保证确保所有封装的正确性。该方法可确保已对元器件库进行了所有相应更新。
原理图中,通过Tools»UpdateFromLibrary可在当前活动项目中的一个或多个原理图上更新元件,包括来自元器件库文件中的元件信息。您可更新整个元件,包括图形、模型和参数,或者选择更新哪些参数以及在哪些元件上更新。确保您的设计与您的元器件库同步,直接从元器件库更新元件,利用来自数据库的元件和利用AltiumDesigner元器件数据库功能的相关详情见UsingComponentsDirectlyfromYourCompanyDatabase章节。
原理图设计策略工程师验证元器件库后,就可以开始安心地绘制原理图。在PCB内,有一些用于控制电路板布局的规则,在线DRC可帮助您发现错误,但在原理图中,验证并不是这么有条不紊,其实需要工程师花费更多的精力。虽然AltiumDesigner内进行的电气规则检查(ERC)或编译可能会显示一些可能存在的连通性问题,但并非一览无余。
原理图内验证是对设计的后期处理,因此检测可能会占据大量时间,并且几乎需要手动完成。但是,在原理图设计阶段进行检测的优势在于可在设计过程中提早发现错误,从而更容易解决问题,并且花费更少。只有正确的原理图才能产生正确的PCB,因此这一步骤是至关重要的(即使审查的确是一项枯燥的工作)。
公司政策和/或客户要求也可指定工程师的审查过程。一般最常见的原理图审查包括运行ERC,但对于如何处理产生的错误和警告,不同的公司区别甚大。如果属于关键任务类型,那么可能会要求零错误,并且工程师不可审查自己的设计。在某些商业应用中,则可接受错误甚至警告存在。生成原理图编辑器报告的相关详情见DesigntoManufacturing章节。编译VS电气规则检查编译是AltiumDesigner环境以及电气规则检查(ERC)的基础概念。此外,它也是一个允许您利用许多强大设计功能(除电气规则检查之外)的过程。对编译的了解重点在于由编译创建的互连模型(本质上是一个内部网络表)随后可供工程师使用,编译后该模型显示在导航器面板上。
以原理图源文件为例,编译过程开始于对所有逻辑文件的分析,而其中的说明则来自原理图。随后,原理图设计提供的所有消息提取到内部数据结构,该结构之后可用于许多编译后续工作,例如对比并显示原理图之间的区别、参数管理、设计的参数导航等。
许多问题在编译期间予以检测,这些问题并不仅仅是电气规则错误。检测是否存在“制图”类错误,例如标号重复、未与导线接触的网络标签以及元件标号重复。大约有75个错误检测及一个电气规则矩阵,用于查找传统电气问题,例如2个互连的输出引脚。此外,报告菜单中有针对单引脚网络的检测(检测分配了网络标签的单个引脚)。
工程师在导航器面板上可看到所有网络、网络内的节点以及用于整个设计的元件,您只需点击扁平的层级体系就可查看。工程师也可点击导航器面板上的其它对象,在设计中加以高亮显示,即便您所点击的对象跨越许多表单。
一些便捷的导航控件可帮助您浏览设计,其中包括:
CTRL+双击可上翻和下翻层级体系(在图表符或端口或图表入口上);ALT+直接单击原理图上的网络对象,高亮显示图表上的网络,这在设计中追踪网络时相当方便;ALT+点击导航器面板上显示的对象,探查原理图上的对象以及相应的PCB对象,这最适用于多个显示屏配置。可在AltiumDesigner内使用的完整的快捷键列表参见快捷键章节。电器规则检查的完整指南参见设计规则章节。设计绘制的基础知识(包括如何编译一个项目及其它项目相关指令,以及如何利用项目结构辅助设计验证)见ProjectEssentials章节。设计技术的一些附加注释对于任何复杂设计(扁平或分层设计)来说,工程师可采用一些技术使原理图检测更容易。例如,在第一页提供一份框图。此外,也可采用圆形、线条和矩形等简单对象进行绘制。一些工程师要求在每一页设置网络列表(并非仅仅是全局网络)以便检测;假若一个多门部件存在于多个不同图表上,则要求列出元件列表。设计符号在AltiumDesigner中,原理图中支持一系列形状的箭头,利于突出显示您的设计,如下图6所示。图6线形箭头(选自一系列形状)有助于记录您的设计设计标注将参考标号手动改为另一个编号是相当危险的,如果不跟踪这些元件,可能导致放置了多个而非一个元件。例如,7400有4个逻辑门电路,编号依次为U1:A、U1:B、U1:C和U1:D。手动重新命名时,可变为U1:A、U2:B、U3:C和U4:D。在电源不同的情况下,简单的重命名可能会造成PCB彻底失效!幸而AltiumDesigner内的报错选项能够检测并报告错误类型。不同的设计方法还有一个重点是,为了PCB设计而验证原理图与为了调试电路板而验证原理图是两码事,原因在于工程师常常只关注什么对他们来说是重要的。例如,PCB工程师可能只需熟悉一份网络表以及哪些零件需放在一起,但是元件可能分为多个门部件,并放在不同原理图页上。而后,当调试电路板时,检测放在不同原理图页上的所有门部件相当困难。
有的工程师之所以更愿意直接绘制一整块显示了全部引脚的元件,也是这个原因。虽然该区域有许多电线交错,会让PCB工程师混淆,但是这非常有利于检查电路板。这是一个常见的问题,有时鉴于公司政策,工程师也爱莫能助。
并非每个软件都涵盖了各种情况下的检测和调试辅助功能。甚至在软件中,错误检测的默认设置趋于保守,因此工程师需对设计过程有深入的了解,从而达到确保一切正常的目的。验证原理图设计的功能(如高亮显示网络、复制/粘贴功能或更改设计中互连类型)见原理图编辑器、面板和对象参考章节。互连–不同的模型可以影响如何执行设计根据设计类型,用不同的互连模型执行设计时,工程师采取的策略会有很大差异。经常执行简单扁平化设计的工程师采取的策略可能非常适合扁平化设计,但对复杂的层级体系设计则难以实施。为了了解为什么会这样,需要注意到常常被忽略的微妙之处是——设计的规模和大小决定了设计如何呈现和建模,通常也决定了设计验证的最佳方式。
扁平化设计非常适用于小型设计,在小型设计中,可以将整个设计呈现在一张图上,有些工程师会将图剪成若干子图。但是,一旦设计变得复杂且图表超过6张,在没有可用于参考的结构视图时,就非常难以‘读懂’扁平化设计。
在现代软件的时代,将原理图绘制出来并打印到纸上进行验证仍然是比较普遍的做法,因为这个阶段还无所谓原理图是如何在软件中执行的。假设工程师通过打印版的原理图检查设计问题,当该设计是层级结构时,可以说这样的做法更简单,因为任何网络都只会从一张子图表向上接到父图表,而不会通过其它图纸的接口。布线错误原理图布线问题通常难以发现。连接错误引脚或网络不当命名等错误是普遍而且难以发现的错误。人为因素是导致这一问题的主要因素之一。检查设计时,通常有大量的错误信息,有些信息可能是设计相关的,有些则不相关。然而,信息泛滥会使工程师转移注意力,以致愿意接受一定数量的警告信息。这通常会产生没有验证意义的错误报告——这在某种程度上违反了工程师进行检查的目的。作为最低要求,最好建立针对特定错误的接受/拒绝规程,从而确定设计质量的起始基准。
图7:通过ProjectOptions对话框中的ErrorReporting标签页,利用ViolationsAssociatedwithNets功能查找不容易被发现的网络冲突。在AltiumDesigner中,可以检测未连接的引脚、偏离网格电线和连接不当的电源接口,通过编译原理图项目可以列举出一部分。更多的冲突选项及更多信息参见ViolationsAssociatedwithNets章节,如上文图7所示。
执行命令Project
»
ProjectOptions,在弹出的的对话框中点击ErrorReporting标签页,查看原理图编译时生成的错误/警告信息。通过
Tools
»
Preferences可以定义编译选项,将提示信息显示在原理图上(波浪线)。光标悬停在警告/错误标记上,可以获得冲突的更多详细信息。还可以结合使用ViolationsassociatedwithComponents,检测不当连接的元件引脚。导航器面板也有助于解决原理图连线问题,缩小网络相关的引脚范围。
还可以在导航器面板上检查网络名称。首先点击顶部的扁平层级体系结构(面板显示了整个设计的元件和网络),然后点击网络列表,通过上/下箭头在列表内移动,如图8所示。图8.通过导航器面板可以轻松检查不当的网络名称和更多信息。这是查找网络名称输入错误的一种极佳方式。Reports菜单的ReportSinglePinNetReport命令,可以查找已经命名的单引脚网络(虽然本意并不用于检测没有网络标签的单引脚网络)。
有时,走线问题本身可能只是因为某个规则在软件中的建立方式与其在现实之间的差异。由于软件通常会更新以适应广大用户的需求,因此可能无法满足工程师的某个特定需求。
案例分析:检查总线名称
就总线而言这是一个很好的例子。总线名称不能由网络名称(如CLK、D0、D1、RST)组成,所以工程师可能将总线命名为UTIL0..4。这会使审查人员和工程师的工作更加复杂,易于出错,因为原理图变得更加难以理解!但是只有正确的原理图才会生成正确的PCB,因此这一步骤是至关重要的(即使检查是一项枯燥的工作)。
在AltiumDesigner中,原理图编辑器是具有总线相关冲突报错功能的,这些冲突设置在ProjectOptions对话框的ErrorReporting标签页中访问。扁平化设计一些工程师在日常工作中很难遇到层次化设计—与工程师设计的项目类型不符。对较简单设计而言,尽量使用端口并分而治之是比较成功的设计方法。通过尽量使用端口,工程师可以创建原理图模块,使连通性验证和调试变得极其容易,特别是结合高亮显示和ERC检查时。
案例分析:商用激光器产品提示:
尽量选择简化过程的方法!在开发激光器精密机械的公司的研发部门中,工程师重复利用改进和审核后的电路能够轻松满足新开发的需要,加快验证过程。他们的工作方式是将电路进行模块化,然后将之接入设计的其它部分。大量使用复制粘贴功能,从而将电路并入设计中来节省时间,但是,粘贴后电路重新布线是一个需要大量工作的手动过程。这些都是整个设计中贯穿端口和网络标签连通性的典型要求。但是,此设计类型允许轻松地增加和移除可重复使用的电路,只需简单地增加或移除部分或全部原理图即可,并且AltiumDesigner仍然按预期方式工作。层次化设计层次化设计是AltiumDesigner的显著优点之一,允许用户以具有逻辑性、有意义的方式布局设计。AltiumDesigner的层次化设计功能不仅仅是为了布局设计,它们还是多通道设计功能的基础;此外,在不同电子产品设计中重复使用电路也变得非常简易。
由于层次化设计本质上而言更加复杂,可能难以进行检查,此类型设计的缺点由其它益处来权衡弥补。
比如,由于结构都已显示出来从而具有易读性,连通性只存在于子图表与父图表之间,而不会与其它图表连通,而网络标签始终只存在于本地,所以设计对于工程师而言是清晰明了的。这也同样适用于设计复用(随后将在Snippets章节中讨论)。案例分析:关键任务应用
关键任务应用作为设计图谱的另一中示例,设计周期会有很大差异,与许多商用应用程序比较,其中包含大量的检查工作。这种由客户决定设计的设计哲学并不罕见。在这一过程中,可能存在原型设计的电路板/设计概念阶段,这一阶段的持续时间可能达一年或更多时间。在此阶段,主要着重于原理图,虽然电路板是为了进行概念验证而设计的。此后开发评估模型,该模型尽量使用商用元件,以节省资金和时间。从电气上而言,创建的模型尽量等同于实际模型。然后,建立与实际模型相同的鉴定模型。实际模型和鉴定模型可以同时创建。对鉴定模型进行测试,验证产品是否适应所处的环境条件(比如,温度、冲击、振动、辐射等)而不会出现故障。设计总时间可能在几年与许多年之间不等。
在此案例分析中,通常的做法是限制不同互连模型的使用,从而使得各个工程师使用相同的模型。但是要确保审查人员已经理解和验证过互连模型。设计复用为了快速创建可以随时使用的已经验证的设计资源,在此环境下创建和保存验证后的电路是必要的。这些资源应易于存取、节省时间,无需搜索硬盘驱动器上的文件夹和打开各个原理图即可查找所需的信息或者验证电路。分享已经验证的设计,使整个团队都能利用唾手可得的资源,无需花费精力研究他人的方案。
从本质上,将新技术设计投入市场意味着必须快速复用验证后的设计模块部分并将其融入新的开发工作中。这一目标旨在避免大量繁重的工作,使工程师能够开发和调整创新改进之处,而不是将大量时间用在电路定位、重新布线和验证上。
值得指出的是,使用层级结构时,设计复用在复杂设计中变得容易得多,因为大部分设计保存为实际原理图,可以重复使用,不需复制粘贴!
将选中的电路粘贴为图表的功能是另一个灵便的特点。使用此方法,可以容易地将电路图形部分列入另一图表上,并根据要求调整大小。进行粘贴时,选中Edit»SmartPaste命令来变换剪贴板对象。设计Snippets–现有设计的简单复用当设计需要包括其它设计中使用的电路部分时,工程师还可以充分利用设计Snippets特性。这是一个简单方便的特性,通过Snippets系统,可以选取部分电路保存在单张原理图上或者选取保存包括元件和布线的PCB设计。图9.右击Snippets面板,添加片段。在Snippets面板上,原理图和PCB选取保存为片段,右击面板,将当前选定的部分添加为片段。
在网络环境下,Snippets可以组织到标准的Windows文件夹;点击SnippetsFolders按钮,将现有文件夹添加到片段面板下的可用文件夹列表中。每个片段均保存为标准的原理图或PCB文件。设计复用–参数层次化设计复用设计部分(比如将当前项目的图表符指向公司优选的电源原理图上)的挑战在于从一个设计到下一设计中,元件值不是固定不变的。AltiumDesigner的参数层次化设计功能就能解决这个问题——对元件值的指定从一张原理图转移到引用这张图的图表符上。这一功能还适用于多通道设计(相同电路不断重复),以便在各个通道中设定不同的元件值。
参数元件如下定义:将参数元件值声明为上述图表符的一个参数,然后在目标元件上引用该参数。图10.各个通道中具有不同电容器值的图表均衡器比如,图表均衡器可以多次重复同一电路,各个通道之间的唯一差异在于元件值。因此,在不同的通道中电容器值可能为0.12μF、0.056μF和0.033μF。在AltiumDesigner中进行此操作是很简单的,因为可以在代表每个通道的图表符中指定这些值,避免设计出很多张仅元件值有差异的相似原理图。
参数层次化不局限于元件值,用户可以在原理图上参数化引用任何元件参数或文本标签。工程师可从该层级体系中多张图表之上的符号引用参数,系统会在层级体系中搜索,直至找到匹配的参数。
在AltiumDesigner中,执行命令Project
»
Options打开项目选项对话框,Options标签页中的NetIdentifierScope可以用于检测,因为对所有电路板而言,整个原理图层次化模型是相同的(这种情况下,当有一个模型不同时,更易于发现)。但与扁平化设计不同,当存在本地网络时,或者设计对象(如电源接口)更改为本地时,检查就变得复杂了。在这种情况下,追踪了解设计中的互连是如何建立的就变得极为困难。“互连和多图表设计”章节对网络互联、网络标识符和范围的定义以及与多图表设计的关系如何进行了全面说明。物料清单BOM信息BOM通常是验证设计的有用工具,但如何运用BOM在不同公司之间存在很大差异。不同的公司采用不同的系统,因此如何采用BOM进行验证并没有统一标准。
例如,大公司可能同原理图一起比较和检查物料清单。甚至由不同的工程师检查设计的不同部分,因此需要事先考虑和计划由谁提供由谁检查哪些内容。基于公司使用的软件,这可能变得更复杂!
在像AltiumDesigner这样的综合软件包中,原理图和PCB编辑器将共享相同的部件信息,使用两者之一生成BOM都不存在差异或问题。但如果公司在PCB设计阶段使用了与原理图不同的软件工具,这可能就不适用了。另一个可能的情况就是,虽然软件包是集成的,但原理图和PCB仍然是各自独立的工具,必须从原理图和PCB中生成单独的BOM。让情况变得更复杂的一点是,各个公司拥有自己的部件识别、列表清单和订购数据库。即使所有公司都使用BOM进行元件验证或其他操作,他们使用BOM的方式也可能稍有不同。案例分析:使用BOM的不同方式提示:
了解正使用的软件包的集成度是非常重要的!比如,一家公司使用4位数字标识部件,但是数据库程序使用8位数字表示部件。将4位数字手动输入到数据库中之后自动生成BOM,而设计检查中并不需要那些多余的数字,这样只会变得更加复杂。
另一公司使用9位数字标识和储存部件和BOM中的信息,并且与使用独立数据库的采购部门协作。采购部门以特定的方式要求提供所有信息以便订购元件。因此,工程师至少必须提供制造商名称和元件编号。他们还需添加数据表、价格、说明和数值链接。这可以生成一个简单的电子数据表文件。
一些公司和部分软件包可能不希望进行完全集成,因为审查人员/工程师需要花费更多精力确保完全了解他们正在使用的系统。
使用AltiumDesigner,可以直接将数据库数据导入BOM中(比如不想将优先供应商信息列入原理图内,但是需要将其列入材料表中,如下文示例所示)。ReportManager也包含若干示例模板,能够方便地提供检查所需的信息。AltiumDesigner还支持很多公司的核心元件/元件库系统,在此系统中,所有元件数据保存在数据库中,AltiumDesigner原理图符号仅仅是一个符号。更多信息参见“通过公司数据库直接使用元件”中的应用说明。图11从DatabaseLibrary(数据库元件库)引入元件时,信息直接从数据库导入BOM中。反向标注即使是最完美的计划也不能预见将要发生的所有事情。工程师必然会作出更改,PCB工程师通常手动更改PCB,然后将更改之处反向标注到原理图。所有更改均需在原理图中予以处理、跟踪和验证。
为什么工程师必须进行反向标注?PCB最常见的更改原因如下所示:电路板按位置重新标注时,元件标号予以更新电路板按位置重新标注时,如果元件标号发生变更,则同步器采用元件的唯一ID检查PCB上元件标号的变更,并将变更反映到原理图上。该操作从PCB中的Design菜单中执行,它允许用户选择原理图项目。之后PCB上的元件标号与原理图上的元件标号相比较,并且生成待更新的内容,在ECO列表中检查并执行。由于空间限制工程师需要使用较小元件封装由于空间限制工程师需要使用较小元件封装时,AltiumDesigner中有两种方式可以更改元件封装:1)通过PCB中的元件属性对话框进行更改;或者2)无网络连接时,从元件库导入PCB上。
如采用第一种方法,从Design菜单中选择Update命令,封装更改将推回至原理图。资源库详细信息将不会推回至原理图,尽管能够将元件库文件详细信息从原理图推送至PCB。当检测到元件值错误,或者当某个值一开始为空,之后在电路板设计时予以确定元件值存储在元件的Comment字段中(原理图和PCB)。Comment属性值的差异在PCB中予以检测,并通过Design菜单命令推送至原理图。这同样适用于将元件数值从原理图推送至PCB。引脚交换造成的网络表变更在AltiumDesigner中使用
Design
»Update菜单,执行从原理图到PCB的网络表变更是非常直接的。它分析网络表的连通性,并与PCB上的网络表进行比较。如果有任何差异,AltiumDesigner会创建ECO进行更新,或在PCB的元件焊盘上创建待更新的网络(图12)。同步器通过网络中的相关引脚匹配不同的名称时,可以检测网络名称变更。PCB上并非由引脚交换造成的网络变更不能通过更新过程自动应用到原理图设计,这需要工程师来完成。图12.DesignUpdate菜单中生成的ECO对话框验证网络表连通性利用AltiumDesigner的同步特点可以轻松处理所有这些变更。同步器使用元件唯一ID识别PCB上的封装与原理图上相关元件之间的联系。使用这种方式,只需要依赖唯一ID即可比较元件模型属性、封装模型和部件。“查找差异与同步设计”章节中对反向标注过程中如何进行网络表比较,以及查找设计差异和差异同步进行了说明。
总结综上所述,设计检查与验证的最佳策略包括以下内容:
确保部件正确。预先制定验证策略,并遵循这一策略。了解软件包能够进行什么操作,原理图检查特性是如何工作的,然后调整设计并予以使用。选择适合设计大小/结构的设计结构。尽可能复用设计信息。差异查找与设计同步Modifiedbyon22-Jan-2016Contents同步——概述同步错误的解决原理图↔PCB直接同步SeeAlso无论您是首次将新绘制的设计转变为新的PCB文件,还是在原理图上或PCB上对现有设计加以更改,均需要采用某种方法使两边保持同步。AltiumDesigner具有强大的设计同步功能,可有效解决设计同步问题,帮助您轻松完成实际设计过程中最重要以及工程师眼里最有乐趣的工作。同步——概述同步过程主要分为以下三步:
1.\o"DetectingDifferencesinyourDesign"对比设计文件(例如对比项目源文件与目标PCB)
2.\o"ShowingPhysicalDifferences-GoingGraphical"列出对比结果(对比文件之间检测到的差异)
3.
\o"ImplementingDesignUpdates"实施变更以解决差异同步过程的核心部分是用户可自行配置的比较器(或差异检测器)。用于执行上述第1步的正是该比较器,它对比指定的设计文件,并编译生成差异列表。
第2步提供了一个列出对比结果的对话框,解决差异时可完全控制设计更新的方向。详见“确定更新方向”章节。第3步为执行步骤,即执行操作使设计重新同步。每项操作实际上都是一个宏命令,操作集合表示为工程变更指令(ECO)。详见“设计更新实施”章节。
图1所示为同步过程的整体流程图。图1:AltiumDesigner同步过程流程图同步错误的解决设计同步时产生的大部分问题一般分为以下两类:缺少元件封装。出现以下情况时,即会造成缺少元件封装:原理图的元件信息中缺少封装模型。所需的PCB元器件库未添加到当前可用的元器件库列表中。原理图中的元件无法与PCB元器件库中的任何元件配对。封装引脚数量与原理图的引脚数量不匹配。AltiumDesigner支持用户自定义引脚-焊盘映射。默认情况下两边出现相同的数字/字母。引脚-焊盘映射在PCBModel对话框中有定义(先编辑原理图符号,再在对话框的Models区域选择封装,最后点击Edit)。为解决错误,请执行ShowDifferences命令,然后在Differences对话框中点击ExploreDifferences按钮。当Differences面板中出现有问题的设计对象时,对其进行审查。原理图↔PCB直接同步AltiumDesigner的原理图及PCB编辑器中有直接同步命令。这些命令均为直接命令,因为任何差异的更新方向均是单向的。此时不会出现Differences对话框,因此不能更改更新方向,也不能同时双向更新。相反,当检测到差异时,会直接弹出工程变更指令对话框,并加载从原理图到PCB或相反方向的设计变更所需的修改。因此,需要在项目选项对话框(Project»ProjectOptions)的Comparator和ECOGeneration标签页中进行合理的设置,这一点非常重要。最好还要仔细检查工程变更指令中列出的建议变更,确保变更符合预期。目标PCB文件中有下列直接同步命令:Design»UpdateSchematicsin...-将PCB中的变更更新到项目源原理图。Design»ImportChangesFrom...-将项目源原理图中的变更更新到当前活动的PCB。
源原理图文件中有下列直接同步命令:Design»UpdatePCBDocument...-将项目源原理图的变更更新到指定的PCB。检查设计差异Modifiedbyon22-Jan-2016同步功能的核心是比较器,没有比较器就无法检测出各设计文件之间存在的差异。比较器能够对比几乎所有类型文件之间的元件信息和互连信息。以下给出了部分文件类型对比:项目设计层次与PCB之间的对比原理图与原理图的对比PCB与PCB的对比网络表与PCB的对比网络表与网络表的对比运行比较命令后,即可调出比较器。相关命令有ShowDifferences或ShowPhysicalDifferences等,可从Project菜单中访问。当直接从原理图项目更新到PCB时(反之亦然),只要访问Design菜单中的Update/Import命令即可进行对比(见“原理图PCB直接同步”章节)。进行对比时,支持的网络表格式为Protel、Tango。设置比较器作为使用者,您可全面控制比较器检测出的各类差异。在项目选项对话框(Project»ProjectOptions)的Comparator标签页中可以访问比较器的各种控件,所有设置均作为项目的一部分予以保存。
对比类型分为以下四类:DifferencesassociatedwithComponents(元件相关差异):元件的对比(例如检测原理图和PCB文件中共有的、但标号不同的元件)DifferencesassociatedwithNets(网络相关差异):对网络(连通性)的对比(例如检测原理图或PCB中存在的额外网络)DifferencesassociatedwithParameters(参数相关差异):对参数的对比(例如检测原理图和PCB文件中共有的、具有同一参数但参数值不同的对象)DifferencesassociatedwithPhysical(物理相关差异):对同一原理图的两个版本或PCB文件所作的物理对比(例如在某个版本的对比文件中对多余的PCB对象进行检测)。
利用可用控件按要求配置比较器。对于每一种比较类型,均可选择将检测到的任何差异添加到比较器创建的最终差异列表中(FindDifferences),或者忽略检测到的差异从而不在列表中显示(IgnoreDifferences)。例如,当设计不具有多通道性质时,可将对比类型设置为“忽略”。这种情况下,可将与通道相关的对比类型(变更的通道类名称、有额外元件的通道类、额外通道类)设置为忽略。
还可通过控件确定在对比文件之间匹配对象时的比较标准。这适用于网络、网络类、元件类,允许用户精确控制这些对象类型的对比过程。运行比较器为完全控制同步过程,需要查看比较器检测到的差异以及生成的差异列表,尤其是当希望控制哪些地方需要更新以及更新方向时,就更要采用这种做法以确保达到同步。要查看差异列表,应利用Project菜单中的ShowDifferences命令调出比较器。选择文件运行ShowDifferences(显示差异)命令即可访问ChooseDocumentsToCompare(选择对比文件)对话框,该对话框用于选择对比文件。默认情况下,该对话框以简单模式打开,便于快速选择PCB目标文件,然后与项目的源文件层级进行对比。
启用Advanced选项后,即可选择不同的文件组合按要求进行对比。例如,需要利用第三方原理图编辑器生成的网络表创建PCB。在AltiumDesigner中将网络表与目标(空白)PCB文件进行对比即可轻松完成此项工作。
比较项目源文件层级和目标PCB时,将在比较前重新编译源文件。通过唯一ID链接元件在原理图上放置某一元件时,会自动分配一个唯一ID。执行比较前,AltiumDesigner会扫描原理图源文件和目标PCB文件中的链接元件。链接元件是指之前相互同步而且共享唯一ID的元件。如果文件之间的元件不同步,则会弹出一个对话框进行提醒,这时可通过标号自动匹配元件,也可手动匹配。手动匹配时,只能利用EditComponentLinks对话框(Project»ComponentLinks)从PCB文件中进行配对(图1)。当利用同步器在原理图源文件和空白PCB设计文件之间首次传递元件信息时,各元件将通过唯一ID自动链接,即将每个原理图元件的ID信息分配给相应的元件封装。图1:通过手动链接元件分配唯一ID只能从PCB文件中手动链接各元件的原因是,只有PCB元件封装才需要利用已经出现在原理图中的唯一ID信息予以更新。在设计过程中的任何阶段,均可利用对话框查看各元件之间的链接,确保原理图源文件中的元件与PCB设计中相应的元件封装正确配对。
无论何时,只要将已经链接好的元件移回EditComponentLinks对话框的未配对区域,即可取消唯一ID。取消元件链接时,只从相应PCB封装中取消唯一ID。原理图元件仍然保留唯一ID,除非有新的ID生成(在原理图或元件上执行唯一ID重设相关的命令即可生成新的ID)。
用唯一ID将各元件配对是个好主意,这样便可以对原理图或PCB文件执行元件标注,并确保任何时候文件都可以同步。即便元件没有通过唯一ID配对,仍然可以使文件重新同步。这种情况下,只能通过标号匹配各元件。此时不考虑注释和封装,因此部分元件的配对可能会出错。
与此类似,在原理图源文件上,会自动给每个参数定义分配一个唯一ID。这主要用于被设置为设计规则的参数。将设计转换为PCB文件时,定义的任何规则参数都将在PCB中生成相关设计规则。生成的各规则将被赋予相同的唯一ID,这样即可在原理图或PCB中更改规则的约束条件,并通过同步操作进行更改。更新方向的确定源项目文件与目标PCB之间的各元件均链接好后,接下来执行对比操作。比较器将遵循项目选项中定义的设置,如果检测到差异并且该对比类型没有设为忽略,那么检测到的差异将会列于Differences对话框(图2)中,而且还会在Messages面板中以条目的形式加以标记。各差异按对比类型予以分类。
图2:利用Differences对话框查看各差异以及设置更新操作同步器可双向操作。这意味着在同一工程变更指令中可以同时更新两个文档。为使设计同步,现在的目标就是确定是否对每项差异执行更新以及变更方向的确定,即指定需要更新的文件以便消除差异。即使检测到了差异,您也可不必对其执行操作。生成Differences对话框时,会为每个条目分配NoChange(无变更)的默认更新选项。AltiumDesigner只会将指定的条目执行同步。如果想要一次执行所有、的变更,只需要在对话框的任何位置右击,然后从一系列命令中选择合适的命令,命令执行范围包括针对所有的差异,所有选中的差异,或某种特定对比类型的差异。另外,也可以点击Update列后单独设置。对于决定执行的每项差异,对话框的ChangeOrder区域会列出需要执行的操作、受操作影响的对象以及操作所作用的文件。用于编译之后的工程变更指令的正是此信息。该工程变更指令将用于执行更新。该区域中列出的一般操作有:Remove-
在包含引起差异的对象的文档上实施更新;该对象将被移除。Add-
在不包含引起差异的对象的文档上实施更新;将新增该对象。Update
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论