在这篇博客中,我将向你们阐述Altium Content团队关于元器件名称、符号和封装的命名方式,以及为什么我们会选择这些命名方式。看上去,我好像选择了从一个极为无聊的话题,但我注意到的是,找出一种命名方法往往在工程上是讨论最热烈的。
我们是把构建好的元器件放在Vault中提供给我们的客户的。在Vault中构建元器件,与传统的集成库是不一样。在我们的wiki中有详细的差异说明【说明1、说明2】 , 但是为了博客的顺畅,我把差异总结如下:
在元器件库中,元器件的参数信息是被提取出来的,这样使得我们可以自由地去命名元器件和它的符号模型。这样,参数的信息和符号模型都有了再次复用的机会。
元器件命名
请允许我先定义一些术语:
通用编码:这是一组完成相同功能的元器件的共有名称,但它们之间是有一定的差异的,例如:封装、温度、速度等级和是否符合RoHS标准等。有些厂商称之为“产品编号”。
采购编码:这是针对每一种元器件的名称,是非常具体的。不幸的是,有些厂商也把它叫做“产品编号”。
举一个例子,对于通用编码LT1720,我们会找到24个采购编码。例如,LT1720CDD#PBF是无铅的LT1720,DD8封装。
为了避免类似的矛盾,我们定义“产品编号”为采购编码,“通用产品标号”为通用编码。从博客中,我会使用产品编号和通用编码来区分它们。
Altium提供的大多数的元器件会带有参数,而且我们还保持了一个传统,就是在元器件的Comment里面填有元器件的采购编码。这样,无论搜索哪个编码都可以得到有用的结果。
说实话,直到去年年中我们才正式确认这个命名标准,所以现在提供的元器件中有些元器件还没有这些参数。请给我们一些时间,慢慢修复它们。
元器件封装和PCB封装的命名
在内部我们定义了元器件封装和PCB封装的区别。元器件封装包含了一系列描述元器件物理形态的尺寸数据。依据来自IPC的公式,我们可以使用这些尺寸来计算PCB封装的尺寸数据。使用IPC封装向导 (见这里),输入元器件的封装尺寸数据,就会自动生成它们的PCB封装。
我必须说的是,每个公司的元器件封装的命名是比较混乱的。有些命名来自供应商,有些命名来自不同部门的包命名方案,而且来自同一个供应商的封装命名也可能不一致。为了解决这个问题,我们把它们区分为供应商封装名称和Altium封装名称。
供应商封装名称就是它的器件数据手册中的名字。例如,DDA8,这就是一个德州仪器的8脚SOP封装。
如果你看过几个TI芯片的数据手册,会发现这个封装有多个变种。它们之间的关键区别是热焊盘的大小不同。
其实任何时候你发现元器件的热焊盘与主封装是独立出来的,你就应该去寻找它的变种了。
如果你把封装的名字定义为“DDA8”,接下来一些无辜的、不知情的设计师会看到这个DDA8的封装,并且会不加思考地使用它。再后来,这位设计师将会头痛于,为什么这个元器件没有很好地焊接或者这个元器件为什么一直过热。
我这里以TI为例只是为了说明情况,作为一个大的元器件供应商,他们有很多的封装和相应的变种。实际上针对这些封装和变种,他们有很好的文本记录和说明描述。其实,所有的元器件厂商在方面作得都不错。
所以,Altium的封装名称中包括了一些细节,以确保供应商的所有变种都有不同的名称。这些细节通常包含3个参数:热焊盘(TP)、尺寸(DE)和高度(A)。
只有必要的时候,我们才在供应商封装名字的基础上追加细节:
DDA8-1775X1775TP是一个有1.775x 1.775毫米焊盘的DDA8变种。
对于元器件尺寸,我们使用后缀DE,例如:YFF20 2172X1598DE
我们有时会发现元器件尺寸和高度的变体,在这种情况下,我们使用后缀DEA:PC-64 8000X10000X1200DEA的
这样会造成一些长文件名,但是这样的封装不会很多,而且重要的是它解决了封装的名称唯一性的问题。
为了搜索方便,我们把供应商的封装名称作为一个参数放在元器件中,并且关联到封装图上。
PCB封装
PCB封装依据元器件封装的尺寸定义,它的名字也是根据元器件封装命名的。我们为它们添加一个后缀名来形容我们生成PCB封装的水平,详细信息都在这里。
在某些情况下,我们发现把一个PCB封装定义为IPC L、M和N的变种是不恰当的,这个时候我们会忽略这个后缀(例如,BGA封装不存在L、M和N版本)或我们添加了一个V后缀。
V代表是供应商推荐的,我们联系供应商时或者在数据手册上被告知要使用原厂推荐的图形。因此,我们直接绘制它们而不使用封装尺寸和封装生成器。
在我们提供的一些旧的库中,仍然存在使用IPC或者类似IPC命名方式的封装。但在将来,针对供应商的特殊封装,我们不准备再这么做,而是全部用Altium封装名称为它们命名。这就是说按照计划,我们在某一天会发布所有的通用IPC封装。
原理图符号
因为原理图符号是经常复用的,所以符号命名更加复杂。我们的基本原则是结合使用的通用编码和封装名字。对于大量的非通用型元器件,这种命名方式提供给它们足够的“独特性”。因为我们正在建设中的1000个组件在单个批处理中,我们需要得到重用的机会,我们可以。316 - 此命名方案的伎俩。.
根据这个规则,LT1720CDD#PBF的原理图符号可以被称为LT1720-DD8。
偶尔,我们也会看到一大类的元器件具有相同的符号。在这种情况下,我们首先确定符号,然后在符号名称中加入“X”符号,以应对它们通用代码会的不同。
REG102-AD8和REG101-AD8具有相同的符号,它们的符号名称就是REG10X-AD8。
还有一些更通用的情况下,例如运算放大器,我们将预先定义了一系列该供应商的标准符号,然后把它们命名为LT-OAMP-A,LT-OAMP-B,LT-OAMP-C等。
我要承认,我们要尽量避免出现这种情况,因为这样最终的名称就是LT-OAMP-Z,而且我们还必须维护一个名称与引脚的列表。
在过去我们尝试过很多次,去制定一个能够长期使用的、真正通用的符号命名方案,但是一直没有成功。当我们把它应用到现实的元器件开发中,经常会发现没有考虑到的地方,我们又要添加更多的规则或例外。这些经历,我会在在未来的博客分享给大家。
供应商代码
在我们提供的符号和封装的名字的前缀中包含了“供应商代码”,例如,TI代表德州仪器,LT代表线性技术等。我们这样做的最重要的原因是为封装命名提供空间。 例如,LT-QFN20与TI QFN20可能会略有不同,如果它们都是以QFN20名称被放置到PCB设计中,那么根据名字来定义设计规则就会非常困难。我会把供应商的代码列表在这里公开。