电子工程师硬件设计版本这样管控最高效
2021-03-19
每当您与远程团队合作时,都需要使用硬件版本控制系统来对项目整个生命周期中的版本进行跟踪管理。
有些PCB非常简单,因此不需要用到由多名设计人员组成的大型团队。设计文件基本上以两种形式出现:初始项目文件,以及设计完成后的最终项目文件。我们团队的工作方式是,我们常常会从客户那里收到一些设计文件,以帮助我们着手开始设计,而在那之后,一切都必须靠我们自己来管理。任何项目都可能会变得非常复杂,PCB设计团队需要在项目中全程进行版本跟踪。
为什么要担心版本跟踪问题呢?如果您收到产品功能需求变更,或者产品架构发生重大更改,又或者您已经准备好完成定型设计并开始为加工做准备,那么您最好克隆当前状态下的项目,然后再开始开发新的版本。跟踪PCB设计项目中的所有设计变更需要用到硬件版本控制工具,而这些工具您都可以在DigiPCBA中找到。
硬件版本控制里有什么?
硬件版本控制里有什么?什么时候应使用硬件版本控制?而这又需要满足什么条件?自从Linus Torvalds在2005年创建Git以来,软件界就一直在使用版本控制,而使用硬件版本控制系统直到最近才迎头赶上。硬件版本控制为我们提供了一种跟踪PCB设计项目早期版本的简单方法,涵盖了从原理图到加工文档以及机械图纸的所有内容。
版本控制管理系统负责跟踪和管理所有信息集(包括PCB设计数据)及一系列顺序的变更。我认为,在可能的情况下,版本控制是一个必要的功能,特别是当您的团队与多个合作者一起处理复杂的PCB设计项目时。用于硬件开发的最佳版本控制系统提供了一些重要的功能和信息:
按时间顺序排列的项目版本列表通过该列表,可以按时间顺序查看所有已添加或删除的设计文档、对PCB设计数据做出的变更、提交日期以及关于设计修订版本的任何注释
谁做出了变更历史记录中应列出负责并提交变更的用户的名称
创建的PCB项目发布版本每当创建带有输出文件的项目发行版本时,应能够在历史记录列表中查看并且访问该版本
下载或克隆每个修订版本的能力将项目先前版本克隆为新版本的能力是版本控制的核心
每当您与远程团队合作时,都需要使用硬件版本控制系统来对整个生命周期中的项目版本进行跟踪
版本控制系统可以在本地服务器上或云端的托管服务器中跟踪这些数据和修订版本。这使您可以访问项目的早期版本,从而恢复/克隆处于先前状态的项目,或为了其他目的而单纯下载旧项目数据。
何时使用硬件版本控制克隆项目
无论您是跟踪软件项目还是PCB设计数据的版本,出于多种原因,您都可能需要恢复到早期项目版本。如果您确实计划在版本控制系统中克隆项目,那么在某些情况下,您应该考虑克隆项目。
功能需求变更
客户或工程团队可能出于多种原因而更改您产品的功能需求。发生变更时,您最好克隆处于当前状态下的项目,然后将修订版本应用于克隆项目。将项目分叉到新版本后,即使新的功能需求被弃用,您仍然可以恢复到先前的项目。
器件变更
在开始新设计之前,尤其是在开始新的PCB布局之前,应首先清理您的BOM。即使您很早就对器件库存进行了调查,但是供应链仍然有可能快速改变,并且重要器件也可能进入停产、末尾采购、不推荐用于新设计、淘汰或缺货状态。
如果MCU、FPGA或其他专用IC发生这种情况,则替换部件可能包含完全不同的引脚。在这种情况下,您可以克隆当前项目并将新器件放到新项目中。如果旧器件变得可用,那么您只需恢复到旧项目即可。我发现,当客户执着于使用他们无法采购到的某个器件(例如MCU),但是同时又想找到一个可采购到的替代器件来生产电路板时,这种做法非常有用。当您将两个版本的项目都交给他们时,肯定能够让他们满意。
准备加工
当您将设计数据发布给制造商后(并且如果您已经支付了一次性工程费用),他们可能会对PCB或输出文件做出一些变更。在将最终项目发布给加工商之前,我习惯复制最终项目,然后我会告诉他们的团队他们可以根据需要做任何修改。他们通常会发回一组设计文件,并且这些文件已经直接应用了所有必要的修改。
DigiPCBA使您可以轻松地直接从Altium Designer中克隆项目。只需从“项目”面板中选择该选项即可
在PCB设计项目中使用硬件版本控制的方式和原因可能有很多种,但无论您需要完成什么任务,都离不开直接与PCB设计软件集成的顶级数据管理系统。
DigiPCBA是PCB和硬件版本控制的未来
版本控制是一个简单而强大的概念,未来应有更多的设计人员有意识地接纳它。当我第一次与远程团队合作时,每个设计人员都需要在本地计算机上跟踪他们自己的一系列项目修订版本。在某些情况下,客户会使用专有系统来处理这些任务。但是,这些解决方案效率低下,并且第三方解决方案也无法与您的PCB设计软件集成。
借助Altium Designer®和DigiPCBA平台,用于软件的版本控制过程同样可以用于硬件版本控制。设计团队可以通过将设计人员、最终用户和制造商纳入开发流程来创建高效的协作式PCB设计工作流程。团队中的每个人都可以访问供应链数据、注释功能和数据共享工具,从而帮助简化PCB设计合作过程。