轻舞飞扬 发表于 2015-5-24 16:37:12

Altium Designer应用技巧2: 功能模块在同一文件中的复用

本帖最后由 轻舞飞扬 于 2015-5-24 16:42 编辑

         日志《Altium Designer功能模块的复用方法》介绍了同一电路图在不同工程项目中反复复用的方法,这篇日志将介绍功能模块在同一文件中的复用方法。
    我们在使用Altium Designer进行电路图设计时,常会遇到在一个电路图上绘制多个相同功能的子模块,例如下面的例子,我们电路要求进行6路4-20mA电流采样,这6路电路从原理图功能到PCB设计上均一样。按照常规的设计,我们需要手画6遍才能完成,如何能够简化这个过程,提高效率呢?可以采用下面的方法来完成。
    1、绘制4-20mA电流采样原理图文件,并加入相应的端口。

    2、选中所有器件,右键-片段-从选择的对象产生片段。

    3、将片段加入到相应的功能目录中。

    4、按照此原理图生成PCB。

    5、绘制PCB。

    6、以上是准备工作,下面我们来看看在同一文件中多次复用同一功能模块的方法。新建PCB工程项目(包括原理图和PCB),并加入相应的原理图和PCB库。
    7、在原理图中放置器件放置器件图表符。

    8、选择我们刚才绘制的4-30mA采样电路。

    9、加入器件图表符后,按照下图进行相应的更改,Repeat是Altium Designer提供的复用关键字,Repeat(A,1,6)表示的意思是,该器件图表符名称为A,序号从1-6,也就是A1、A2、A3、A4、A5、A6。

    10、利用Repeat关键字更改需要复用的引脚。

    11、使用总线与其它器件进行连接,一定要采用总线的连接方式,下图中的网络标号缺一不可。

    12、另一接口的连接。

    13、在PCB图中引入4-20mA电流采样电路的PCB片段。

    14、手工更改器件位号,就是在原先器件位号的后面加入_A1,其中A是器件图表符的名称,1是器件图表符的序号。

    15、在原理图中,将其它器件导入到PCB中。

    16、选择“拷贝room格式工具”,首先选择room A1,然后依次选择room A2-A6,这样A1-A6便具有相同的PCB布局和布线了。

    17、如果感觉到位号占用的地方较多,可以把所有的位号均隐藏,在PCB进行标识即可。

   
    至此完成,后面和普通的PCB绘制没有什么区别了。

轻舞飞扬的日志:http://user.qzone.qq.com/2756567163

Puppey 发表于 2015-5-24 16:46:09

{:smile:} 学习了,很多最小系统可以不重复画了=-=

doujiang 发表于 2015-5-24 16:48:52

正需要。

foxpro2005 发表于 2015-5-24 17:59:43

本帖最后由 foxpro2005 于 2015-5-24 18:03 编辑

呵呵,不错, 我以前在Protel中, PCB中是通过复制元件组 --> 修改它们的位号 --> 然后再从第一个走好线的组中,把走线复制粘贴过来。
现在使用AD更高级了。

zspzwal 发表于 2015-5-24 18:57:09

学习了                              

scpj 发表于 2015-5-27 20:02:02

感觉像原理图被封装成一个元件了

szxszx 发表于 2015-5-27 20:11:40

很详细的教程,感谢楼主

sos9616 发表于 2015-5-27 20:30:38

谢谢分享

cd4000 发表于 2015-5-27 21:59:37

感谢分享!

mdcao 发表于 2015-6-10 15:30:03

楼主提供的方案不错,顶!

wangsidongcx 发表于 2015-9-25 01:48:44

请问下我片段后 找不到 我保存的啊

LCRPN 发表于 2015-9-25 09:19:51

Very Good!

话说“片段”和层次原理图有什么区别?

“片段”是保存在哪里的?有没有类似library的数据文件,可否导出导入转移?

dr2001 发表于 2015-9-25 10:09:46

LCRPN 发表于 2015-9-25 09:19
Very Good!

话说“片段”和层次原理图有什么区别?


Snippet可以近似理解为高级的“元件”,最终需要放置在SCH或者PCB中才可生效;类似于原理图库中的符号需要放在SCH,PCB封装要放在PCB中一样。

Altium的设计抽象关系大致是这样的:
1、SCH符号;PCB封装:对应一个元件的物理实体。
2、Snippet:SCH元件和互联关系以及对应的PCB表达。表述由少数元件构成的一个电路功能模块,有SCH和对应的PCB。
3、Device Sheet/SCH文件:具有一定独立、完整功能的复用。但是这层目前似乎没PCB对应。
4、层次图/扁平图是对于SCH文件(Device Sheet)的更高级的组织。

原理图到PCB的模块化复用,现在AD好像还是没有非常高效的方案。Snippet似乎并不是十分完善。

