Arduino是一个基于单片机并且开放源码的硬件平台,和一套为Arduino电路板编写程序的开发环境组成。Arduino可以用来开发交互产品,比如可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。Arduino项目可以是单独的,也可以在运行时和电脑中运行的程序进行通讯。
本实例采用2层板完成PCB设计,其性能技术要求如下:
(1)布局布线考虑信号稳定及EMC。
(2)理清整板信号线及电源线的流向,使PCB走线合理美观。
(3)特殊重要信号线按要求处理,如USB数据线差分走线并包地处理。
开始咯!
(1)执行菜单栏中“文件”→“项目”→“PCB工程”命令,创建一个新的工程文件Leonardo.PrjPCB,保存到相应的目录。
(2)在Leonardo.PrjPCB工程文件上单击鼠标右键,在弹出的快捷菜单中执行“添加新的...到工程”命令,选择需要添加的原理图文件和PCB文件以及集成库文件,如下图所示。
打开原理图文件,对其进行编译,检查有无电气连接方面的错误。只有确认没有错误后,才能进行PCB设计后续的工作。同时,很多场合要求将原理图打印出来,方便更多的人阅读。因此,原理图的编译是必需的。原理图的编译分为对当前文档的编译和对整个PCB工程的编译,这里选择对整个PCB工程进行编译。执行菜单栏中“工程”→Compile PCB Project Leonardo.PrjPCB命令,或者按快捷键C+C,如下图所示。
原理图编译完成后,可以单击PCB编辑界面右下角的Panels按钮,在弹出的菜单中选择打开Messages面板查看编译结果,如图所示。若提示Compile successful,no errors found,则原理图无电气性质的错误,可以继续下一步的操作,否则需要返回原理图根据错误提示修改至无错误为止。
下面列出常见的原理图检查错误项:
在本实例中使用的是集成库文件来绘制原理图,虽然集成库中每一个元件都关联好了对应的封装,但是为了避免出错,还是要对原理图的元件进行封装匹配检查。执行菜单栏中“工具”→“封装管理器”命令,打开封装管理器,可以查看所有元件的封装信息。
(1)确认所有元件都有对应的封装,如果存在某些元件无对应的封装,在原理图更新到PCB步骤中,就会存在元件网络无法导入的问题。
(2)封装管理器中,可以对元件的封装进行增加、删除和编辑的操作,使原理图元件与封装库里面的封装匹配上,如图所示。
(3)选择好对应的封装后,单击“确定”按钮,然后单击“接受变化(创建ECO)”按钮,在弹出的“工程变更”对话框中单击“执行变更”按钮,完成封装库匹配。
(1)执行更新命令
编译原理图无误及完成封装匹配之后,接下来的就是更新PCB文件了,也就是常说的原理图更新到PCB的操作,这一步是原理图与PCB之间连接的桥梁。执行菜单栏中“设计”→Update PCB Document Leonardo.PcbDoc命令,或者按快捷键D+U。
①执行更新操作后会出现如图所示的“工程变更指令”对话框,单击 执行更新按钮。
②若无任何错误,则“完成”这一栏全部显示“正确”图标 。若有错误则会显示“错误”图标 ,这时需要检查错误项并返回原理图修改,直至没有错误提示为止。
③关闭“工程变更指令”对话框,可以看到PCB编辑界面已经变成如图所示,这说明已经完成了原理图更新到PCB的操作,迈出了成功的第一步。
1.PCB推荐参数设置
(1)取消不常用的DRC检查项。DRC检查项检测过多会导致PCB布局布线的时候经常出现报错和造成软件的卡顿,如图所示,对DRC检查项进行设置,将其他检查项关闭,只保留第一个电气规则检查项。
(2)调整丝印。利用全局操作将元器件的位号调小放到元件中间,或者先将位号隐藏,方便后面的布局布线,如图所示。
2.板框的绘制
(1)按照设计要求绘制板框,切换到Mechanical 1层,执行菜单栏中“放置”→ “线条”命令,或者按快捷键P+L,绘制一个符合板子外形尺寸要求的闭合框。
(2)选中绘制好的板框线,执行菜单栏中“设计”→“板子形状”→“按照选择对象定义”命令,或者按快捷键D+S+D定义板框。
(3)放置尺寸标注,可在Mechanical 2层放置尺寸标注,执行菜单栏中“放置”→“尺寸”→“线性尺寸”命令,单位和模式选择(mm)。得到的板框效果如图所示。
1.交互式布局
交互式就是实现原理图和PCB之间的两两交互,需要在原理图和PCB中都打开“交叉选择模式”选项,如图所示。
2.模块化布局
(1)按照项目要求,有固定结构位置的接口或者元件先摆放,然后根据元件信号飞线的方向摆放大元件,按照“先大后小”、“先难后易”的顺序。把元件在板框内大概放好,完成项目的预布局,如图所示。
(2)通过“交叉选择”功能和“在区域内排列器件”功能,把元件按照原理图电路模块分块放置,并把其放置到对应接口或对应电路模块附近,如图所示。
(3)结合交互式布局和模块化布局,完成整板的PCB布局,如图所示。布局的时候遵循以下基本原则:
①接口元件靠近板边摆放,小元件距离接口元件的距离不要太近。
②布局考虑走线尽可能短,少交叉。
③电源模块布局注意输入输出的方向,电源滤波电容靠近输入输出位置。
④滤波电容靠近芯片管脚放置。
⑤整板布局要合理分布,整齐美观。
⑥模拟电路和数字电路分开。
(PCB布线是PCB设计当中最重要最耗时的一个环节,这将直接影响着PCB板的性能好坏。在PCB的设计过程中,布线一般有三种境界的划分:
首先是布通,这是PCB设计的最基本要求。如果线路都没布通,搞得到处是飞线,那将是一块不合格的板子,可以说还没入门。
其次是电气性能的满足,这是衡量一块印刷电路板是否合格的标准。这是在布通之后,认真调整布线,使其能达到最佳的电气性能。
最后是美观,假如布线连通了,也没有什么影响电气性能的地方,但是一眼看过去杂乱无章的,加上五彩缤纷、花花绿绿的,那就算电气性能再好,在别人眼里还是垃圾一块。这样会给测试和维修带来极大的不便。布线要整齐规范,不能纵横交错毫无章法。这些都要在保证电气性能和满足其他个别要求的情况下实现,否则就是舍本逐末。
本例全部采用手工布线,下面在PCB布线之前先介绍一些常用的规则等设置。
1.Class的创建
为了更好的布线,可以对信号网络和电源网络进行归类,执行菜单栏中“设计”→“类”命令,或者按快捷键D+C,打开“对象类浏览器”对话框,这里以创建一个电源类为例,在Net Classes(网络类)处单击鼠标右键,在弹出的快捷菜单中执行“添加类”命令,并将其命名为PWR,并将需要归为一类的电源网络从“非成员”列表中划分到“成员”列表中如图所示。
2.布线规则的添加
1)安全间距规则设置
(1)按快捷键D+R,打开PCB规则及约束编辑器。
(2)在左边设计规则列表中选择Routing→Clearance,在右边编辑区中设置 All整板间距规则和Poly铺铜间距规则。具体设置方法如图所示。
2)线宽规则设置
(1)在左边设计规则列表中选择Routing→Width,在右边编辑区中设置一个常规信号线的线宽规则,这里设置为最小、首选线宽为6mil,最大线宽设置为40mil,如图所示。
(2)创建一个针对电源PWR类的线宽规则,因为需要对电源网络进行加粗设置,如图所示。
在本例中可以采用20/10mil的过孔尺寸,过孔尺寸的规则设置如图所示。
4)铜皮连接样式规则设置
铜皮连接方式一般设置为Direct Connect(全连接的方式),如图所示。
3.整板模块短线的连接
在进行PCB整板布线时,首先需要先把每个模块之间的短线先连通,把布线路径比较远并且不好布的信号线从焊盘上引出并打孔,然后将电源和地孔扇出,如图所示。
4.整板走线的连接
整板布线是PCB设计当中最重要和最耗时的环节,在本例中全部采用手工布线,下图为整板走线完成后的效果。PCB布线应该大体遵循以下原则:
(1)走线要简洁,尽可能短,尽量少拐弯,力求走线简单明了(特殊要求除外,如阻抗匹配和时序要求)。
(2)避免锐角走线和直角走线,一般采用45度拐角,以减小高频信号的辐射(有些要求高的线还要用弧线)。
(3)任何信号线都不要形成环路,如不可避免,环路面积应尽量小;信号线的过孔要尽量少。
(4)关键的线尽量短而粗,并在两边加上保护地;电源和GND进行加粗处理,满足载流。
(5)晶振表层走线不能打孔,晶振周围包地处理。时钟振荡电路下面、特殊高速逻辑电路部分要加大地的面积,而不应该走其它信号线,以使周围电场趋近于零。
(6)电源线和其他的信号线之间预留一定的间距,防止纹波干扰。
(7)关键信号应预留测试点,以方便生产和维修检测用。
(8)PCB布线完成后,应对布线进行优化,同时,经初步网络检查和DRC检查无误后,对未布线区域用大面积铺铜铜进行地线填充。或是做成多层板,电源、地线各占用一层。
在整板走线连通和电源处理完以后,需要对整板的情况进行走线的优化调整及丝印的调整等,下面介绍常见的处理项。
1.串扰控制
串扰(CrossTalk)是指PCB上不同网络之间因较长的平行布线引起的相互干扰(主要是由于平行线间的分布电容和分布电感的作用)。在平行线间插入接地的隔离线,减小布线层与地平面的距离。
3W规则。为了减少线间串扰,应保证导线间距足够大,当导线中心间距不少于3倍线宽时,则可保持70%的电场不互相干扰,这被称为3W规则,如图所示,调整走线时可以对此进行优化修正。
2.环路最小原则
信号线与其回路构成的环面积要尽可能小,环面积越小,对外的辐射越少,接收外界的干扰也越小。如图所示,尽量在出现环路的地方让其面积做到最小。
3.走线的开环检查
一般不允许出现一端浮空的布线(Dangling Line), 主要是为了避免产生“天线效应”,减少不必要的干扰辐射和接收,否则可能带来不可预知的结果,如图所示。
4. 倒角检查
PCB设计中应避免产生锐角和直角,产生不必要的辐射,同时工艺性能也不好,一般采用45度倒角,如图所示。
5.孤铜与尖岬铜皮的修正
为了满足生产的要求,PCB设计中不应出现“孤铜”的现象,可以通过铺铜的属性设置Remove Dead Copper避免出现“孤铜”,如图7-28所示。PCB中也应当避免出现尖岬铜皮的情况,这可以通过放置“多边形铺铜挖空”的方式来实现,如图所示。
6.地过孔的放置
为了减少回流的路径以及增加层与层之间的连通性,需要在PCB一些空白的地方和信号线打孔换层的地方附近放置GND过孔,如图所示。
7.丝印调整
在后期元件装配时,特别是手工装配元件的时候,一般都要输出PCB的装配图,这时候丝印位号就显得尤为重要了。按快捷键L,在弹出的View Configuration面板只打开对应的丝印层、Paste层以及Multi-Layer层,方便对丝印进行调整,如图所示。
为了使位号清晰,字体大小推荐字宽/字高尺寸:4mil/25mil、5mil/30mil。为了使整板丝印方向一致,一般调整为字母向左或向下,如图所示。
通过前面关于DRC检查的介绍可以看出,DRC检查就是检查当前的设计是否满足规则要求,是PCB板设计正确性和完整性的重要保证。执行菜单栏中“工具”→“设计规则检查”命令,或者按快捷键T+D,打开设计规则检查器,勾选需要的检测项,一般只勾选第一个电气规则检查项,检查包含间距、短路及开路设置,里面几项都需要选择,如图所示。在DRC的Messages报告中,查看和更正错误,直到DRC报告无错误为止。
PCB后期走线调整和DRC检查都完成后,最后一步就是PCB生产资料的输出,按照前文所说的步骤一步一步进行资料的输出即可。