👉个人主页: highman110
👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容
目录
今天分享布线操作技巧中的铜皮操作。
单板上的电源部分、铺地都需要用到铜皮操作。先来熟悉一下铺铜的参数设置。Shape-global dynamic parameters,设置全局的动态铜皮参数。
第1页是铜皮填充参数,这里勾选smooth平滑铺铜,否则通铺不会主动避让。Xhatch style指的是网格铜的类型,这里一般默认即可,通常情况下我们一般铺实心铜,这个在操作铺铜时可以选择实心还是网格。后面的网格铜的参数都默认即可。另外可以勾选自动删除孤岛铜皮。

第2页用来控制铜皮的空位置,比如有的地方比较狭窄,窄到什么程度这里就不铺铜,从这里设置。Artwork format:光绘格式,默认选RS274X。Minimum aperture for gap width:缝隙宽度小于设置值时,就不铺铜,一般设置为10mil。suppress shape less than:铺设铜皮的宽度,默认铺出来的铜皮宽度不会小于设置值,一般设置25mil。create pin void:遇到通孔焊盘时的避让,一般就选择individual单独避让,还有in-line条形避让可以设置,一般不用。下面两个是避让时铜皮的形状,一般就默认圆形即可。

第3页表示间距设置,包括铜皮到焊盘、过孔、走线、文字、铜皮的间距,这里的Oversize value值的是,除了约束管理器设置的间距之外,再额外增加的距离,通常这里设置为0,可以直接在约束管理器进行调整。

第4页表示散热焊盘的连接方式,通常情况下通孔pin用十字连接,smd pin和过孔用全连接。十字连接的宽度设置用固定数值,可以是10mil或者15mil。

设置好铺铜参数后,开始执行铺铜命令。
手动绘制铜皮操作:
执行菜单命令Shape,铺铜命令分别为:Polygon(绘制多边形,包括圆弧)、Rectangular(绘制矩形)、Circular(绘制圆形),这里可以根据需求选择铜皮形状。在option面板设置铺铜参数,先选择要铺铜的层,然后设置铜皮类型,通常为dynamic copper,表示动态实铜,另外还有,dynamic Crasshatch (动态网格铜)、Static Solid(静态实铜)、Static Crasshatch(静态网格铜)、Unfilled(不填充)适用于绘制board outline、package geometry、room等,不能用于Etch。下面的assign net name为给铜皮赋予网络,可以在这里先选择好网络名,也可以铺完后再赋予网络。铺完后再赋予网络的步骤为:shape-select shape or void/cavity,点击选中铜皮,右键-assign net-在PCB上点击想要赋予的网络即可。

铺完后的每一个单独的铜皮还可以单独修改参数,shape-select shape or void/cavity,点击选中铜皮,右键-parameters,可以进入和全局铜皮参数设置一样的界面进行参数修改。
手动挖铜操作:
在铺铜之后可能会需要删除一些碎铜或尖角铜皮,挖铜的功能就是将多余部分的铺铜进行移除,此操作只针对铺铜有效。
执行菜单命令Shape-Manual Void/Cavity,挖铜命令类型有:
Polygon:在一个完整的铜皮中挖掉一个任意形状的洞;
Rectangular:在一个完整的铜皮中挖掉一个矩形的洞;
Circular:在一个完整的铜皮中挖掉一个圆形的洞;
Delete:将用manual void/ polygon挖掉的的铜皮恢复,激活命令后,点击两次挖铜轮廓边界,即可删除此挖空;
Element:静态铜皮的手动避让命令,只针对静态铜皮有效,铺完静态铜皮后,注意先要修改此铜皮的参数,设置避让的距离,然后激活命令,先点击铜皮,然后点击要避让的元素,如smd pin,即可完成避让;

Move:移动挖铜区域的轮廓,只针对静态铜皮的挖铜有用,激活命令后,点击两次挖铜轮廓边界,挖铜区域就会悬停在鼠标上,再点击铜皮的其他部位,可以原处挖空移动到鼠标点击的位置;
Copy:复制挖铜区域的轮廓,只针对静态铜皮的挖铜有用,激活命令后,点击两次挖铜轮廓边界,挖铜区域就会悬停在鼠标上,再点击铜皮的其他部位,可以再挖一个此轮廓的铜皮;
手动修改铜皮边界操作:
有时候手动画完铜皮后,发现铜皮边界有点大或者有点小,想要调整就可以用shape-edit boundary,然后收尾两次点击原铜皮边界,即可完成修铜。
删除孤岛铜皮操作:
自动铺铜和修铜后,可能会出现某铜皮网络没有与单板上的此网络其他元素相连,这就叫孤岛铜皮,这些铜皮需要删掉或者想办法将其于其他部分连接起来。Shape-delete island,option面板会出现当前层的孤岛数量,delete all on layer,可以删除所有当前层的孤岛。点击First可以定位到当前的孤岛位置,如果有多个孤岛,first点击后变为next,继续点击可以接着定位下一个孤岛。

