AD学习-最小系统板,双层
第一章 简单电阻容模型的创建
捕捉栅格在摆放器件时,一般设置成 10mil。移动器件时一般设置成100mil。
比如绘制电容的原理图库,直接就是两根线条竖着成电容,
按Tab键进行颜色变更,按shift键拖动会复制一个出来。
v+g+s快捷键放置管脚,按Tab可以设置管脚属性。

原理图库器件的属性,比如电容容值可能有所不同,一般等画好原理图之后再统一填。
再举个例子画电容,直接新建一个RES,
直接把之前画的电容复制粘贴过来,过来以后,
移动的过程中注意把栅格设置成100mils,
然后直接画线,如果是不协调,再vgs快捷键设置成10mils,做一个走线的补充
第二章 利用excel创建IC类元件库
其实不excel直接粘贴复制也行
主控芯片的管脚名称一般会比较长,而且名称比较多,一个pin脚一个Pin脚挨个去放比较麻烦,可以通过excel做一个管脚表格,再把表格copy到AD里面。

打开模型创建向导,

输入管脚数量, 选择布局风格,粘贴管脚名称,设置管脚的电器属性electrical type


Electrical:电气特性,共有Input,Io,Output,OpenCollector,Passive,HiZ,OpenEmitter,Power八种类型,解释如下:
Input: 输入型,作为输入引脚使用;
IO :双向型,既可作为输入,又可作为输出引脚;
Output :输出型,作为输出引脚使用;
OpenCollector: 集电极开路的引脚;
Passive: 无源型,该引脚为无源引脚;
HIZ :高阻型,为高阻状态的引脚;
OpenEmitter: 发射极开路的引脚;
Power :电源型,该引脚接电源或地;
一般情况下,都是默认选择Passive。
然后点击放置元组(place new symbol),器件模型就进库了,如果出现bug就保存关闭重进。

第三章 按键的元件模型创建
按键就是,两个管脚,两个圈圈,两条线一长一短叠加。

第四章 排针类元件模型的创建


可以设置管脚号自动递增,比如'首要的'设置成2,则管脚号递增2,'次要的'设置成1,则名称递增1。想增加管脚可以按住Shift键直接拖动。

比如'首要的'设置成2,则管脚号递增2
'次要的'设置成1,则管脚号递增1

排针也可以利用模型创建向导symbol wizard,然后选择连接器connector类型或者单边Single in-line类型。



然后放置新的元件。如果发现元件是倒序的,右键,点击移动所选中对象,然后按x就是x轴镜像,按y就是y轴镜像。
Designator:是元件位号,这个是一定要有的,在原理图上显示出来,方便查找和设计。比如填C1,在PCB上一般要求丝印出来。出生产资料的时候,不管制板还是贴焊板厂都会确认的。
Description:器件资料,一些描述,比如这个器件是什么作用,是什么器件,是什么封装的等等。
Comment:是填写注释在里面,一般是填写Value值。比如220uF填在Comment里面。在PCB上一般不要求丝印出来。如图2-39所示。
Design Item ID用于标识原理图库中的元件。这个ID是元件在原理图库中的唯一标识符,通常填写为元件的名称。
第五章 LED灯元件模型的创建
添加一个LED元件。

绘制的时候,格点设置成10,然后绘制。
一个三角,一个竖线,两个箭头。
一般正极用 1 或者 A表示,负极用 2或者 B表示。
然后放置元件到原理图库。
第六章 现有原理图库分类及调用方法
PCB联盟网,搜索超级库。找到AD的库。 打开以后,需要用到什么,可以直接复制粘贴到自己的工程的原理图库。
直接在原理图上复制,然后粘贴到原理图库,也可以。
也可以基于原理图,直接生成原理图库。

生成原理图库的时候,一些属性设置都不需要勾选,点确定就行。
直接把别人的文件添加到自己工程也可以。
第七章 最小系统板项目原理图的绘制
7.1 原理图页大小及常规设置
如果需要对新建的原理图大小进行更改,那么就双击原理图的边缘。

在Page Options更改原理图的大小。
Sheet Size就是用来设置大小的。

Custom用来对原理图页面进行自定义。
可以自己设置宽高。一般来讲还是默认用Standard下的A4大小。

Template是模板,可以对一些标注进行模板的替换和更新。
常规设置涉及到一些参数的选项 。
包括,
图解的(Schematic)-图形编辑(Graphical Editing)下的,单一\符号代表负信号。
-格点(Grids)下的栅格颜色设置。
7.2 原理图库的调用放置
方法一:
在原理图库选中器件,点击放置,就可以将器件放置到原理图上。
方法二:
切换到原理图页,右下角选择仪表盘panel,打开Components。
选择自己工程的原理图库。
要用什么元件直接按住鼠标右键拖进原理图上就好。
Components界面也可以添加元件库。
7.3 器件的复制与对齐
原理图器件添加后,要对器件做一个排布。
直接照着抄,或者直接拿人家的用。
按下A键,可以看到很多的对齐方式。
按下A,按下Ctrl键,可以设置对齐方式的快捷键。
下图中,'可选的'位置就是快捷键的设置处。


画原理图的时候,看人家电路用到了哪些器件,画上去就行。
7.4 导线与NetLabel的添加
放置里面有线,工具栏也有线,工具栏最后的弧线那个功能菜单也是线,但是只有前两个是具有电气属性的导线。

快捷键Ctrl+w可以绘制导线。

快捷键Ctrl+n绘制网络标签


双击网络标签可以打开网络标签的属性,更改网络标签的名称



电源和地可以通过port的方式进行放置,


7.5 原理图的可读性的优化处理
首先更改原理图到合适尺寸。
然后增加线条,将不同模块隔开。
选中线条后按Tab键可以弹出线条属性,修改粗细等。


PCB原理图的标题可以在属性界面的Title Block把它去掉。

7.6 PCB封装名称的统一设置
原理图的BOM表对器件编号什么的都有标注,所以一张原理图每个电容或者元器件都需要有自己的编号。


在工具-标注-原理图标注,可以进入原理图编号的界面。

一般采取先横再往下编号的方式。
再就是处理位置那里, 选择Designator,就是器件的名称。

然后是原理图页的选择,也就是选择需要对器件编号的原理图页。
最后是标注范围,ALL是对整个原理图,另外还可以只对选中的部分进行标注。
顺序,指的是如果有多个原理图的话,编辑的先后顺序。
起始索引,指的是如果想从100开始编号,那就填100。
然后点击Reset All对所有部件的标注进行复位,

再点击更新更改列表,
这样编号就不再是问号,而变成自动添加的标注编号了。

这样更新列表以后,选择接收变更、再点击执行变更。
原理图上的器件编号就自动添加完成了。

