2.3.2-无线门磁探测器硬件设计
硬件设计流程
关键物料选型
MCU: STC15W104
干簧管: 磁簧开关(Reed Switch)也称之为干簧管,它是一个通过所施加的磁场操作的电开关。基本型式是将两片磁簧片密封在玻璃管内,两片虽重叠,但中间间隔有一小空隙。当外来磁场时将使两片磁簧片接触,进而导通。 一旦磁体被拉到远离开关,磁簧开关将返回到其原来的位置。
电源模块: "12A"电池 + HT7530稳压管
PCB设计软件(Altium Designer)
理解原理图、PCB、原理图库、PCB库。
注意建立完成的工程的后缀对应的文件。
AD设计不是为了电路仿真,是为了导出印刷电路板,电路仿真可以考虑使用Multisim。
无线门磁探测器原理图设计以及绘制
理解visible grid和snap grid。
元件库的建立以及元件库内元件的设计,放置。(设计干簧管)
电磁控制电路和电源电路的讲解,干簧管控制输入电源的电平高低,电源电路采用HT7530将12V电压输出为3V电压。
电源模块
使用23A电池,12V输入电压,应使用HT7530芯片将电压稳定在为3V。
门磁开关检测模块
关门状态下,干簧管闭合,GUAN处于低电平,三极管关断,KAI为高电平;开门状态下。干簧管开路,GUAN处于高电平,三极管通路KAI处于低电平。总结:关门时,GUAN下降沿;开门时,KAI下降沿。
电池低压检测模块
用于检测电池健康度。当电池电压较低时,Q3不导通,Q2导通,Volt_LOW处于低电平;当电池电压较高时,Q3导通,Q2不导通,Volt_LOW处于高电平。总结:当电池电量不足时,Volt_LOW有下降沿。
射频模块
需要由射频硬件工程师来完成,或者使用现成解决方案。
MCU电路
由STC15W104的芯片手册可知INT0、INT1支持上升沿和下降沿中断,INT2、INT3、INT4只支持下降沿中断,以此来确定开门关门以及低压检测所在中断的引脚。并且应当注意单片机烧录引脚不应该加上拉或者下拉电源,可能会导致烧录失败。
印刷电路板(PCB)绘制
概要:
- 建库。画PcbLib与SchLib(可利用立创商城)
- 绘制原理图。将SchLib内的元件拿出放入到SchDoc,连接元件并检查原理图的正确性
- 绘制电路图。依据加工厂设计能力设置电路板的极限参数建立规则,将原理图关系导入到电路图中(Pcb与Sch以网表相关联),进行PCB布局布线和PCB规则检查。
建库
新建工程
- 文件-新的-项目,设置好项目名称和项目文件路径,AD将在对应路径下新建一个与项目名称相同的文件夹放置项目文件。
- 在文件夹下新建lib、sch、pcb三个空文件夹。
- 右键左侧projects栏中对应工程,分别建立SchLib、PcbLib、SchDoc、PcbDoc;将SchLib、PcbLib命名保存到工程目录的lib文件夹内,将SchDoc、PcbDoc命名分别保存到sch与pcb文件夹内。
绘制PcbLib
绘制PcbLib有四个步骤:元件起名、放置引脚、放置丝印、放置3D外框。
打开PCB Library选项卡,进入PcbLib绘制阶段。
-
元件起名:在封装(FootPrints)栏中右键选择New Blank Footprint,双击器件以编辑。
打开芯片的数据手册,记录芯片引脚之间的最远与最近距离、芯片封装体的长宽高等芯片参数。
tips:画PcbLib类似于画PcbDoc,有层的定义,分为顶层(Top Layer)、底层(Bottom Layer)、机械层(Mechanical Layer)、丝印层(Top Overlay)、通孔层(Multi-Layer)。在绘制框内按G弹出栅格设置。单位切换:按Q在公制(mm)和英制(mil)之间切换,1mil = 0.0254mm。顶层:元器件的引脚(PAD)。丝印层:外框。机械层:3D外形。 -
顶层(top layer)放置引脚: 点击place-pad取出焊盘,按tab编辑引脚(或焊盘)属性,设置引脚所在层级为顶层(top layer),Pad Stack中设置焊盘的形状以及长宽(焊盘应当有足够的机械强度)。利用捕获栅格距离的设置,根据具体参数放置各个焊盘。按顺序放置完所有焊盘之后,编辑-设置参考点-中心点。
-
丝印层(top overlay)放置芯片外框丝印:用直线画出芯片外框,用豁口标记1引脚位置。
-
机械层(mechanical layer)设置3D外形:放置(place) – 3D元件体,右方选项卡中identifier标明器件名称,Board side指的是板面的侧,如果选择顶层(top),则3D元件体垂直纸面向外,选择底层(Bottom)则反之。3D Model Type有四种类型,其中Extruded(柱体)、Cylinder(圆柱体)和Sphere(球体)用于建立一些简单的3D模型,Generic(通用)用于一些形式复杂的器件的导入,一般是AutoCAD中的step文件。
-
通孔层(Multi-Layer):将所有层连接在一起,via就是处于这个层。
绘制SchLib
画元器件外观以及各个引脚,复制好引脚描述,引脚的电气特性Electrical Type全部设置为Passive,因为不在AD并非电路仿真工具,AD设计只是为了导出电路板。
立创商城移植PcbLib与SchLib,节约建库时间
利用立创商城建立一些较复杂的SchLib和PcbLib,然后添加到工程中。
立创商城和立创EDA如何将元件库导入Altium Designer为己所用
操作步骤文字描述:
- 在立创商城中搜索所需元器件,选定元器件之后点击数据手册-立即使用。
- 然后文件-导出Altium Designer,将所选元件的SchDoc与PcbDoc下载。
- 使用AD打开两个文件,对Sch文件使用Design-Make Schematic Library,生成SchLib,类似操作生成PcbLib。
- 进入生成的库中,将其中的元器件从左边菜单栏中复制到项目库文件的菜单栏中,至此,移植完毕。
原理图绘制
绘制步骤概述
原理图绘制的四个步骤:
- 添加元器件到原理图。
- 连接元器件,三个步骤:连线、网名、给网名加上示意标识。
- 元器件编号。
- 检查原理图。
tips:器件按空格旋转,按X/Y镜像翻转。
添加元器件
在右侧菜单的“component”选项卡中,选择元器件所在库,将之拖出到SchDoc。
连接元器件
按照信号传输方向以及数据手册要求放置元器件。利用线和网名连接各个元器件引脚。
对于两条差分线,应该分别定义网名为“变量名_P”与“变量名_N”并且在两条差分线上放上差分对标示,如下图所示。这样在pcb自动生成的时候,两条差分线将会等长,使高速信号在传输过程中不发生偏差。
在芯片悬空的位置放置“NO ERC”标示,条理清晰,预防报错。
元器件编号
对于有特定名称的元器件,选择直接编辑元器件的Designator。
对于没有特定名称的元器件,形式为 “U?”、“J?”、“C?”… …则使用自动标号,在顶部菜单栏的工具选项卡中选择“标注—原理图标注”,点击“更新更改列表”弹出更改提示框,再点击“接受更改”,验证并执行变更,完成元器件编号。
检查原理图
右键工程编译工程,看原理图是否出错,若没有错误则不会弹出提示框。
网表的概念(FPGA相关)
所谓网表,就是包含了原理图文件中所有连接关系的文字描述文件。其中器件和网络最为重要,不可或缺。
在AD中依次点击“设计(design)—工程网络列表(netlist for project)—protel”,右边目录出现“Generated”选项卡,内部包含一个.NET文件。
网表中的每个单元(元器件)信息用方括号表示,在网表的最前面。
对于人工定义的网络,网络的传递用小括号表示,第一行为网络的名称(人工定义的网名),后面的引脚标号表示了网络中连接的引脚。
对于未人工定义的网络,网络的传递依旧用小括号来表示,与人工定义的网络不同之处:网络名称为自动生成的网名,如图中NETC5_1为自动生成的网名,表示C5的第一个引脚。
根据网表的内容,我们可以看出引脚的名字(name)并不重要,重要的是引脚的标识符(designator),电路图只认封装和联系关系。
只需拿出封装库与网表文件,就可以在Cadence内设计PCB板。网表文件中包含着各器件的连接关系,不同软件之间的原理图和PCB之间的电路信息传递都通过网表来实现。
PCB绘制
导入原理图到PCB
导入原理图到PCB时,若验证变更出错,则尝试直接执行变更。因为验证变更是把原理图生成网表进行一次检查,部分需要二次验证的逻辑无法验证。例如差分线需要验证网名对,一次验证网名必然出错,但是执行变更相当于两次验证网名,差分线得以验证。
建立规则
工厂设计极限设置
点击“设计—规则”。修改电气指标(Electrical)中线与线的间距(Clearance);线路指标(Routing)中线宽(Width)、过孔参数(RoutingVias)、差分线路径参数(Differential Pairs Routing);覆铜规则(Plane)也可能用上。
叠层设计Layer Stack Manager(用于设计多层板)
设计(Design)–层叠管理器(Layer Stack Manager)
双层PCB板结构(从上到下):
1 | Top Overlay (顶层丝印层)-- |
tips:电路板一般来讲只有偶数层,因为标准板型为双层板,偶数层的电路板能由多块双层电路板中间增加电介质层堆叠而成。而奇数层往往需要定制电路板,成本较高。
叠层时注意层级的类型:
Internal Plane为内电层,多层板用于铺VCC铜层和GND地层,不能走信号,生产过程中出光绘胶片时出负胶片。
Signal layer为信号层,用于安装元器件及走线,生产过程中出光绘胶片时出正胶片,在此层出现的线与铜皮都是实际出的板子上的线路与铜皮。
PCB布局
在PCB布局之前,视图配置(view configuration)是必要的,最小化布局过程中受到的干扰,比如隐藏一些对布局没有帮助的Layer,修改Layer的颜色。
按快捷键L弹出view configuration,或者点击界面右下方“Panels”按钮找到view configuration。如下图,在布局布线过程中,信号层(Top/Bottom Layer)和丝印层(Overlay)最为重要,其他的都可以隐藏。
设置完view configuration之后,将元器件按照信号传输方向有逻辑地排列在线路板上,使得元器件之间引线短,同时打开PCB和原理图(“Window—垂直平铺”),按照连接关系布局,PCB板设计90%在于布局,10%在于布线,布局得当,布线就容易。
芯片的去耦电容应该靠近芯片的供电引脚,并且容值越小的电容应该越近。
PCB布线和铺铜
PCB布线先布模拟信号线和高速信号线,因为这两者容易受干扰,高速信号线还容易干扰别的电路。在布局时就该考虑到,要让这两种线尽量短。
如果PCB无法布线,则需要删除并回到原理图重新修改。
在PCB中,我们常常选用一整片铜片来连接VCC网络和GND网络,可以起到降低阻抗,减少尖峰信号的作用,因此就有了铺铜操作。
对于电路板铺铜操作,首先需要画出铺铜的区域,右键区域铺铜,如下图。
选定好铺铜之后,再选择铜皮所连接的网络,如下图
铺完之后需要查看网络中的点是否都连接在一起,如果有元器件没有连接,则需要重新调整铺铜区域。铺铜往往用于VCC网络和GND网络的连接。
快捷键 “数字小键盘*” 能够在电路板布线时切换层级,过孔(via)是联系Top Layer和Bottom Layer的重要PCB元件。过孔的快速放置方法:交互式布线以线路板Top Layer作为起点,然后按快捷键"*"切换层级,将终点放置在Bottom Layer,则会自动生成过孔(via)。前面的布局必须要得当,不然会被迫设置大量via,每个via中都会有寄生电容和电感,很可能影响电路的正常运行。
规则检查
工具(tool)–设计规则检查(Design Rule Check)–运行DRC(Run Design Rule Check)
出现错误,查看错误内容,此时的问题主要是阻焊(solder)和丝印(silk)的问题了,如下图,打开规则中的manufacturing选项,修改其中有关于silk和solder的设置。
如下图,阻焊层裂口(Solder Mask Sliver)表示对象之间的间距最小值,与加工厂工艺水平有关,一般设置为0mm也不会出问题。
如下图,焊盘与丝印层的之间的间距(Silk To Mask Clearance)不能过小也不能大,过小会导致丝印在焊盘上,焊盘是光滑的,无法丝印;过大会导致丝印层与元器件的对应关系混乱。一般设置为0.1mm。
如下图,字符位号与位号之间,位号与芯片外框之间的距离,定义为0.1mm。
板框大小设定(对于有公版外壳的产品需要放在第一步进行)
对于有外壳的产品,其板框大小在外壳确定之后就已经确定了,因此可放在第一步。
设置板框有两种方法:
- 在PCB界面按快捷键“1”,进入机械视图,依次点击“设计(Design)–重新定义板形状(Redefine Board Shape)”,框选出板框的范围。
- 在Keep-Out Layer(板框层)中画一个矩形框,在view configuration里设置只显示Keep-Out Layer,将之前画的矩形框选中,然后依次点击“设计(Design)–板子形状(Board Shape)–从选择对象中定义(Define from selected objects)”。
较为推荐第二种方法。
BOM文件整理
利用AD生成BOM表
BOM(bill of materials,材料清单)制作
BOM表直接从原理图中导出,因此需要将原理图中的元件名称后加上必要的标识,方便后续采购。
“报告(Reports)-- bill of materials”打开BOM表生成界面,生成BOM表。
调整BOM表格式内容,元器件中文名称、描述(包括value和footprint)、标志(丝印)和数量。贴片和插件分开。
利用脚本生成BOM清单(推荐)
开源脚本发布地址:Releases · lianlian33/InteractiveHtmlBomForAD (github.com)
下载脚本文件,到设置的“scripting system”中选择脚本目录中的.PrjScr文件导入,点击脚本文件夹中的Initialize.bat进行初始化操作,至此,脚本安装完成。
在AD中打开.PcbDoc文件,上方菜单栏中选择文件选项卡中的运行脚本选项,选择mainWin.js中的startWin运行。如右图中设置,点击“GenerateBom”生成BOMhtml文件。
打板文件的输出
不涉及机密的电路板,可以直接将.PcbDoc发给厂商进行生产。
涉及到机密的电路板,一般先转换成Gerber文件再发给厂商,实际上厂商要进行电路板制造的话,也是需要先将PCB文件转换为Gerber文件再进行生产。