cadence SPB17.4 建立CIS数据库的原理图库
前言将cis库的db建立好了。准备做原理图库,然后试试在新建的原理图中,是否可以放置CIS库中的原理图库中的元件。笔记启动capture and cis选择 Capture and CIS建立新的原理图库另存库文件假设我现在做的原理图库是装各种LED的库另存原理图库的工程先选中改名另存之后的库出现如下错误提示,说工程未保存,需要先保存。点击“确定”保存工程后,出现归档工程的对话框,选取消。工程保存
前言
将cis库的db建立好了。
准备做原理图库,然后试试在新建的原理图中,是否可以放置CIS库中的原理图库中的元件。
笔记
启动capture and cis
选择 Capture and CIS
建立新的原理图库
另存库文件
假设我现在做的原理图库是装各种LED的库
另存原理图库的工程
先选中改名另存之后的库
出现如下错误提示,说工程未保存,需要先保存。点击“确定”
保存工程后,出现归档工程的对话框,选取消。工程保存操作结束了。
去磁盘目录中,按F5刷新。看到工程保存好了。
现在可以继续加新库
假设要加一个库放电阻
先选中Library目录
参考上面另存库的方法,将库改名为res.olb
如果以后需要新的库(e.g. IC.olb), 就继续添加新库。
加入参考设计资源
SPB17.4自带有原理图库,可以拷贝进自己的库工程复制粘贴。特别是一些图形,自己画的很麻烦。有些元件的大小,有参考好些,要不画的和默认库不一样,看的怪怪的。
SPB17.4自带的原理图库位置如下
D:\Cadence\SPB_17.4\tools\capture\library
将这个目录下的.opj都加进来。其实.opj就一个,加入这个opj后,就等于将根目录中的34个.olb都加入进来了。
在这个目录下的子目录中,还有.olb, 先不加。根目录下面的这些.olb做参考足够了。
参考工程加入了
展开参考工程,双击参考工程或者右击选择Edit都行
展开后的my_sch_lib_prj.opj如下
如果amplifier.opj被动过(我打开amplifier.opj后,将所有olb都delete掉了,再打开amplifier.op,里面包含的olb都没有了),可以单独点击Design Resources目录,选择添加文件,到amplifiter.opj目录下,填入文件类型为*.olb, 然后手工将34个olb选中,添加进来作为参考,也是可以的。
找原理图库中的参考设计元件
因为怕画的不合适(主要是那些装饰,指示用的图形符号),最好还是能从SPB自带的原理图库中,找到哪个原理图库元件符号差不多,拷贝过来改改。
但是在原理图库工程中,查看哪个符号合适,很困难。因为没有搜索和预览功能。
折中,只能新建一个原理图,将SPB默认库加进去,然后在原理图中浏览元件,看那个元件合适作为参考。然后知道了哪个库,那个具体元件可以参考,再打开库工程新建元件,进行拷贝。
新建临时原理图
capture and CIS不支持多个实例。只能先关掉库工程。
然后新建临时工程
在建立好的新临时工程中,选择放置元件…, 会出现原理图元件选择对话框
添加SPB默认库(34个.olb)
库加好后,在最上面的Part编辑框中,输入要找的器件大概名字,一般都能搜索到中意的元件。除非关键字不准确。
我现在想自己画一个LED. 输入LED后,马上能看到 DISCRETE库的LED元件,就是我想找的参考设计。
本来以为Captrue不支持多工程,理解错了。
确实是只有1个capture实例,但是双击.opj, 在capture中有2个工程窗口,这下就方便了。
新建元件
先做一个0603红色的LED
画装饰指示图形时的格点设置
默认设置是捕捉到格点上,那样的话就没法自由的画装饰图形。
这时,就可以自由的画装饰图形。
不过自己还是画的太丑了。
从参考设计中拷贝图形过来用。
放好pin, 将图形拷贝过来
画一个元件的步骤
- 放好pin
- 设置是否显示pin的name, number
- 将参考设计的装饰图形拷贝粘贴过来
- 在元件外边框上放线,选最粗的宽度
备注 : 放的线颜色只能是统一的一种,没有选项可以使红LED的图形是红的。
在原理图中放置CIS库元件的验证
启动 caputure and cis 时,在session log窗口可以看到使用的主ini
INI File Location:D:\Cadence\SPB_Data\cdssetup\OrCAD_Capture/17.4.0/Capture.ini
关掉capture
修改这个ini, 加入原理图库的路径设置。
自己的原理图库目录文件如下
修改浏览文件的路径
自己放datasheet的路径如下
修改自己前面做好的CIS DB中的元件登记内容
对于发光2极管贴片红色这个元件的库信息如下
在CIS DB 的行记录 的 Schematic Part 字段,要填写的内容如下:
led\LED_0603_RED
Datasheet 字段的内容应为 C72044_红灯_2016-05-07.PDF
其他不用改了,关于原理图器件的等级内容就这2项。
因为现在就一条记录,就将表导出来,看看结果
--
-- 由SQLiteStudio v3.3.3 产生的文件 周二 3月 22 16:44:15 2022
--
-- 文本编码:UTF-8
--
PRAGMA foreign_keys = off;
BEGIN TRANSACTION;
-- 表:LED
DROP TABLE IF EXISTS LED;
CREATE TABLE LED (
[Part Number] VARCHAR (255),
[Part Type] VARCHAR (255),
Value VARCHAR (255),
Description VARCHAR (255),
[Schematic Part] VARCHAR (255),
[Footprint name] VARCHAR (255),
[Allegro PCB Footprint] VARCHAR (255),
Datasheet VARCHAR (255),
PSpice VARCHAR (255),
Manufacturer VARCHAR (255),
[Manufacturer Part Number] VARCHAR (255),
Distributor VARCHAR (255),
[Distributor Part Number] VARCHAR (255),
Price FLOAT,
Availability VARCHAR (255),
颜色 VARCHAR (255)
);
INSERT INTO LED (
[Part Number],
[Part Type],
Value,
Description,
[Schematic Part],
[Footprint name],
[Allegro PCB Footprint],
Datasheet,
PSpice,
Manufacturer,
[Manufacturer Part Number],
Distributor,
[Distributor Part Number],
Price,
Availability,
颜色
)
VALUES (
'MY_BOM_ID_0001',
'发光二极管',
'红色',
'表贴',
'led\LED_0603_RED',
'0603',
'D0603',
'C72044_红灯_2016-05-07.PDF',
NULL,
'EVERLIGHT(台湾亿光)',
'19-217/R6C-AL1M2VY/3T',
'力创商城',
'C72044',
0.09,
'现货',
'红色'
);
COMMIT TRANSACTION;
PRAGMA foreign_keys = on;
关掉DB
将DB和SPB关联起来
设置ODBC数据源
使用自己的sqlite db作为 sqlite的ODBC数据源
自己sqlite DB的表名最好是英文。因为我发现用ODBC驱动连接时,中文表名乱码。
最好要勾选"No WCHAR",我看SPB官方带的库是这个选项。
用向导来建立DBC文件
DBC文件中记录的就是CIS DB和SPB之间的关系
操作细节参见cadence SPB17.4 part database
中的用向导来建立DBC文件
选择数据源时,用刚才建立的my_cis_db
发现严重问题-中文乱码
当指定DBC文件时,发现表名是中文时,在SPB中显示乱码。
字段名称也不能是中文,中文字段定义也显示乱码。
SQLiteStudio 是可以正常输入和显示中文的,设置成utf8和GB2312都试过,没问题,不会乱码。
我以前也用过sqlite dll 做过excel表格读取修改的实验,用的都是中文,没有乱码情况。
现在只能是怀疑sqlite ODBC驱动有问题。因为这个驱动2014年版本的。
看网上资料,有的同学用过mysql作为CIS库,也没问题。
SPB官方带的数据库是sqlite和access, 但是都没有中文字段和中文表名的例子。
从X宝上弄来的例子库,是access的,表名和字段名都是中文,也不会和SPB对接时,出现乱码。
我计算机上已经装了office2021和谐版,那就改成access作为CIS数据库吧。
将sqlite数据库加入数据源。
在access中,新建一个空数据库,另存为my_access_cis_db.accdb,导入ODBC数据库(从ODBC数据源导入)
再用.accdb对接SPB,是没问题的, 没有中文乱码。都是坑啊。
用SPB对接mdb时,网上资料很多,照着做就好。
开始步骤是,开一张原理图(焦点在原理图的PAGE中),菜单上就有CIS config…, 然后就开始对接CIS数据库。
最后保存时,将.DBC和.accdb放在同一级目录。
查看Capture.ini
caputure的session log窗口看到ini全路径为 D:\Cadence\SPB_Data\cdssetup\OrCAD_Capture\17.4.0\Capture.ini
打开Capture.ini, 可以看到已经记录了.DBC全路径
[Part Management]
Configuration File=D:\MY_DEV\MY_LOCAL_GIT_PRJ\MY_SPB_LIB\MY_ACCESS_SPB_LIB.DBC
查看MY_ACCESS_SPB_LIB.DBC
<CISVersion>
<Value>CIS Version 17.2</Value>
</CISVersion>
可以看到CIS版本并不是17.4, 而是17.2
<DSNName>my_access_cis_db</DSNName>
可以看到记录了要使用的CIS数据库名称
<DbTableCfg indx="0">
<NewPartDB>0</NewPartDB>
<TableName>发光二极管</TableName>
<TableUsed>1</TableUsed>
<DbFieldDef indx="0">
<FieldName>Part Number</FieldName>
<DBFieldName>Part Number</DBFieldName>
可以看到使用的DB中的表信息。
结合以上信息,可以看出.DBC文件记录的是CIS的database和SPB设计文件之间的接口数据信息(使用哪个数据库作为CIS数据库,使用哪些表,哪些字段是SPB要用的特定资源)。
试试放置CIS数据库元器件到原理图
重新打开capture, 打开一个测试用的原理图工程,焦点在原理图的PAGE中。
放置原理图器件
此时会出现 CIS Explorer UI
看来配置的CIS数据库是对的。
看看元件数据表是否能打开?
单击元件对应的datasheet字段,可以用本机的pdf阅读器直接打开。
试试放置元件到原理图
看到元件已经放到原理图上了。
还有点小瑕疵,元件边框太粗了,Value的内容显示的不是我要的。
再调整一下这些细节(去原理图库中直接修改)。
将Value改为 LED 0603 红色。
将边框改成最细的那种线。
去原理图库中看,value并不是“红色”
那应该是做.DBC时,value字段对应的不对。
再重新做一下.DBC
.DBC没看到对应错了啥。
看到为啥Vaule显示为红色了,是因为数据库中的Value写的是红色。
打开my_access_cis_db.accdb, 修改value值就搞定。
放置改好的CIS原理图库元件
如果那张原理图上已经放了旧元件,会有提示要updata cache才行。否则放不上去。
原理图库中的元件,用放CIS库元件的方法,已经放置成功。
下一步的计划
- 开始画原理图,先不用管封装,先将原理图画完再说。
- 缺啥原理图库元件,就画啥,然后用Z键放到原理图中,连线,放注释,直到原理图完成。
- 等确定了原理图,再继续搞封装库。
更多推荐
所有评论(0)