7.7 PCB封装名称统一添加与管理
看BOM表,确定封装类型。
比如这里的电容的封装类型 Footprint是C0603。

然后双击器件,修改封装类型。
由于封装库没有任何的封装,所以此处不会显示任何预览。
这样一个一个添加太慢了。
选择 工具TOOLS、封装管理器
所有的器件都显示在左边,封装显示在右边
可以直接多选了,点击添加,来实现统一添加。
7.8 原理图的编译设置及检查
大部分原理图手工画出来,需要通过软件自带规则进行电路和电器性能方面的基本检查。


一般对错误报告的设置只需要改下面几项:
1、网络悬浮
网络悬浮指的是,
Net Label位置不对、
器件没有和导线正常连接,
都称作网络悬浮。

出现网络悬浮情况时,鼠标放在线上,出现类似 “NetU1_8”的标识,Net指网络,U1_8是自动生成的流水号。


2、电源端口悬浮

3、多重网络名称
便于检查短路情况。


4、只有一个引脚的网络
Net with only one pin

没有和 D3相连
D空格3这种,也会被识别成和D3不同
注意
注意,网络中,GPIO是不带电的,只有网络(线)有电器属性


5、没有命名的器件


6、重复的部件名称


7、 编译原理图
编译选项设置好了以后,右键原理图,选择验证(编译)。

把验证得到的Message窗口拖到左侧,可以看到很多的报错信息

在下方的细节处双击可找到报错位置
8、 原理图的BOM的输出
快捷键R+i
画完原理图就可以进行物料采购了。此时可以对BOM表进行输出。

取消Description

如果描述写的详细,需要保留,则不动。如果描述写的简略,可以取消描述的显示。

取消LibRef
LibRef也可以不用输出,取消掉。

封装Footprint型号一定要准确

用量Quantity

导出Execl



有模板更详细,还包括供应商、供应商编码等
9、 原理图的PDF打印输出
要把原理图的 .SchDoc换成PDF文档。





第八章 PCB封装库的创建规范与方法
PCB封装是关联原理图和实物之间的映射体。
PCB封装和实物对比足够精准,不能像PCB原理图一样只放个管脚号和管脚就足够。
8.1、PCB封装元素的组成与介绍
PCB封装元素的组成一般有以下元素:
(1)PCB焊盘:用来焊接元件管脚。
(2)管脚序号:用来和电器元件进行电气连接关系的序号
(3)元件丝印:用来描述元件腔体大小的识别框。(黄色是丝印层)
(4)阻焊。放置绿油覆盖,用来保护焊盘的焊接区域。
(5)极性标识(1脚标识)。用来定位元件方向。

一个焊盘其实由三样东西组成,顶层的铜、 中间的阻焊、底部的
顶层的铜

中间的阻焊



Top代表阻焊的大小
Tented代表是否有阻焊
一般要求是单边大于2.5mil

后面的颜色指的油墨的颜色

没有阻焊的底部是黑色
黑色其实就是油墨
可见,阻焊的作用就是,防止油墨覆盖焊盘(垫高了)。
前面给出了修改阻焊大小的选项位置,如果阻焊和焊盘一样大,还是会被油墨接触。
可能导致焊接不良。
阻焊的位置,一般要求单边大于2.5mil就够了
底部的钢网
最后是底部的钢网,钢网相当于开一个和焊盘等大的窗口,用钢网把锡膏直接刷下去的时候,锡膏就均匀涂抹在了焊盘上面。

8.2、 实例-贴片 0603(对电容)封装的创建(手工封装)
封装介绍
先打开PCB封装库。




在封装库的封装列表中,双击可以设置封住的名称(改这个就行)、描述、类型、高度、区域。
然后找到 0603的规格书


可以看到0603封装标准分为 4个图,上右左下分别是:顶视图、推荐的PCB尺寸图、快速预览图(立体封装)、侧面图。像这张图就是两个方形焊盘,然后中间有一定距离
一般主要看PCB的尺寸推荐图,通常封装会比实际的尺寸稍微大一点。
在PCB联盟网,可以搜索"封装"。有“PCB封装设计规范文档”。
凡亿的淘宝店搜索“封装”也有详细的PCB封装相关课程。


封装实例
放置焊盘
从工具栏放置一个焊盘。
放置的焊盘默认是一个通孔。

双击焊盘,出现属性栏。
将焊盘放置到表层,Layer->改到 TopLayer

此时焊盘就成为了一个表面贴装的焊盘。
然后根据查到的,封装标准的尺寸(推荐的PCB尺寸图),
设置单个焊盘的尺寸
对于推荐的封装PCB尺寸图,上下一般是英尺单位,左右一般是毫米单位。
我们一般采取毫米单位,因此需要做处理。
在焊盘的属性,X/Y轴的位置,设置尺寸

设置焊盘的形状

X/Y这里填mm,会自动换算成mil
测量焊盘尺寸
Ctrl+M可以测量尺寸。

Ctrl+M快捷键测量尺寸
设置两个焊盘的间距

按下M
移动

这里的偏移量是根据封装库的标准推荐计算得到。

测量焊盘间距
至于移动后两个焊盘的间距,通过报告->测量基元,然后分别找器件上随便两个点划条线就能测量到。


最后测量出来,难免和PCB板推荐标准有点误差。
比如视频中查到的标准是0.635,测量出来是0.61

封装库居中
Edit->Set Reference->Center
快捷键 E+F+C


设置管脚号

阻焊
阻焊在AD里面一般都是自带的,放置焊盘的时候就有了。
丝印

0.6mm*0.8mm
放置线条


在两个焊盘中间放一根线,线宽6mil足够。

移动到目标位置


带偏移的复制


对称




描线

这样就得到了丝印。
但一般我们也会把丝印扩大一点,因为丝印也是油墨。
现在紫色位置有阻焊,如果丝印在阻焊上面,会被剔除掉,导致丝印不完全。

再Ctrl+C复制,
选中中心点
x对称
0603电容封装库成型

1脚标识
因为电容没有极性,所以不用加。
总结
最后检查,焊盘、阻焊、管脚序号、丝印、1脚标识
都有了。
8.3、 实例-TSSOP20 芯片(对STM8S)的PCB封装创建(傻瓜式封装)
芯片数据手册



下面的步骤其实都是在举例如何创建一个名为TSSOP-20的封装
查看封装信息
向导法创建封装
FootPrint Wizard。封装创建向导器。


然后填写封装数据,



