搜索
bottom↓
回复: 25

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

  [复制链接]

出0入0汤圆

发表于 2015-5-24 16:37:12 | 显示全部楼层 |阅读模式
本帖最后由 轻舞飞扬 于 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2015-5-24 16:46:09 | 显示全部楼层
学习了,很多最小系统可以不重复画了=-=

出0入0汤圆

发表于 2015-5-24 16:48:52 | 显示全部楼层
正需要。

出0入76汤圆

发表于 2015-5-24 17:59:43 | 显示全部楼层
本帖最后由 foxpro2005 于 2015-5-24 18:03 编辑

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

出0入0汤圆

发表于 2015-5-24 18:57:09 | 显示全部楼层
学习了                              

出0入0汤圆

发表于 2015-5-27 20:02:02 | 显示全部楼层
感觉像原理图被封装成一个元件了

出10入10汤圆

发表于 2015-5-27 20:11:40 | 显示全部楼层
很详细的教程,感谢楼主

出0入0汤圆

发表于 2015-5-27 20:30:38 来自手机 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2015-5-27 21:59:37 | 显示全部楼层
感谢分享!

出0入0汤圆

发表于 2015-6-10 15:30:03 | 显示全部楼层
楼主提供的方案不错,顶!

出0入0汤圆

发表于 2015-9-25 01:48:44 | 显示全部楼层
请问下我片段后 找不到 我保存的  啊

出0入0汤圆

发表于 2015-9-25 09:19:51 | 显示全部楼层
Very Good!

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

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

出0入0汤圆

发表于 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似乎并不是十分完善。

出0入0汤圆

发表于 2015-9-25 10:10:52 | 显示全部楼层
LCRPN 发表于 2015-9-25 09:19
Very Good!

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

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

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

出0入0汤圆

发表于 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文件的布线数据。

出0入0汤圆

发表于 2015-9-29 10:13:22 | 显示全部楼层
dr2001 发表于 2015-9-25 10:31
简单说几句,供想尝试该功能的参考:

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

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

出0入0汤圆

发表于 2015-9-29 10:33:55 | 显示全部楼层
又学了一招,多谢了!

出0入0汤圆

发表于 2015-9-29 13:09:04 | 显示全部楼层
jamesdeep 发表于 2015-9-29 10:13
你用的是什么AD版本?你说的Pick and Place是Protel的功能吧

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

出0入0汤圆

发表于 2015-9-29 13:50:08 | 显示全部楼层
dr2001 发表于 2015-9-25 10:31
简单说几句,供想尝试该功能的参考:

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

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

出0入0汤圆

发表于 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图和器件值会不一致。

出0入0汤圆

发表于 2015-9-29 15:57:15 | 显示全部楼层

感谢分享!

出0入0汤圆

发表于 2015-11-21 19:15:03 | 显示全部楼层
这个很是方便哦

出0入0汤圆

发表于 2015-12-2 11:15:02 | 显示全部楼层
留个脚印学习

出0入0汤圆

发表于 2015-12-2 16:35:34 | 显示全部楼层
有时间试试看

出0入0汤圆

发表于 2018-11-8 15:22:36 | 显示全部楼层
揣到裤兜里。

出0入70汤圆

发表于 2018-11-13 22:25:14 | 显示全部楼层
用AD的会用得着
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-12 17:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表