铺了的铜皮可以进行类型转换,若先铺了一块静态铜皮,通过命令shape-change shape type,在option面板中选择to dynamic copper,然后点击铜皮,即可完成切换,切换后会自动避让。同样的,动态也可以切换为静态,通常板卡设计差不多的时候,可以切换为静态铜皮,这样在后期修改走线时没有那么卡。

当画了两个网络一样的铜皮叠在一起,如下图所示,可以使用铜皮合并命令,shape-merge shapes,然后分别点击两个铜皮,即可完成合并。


设计中经常会遇到有多种地平面的情况,比如模拟地、数字地、机壳地,这些不同的地平面如果一个个手动画效率会比较低,可以先铺一个整平面,然后进行分割。
先绘制分割线,add-line,在option面板选择画线层为anti etch的所有层,线宽根据实际要求分割宽度设置。

然后开始铺地,edit-split plane-create,选择要铺铜的层,选择动态铜皮,点击create,提示要赋予网络,给两块铜皮分别赋予网络即可完成分割铺铜,也可以点击cancel,铺完铜后再手动赋予网络。此方法也可用于电源平面分割。

给铜皮设置不同颜色:
当电源平面有多种电源,可用不同颜色加以区分,在颜色管理器中设置:

以上操作还可以对同一个网络的不同元素赋予不同颜色。
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
我有一个使用SeleniumWebdriver和Nokogiri的Ruby应用程序。我想选择一个类,然后对于那个类对应的每个div,我想根据div的内容执行一个Action。例如,我正在解析以下页面:https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=puppies这是一个搜索结果页面,我正在寻找描述中包含“Adoption”一词的第一个结果。因此机器人应该寻找带有className:"result"的div,对于每个检查它的.descriptiondiv是否包含单词“adoption
我正在我的Rails项目中安装Grape以构建RESTfulAPI。现在一些端点的操作需要身份验证,而另一些则不需要身份验证。例如,我有users端点,看起来像这样:moduleBackendmoduleV1classUsers现在如您所见,除了password/forget之外的所有操作都需要用户登录/验证。创建一个新的端点也没有意义,比如passwords并且只是删除password/forget从逻辑上讲,这个端点应该与用户资源。问题是Grapebefore过滤器没有像except,only这样的选项,我可以在其中说对某些操作应用过滤器。您通常如何干净利落地处理这种情况?
在我做的一些网络开发中,我有多个操作开始,比如对外部API的GET请求,我希望它们同时开始,因为一个不依赖另一个的结果。我希望事情能够在后台运行。我找到了concurrent-rubylibrary这似乎运作良好。通过将其混合到您创建的类中,该类的方法具有在后台线程上运行的异步版本。这导致我编写如下代码,其中FirstAsyncWorker和SecondAsyncWorker是我编写的类,我在其中混合了Concurrent::Async模块,并编写了一个名为“work”的方法来发送HTTP请求:defindexop1_result=FirstAsyncWorker.new.async.
a=[3,4,7,8,3]b=[5,3,6,8,3]假设数组长度相同,是否有办法使用each或其他一些惯用方法从两个数组的每个元素中获取结果?不使用计数器?例如获取每个元素的乘积:[15,12,42,64,9](0..a.count-1).eachdo|i|太丑了...ruby1.9.3 最佳答案 使用Array.zip怎么样?:>>a=[3,4,7,8,3]=>[3,4,7,8,3]>>b=[5,3,6,8,3]=>[5,3,6,8,3]>>c=[]=>[]>>a.zip(b)do|i,j|c[[3,5],[4,3],[7,6],
我有一个非常简单的Controller来管理我的Rails应用程序中的静态页面:classPagesController我怎样才能让View模板返回它自己的名字,这样我就可以做这样的事情:#pricing.html.erb#-->"Pricing"感谢您的帮助。 最佳答案 4.3RoutingParametersTheparamshashwillalwayscontainthe:controllerand:actionkeys,butyoushouldusethemethodscontroller_nameandaction_nam
(本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展 是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。 如:有三个人,每个人做的不同的事物,但是是需要协作的完成。 而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据
网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.