元器件库的管理以及BOM整理一直是电子工程师比较头疼的两个问题。大部分工程师都会维护自己的原理图符号及PCB封装库,在完成设计之后,使用EDA工具自带的功能生成BOM。
这时候问题来了,输出的BOM除了元器件位号、数量及封装信息外,缺少一些其它的关键信息,比如Part Number、规格型号、厂商等。也就是说,这不是一个完整的BOM,无法用来采购(其实有时工程师自己也不清楚该用哪颗物料)。于是,工程师还需要花大量的时间来整理BOM,添加型号、厂商等“采购”能看懂的信息;即使这样,有时采购和工程师之间仍需要反复地沟通;更有甚者,当拿到物料的时候发现不是自己想要的......
谁该为此负责?
谁做的设计当然谁负责,难道还指望采购帮你选型?不要求你找2nd source、不经常报COS的问题就不错了
问题出在哪里?
一个字:懒!额,不,应该说是缺乏对元器件库的有效管理...或者说是没有好的的工具帮助工程师进行管理
如何解决这一问题?
将元器件的参数信息(比如PN、规格、厂商)和原理图符号关联在一起,设计时就考虑需要用的型号,将符号摆放到原理图时参数自动添加(或关联)到符号上,这样出BOM的时候就有了准确的信息,不再需要手动添加。
有什么工具可以帮忙?
Altium的Vault、Cadence的Capture CIS、Mentor的DMS都是相当不错的库管理工具,完全可以实现元器件库的统一管理并关联符号参数。
为什么不用?
最后一点是开玩笑的,其实电子元器件库缺乏管理在很多不差钱的大公司也一直是个问题。其主要原因是整理初始数据的工作量巨大,且统一管理一定程度上限制了灵活性,改变了工程师原来的使用习惯,因此不太容易推进。但无论从企业的管理角度或是工程师个人出BOM的可靠性及效率考虑,统一的元器件库管理(包括参数关联)是唯一的解决方案。
今天我们就来讨论一下,如何用“不花钱”的方式,在Altium Designer中关联器件参数,并尽可能的进行统一管理。
方法一:在原理图库(或集成库)中添加参数信息
在制作原理图库(schlib)或集成库(Intlib)时给每一条元器件添加参数信息,这是很多企业目前使用的方法。
这种方式的优点是简单、直观。在建库时将需要的属性直接添加进去,这样以后摆放符号时这些参数也会一起添加。
这种方式的最主要问题是可维护性较差。举例来说,电阻因为阻值、精度、型号、厂商的不同,可能会有几千甚至几万个不同的物料,如果用这种方式进行维护,就需要在schlib里添加同等数量的器件,然后分别双击给每个器件添加属性,这一过程相当繁琐且会占用大量的存储空间。
同样的,如何共享这些器件库也是一个问题,大部分公司的做法是将这些schlib或Intlib放在网盘或共享文件夹中,让工程师手动的更新(复制、粘贴)。这么做很难保证数据的实时性。
方法二:使用DBLib
DBLib是今天重点介绍并推荐的方式。它是AD众多类型库中的一种,全称是Database Library,其理念是以数据库(表)为核心,再以数据条目关联对应的原理图符号及PCB封装。
一个完整的DBLib由三部分组成:
数据库文件,可以是Excel、Access或者SQL、Oracle
原理图符号、PCB封装的实体库(schlib、pcblib)
一个DBLib库文件,用来配置数据库、关键字、映射、符号路径等
数据库定义
数据库是最核心的部分,它记录了所有的元器件、其参数信息以及每一条器件关联的原理图符号及PCB封装。
下面以一个access的mdb数据库为例:
左侧的每个数据表都代表一个分类,右侧为每个分类中所有条目的属性信息。每个条目都代表一个元器件,可以根据要求随意在数据表中添加属性信息。需要注意的是,其中有4个特殊字段,用来关联原理图符号和PCB封装,它们是:
Library Path(图符路径)– 指定原理图符号库的位置
Library Ref(图符)– SCH Library中器件符号名称
Footprint ath(封装路径)– 指定PCB封装库的位置
Footprint Ref(封装)– PCB封装库(PCBLibrary)中封装的名称
Library Path和Footprint Path可以用绝对路径,相对路径两种方式:
绝对路径– 库在本地或服务器上的绝对位置,如C:\Vishay\SCHLib\Capacitor.SchLib
相对路径-只需要填写库的名称,如Capacitor.SchLib。
建议使用相对路径的方式,这样在维护库的时候更加灵活,方便。但是如果使用相对路径,需要在DBLib中进行配置,添加schlib、pcblib所在的文件夹。或者将mdb和实体库放在同一目录下。
DBLib的优势
看到这里,大家应该可以大致理解DBLib的工作方式了吧?即以数据库为核心,去关联schlib和pcblib。其最大的优势在于器件参数和实体库是分开管理的。
还是以刚才的电阻为例,如果有几万条的电阻物料,那么在数据表中会有几万条的条目信息(其中包括PN等关键信息),但原理图符号及PCB封装只需要维护几个,然后在mdb中用Library Path/Ref等几个字段来关联这些实体符号。
从统一管理的角度来说,如果数据库使用的是SQL Server或者Oracle,可以直接对DBLib进行配置后进行连接,这样就保证了所有工程师看到相同的元器件参数信息;如果数据库使用的是Access,也可以将mdb文件放在共享文件夹上,然后在DBLib中指向mdb的路径;不建议使用Excel,毕竟这个不属于数据库,在多人使用时会发生问题。对于工程师来说,只需要在库面板中加载一个配置好的DBLib文件,就可以使用带参数的统一元器件库了,这个过程和加载集成库或原理图库没有任何区别。
配置DBLib文件
现在看一下如何创建并配置DBLib文件:
首先通过菜单File》New》Library》Database Library新建一个DBLib:
在DBLib配置窗口中,选择需要使用的数据库类型,点击Browse选中目标数据库:
如果使用的是Access或Excel,可以直接在左上红色的对话框中选类型;如果使用的是SQL或Oracle的数据库,可以点击绿色框中的Use Connected String,然后点击右侧的Build创建连接,AD支持通用ODBC接口的数据库连接。
完成后,点击Connect进行连接。
如果连接成功,可以在左上方看到数据库中的分类表:
可以在下方的看到Field Mapping页看到字段映射的信息:
需要重点注意的是关键字的映射以及Library Path/Ref、Footprint Path/Ref映射的准确性,这样才能确保可以预览并使用原理图符号及PCB封装。
切换到Table Browser页,这里可以看到表中所有的条目信息:
建议右键点击任意条目,并尝试打开条目关联的原理图符号或PCB封装;如果关联正确,符号会在AD中打开,反之则没有任何反应。
如果Library Path/Ref,Footprint Path/Ref使用的是相对路径,还需要在Options中添加schlib、pcblib所在的文件夹路径:
OK!配置完成,保存!
加载并使用DBLib
这个过程实在没啥可说的,用起来和集成库没有任何区别。
在库面板中添加DBLib:
加载完成后,选中需要使用的DBLib;可以在面板中预览所有的属性以及原理图符号及PCB封装。将符号摆放到原理图之后,所有的属性参数都会添加到符号中:
小结
使用DBLib,是一种“低成本”管理元器件库的方式,但却基本可以解决电子元器件缺乏统一管控的问题。
当然,DBLib较之Vault,Capture CIS,DMS相比,也有弱点:比如无法进行流程管理、无法进行权限管理、无法对元器件进行多层级分类等。如果企业中对流程的管控有比较高的要求,那还是请选用专业的管理工具。
最后,留给大家一个DBLib的实例(官方实例),方便大家对DBLib做进一步的了解,在微信公众号中输入“DBLib”来下载这个简单的实例:
领取专属 10元无门槛券
私享最新 技术干货