dr2001 发表于 2015-9-25 10:10:52

LCRPN 发表于 2015-9-25 09:19
Very Good!

话说“片段”和层次原理图有什么区别?


搜索Snippet Altium能找到很多帮助文件。

保存在一个用户指定的独立目录;和当前工程没关系。类似于库文件。

dr2001 发表于 2015-9-25 10:31:19

简单说几句,供想尝试该功能的参考:

Snippet实质上提供的就是SCH和PCB的Ctrl C和Ctrl V功能。没啥原则上的区别,当然,细节区别是存在的,一般可忽略。
对于Ctrl CV不好解决的问题,Snippet基本没提供更好的解决方案;Ctrl CV好搞的,Snippet也没省事儿太多。

Snippet对于SCH和PCB的联系是基于Designator的,而不是Unique ID。即,当原理图使用了Snippent之后,绝对不能对相关的模块进行Annotation,否则Designator对不上PCB的就完蛋。
这点的逻辑/应用顺序是:画图(应用Snippet),锁定Snippet的Designator,Annotate其它元件,在空PCB中加入对应的Snippet,建立Unique ID Link,解锁Snippet的Lock,这时候才可以随便Annotate和Board Level Annotate。
对于多通道设计,Board Level Annotation等会有很多额外的麻烦事儿,都是需要额外注意的,否则这套机制不能Work。
# 这就是为什么Snippet建立前,一般会使用一个非常大的Desinator ID,就是为了避免冲突,造成不Work。

总之,这个东西完全不是那么好用。


如果要高效复用,目前我知道的最好的方法是:
1、画好模块化的原理图和PCB。
2、把PCB中元件的坐标信息导出,保存在SCH的Parameter中;Track等独立信息保存在单独的PCB文件里。
3、新图画好后,用定制的BOM模板抓取PCB布局信息,直接粘贴或者用Pick Place完成布局。
4、Ctrl CV PCB文件的布线数据。

jamesdeep 发表于 2015-9-29 10:13:22

dr2001 发表于 2015-9-25 10:31
简单说几句,供想尝试该功能的参考:

Snippet实质上提供的就是SCH和PCB的Ctrl C和Ctrl V功能。没啥原则上 ...

你用的是什么AD版本?你说的Pick and Place是Protel的功能吧

XTXB 发表于 2015-9-29 10:33:55

又学了一招,多谢了!

dr2001 发表于 2015-9-29 13:09:04

jamesdeep 发表于 2015-9-29 10:13
你用的是什么AD版本?你说的Pick and Place是Protel的功能吧

Pick and Place文件,新版可以用这个进行元件布局,但是不支持正反面。

LQS1200 发表于 2015-9-29 13:50:08

dr2001 发表于 2015-9-25 10:31
简单说几句,供想尝试该功能的参考:

Snippet实质上提供的就是SCH和PCB的Ctrl C和Ctrl V功能。没啥原则上 ...

能否详细说下你的做法,如果10个通道都一样,我要改一个通道的阻值,岂不是可能全乱了?

dr2001 发表于 2015-9-29 15:54:58

LQS1200 发表于 2015-9-29 13:50
能否详细说下你的做法,如果10个通道都一样,我要改一个通道的阻值,岂不是可能全乱了? ...

具体化你的需求。
AD的复用解决方案并不是一揽子一次性实现的;而是随着软件的发展逐步完善的。
因此,一般来说会有不同的路径实现用户的需求,可以讨论的是哪种方案更好,直观和方便;但基本上没有非常一致、完善的方案。


对于你的问题而言(当然,问题本身不够详细),有两个实现路径:
1、用Repeat快速实现多通道;用Variant实现器件值的变化。
2、不用Repeat实现多通道,用Sheet Parameter把参数从高层SCH传到下层SCH,完成赋值。

区别至少有:
1、出SCH图(PDF)的时候,图不完全一致。Variant需要出Physical图才能看出区别;非Repeat可以直接看到。
2、如果用Comment标记元件信息,在PCB上,元件Comment带有的信息是不一致的,如果用Comment做Assembly Guide的图(方便焊接、器件值检查),Variant的PCB图和器件值会不一致。

1米49 发表于 2015-9-29 15:57:15


感谢分享!

chenaiguo0503 发表于 2015-11-21 19:15:03

这个很是方便哦

Canbus007 发表于 2015-12-2 11:15:02

留个脚印学习

hsc0588 发表于 2015-12-2 16:35:34

有时间试试看

Wesson 发表于 2018-11-8 15:22:36

揣到裤兜里。

PaulDE 发表于 2018-11-13 22:25:14

用AD的会用得着
页: [1]
查看完整版本: Altium Designer应用技巧2: 功能模块在同一文件中的复用