这样3D模型就直接创建好了,不需要后续i对3D模型进行创建和导入
要注意的是,引脚数量。再就是(字母)和视角图对应的位置。
包括,
Width Range,焊盘两个最外围的距离,
Height,高度,
Minimum standoff height 壳体底部和焊盘中间悬浮的高度,
Body width Range,壳体的宽度
Body length range,壳体的长度
________________________下方窗体_____________
Number of pins,引脚数
Lead Width Range,焊盘的宽度(侧面视角)
Lead Length Range,焊盘的长度(正面视角)
Pitch,焊盘和焊盘的间距
类似这样的数据从哪里选取呢?数据手册。
比如图上,焊盘最外围的距离是e,就去下面表格找e,有一个最大值和最小值范围。
再点击NEXT进行下一步。
左上角的勾选项决定了是否添加散热焊盘。数据为焊盘的尺寸。(一般不需要加,通常只对电源芯片添加散热焊盘,非电源芯片不需要散热则不需要加)

再点击NEXT进行下一步。
这里的一般不用管,因为通过wizard封装向导创建的封装,通常是满足IPC行业的标准的。
这里的“IPC” 通常是指 “Institute of Printed Circuits”,即 “印制电路协会”。


分别设计的低、中、高密度。
根据器件布局密度选择。
一般选取中等水平就够。
再往后的页面上的值就不用管了,都是计算值做个展现。

一般后面手动在PCB封装库列表把此处改成和原理图一样的就行。一般不用动

一般也不用改

检查焊盘、阻焊、丝印、1脚标识、管脚号是不是都有了。
Crtl+D可以打开视图配置窗口,切换到3D的效果如下




就可以看到如下图使用的封装

8.4、实例-USB 接口PCB封装创建(异型封装)
封装规格书

原型焊盘上的标识是:直径0.65*2,也就是两个直径0.65的圆形焊盘
添加封装


放置焊盘








可以按E+K打断走线,删除走到阻焊上的丝印



8.5、 常用其他PCB封装的直接调用(最常用)
从做好的项目的封装库复制
打开做好的封装库,
快捷键 D+P,Make PCB Library,就可以直接生成PCB封装库。



要用到哪个直接在PCB Library窗口复制粘贴到当前项目的封装库的PCB Library窗口就行。
从PCB联盟网下载

IC封装网

8.6、 3D模型的导入与设置(以USB为例)
平面效果和3D效果


根据规格书绘制3D模型

焊盘到壳体上方是2.35mm,可以稍微做高一点点如2.4mm



设置3D模型的参数










