工欲善其事,必先利其器。随着电子技术的发展,电路的复杂程度越来越高,电路设计软件也越来越多,对新产品的开发速度要求也越来越高,要想在竞争中脱颖而出,就必须利用优秀的工具。设计电路板也不例外,在本次PCB快速设计培训中,我们将以最快的速度完成一个例程的电路板设计。
下面我们先看一下电路板设计的流程,在下面的流程图中,主要分为两个部分,第一行的最后一个框之前是原理图设计的部分(第一部分),包括在硬件出来之前的仿真调试、元件封装的检查和分配,以及导出网络表。后面是PCB设计的部分(第二部分),包括布局、布线和输出电路板。 针对于PROTEUS,原理图设计及仿真都将在应用程序ISIS中进行,而PCB设计将在应用程序ARES中进行。
前面所说的第一部分都为PCB设计的前期工作。下面我们以一个DA转换电路为例,完成PCB设计前期的工作。
首先,在ISIS中进行原理图的设计。下面这张电路图是在PROTEUS 7.6 SP4中文版的环境下所绘制的。- 进行电气规则检查,看是否有明显的设计错误。
在“工具”菜单中选择“电气规则检查命令”后弹出检查报告。
从报告中,我们可以看到有3个没有驱动的网络(数字示波器的B\C\D通道)和3个警告信息(都与IOUT2连接到地有关)。这些从理论的设计上没有错误,所以我们将它们忽略。
在“系统”菜单中选择“设置元件清单”命令后弹出对话框。
在“文件”下拉框中我们选择第4项——Full CSV Output,系统默认的选择会自动加入“类别”、“元件编号”、“元件值”、“命令代码”,在“字段”中我们删除“命令代码”,点击“添加”按钮添加“封装”。
在下面的左图中点击“列表”,然后在出现的右图中选择“PACKAGE”后点击“确定”退出。
在做了如下左图所示设置后再次点击“确定”,最后点击“确定”退出。
下面我们查看BOM并输出。
将另存的CSV格式文件用EXCEL打开后做简单编辑,得如下结果:
设计好后可以进行部分电路的仿真,如果电路中带有单片机等,就可以利用汇编语言的编译器进行汇编代码的编写和编译,或利用第三方的集成开发环境进行源代码的编写和编译,然后将生成的目标代码加载到控制器中,进行系统的仿真。系统仿真完毕之后,没问题就可以进行下一步。
通过BOM,我们可以看图中涉及到的元件及其具体参数。
点击工具栏上的
命令,我们在设计浏览器中查看器件有无封装。
如果封装不正确的元件,可以双击器件,打开其属性对话框修改(如下图“DIL20”所在的位置)。
对于没有封装的器件,在器件上单击右键,在弹出的框中选择“封装工具”
然后为其添加封装,注意原理图符号的引脚要与PCB封装的引脚对应。
网络表是原理图与PCB连接的桥梁,我们可以在PROTEUS中仿真得到结果后导出网络表去其它软件中绘制PCB,也可以在其它软件中设计原理图后生成网络表导入到PROTEUS ARES中来绘制PCB。
在“工具”菜单中选择“编译网络表”,在对话框“网络表编译器”中可以选择输出的格式。
PROTEUS ARES默认采用的格式是SDF,也就是说如果要用PROTEUS来画PCB,必须要先将网络表格式转成SDF的。在官方网站:
http://www.labcenter.co.uk/support/downloads.cfm
上可以免费下载sdfgen41.zip,它可以将MULTIWIRE 和 TANGO格式的网络表转成SDF格式的。
在输出网络表时,假如选择Tango格式,单击“确定”后出现以下对话框,另存即可得到我们需要的Tango格式网络表。
下面我们开始做一个按钮的封装
如上图所示,在ARES模式工具栏中内径50th,外径80th的圆形穿孔焊盘。
Proteus中英制单位为th,1th=1/1000inch=0.0254mm
如果没有这种类型,则按下面步骤创建:
- 在圆形焊盘模式下点击按钮
-
在名称中输入C-80-50,常规选择“圆形”,然后确定。 - 编辑焊盘类型,设置焊盘参数,如上图(右图)。最后“确定“退出。
-
放置焊盘
在编辑窗口中放置所选取的焊盘四个,焊盘横向间距为6mm,纵向间距为5mm,并为焊盘按右图命名。
在2D绘图模式工具栏中选择矩形图标
圆形图标
,在丝印层绘制一个方框和圆。
全部选中,使用右键菜单中的”创建封装”命令,在弹出的对话框当中输入相关信息,封装的名称,封装类型等等。
-
在ISIS中,利用右键菜单里的“封装工具”为器件指定封装。
在进行布局和布线之前,用户可以通过设计管理器配置设计规则,并能对特定的层,特定的网络或一组网络进行管理。用户还可以创建任意数量的设计规则,可以对板的允许容错进行完全地控制。
下图中,左图为安全距离设置选项卡,右图为网络布线设置选项卡。
ARES集成了元器件自动放置功能,对于复杂度比较小的板,比如说设计样例中的CPU.LYT(文件所在位置:C:\Program Files\Labcenter Electronics\Proteus 7 Professional\SAMPLES\Schematic & PCB Layout),完全可以利用自动布局,不过对于比较复杂度较高的板,手动加自动布局是比较理想的布局方法。
在自动布局之前应当先按照所要设计的板的大小画好板的边框,而且在布局中我们要以把要放置的器件先按顺序排列,也可以先选择一部分元件先进行布局。放置权重也是一个比较有用的选项,比如当要把几个相同功能的电阻整齐排列时,可以把对齐选的权重设置为最大值100。
在ARES中手工调整器件时,可以参考黄色的力向量线条。
PROTEUS ARES 集成了一个基于形状的自动布线器,这个新的布线器不仅是基于几何的(不是基于网格的),而且它还应用了一种新的减少冲突的算法,该算法和尖端的布线算法一起构成了一种自适应的策略,这种策略使得布通率大大提高,更符合高密度PCB设计处理复杂设计规则时的需要。
从上图中我们可以看到,PROTEUS的执行模式可以分为3种:自动执行基本安排(按方框中设定好的参数),自动执行设置(按DO格式的文件执行),交互式输入布线命令(用户每输入一个命令,ARES就执行一个操作)。
在布线的时候有飞线连接到目标焊盘,而且该焊盘呈现高亮状态显示。在布线的时候还可以利用“X光标”(快捷键为X)。
- 3D预览及生产文件的输出
3D预览:在“输出”菜单中选择“3D预览”则可以看到电路板的3维效果。
生产文件输出:GERBER文件输出和ODB++文件的输出:
同样,在上面的“输出”菜单中选择“Gerber输出”和“ODB++输出”会分别进入相应的文件输出对话框,可以选择需要输出的层信息。如果在“输出”菜单中选择“生产要点”,还可以添加电路板的一些信息(如下图右图所示)。
第4节 PROTEUS仿真工具4.1. 探针电压及电流探针,使用方法。
4.2. 激励源4.2.1. 直流电压源1、设置为某一阿拉伯数字。
4.2.2. 正弦波发生器振幅、时间、延时3个参数中,都有多个选项可以选择填入,只需填入一个选项,则其它选项系统会自行计算。
Cycles/Graph=1也就是说,一个图表中只显示一个周期的信号。这也就意味着,只要我们输入图表的仿真时间,再输入该选项,则信号的频率就决定了。
4.2.3. 脉冲发生器其中,“脉冲宽度%”为最大电压值持续时间所占整个信号周期的百分比。
4.2.4. 指数信号发生器4.2.5. 单频率调频波发生器4.2.6. 任意分段线性脉冲4.2.7. 文件信号发生器所加载的文件格式可以为.TXT,数据格式为每行显示时间和电压值,其中这两个数据要用空格键隔开。
4.2.8. 音频信号发生器音频文件格式为.WAV。
4.2.9. 数字单稳态信号数字信号的7种状态。
4.2.10. 数字单边沿触发信号4.2.11. 数字单脉冲信号脉冲宽度为高电平持续时间。
4.2.12. 数字时钟信号4.2.13. 数字模式信号发生器
它可以产生其它任意类型的数字信号。
4.2.14. 可编程信号源编辑其属性,在本地脚本框中输入自己的程序。
帮助内容见:开始->所有程序->Proteus 7 Professional->EasyHDL Language Reference。
4.3. 虚拟仪器4.3.1. 数字示波器4.3.2. 逻辑分析仪4.3.3. 计数/定时器4.3.4. 虚拟终端
4.3.5. 函数信号发生器4.3.6. 模式发生器4.3.7. 交、直流电压/电流表交流电压表和电流表显示有效值。
4.3.8. SPI调试器4.3.9. I2C调试器4.3.10. USB调试器4.4. 仿真图表4.4.1. 模拟信号分析分析时域上的模拟信号,可以使用2个Y轴。
使用方法:1、可以将探针直接拖拽至图表上,设定时间,仿真。
2、选中多个探针,在绘图菜单下选择添加图线可以将多个探针同时加载到 图表中,设定时间,仿真。
4.4.2. 数字信号分析分析时域上的数字信号,可以使用2个Y轴。使用方法同模拟图表。
4.4.3. 混和信号分析可以同时分析时域上的数字信号和模拟信号,可以使用2个Y轴。
使用方法:
1、可以将探针直接拖拽至图表上,设定时间,仿真。
2、选中多个探针,在绘图菜单下选择添加图线可以将多个探针同时加载到 图表中,设定时间,仿真。
3、在绘图菜单下选择单个探针,在绘图菜单下选择添加图线,选择探针PX(添加对应信号),选择信号类型(数字或模拟),设定时间,仿真。
4.4.4. 频率分析4.4.5. 转移特性分析4.4.6. 噪声分析4.4.7. 失真分析4.4.8. 傅里叶分析4.4.9. 音频分析4.4.10. 交互分析4.4.11. 一致性分析4.4.12. 直流扫描分析4.4.13. 交流扫描分析
第5节 PROTEUS在模电中的应用5.1. 单管放大电路目的:
1、学习晶体管放大电路静态工作点的测试方法,进一步理解电路元件参数对静态工作点的影响,以及调整静态工作点的方法。
2、学习放大电路性能指标:电压增益AV、输入电阻Ri、输出电阻RO的测量方法。
三极管模型采用2N2222A,信息如下:
数据手册:2n2222a .pdf.
5.1.1. 绘制转移特性曲线扫描参数:
Vce:0-12V Ib:100uA-1m
目标参数:
Ic
5.1.2. 测量并计算静态工作点将输入端对地短路,调节电位器RP2,使VC=Ec/2 ( 取6~7伏),测静态工作点VC、VE、VB及Vb1的数值。
按下式计算IB 、IC ,并记入表5-1中。
表5-1
5.1.3. 改变RL,观察对放大倍数的影响负载电阻分别取RL=2KΩ、RL= 5.1K和RL=∞,输入接入f=1KHz的正弦信号, 幅度以保证输出波形不失真为准。测量Vi 和V0计算电压放大倍数:Av=Vo/V1,把数据填入表3-2中。
表5-2
5.1.4. 改变RC,观察对放大倍数的影响取RL=2K,按下表改变RC,测量放大倍数,将数据填入表2-3 中。
表5-3
5.1.5. 测量电压参数,计算输入电阻和输出电阻按图连线
输入端接入f=1KHz、Vi=20mV的正弦信号(幅度以保证输出波形不失真为准)。
分别测出电阻R1两端对地信号电压Vi及Vi′按下式计算出输入电阻Ri :
测出负载电阻RL开路时的输出电压V∞ ,和接入RL(2K)时的输出电压V0 , 然后按下式计算出输出电阻R0;
将测量数据及实验结果填入表5-4中。
表5-4
5.2. 集成运算放大器5.2.1. 根据电路参数计算Av=VO/VI=?按表5-5给定的直流电压VI值计算和测量对应的V0值。反相比例运算 表5-5
5.2.2. 根据电路参数计算Av=VO/VI=?按表5-6给定的直流电压VI值计算和测量对应的V0值。反相比例运算 表5-6
5.3. 正弦波振荡器目的
1、学习RC正弦波振荡器的组成及其振荡条件。
2、学习如何设计、调试上述电路和测量电路输出波形的频率、幅度。
本电路为文氏电桥RC正弦波振荡器,可用来产生频率范围宽、波形较好的正弦波。电路由放大器和反馈网络组成。
5.3.1. 有稳幅环节的文氏电桥振荡器。(1) 接通电源,用示波器观测有无正弦波电压Vo输出。若无输出,可调节RP,使Vo为无明显失真的正弦波,并观察Vo值是否稳定。用毫伏表测量Vo和Vf的有效值,填入表5-7中。
表5-7
(2)观察在R3=R4=10KΩ、C1=C2=0.01μf和R3=R4=10kΩ、C1=C2=0.1μf两种情况下的输出波形(不失真),测量V0、Vf及f0,填入表5-8中,并与计算结果比较。
表5-8
5.3.2. 无稳幅环节的文氏电桥振荡器断开1、2两点的接线,接通电源,调节
,使Vo输出为无明显失真的正弦波,测量
V0、Vf和f0,填入表5-9中,并与计算结果比较。
表5-9
第6节 PROTEUS在数电中的应用6.1. 基本逻辑门调试工具:
输入端——产生数字信号:
(在器件库中查找)
输出端——检测数字信号:
(在器件库中查找)
6.2. 组合逻辑电路逻辑运算:
6.2.1. 用电路实现表达式OUTPUT=6.2.2. 半加器和全加器半加器电路:
全加器电路:
用全加器实现2位二进制加法电路:
6.3. 时序逻辑电路74LS393为4位二进制计数器,74154为4-16译码器。
用高级图表之数字图表分析时序如下:
第7节 PROTEUS在单片机中的应用7.1. PROTEUS自带汇编编译器的使用在Source菜单下设置外部文本编辑器。
指定可执行文件的路径。
在Source菜单下添加源代码文件。
分别选择目标处理器、选择代码编译工具、新建代码文件。
使用Source菜单下的编译命令对代码进行编译,编译完成后系统会自动将代码装载到MCU模型中。
7.2. PROTEUS对C代码的调试7.2.1. 加载带有源码信息的文件对于51单片机,我们加载OMF格式文件(由KEIL编译生成)。
1、在KEIL中设置编译生成OMF格式文件。
2、在PROTEUS中的MCU模型属性中添加OMF格式文件。
7.2.2. 连接调试2、在KEIL的Debug选项卡中设置使用PROTEUS VSM仿真器。
7.3. 代码调试的命令从左到右依次为:
- 全速运行。
- 运行一行代码。
- 进入子程序。
- 跳出子程序。
- 运行到光标所在行。
- 设置或取消断点。
7.4. 应用例程7.4.1. 简易函数信号发生器(DA转换)7.4.2. 中断优先级7.4.3. 矩阵键盘及数码管动态扫描7.4.4. 液晶屏控制7.4.5. 双机通信7.4.6. 从外部ROM启动
7.4.7. 总线地址分配(RAM扩展)
7.4.8. I2C总线调试7.4.9. SPI总线