cadence SPB17.4 - CIS数据库字段设计细节
前言
板子流程走完了, 当时随便选择了一些器件, 封装不对.
现在想检查元件值和包装, 做正式板子.
发现CIS库, 先修正一下.
现在的库是第一次建新库, 内部元件少, 工作量小. 整好之后, 以后开新工程就方便了。.
料单问题
在"orcad capture and CIS"中出料单, 发现料单根本不能用.
我做CIS库时, 每个设备都是唯一的part number作为key, 出料单时, 是按照 part number归类的.
但是画画的时候, 为走流程, 是一种装置(e.g. RES_ID_0001 对应 RES_0603_1K_1%), 在原理图中, 为方便复制粘贴元件, 将RES_0603_1K_1% 其他值(同样的RES_ID_0001, 原理图中有很多, 但是值不一样), e.g. 100R, 10K
这样画画很方便, 但出料单后, RES_ID_0001 这种装置是一堆, 元件的值不仅仅是 RES_0603_1K_1%, 其它副本粘贴RES_ID_0001 都在一起.
这咋买料, 完全不能用. 都是错的, 失去了用CIS的意义.
正确的姿势是, 在CIS库中, 每个设备都是唯一的设备ID.
e.g.
MY_RES_ID_0001 => RES_0603_1K_1%
MY_RES_ID_0002 => RES_0603_10K_5%
电阻, 电容, 电感系列的标准值有很多
每种类型_每个值_每种封装_每种精度_每个其他标称值都应该有唯一的组件ID.
虽然建库时, 麻烦点(可能很麻烦, 工作量大). 但是时间长了, 积累的库, 重用性、准确性、 便利性很高.
另外, 若某些元件的原理图符号相同, 封装相同, 只是值不同, 买料的第三方料号不同.
e.g. 0603 电阻(100K, 10K), 从不同的家里买的.
只需要从一个写好CIS库制库的行, 粘贴后, 进行修改.
要改的地方如下:
-
part_number 这是全局唯一的ID, 相当于自己的私有库存号. 全局(库中所有元件表)不能重复.
-
值 100K 改成10K
-
购买的第三方材料号或购买地址的实际值
可以看出, 在CIS在库中添加只值不同的同类元件非常方便, 复制粘贴后, 要修改的工作量很小.
库表字段问题
在"captrue CIS"中配置CIS数据库时, orcad需要几个必要的字段, 方便买料, 需要其他附加字段.
重新观摩了SPB17.4自带的例子CIS库的字段设计, 想将自己的CIS库的字段名称和数量都调整一下.
准备将cadence要求的字段名称, 配置过程中的提示字段名称相同. e.g. part_number 而不是 “part number”
我想用相同的表字段设计所有的库表, 不像官方库, 添加器件的独特特征字段(不能作为通用字段, 由于这个独特的特征字段, 只适用于特性装置, e.g. 长度, 宽度), 在描述字段中特特性可以放在描述字段中.
比较X宝买的CIS组件库和官方例子CIS元件库, 发现官方库中的一些字段相当严格.
e.g. 厂家名称, 设备制造商型号, 经销商名称, 销售经销商的部件ID(对于特殊的元件销售平台, 可能是平台自己定义的部件销售ID, e.g. C6688, 用这个ID, 唯一的设备可以在平台上找到; X宝买的材料, 购买可以在这里填写url)
e.g. 激活设备, 若不激活, 不是推荐使用的状态. e.g. 平台可能断货, 但库里并没有直接删除, 只是做一个非激活状态. 等平台以后有货了, 也可以改回激活状态.
e.g. 元件价格, 对于出料单, 初步核算成本有用.
e.g. 供应(订单)周期. 对小公司来说,这个字段, 小批量, 只需现货场景, 是不合适的. 大公司的CIS库还是需要的.
笔记
"capture and CIS"配置CIS库时, 必要的字段
打开自己配置的CIS, 你可以看到必要的字段
Property Type中, 只要不是Normal的行的Table Property Name, 就是CIS必要的字段名称.
初步想要命名这些必要的字段, 直接命名为和Property Type相同的值, 这样在CIS库配置时, 与必须字段提示的名称完全相同, 永远不要选错. 主要是看着舒适(整齐划一), 有强迫症 ??
Property Part Part_Number CIS库中的全局器件ID, 必须根据Part_Number为key, 出料单,直接买料. Part_Type 器件类型, 当Z键放置数据库设备时, 在表节点下选择小类节点 Schematic_Part 图库设备的物理位置 PCB_Footprint PCB仓库名称封装 PSpice_Model 模拟模型的名称, 以后玩高级, 要仿真, 使用此属性.
其他要附加的字段名称
参考cadence官方的例子DB
D:\Cadence\SPB_17.4\tools\capture\samples\CIS_db\RELDB.MDB D:\Cadence\SPB_17.4\tools\capture\samples\CIS_db\DemoRELDB.MDB
字段名称列表
Value 短文本 器件值 e.g. 0603_10K_1% Description 短文本 器件描述, 这里可以附加设备的独特属性内容. e.g. 电感尺寸: 10mm x 12mm x 9mm, 功耗, 额定功率, 耐压, 精度, 颜色 这类设备的特殊信息等 Manufacturer 短文本 原装置名称 e.g. ST(
意法半导体) Manufacturer_sn 短文本 原装置型号 e.g. STM32F103VGT6 Distributor 短文本 经销商名称 e.g. 嘉力创 Distributor_sn 短文本 经销商设备销售号 e.g. C6688 (如果是x宝买的材料, 填写购买地址url) Price 数字 单元价格 e.g. 0.2RMB Datasheet 短文本 点击浏览PDF文件路径名称. 如果有多个想浏览的内容, 可以自己做pdf, 有多个链接可以点击. 相当于一个可浏览的索引文件. Availability 短文本 可用性或工作周期 e.g. 现货, 对小公司, 这个字段没用. 留着吧, 规范一些. PCB_Footprint_name 封装人性名称, PCB_Footprint有时自动包装软件, 名字根本记不住, 记住名字, 只用于买料. e.g. SOIC8宽体150mil
表字段的顺序
放元件时要注意的信息放在前面, 出料单时所需的数据放在后面.
Part_Number CIS库中的全局器件ID, 必须根据Part_Number为key, 出料单,直接买料. Part_Type 器件类型, 当Z键放置数据库设备时, 在表节点下选择小类节点 Availability 短文本 可用性或工作周期 e.g. 现货/缺货/不可用/废弃, 对小公司, 这个字段没大用. 留着吧, 规范一些. Value 短文本 器件值 e.g. 0603_10K_1% Description 短文本 器件描述, 这里可以附加设备的独特属性内容. e.g. 电感尺寸: 10mm x 12mm x 9mm, 功耗, 额定功率, 耐压, 精度, 颜色 这类设备的特殊信息等 Datasheet 短文本 点击浏览PDF文件路径名称. 若有多个内容要浏览, 可以自己做个pdf, 有多个链接可以点击. 相当于一个可浏览的索引文件. Schematic_Part 图库设备的物理位置 PCB_Footprint_name 封装人性名称, PCB_Footprint有时自动包装软件, 名字根本记不住了(e.g. PCB_Footprint 为 led-seg-th_12p-l30_0-w14_0-p2_54-s10_16-bl 只知道这是个段式LED, 即使读懂了具体的参数, 也很难记住), 记住名字, 只用于买料. e.g. SOIC8宽体150mil PCB_Footprint PCB仓库名称封装 e.g. led-seg-th_12p-l30_0-w14_0-p2_54-s10_16-bl.dra 这个封装的名字, 一般自动命名包装软件, 一般不会重复. PSpice_Model 模拟模型的名称, 以后玩高级, 要仿真, 使用此属性. Manufacturer 短文本 原装置名称 e.g. ST(意法半导体) Manufacturer_sn短文本 原厂器件型号 e.g. STM32F103VGT6
Distributor 短文本 经销商名称 e.g. 嘉力创
Distributor_sn 短文本 经销商器件销售号码 e.g. C6688 (如果是x宝买的料, 填写购买地址url)
Price 数字 单个元件价格 e.g. 0.2RMB
如果开始使用得表结构和这里定义的差很多, 而且不是空表, 且表的数量多, 纯手工弄估计挺麻烦的.
这时, 需要先可靠备份CIS库, 然后写个程序, 将CIS库中表的旧字段定义, 改为新字段数据, 然后将原有的数据也拷贝进新表记录的合适的行列位置, 然后将旧表删了.
如果写程序划算, 就写个程序来做这事. 如果自己手工调整表定义和结构, 1天半天的就整完了, 就手工整.
我就这1个小库, 表也不多, 自己先手工在access中提供的设计视图中调整.
手工改完一个表结构定义, 保存, 然后将表改个名(e.g. 加个新前缀 (e.g. TBL_), 就知道这个表已经改过了)
一个表调整完的字段定义截图如下:
重新配置CIS库
可以看到在配置封装字段, 仿真模型字段的时候, 因为字段名称和默认的字段名称是一样的, 根本就不用自己来手工选择, 莫名的舒适. 等完全配置完了才有报错提示, 这个有点坑.
只需要一路next.
选择放置CIS库元件时的附加属性, 默认已经勾了几项.
将能打勾的选项都勾上, next.
选择可浏览的属性字段, 将Datasheet字段勾上, next
可以看出可浏览字段是可以多选的, 说明可以放多个可浏览字段.
e.g. 数据表字段, 参考设计字段, 不过, 因为可以放一个相当于索引文件的pdf, 所以一个可浏览字段就足够了.
选择放置CIS库元件时的可见属性, 默认已经勾选了全部字段. next
选择元件表的key值.
默认勾选的是Value字段, 这样不行, 去掉Value的勾选.
勾选Part_Number字段, 因为我们建库时, 可以保证Part_Number是唯一的ID串, 对应唯一的元件去买料.
点击 Finish 按钮完成.
配置总览对话框的内容, 就是我们前面配置的那些内容, 看一下就行, 点击确定按钮.
保存.DBC, 找到自己旧版的.DBC文件位置, 覆盖保存.
关掉CIS配置对话框.
现在就可以在原理图中, 按Z键来放置数据库元件. 可以自由使用CIS库了.
修正旧版的元件
我做这个新CIS库的配置, 就是因为Part_Number开始没有对应唯一的元件, 导致出料单后, 是错的, 无法买料.
现在可以按照错的料单中的 Part_Number来在原理图中查找, 找到后, 就去.accdb中更新一个新的元件行, 然后重新放置一个元件, 将旧元件删掉即可. 直到出的料单可以直接买料.
出料单的字段选择
出料单时, 可以将CIS库表中的所有字段都带上.
如果后续去元件平台自动买料(上传BOM), 只用选平台要求的行与列, BOM文件不用改.
如果是交给人工去买料, 可以将BOM另存为excel文件, 隐藏人工不需要的列即可.
出料单
数据库字段的图标是蓝色图标, 右下角有蓝红的小框
将所有的数据库字段都选上, 丢到右边的选择框内.
顺序根据自己喜好调整一下.
另外, 最后可以添加单类元件的总数量(e.g. 0603 电阻 10K 用了10个, 这个是料单自己统计出来的)
名称是Quantity, 图标是发射蓝光的小蓝点
选择标准, 逗号分隔, 点击OK按钮.
遇到问题
因为我将CIS库字段改了, 现在料单上好多字段内容都是空的, 和CIS库对应不上了.
相当于图纸上放的元件, 已经不是从当前的CIS库放的元件了.
如果CIS库动了, 在已有图纸上改起来很麻烦. 这就突显开始规划正确的重要性.
现在只能按照位号, 来查找元件, 然后用CIS库中的元件重新放置一次.
发现有缺的Part_Number, 补齐原理图库, 封装库, 补齐CIS库中的行, 再放置CIS库新元件. 将旧元件删掉.
现在只能将所有元件都重新放置一遍…
保存错误的料单, 用于重新放置所有元件.
错误料单中, 唯一有用的元素就是位号了.
查找元件
用WPS将BOM文件打开, 将位号拷贝出来.
或者尝试出BOM单时, 不保存成文件, 就在"capture and CIS"中, 直接查看.
在capture中查找这个元件
点击工程节点, 输入要查找的位号, 勾选Part, 点击Find.
在下方Parts表中, 就看到了找到的元件, 双击, 就跳到了元件处.
此时, 去检查CIS库中的对应表中的对应元件, 检查和补齐所有字段, 再Z键放置数据库元件.
替换全部的原理图元件
因为先动了CIS库, 导致原理图上所有元件都不是从CIS库来的了.
只能全部手工用Z键从CIS库重新放置一次.
花了4天, CIS库缺啥补啥, 然后放元件, 重命名元件, 删掉旧元件, 摆好新元件.
现在出的料单很完美, 基本可以用来直接买料:)
唯一需要手工修改料单的情况: 原理图中没有直接放能买到的元件, 而是放了一个电路模块板子.
那么出料单后, 就需要将电路模块板子的行, 换成接口(e.g. 一个MCU核心板有2个 2.54 x 2 x 11的插排)的料号.
工作量很小.
电路模块板子(e.g. MCU板子)的料单是单独出的, 是另外一个料单.
CIS库表的行例子
Part_Number | Part_Type | Availability | Value | Description | Datasheet | Schematic_Part | PCB_Footprint_name | PCB_Footprint | PSpice_Model | Manufacturer | Manufacturer_sn | Distributor | Distributor_sn | Price |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IC_0001 | 电源基准 | 现货 | CJ431 | 电压基准芯片 2.5V~36V 100mA | ic\C3113_2.5V_36V100MA_2018-01-15.PDF | IC\CJ431 | SOT-23(SOT-23-3) | sot-23-3_l2_9-w1_6-p1_90-ls2_8-br | CJ(江苏长电/长晶) | CJ431 | JLC | C3113 | 0.256989 |
料单的行例子
Part_Number | Part_Type | Availability | Value | Part Reference | Description | Datasheet | Source Library | Source Package | PCB_Footprint_name | PCB Footprint | PSpice_Model | Manufacturer | Manufacturer_sn | Distributor_sn | Distributor | Price | Quantity |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IC_0001 | 电源基准 | 现货 | CJ431 | U8 | 电压基准芯片 2.5V~36V 100mA | ic\C3113_2.5V_36V100MA_2018-01-15.PDF | D:\MY_DEV\MY_LOCAL_GIT_PRJ\MY_SPB_LIB\SCH_LIB\IC.OLB | CJ431 | SOT-23(SOT-23-3) | sot-23-3_l2_9-w1_6-p1_90-ls2_8-br | CJ(江苏长电/长晶) | CJ431 | C3113 | JLC | 0.25 | 1 |
总结
以前画完板子, 每次要出料单时, 都要用小半天, 生怕弄差了.
这次整理的CIS库字段定义合理, 出的料单简直可以用完美来形容.
用这样精心定义过的CIS库, 只要在原理图上放下一个元件, 元件的封装, 型号, 购买地址都是确定的.
capture还自己统计了单种元件的用量.
只要将原理图审核过(确定原理图不用改了), 就可以直接去买料了(和画板子无关, 封装都是确定的). 板子可以稍后画.