可通过这些多边形不断组合去做一些模型
并进行参数设置
Height高度(一般-1mm,往下
Radius半径




直接导入3D模型
电子工程师绘制的3D模型可能不如结构工程师精细,可以直接导入现有设计好的的3D模型。
PCB联盟网->超级库
基本上常用的都有。
想用的情况下直接放置3D Body








如果其他板子的PCB库有做好的模型也可以直接拿过来用。
第九章 PCB布局分析及详细布局实操
9.1、 导入常见报错解决办法
对PCB执行导入
原理图绘制好了,PCB库也好了,要对PCB执行导入。





此时发现导入过来的器件,但是没有看到主控芯片。
前面我们已经对主控芯片进行了封装,
二次导入
导网表的时候需要导入两次,一次有时候发现不了问题。

导出错误报告
第二次导入和执行的时候发现多了很多的错误,
点击 报告变更,导出错误报告。


比如上图报错,有些引脚没导入进去,P1、P2、P3等,
原理图找错误位置
去PCB原理图找到P1的位置,

发现原理图没有什么问题,
查看器件封装
双击查看封装,

封装管理器查看封装情况

添加封装


添加完以后,再执行变更。


通过封装管理器添加好封装后,再次执行导入。
发现多了一个动作,Add Component,添加器件,刚好就是把前面差的器件添加进PCB了。
执行完后发现U1得到了解决,但是P1和P2还是没有解决掉。
Pin脚管脚号丢失问题

图上显示P1- to xx,没有显示pin脚。
查原理图
去原理图上找。看着pin脚好像在这里。

查原理图库
去原理图库找。

发现Designator管脚号没有。
这里的Name1是管脚的名称,但是管脚号Designator是缺失的。
添加管脚号


添加封装
由于元件库里面没有添加封装,所以还要单独把封装给他添加上。

重新导入
发现还有P3、P4和两个PWR管脚问题。
封装库管脚和原理图不一致
检查PCB封装库中的对应管脚,发现管脚号不对。


发现PCB封装库的管脚号和PCB原理图库的管脚号对不上。

修改后更新封装库,

发现报错,焊盘没有匹配的封装。

原因是PCB没有匹配的管脚, 导致直接更新封装库没有办法匹配。

PWR管脚问题








9.2、 常见绿色报错的消除
其实PCB导入之后的红色那个可以删掉。



放大以后,shift+S查看,发现焊盘和焊盘之间<10mil。
Shift+S用于单层显示
不单层显示:所有层的内容都正常显示。
单层半显示:当前层的内容正常显示,其他层的内容以阴影形式显示,便于区分。
单层显示:仅显示当前层的内容,其他层的内容完全隐藏。

修改设计规则->间距规则


由于某些规则报错,如间距规则,可能是由于封装规格导致的,

快捷键R+P可以测量间距


比如这里某个封装的焊盘间距自己测出来是7.874mil,

在凡亿电路官网下单的时候,线宽>6的情况下,是可以满足生产的
可以把规则中的最小间距,调到 6。
一般线径要求6mil以上,因为成本是最低的。
这样要求的间距规则,小于本身分装规范自带的规则,也不会报错。还能起到提示效果。
但一般还是建议把忽略同一封装内的焊盘间距勾选上。

设计之前可暂时关闭报错
如果在进行PCB设计的时候,报错影响观感,可以先暂时关掉,摆放好后再处理报错。

注意在线DRC和批量DRC都直接关闭所有就好。后面需要检查的时候再开。

回到Electrical,电器性能的检测,把它启用所有。在线和批量都启用。
这样就只出现电气性能的检查,
确认后在PCB界面按下T,再按M

会发现之前的报错信息重新按选中的规则清理了。
这时发现移动器件时,之前一些白色的报错就没有了,
下面图的绿色报错是短路。


9.3、 PCB板框的评估及叠层设置
PCB板框的评估指的是评估PCB的板框需要多大。
对所有期间进行选中,然后在器件里里面选择Component Placement器件摆放。
排布器件
选中Arrange Within Rectangle在矩形框里排布。


然后可以进行局部的调整,


回到机械1层,Mechanial 1。
绘制板框边缘
放置线条,把器件框住。

双击点开线条属性,

按下Q,切换单位

长度取整,这里是25mm。
四个边都进行类似操作。
然后Ctrl+c,ctrl+v,以左上角为顶点,空格 翻转旋转。

定义板框形状
设计->板框形状->从已选对象定义板框形状,快捷键DSD


板框长宽指示
可通过放置->测量->线条,对板框边缘进行一个长度和宽度的指示。


按下空格,切换到测量Y轴

设置板框指示的格式
选中指示,按TAB键盘。
比如下图的units,可以改单位,毫米、位数等等。

板框改成圆角
把两线X轴、Y轴的起始位置分别移动 1mm.留出空间。


注意圆弧的线宽和直线的要一样。

其他几个角一样处理。

叠层设置
两层板其实不需要叠层(默认是两层板)。
但是多层板中叠层会用的比较多。


把不同层的Name可以改的短一点。


点了之后会新加一个Layer,加上原来的,就是一正一负

凡亿智能车4层板有更详细教程。
9.4、 PCB快捷键的设置及推荐
设置原点:EOS
把器件放到背面:拖动状态下按 L

找到功能栏,按住Ctrl,点击,就可以进入该功能栏的快捷键设置界面。
放置走线 F2


放置过孔 F3


铺铜 F4

颜色开关 F5
以GND网络举例,






一般建议选择 实心

按F5,GND设置的颜色就不显示了,变回红色。再按就又显示,变回白色。
排布矩形框内的器件 F6
设置后如果不起作用,可能是与默认的快捷键冲突导致的。


界面垂直分割
这是一个小技巧。


交互映射 F7
这个可以不设置快捷键。T+C也行。

不知道器件在原理图哪个位置时,使用交互映射,选中器件,原理图会被自动高亮。
选中管脚或者选中器件都没有问题。

凡亿课堂直接搜索 快捷键,有视频讲解。
线选 2
选中一根线触碰到的器件。

鼠标画条线,被线接触的器件被选中。
框选 3


框选只选中上面层
对齐
快捷键 A

上对齐 Num 8
下对齐 Num 2
左对齐 4
右对齐 6
横向等间距 7
纵向等间距 9
更改丝印字体大小



修改文本高度Text Height,和符号宽度 Stroke Width.
对齐器件文本位置 Num5
像这种C2、R3这些丝印放到上面位置不舒服,放到电容中间好看点。
Ctrl+A全选,再按A弹出对齐菜单,

按住Ctrl再左键,设置快捷键。


9.5、 交互式模块化布局规划
界面垂直分割。
分割界面交互其实对应的就是设置里面的Navigation导航,
交叉选择的对象

由于勾选了网络和管脚,如下图不是被框选的模块中的器件也有可能被选中。

如果不需要的话就可以只勾选元件。

取消缩放


取消重新定位选中的PCB器件
一个模块,一堆器件,框选以后复制粘贴,粘贴的时候还要一个一个器件去放置。不勾选。

布局时关闭飞线
布局的时候可以按 N,关闭飞线。布局后再打开。


对飞线Nets做分类classes
再打开飞线,并对电源信号做一个 class

在设计->分类中,对电源信号进行classes分类。






选中器件后,按住Ctrl键,可以通过方向键进行微调,让丝印边框对齐边缘。

操作中可借助过孔、对齐等操作协助对齐、居中等行为。
按键一般放在板子上方,管脚长的那一面为下方,避免按的时候碰到手。

9.6、 PCB布局实战演示及优化
过孔辅助定位

左对齐,纵向等间距,找到正中间的位置

锁定器件位置



对电容丝印的调整
电阻和电容形状统一,但是丝印有区别

对电阻丝印的调整

快捷键 EFC可以设置原点,


模块的原理图和PCB的对应

LDO转换模块的放置

用于高压转低压



并根据原理图放置了电容
焊盘Hole


焊盘可以用于不接USB供电的时候,直接接两根线供电。
第十章 PCB布线思路分析及详细布线实操
先创建规则,再走线。不然后期问题多难检查。
10.1、 网络Class的介绍及设置
网络的设置
设计->分类,打开的类浏览器中,分别有
网络类:电源线、信号线(地址信号、数字信号、时钟信号等)、
器件类:所有器件、顶层器件、底层器件
层类:器件层、电器层、信号层
....
一般用到网络类、差分类、xsignal类,
网络的显示与隐藏
比如只显示A信号,按下n,隐藏所有信号
在左边A信号处右键->连接->显示,就可以只显示A信号

shift+C可以取消高亮显示,恢复正常显示。
改变器件和信号线的颜色
最后shift+c取消高亮,可以看到带有电器属性的信号和管脚都改了颜色。花花绿绿的更容易区别。
10.2、 设计规则-间距规则设置
设计->规则进入到规则界面,
电器性能规则->clearance间距,
规则界面

规则适配对象


规则设置

走线、焊盘...copper铜皮、via过孔
shift+R堆挤布线(非堆挤布线情况下两线凑太近另一个会自动避开)
下单注意
在下单的时候有一个最小线距、孔距等选项,线距越小费用越高。
一般设计的时候,先从6开始,如果不合适再慢慢加或者减。
约束针对的类型

如果仅针对不同网络的话,相同网络那里的线距规则是不报错的。
一般先相同、再不同,做一个线距检查。

规则叠加

比如我想新增一个规则,这个规则只针对过孔,
将规则的第一匹配对象设置为 custom query,自定义查询。
查询构建器


这里以过孔举例

这样,走线和过孔规则就成了5mil
10.3、 设计规则-线宽规则设置
走线一般也是6mil、4mil为边界做区分。
然后走线有信号线和电源线的区别,
供电线一般粗一点。



电源规则
视频给电源线设置的,
最小宽度10,
最大宽度20,首选宽度15

如果想快速删减规则

规则优先级


由于PWR规则优先级低,所有走出来会是6mil,第一个规则适配 all 覆盖了第二个。
仅针对表层或某类匹配对象
10.4、 设计规则-过孔规则设置
1mm = 39.37mil
根据走线密度选择。过孔越大生产成本越低。


过孔和焊盘都是铜,阻焊是防止油墨覆盖的
阻焊扩展
SolderMask Expansion,阻焊外扩。
“焊接掩膜扩展”(Solder Mask Expansion)
Top(顶层):设置为4mil,表示顶层焊接掩膜将从设计边缘向外扩展4mil
Bottom(底层):同样设置为4mil,表示底层焊接掩膜也将从设计边缘向外扩展4mil。
Tented(覆盖):当勾选此选项时,表示在顶层和底层的焊接掩膜上将添加一层覆盖层,以进一步保护焊盘。
From Hole Edge(从孔边缘):这个复选框未被勾选,如果勾选,它将指示焊接掩膜的扩展应从孔的边缘开始计算,而不是从焊盘或迹线的边缘。

过孔和焊盘的直径

设置过孔规则
设置方法一:

设置方法二:

Hole size,孔直径
10.5、 设计规则-铺铜规则设置
铺铜规则设置界面
快捷键DR,打开设计->规则,找到plane->polygonConnect,

十字连接

鼠标位置是铜皮
黑色部分的垂直长度,是铜皮和过孔间的间隙(空气间隙)
导体(连接数量)

旋转

铺铜效果

属性吸管


重新灌铜


直接连接(全连接)


十字连接和全连接对比
十字连接由于连接点小,所以载流能力弱。
由于铜连接的少,所以散热慢。
电流大的情况下建议全连接。
在焊接小的器件时,由于散热快,锡膏凝固地快,导致虚焊概率大。
手工焊接时一般采取十字连接。
高级设置
通孔不仅用于电气连接,还用于机械固定。
过孔用于电气连接。

贴片器件,一般都是机器去焊上去。
接插件一般都是手工焊。


负片连接方式设置
planeConnect,负片连接
"PlaneConnect"是一个设计规则,用于定义多层板设计中内电层(负片层)与孔的连接方式。它涉及到元件焊盘或过孔与内电层铜皮之间的连接方式。

10.6、 设计规则-其他规则设置
阻焊规则
阻焊一般设置成单边2.5mil。


在焊盘和焊盘的外围,有阻焊。
如果阻焊的举例过近,锡膏容易桥接,导致短路。
开窗


焊盘和焊盘间有油墨去隔开,减小锡膏桥接的概率
生产规则
生产规则里面,我们主要考虑丝印到阻焊之间的间距。

丝印是油墨,阻焊是防止丝印覆盖的。
如果丝印放在阻焊上,或者离阻焊很近,可能导致丝印的缺失。越过阻焊边界的那一部分油墨会缺失,导致字体无法识别。
阻焊与丝印之间的距离


丝印到丝印之间的距离


过孔规则


10.7、 设计规则-PCB布线宏观分析与通道评估
对于一块板子,走线的时候我们要分两个部分走线。
1、优先走信号线
2、走线电源走线
3、GND的走线
信号线:走线要少打孔,因为打孔会增加走线长度,走线越长收到的干扰越多。
电源线:优先保证载流。
GND线:对于地线可以事先打孔,等到后面整体铺铜。


10.8、 扇孔的处理及敷铜插件的应用
走线的时候我们可以做一个复制,复制了之后可以做一个整体拉线。
F2拉线,拉到位置后鼠标右键结束拉线.


对于交叉走线的处理



供电(电源)走线
电源线我们一般是要进行铺铜的。来满足载流要求。走线如果局部太小了,过大电流的情况下,可能积热,导致线烧断。
走线的宽度和电流的大小一般是有关系的。
经验值,20mil宽的铜大概承载1A的电流。该经验值保留了余量,实际可能更小。




敷铜工具
PCB联盟网,EDA在线工具,PCB走线载流计算器

缺口处处理

AD skill脚本-快速敷铜脚本









铜皮合并


10.9、 PCB设计的信号布线处理
shift+s,切换显示的层。
底层是蓝色线,连接过孔。
顶层是红色的线。

10.10、 PCB电源布线及整体优化的处理
信号线、电源线处理完后,
快捷键N,选择展示连接——>所有,打开全部的线。

注意点:
这里5V经过电容滤波后,才到3.3v,之后给其他地方供电。
因此要先经过C2电容。

第十一章 PCB设计拼版及生产资料整理
11.1、 丝印设计规范及调整
丝印的比例
对某个丝印的字高和字宽进行设置。
有几种常用的比例:宽:高 5:30 6:45 10:60 4:25
添加丝印
可以通过放置->字符来添加丝印,注意一定要在丝印层。



导入logo

下载导入logo所需的脚本




修改logo大小



11.2、DRC的设置及检查


电气规则检查

如果不想实时显示,只想在检查的时候显示,可以只勾选批量
一般建议都勾选

DRC样式

走线规则检查

其他检查

运行DRC

建议重新灌铜以推进DRC
DRC报告

停止检测指的是,超过xx个冲突是DRC被停止。建议改到50000


双击会自动跳转到问题处
解决后再重新运行DRC
开路问题
un-routed net constraint,是开路问题
铜皮的[移除死铜]记得勾选。



生产检查
华秋DFM软件。生产可制造性分析。
打开PCB文件。
一键DFM分析。

打开红色分析,


白色位置,孔壁到焊盘的距离
有时候这些距离问题,可能是封装本身导致的,则可以忽略
DFM软件也可以参数设置,
11.3、什么是PCB拼板?为什么要拼板?
节约成本。提高SMT贴片机的生产效率。节省PCBA拿放时间。
拼板可增加厂商吸纳订单的能力。将不同客户的PCB在一块大板子上一起生产。
11.4、PCB拼版认识-V-cut与邮票孔
常见拼板类型
v-cut拼板



邮票孔拼板
11.6、光学定位点及工艺边的介绍
工艺边
工艺边(黄色箭头),光学定位点(白色,mark点),固定孔(红色)
工艺边也叫传送边,用于贴片的时候传送PCB板。PCB生产时上料机是需要对PCB进行固定的,因此需要工艺边和定位孔。
工艺边至少保留3MM宽度。
为了减少焊接的时候PCB板卡的变形,对于不拼板的PCB来说,我们要选择把长边做为传送边,我们拼板的的PCB板卡,也应该将长边做为我们的传送边;
对于有些板卡,长边与短边差不多的时候,建议当短边与长边之比大于80%时,可以用短边做为传送边。
当PCB板卡比较密的时候,需要手动添加工艺边,宽度为3mm或者是5mm,以便于后期贴片
对于下图所示的板子,如果边缘距离器件和走线有3mm以上,
那么长边可以直接拿来当工艺边,就不需要加工艺边了。
光学定位点
又称mark点。用于自动贴片机上的位置识别点。贴片的时候需要基准参考点。
而且一个参考点不够精准,故而一般5个。
MARK点设计规范:

11.7、PCB的拼版实例演示
拼板
新建一个用于拼板的的PCB。







按Q可以切换mil和mm单位。

倒拼
就可以采取倒拼的方式。


工艺边添加
工艺边要添加到长边。该板型就是上下俩长边。
工艺边距离板子边缘5mm,利用过孔进行定位。



添加定位孔

然后把过孔移动到,工艺边的y轴2.5mm,x轴距离工艺边边缘2.5mm
添加光学定位点
下载光学定位点的封装。
放置。
把定位点的名字做一个关闭。


如果放四个的话,第四个一定不能对称
至于光学定位点的放置位置,看着放就行,一个放好了其他几个对称就行。
在源文件PCB做了改变,拼板的会自动同步改变(导入的可以,复制进拼板pcb的不行)。
DFM软件拼板
连片拼板功能。
直接一键搞定。

11.8、PCB板尺寸的标注
单板标注
找一个机械层,没有的话可以添加机械层。
比如这里标注在机械13层。
dimension,尺寸,linear线性标注

放置过程可以按Tab键对属性进行设置。
拼板标注
对拼板也要标注尺寸,
比如这里新增一个机械层,修改机械层为绿色。
层标注
这里在不同层都给了个线性标注。
方便生产人员去进行层的识别。
手动添加
函数添加


输出Gerber文件



11.9、 制造和装配图的PDF输出
装配图用于贴片时候的参考。


顶层输出哪些层


底层输出哪些层




装配图效果
11.10、 Gerber文件的输出
Gerber文件是连接生产的一个文件。
不能把pcb直接发给板厂生产,容易泄密。
板厂只能对Gerber文件进行微调。
再就是Gerber文件无视AD版本,便于板厂打开。
关于Gerber设置的问题,不要用鼠标右键的菜单栏去做设置,那只会生效一次。用OutJob去做设置。
Gerber路径设置



点击容器的 改变,可以改变输出的路径

通用

单位英寸,格式2-4,格式决定精度0.1
格式从2-3~2-5,分别代表精度无小数、一位小数、二位小数
层

点击后会自动勾选用到的层

从下到上(打勾的),板框层、丝印层、钢网层、阻焊层、底层线路层

钻孔图层

输出所有使用的钻孔对
光圈
高级

辅助钻孔文件


坐标文件
坐标文件只需要对单板进行输出。


CSV就是excel格式
辅助文件的输出容器

生成并发布


最后点击生成内容。

DFM软件一键导出Gerber
啥也不用设置。点点就搞定,安逸哦。
11.11、 PCB打样制版说明的制作
前面把设计和输出都做完了,最后要和板厂对接。
板厂拿到文件,需要知道一些生产所需的参数。

单片出货,会对连板掰开后出货发你。但这样贴片就是单片贴了,成本高。
连片尺寸一般就是拼板后的尺寸。
连片数量一般是5片打样。如果是批量就是5的倍数。
板子厚度一般是1.0\1.2\1.6,常规厚度。由结构工程师去定。
钢箔厚度,一盎司约0.035mm。盎司是重量单位,这里根据经验划算成了长度。
最小线宽和最小孔径根据自己的规则来。
喷锡一般选无铅喷锡。沉金是指镍金。
生产CAM资料,由Gerber等文件打包。下单了上传发给板厂。
制板说明
在线下单不需要制版说明。离线下单把这些在线下单的参数写进txt就行。
资料走向
采购拿Bom文件。
SMT厂拿拼板装配图。
板厂拿Gerber文件。
终、 课程总结及学习规划
菜就多练。
相关文章:
AD学习-最小系统板,双层
第一章 简单电阻容模型的创建 捕捉栅格在摆放器件时,一般设置成 10mil。移动器件时一般设置成100mil。 比如绘制电容的原理图库,直接就是两根线条竖着成电容, 按Tab键进行颜色变更,按shift键拖动会复制一个出来。 …...
【一.大模型认知与核心原理篇】【3. GPT解密:大模型背后的核心技术】
各位科技爱好者,今天咱们要干一票大的——把GPT这个AI界的当红顶流扒个底朝天。你以为ChatGPT会聊天就是它的全部能耐?Too young!这货肚子里藏的可是价值百亿美金的黑科技。咱们不整那些虚头巴脑的概念,直接上手拆解它的技术内脏,让你看看这个每天被调戏的聊天机器人,到底…...
说一下SpringBoot3新特新和JDK17新特性
JDK1.8(Java8)新特性 stream流式编程 流处理 Stream API 提供了对集合数据进行操作的一种高效、简洁的方式。它支持顺序和并行的聚合操作 如:过滤(filter)、排序(sort)、映射(map&…...
二、Visual Studio2022配置OpenGL环境
文章目录 一、OpenGL库的下载二、OpenGL环境配置三、测试代码演示 一、OpenGL库的下载 OpenGL配置的库是GLFWGLAD ,GLFW 主要用于创建 OpenGL 窗口和管理输入;GLAD 主要用于加载 OpenGL 函数 GLFW下载地址 下载Windows的32bit版本即可。 下载完成解压如…...
可视化编辑器选择
可视化页面编辑器选择 最近要开发一个低代码项目,一个低代码项目技术难点都在可视化编辑器上面,由于没有充足的时间,也没有可视化页面编辑器开发技术能力,因此找到一个靠谱的可视化编辑器,基本就成功了一半。 需求 …...
tomcat的安装与配置(包含在idea中配置tomcat)
Tomcat 是由 Apache 软件基金会开发的开源 Java Web 应用服务器,主要用于运行 Servlet 和 JSP(JavaServer Pages)程序。它属于轻量级应用服务器,适用于中小型系统及开发调试场景,尤其在处理动态内容(如 Jav…...
【编写UI自动化测试集】Appium+Python+Unittest+HTMLRunner
简介 获取AppPackage和AppActivity 定位UI控件的工具 脚本结构 PageObject分层管理 HTMLTestRunner生成测试报告 启动appium server服务 以python文件模式执行脚本生成测试报告 下载与安装 下载需要自动化测试的App并安装到手机 获取AppPackage和AppActivity 方法一 有源码的…...
递归入手三维动态规划
一和零 https://leetcode.cn/problems/ones-and-zeroes/description/ 题目解析 由递归入手, 就是一颗选和不选的树, 我们很好通过 dfs 来写出递归 题目解析 public class 一和零 {public static int zeros;public static int ones;public int findMaxForm(String[] strs, …...
Vue中实现大文件的切片并发下载和下载进度展示
Vue中实现大文件的切片下载 切片下载需要后端提供两个接口,第一个接口用来获取当前下载文件的总切片数,第二个接口用来获取具体某一个切片的内容。 界面展示 数据流展示 代码 接口 // 切片下载-获取文件的总切片数 export function getChunkDownload…...
行为模式---命令模式
概念 命令模式是一种行为设计模式,它的核心思想就是将请求封装为一个对象,此对象包含与请求相关的所有信息。可以用不同的请求对客户进行参数化。命令模式通过将请求的发送者和接收者解耦,支持请求的排队、记录、撤销等操作。 使用场景 1、…...
GNU Binutils 全工具指南:从编译到逆向的完整生态
1. GNU Binutils 全工具指南:从编译到逆向的完整生态 1. GNU Binutils 全工具指南:从编译到逆向的完整生态 1.1. 引言1.2. 工具分类速查表1.3. 核心工具详解 1.3.1. 编译与汇编工具 1.3.1.1. as(汇编器)1.3.1.2. gcc(…...
【手撕算法】支持向量机(SVM)从入门到实战:数学推导与核技巧揭秘
摘要 支持向量机(SVM)是机器学习中的经典算法!本文将深入解析最大间隔分类原理,手撕对偶问题推导过程,并实战实现非线性分类与图像识别。文中附《统计学习公式手册》及SVM调参指南,助力你掌握这一核心算法…...
[QT]开发全解析:从概念到实战
文章目录 Qt 框架入门与应用开发指南一、Qt 框架概述1.1 什么是 Qt1.2 Qt 的发展史1.3 Qt 支持的平台1.4 Qt 版本1.5 Qt 的优点1.6 Qt 的应用场景1.7 Qt 的成功案例 二、Qt 的开发工具概述Qt CreatorVisual StudioEclipse 三、认识 Qt Creator3.1 Qt Creator 概览3.2 使用 Qt C…...
进程控制 ─── linux第15课
目录 进程控制 1.进程创建 (fork前面讲过了) 写时拷贝 进程终止 进程退出场景 退出码 进程终止方法 进程控制 1.进程创建 (fork前面讲过了) 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父…...
uniapp:小程序将base64图片字符串保存到手机相册
一、需求分析 用户提供的是Base64格式的图片数据,而小程序保存图片到本地通常需要的是临时文件路径。 第一步可能需要将Base64数据转换成临时文件,然后再保存到手机相册。 第二步查阅UniApp的文档,关于保存图片到相册的相关API,…...
宇树科技再落一子!天羿科技落地深圳,加速机器人创世纪
2025年3月5日,机器人行业龙头宇树科技(Unitree)在深圳再添新动作——全资子公司深圳天羿科技有限公司正式成立。这家注册资本10万元、法定代表人周昌慧的新公司,聚焦智能机器人研发与销售,标志着宇树科技在华南市场的战…...
个推助力小米米家全场景智能生活体验再升级
当AI如同水电煤一般融入日常,万物互联的图景正从想象照进现实。作为智能家居领域的领跑者,小米米家凭借开放的生态战略,已连接了超8.6亿台设备,构建起全球领先的消费级AIoT平台。如今,小米米家携手个推,通过…...
四款GIS工具箱软件解析:满足企业多样化空间数据需求
概述 随着地理信息系统(GIS)在城市规划、环境监测、资源管理等领域的广泛应用,各种GIS工具箱软件不断涌现,为用户提供了强大的数据处理、空间分析和地图制图功能。本文将为大家介绍4款GIS工具箱软件,这些软件各具特色…...
Deepseek×ComfyUI革命性工作流:AI图像3倍速精修实战指南
一、为什么选择深度优化的AI精修方案(H2) 核心关键词:AI图像优化工作流、ComfyUI加速方案、Deepseek节点配置 ▸ 传统Stable Diffusion耗时痛点分析(渲染时间/显存占用) ▸ 深度神经网络的并行计算优势对比ÿ…...
IntelliJ IDEA 2024.3.4 版本无法正常加载maven项目
报错如下: Possible solutions: - Check that Maven settings.xml does not contain http repositories - Check that Maven pom files do not contain http repository http://192.168.22.76:9003/repository/thirdparty/ - Check that Maven pom files do not co…...
为什么过滤器需要一个 Wrapper 来 extends HttpServletRequestWrapper
为什么过滤器需要一个 Wrapper 来 extends HttpServletRequestWrapper 1. HttpServletRequest 不可直接修改2. 能够修改请求参数和请求体3. 方便扩展与重用4. 处理请求参数和请求体5. 避免对原始请求做修改 典型使用场景举个例子总结 在 Java Web 开发中,过滤器&…...
SpaCy处理NLP的详细工作原理及工作原理框图
spaCy处理NLP的详细工作原理及工作原理框图 spaCy处理NLP的详细工作原理 spaCy是一个基于Python的开源自然语言处理(NLP)库,它提供了一系列高效且易用的工具,用于执行各种NLP任务,如文本预处理、文本解析、命名实体识…...
数学软件Matlab下载|支持Win+Mac网盘资源分享
如大家所了解的,Matlab与Maple、Mathematica并称为三大数学软件。Matlab应用广泛,常被用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 Matlab将数值分析、矩阵计算、科学…...
OCPP与ISO 15118集成:实现即插即充与车网互动(V2G)- 慧知开源充电桩平台
OCPP与ISO 15118集成:实现即插即充与车网互动(V2G) 引言 随着电动汽车(EV)与电网双向能量交互(V2G)技术的成熟,OCPP协议与ISO 15118标准的协同成为智能充电基础设施的核心挑战。本文…...
【C++设计模式】第七篇:桥接模式(Bridge)
注意:复现代码时,确保 VS2022 使用 C17/20 标准以支持现代特性。 抽象与实现的解耦之道 1. 模式定义与用途 核心思想 桥接模式:将抽象部分与实现部分分离,使二者可以独立变化。关键用途: 1.拆分复杂继承…...
【SA8155】AIS Camera流程简述
目录 1 AIS Camera流程之初始化 2 AIS Camera流程之opencamera 3 AIS Camera流程之request处理流程 高通QNX车载系统 + LA虚拟机下Camera框图如下: 高通车载系统中,如上述框图所述,模组驱动在QNX侧,Android侧需要通过HAB Socket通信获取相机的数据。ais_v4l2_proxy将获取…...
容器 /dev/shm 泄漏学习
容器 /dev/shm 泄漏的介绍 在容器环境中,/dev/shm 是一个基于 tmpfs 的共享内存文件系统,通常用于进程间通信(IPC)和临时数据存储。由于其内存特性,/dev/shm 的大小是有限的,默认情况下 Docker 容器的 /de…...
【Deepseek基础】--3.版本对比
目录 1.Deepseek-v1:起步与编码强劲 2. DeepSeek-V2:性能提升与开源生态 3.DeepSeek-V2.5系列:数学与网络搜索突破 4.DeepSeek-R1-Lite系列:推理模型预览版上线 5. DeepSeek-V3系列:大规模模型与推理速度提升 6…...
一周学会Flask3 Python Web开发-WTForms表单验证
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们可以通过WTForms表单类属性的validators属性来实现表单验证。 常用的WTForms验证器 验证器说明DataRequired(messageNo…...
算法题笔记(自用)——Python
目录 一. 进制&位运算&ASCAII 二. format格式化输出 1. 基本用法 2. 位置参数 3. 格式化数字 4. 对齐和填充 5. 格式化二进制、八进制、十六进制 6. 格式化百分比 7. 格式化科学计数法 8. 格式化字符串字面量(f-string) 三. 字符串 使…...
Fiji图像处理
文章目录 一、Fiji —— 基于 imageJ 的免费且开源的图像处理软件1.1、工具安装(免费)1.2、源码下载(免费) 二、功能详解2.0、Fiji - ImageJ(Web应用程序)2.1、常用功能(汇总)2.2、F…...
【数据结构】堆和priority_queue
堆的定义 堆是什么?实际上堆是一种特殊的(受限制的)完全二叉树,它在完全二叉树的基础上要求每一个节点都要大于等于或者小于等于它的子树的所有节点。这个大于小于体现在节点的值或者权重。 如图所示: 根节点大于等于…...
Vue的简单入门 三
目录 侦听器 watch 注意 表单输入绑定 v-model v-model修饰符编辑 lazy number Trim 模板引用 组件组成 组件引用三步走 组件的嵌套关系 header Main Aside Aritice Item App.vue组件引入三个子组件 组件的注册方式 全局注册组件的方法 (1) Vue 2 语…...
kotlin的val声明的变量是常量吗
kotlin的val声明的变量是常量吗 DeepSeek R1 思考 65 秒 思考过程 嗯,用户问的是Kotlin中的val声明的变量是不是常量。首先我需要回忆一下Kotlin的基础知识。记得在Kotlin里,val用来声明只读变量,也就是说一旦赋值之后就不能再重新赋值了。…...
C# | 委托 | 事件 | 异步
委托(Delegate)和事件(Event) 在C#和C中,委托(Delegate)与事件(Event)以及函数对象(Function Object)是实现回调机制或传递行为的重要工具。虽然…...
算法日记33:14届蓝桥C++B冶炼金属(二分答案)
一、题目: 二、题解: 1、思路解析: 1)首先我们可以发现题目的样例数量为( n < 1000 n<1000 n<1000),因此我们可以考虑 O ( n ∗ l o g n ) O(n*log^n) O(n∗logn)时间复杂度的算法 …...
【YOLO V5】目标检测 WSL2 AutoDL VScode SSH
【YOLO V5】目标检测 WSL2 AutoDL VScode SSH 前言整体思路理解向YOLO 目标检测完整流程 环境配置Anaconda 获取 YOLO 代码与预训练模型下载 YOLOv5 代码和预训练模型配置 YOLOV5 工程环境解压 YOLOv5 源代码 并 添加预训练模型调整依赖版本选择对应的 Python 解释器 数据集准备…...
前端基础之ajax
vue-cli配置代理服务器解决跨域问题 我们可以使用一个代理服务器8080,Vue项目8080发送请求向代理服务器8080发送请求,再由在理服务器转发给后端服务器 首先需要在vue.config.js中配置代理服务器 const { defineConfig } require(vue/cli-service) modul…...
vscode离线配置远程服务器
目录 一、前提 二、方法 2.1 查看vscode的commit_id 2.2 下载linux服务器安装包 2.3 安装包上传到远程服务器,并进行文件解压缩 三、常见错误 Failed to set up socket for dynamic port forward to remote port(vscode报错解决方法)-C…...
C语言——string.h下的特殊库函数
string.h下的特殊函数 strtok(分割字符串)strerror(错误码信息)memcpy(拷贝)memmove(拷贝)memset(设置内存)memcmp(比较大小) strtok(分割字符串) char * strtok ( char * str, const char * s…...
烟花燃放安全管控:智能分析网关V4烟火检测技术保障安全
一、方案背景 在中国诸多传统节日的缤纷画卷中,烟花盛放、烧纸祭祀承载着人们的深厚情感。一方面,烟花璀璨,是对节日欢庆氛围的热烈烘托,寄托着大家对美好生活的向往与期许;另一方面,袅袅青烟、点点烛光&a…...
【一个月备战蓝桥算法】递归与递推
字典序 在刷题和计算机科学领域,字典序(Lexicographical order)也称为词典序、字典顺序、字母序,是一种对序列元素进行排序的方式,它模仿了字典中单词的排序规则。下面从不同的数据类型来详细解释字典序: …...
二、Java-封装playwright UI自动化(根据官网执行步骤,首先封装BrowserFactory枚举类及BrowserManager)
前言 查看playwright官网,api文档了解到,playwright的基本步骤: 1、实例化一个playwright 2、启动一个浏览器类型 3、打开一个页面 所以,在封装时需要有一个浏览器工厂类,定义不同的浏览器类型,在配置文…...
java项目之基于ssm的在线视频网站开发(源码+文档)
项目简介 基于ssm的在线视频网站开发实现了以下功能: 该系统的目标用户包括管理员,用户。管理员上传视频,管理视频,查看视频留言,回复视频留言,管理视频收藏信息,管理公告,管理用户…...
观察者模式的C++实现示例
核心思想 观察者模式是一种行为型设计模式,定义了对象之间的一对多依赖关系。当一个对象(称为Subject,主题)的状态发生改变时,所有依赖于它的对象(称为Observer,观察者)都会自动收到…...
c语言中的主要知识点
一、基础语法与结构 程序结构 包含顺序结构、选择结构(if/switch)、循环结构(for/while/do-while)。 程序必须包含且仅有一个main函数作为入口。 数据类型与变量 基本类型:整型(int、long)、浮…...
Pytorch构建LeNet进行MNIST识别 #自用
LeNet是一种经典的卷积神经网络(CNN)结构,由Yann LeCun等人在1998年提出,主要用于手写数字识别(如MNIST数据集)。作为最早的实用化卷积神经网络,LeNet为现代深度学习模型奠定了基础,…...
docker:Dockerfile案例之自定义centos7镜像
1 案例需求 自定义centos7镜像。要求: 默认登录路径为 /usr可以使用vim 2 实施步骤 编写dockerfile脚本 vim centos_dockerfile 内容如下: #定义父镜像 FROM centos:7#定义作者信息 MAINTAINER handsome <handsomehandsome.com># 设置阿里云…...
post get 给后端传参数
post 方式一 : data: params 作为请求体(Request Body)传递: 你已经展示了这种方式,通过data字段直接传递一个对象或数组。这种方式通常用于传递复杂的数据结构。dowmfrom: function (params) { return request({ u…...
Linux 系统不同分类的操作命令区别
Linux 系统有多种发行版,每种发行版都有其独特的操作命令和工具。以下是一些常见的分类及其操作命令的区别: 1. 基于 Red Hat 的发行版 (RHEL, CentOS, Fedora) 1.1 包管理 安装软件包: bash复制 sudo yum install <package> 更新软件包: bash复制 sudo yum update…...