吴建平,吴姝瑶,刘超
(1.成都理工大学核技术与自动化工程学院,四川省地学核技术重点实验室,四川成都 610059;2.成都凯天电子股份有限公司,四川成都 610091)
Proteus仿真在虚拟示波器设计中的应用
吴建平1,吴姝瑶2,刘超1
(1.成都理工大学核技术与自动化工程学院,四川省地学核技术重点实验室,四川成都 610059;2.成都凯天电子股份有限公司,四川成都 610091)
应用Proteus仿真平台实现虚拟示波器的设计,把波形发生器产生的波形信号作为信号源,通过A/D转换器对输入信号进行数据转换后输入到单片机,通过单片机数据处理后用虚拟串口把数据输出到计算机,最后由VC软件中的INGraph控件提取数据进行波形图的绘制。经仿真表明:该设计实现了虚拟示波器的功能,在实际应用中可以降低设计成本,缩短开发周期,提高效率。
Proteus软件;A/D转换;示波器;波形发生器
在虚拟示波器的设计开发中,需要专用的信号发生器,才能对所设计的软件、硬件进行设计与评估,因此系统仿真起着非常重要的作用,通过对系统的仿真,可以大大提高设计效率。为了能在无相关设备下也能进行虚拟示波器的产品设计与开发,许多技术人员用各种仿真软件,使用最多的仿真软件应当是Matlab,其仿真功能强大,可以应用于各个学科和领域。但是在实际设计中,这些软件无法直接用于单片机或DSP仿真,不能直观地反映出微处理器在系统中的作用[1-2]。
Proteus软件是来自Labcenter electronics公司的EDA工具软件,除了有和其他EDA工具一样的原理图编辑、PCB自动、人工布线及电路仿真的功能外,其革命性的功能是电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试。因此,利用Proteus软件就可以进行微处理器编程并实现各种控制算法的仿真,从而直观地观测到对被控制对象的控制效果[3]。
Proteus与其他单片机仿真软件不同的是,它不仅可以仿真单片机CPU的工作情况,还可以仿真单片机外围电路或没有单片机参与的其他电路的工作情况。在仿真和程序调试时,不再关心单片机寄存器和存储器内容的改变,而是从工程的角度直接关注程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,弥补了实验和工程应用间脱节的矛盾和现象,在实验与开发过程中更加安全、可靠。
Proteus ISIS是一款集电子仿真、单片机仿真于一体的EDA软件,是极具竞争力的仿真软件。Proteus ISIS可以仿真各种复杂的输入电压、电流信号,因此,很容易用来仿真谐波信号的输入。在Proteus ISIS中,可以仿真各种单片机,这些单片机可以根据各种输入信号,如按键、标准与自定义波形、运行程序,并与仿真各种接口芯片进行通信、仿真LED数码管或LCD显示。因此,将Proteus ISIS应用于谐波检波器的设计,既经济又方便。
Proteus ISIS的工作界面是一种标准的Windows界面,如图1所示,包括标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口等。
图1 Proteus ISIS工作界面
2.1 系统总体架构
系统的总体设计基于Proteus软件设计实现,系统总体架构框图如图2所示,主要包括“波形发生器”、“数据采集部分”、“单片机”、“虚拟串口”和“VC制图控件”等[4]。
系统主要功能是将前端的波形发生器产生的波形信号经ADC采样后数字化,送至MCU进行波形重建逻辑处理,并由虚拟串口送至计算机进行波形重现处理(VC++)。系统的主控制单元MCU选用C8051芯片,负责整个系统的逻辑处理和控制。波形发生器由ICL8038组成,ADC电路选用一片AD1674来采样数据,主要针对前段的波形发生器产生的波形信号进行数字采样。
图2 系统总体架构
2.2 波形发生器
ICL8038是一种具有多种波形输出的精密振荡集成电路,只需调整个别的外部元件就能产生从0.001~300 kHz的低失真正弦波、三角波、矩形波等脉冲信号。输出波形的频率和占空比还可以由电流或电阻控制。另外由于该芯片具有调频信号输入端,所以可以用来对低频信号进行频率调制。ICL8038主要具有5个特点:
(1)在发生温度变化时产生低的频率漂移,最大不超过50×10-6/℃;
(2)正弦波输出具有低于1%的失真度,三角波输出具有0.1%高线性度;
(3)具有0.001Hz~1MHz的频率输出范围,工作变化周期宽;
(4)具有正弦波、三角波和方波等多种函数信号输出;
(5)易于使用,只需要很少的外部条件。
ICL8038芯片内部包括两个恒流源、两个电压比较器、两个缓冲器、正弦波变压器、模拟开关、RS触发器。利用恒流源对外接电容进行充、放电,产生三角波(或锯齿波),经缓冲器Ⅰ(3脚)输出;由触发器获得方波(或矩形波),经缓冲器Ⅱ(9脚)输出;再利用正弦波变换器将三角波换成正弦波(2脚)输出。改变电容器的充、放电时间,可实现三角波与锯齿波、方波与矩形波的互相转换。
ICL8038应用如图3所示。在构成函数波形发生器时应该将第7、8引脚短接。R1、R2为定时电阻,可选1 kΩ~1MΩ的可调电阻,调节R1、R2能改变振荡频率以及矩形波的占空比。C为定时电容,也能影响震荡频率。R3用于调整正弦波的失真,第9脚需要外接集电极负载电阻R4。
对于三波,其输出幅度Vp=V+/3,振荡频率由式(1)确定
图3 波形发生器
这也是矩形波和正弦波的频率。矩形波的占空比为
欲获得最佳性能,R1的阻值应该满足:
式中:I——正向充电电流,通常取10μA~1mA。
式(3)对于计算R2也适用。选取电容器C的方法是首先确定振荡频率f的调节范围,然后计算R1、R2的值,再带入式(1)中求出C的容量,以其上限标称值作为实际电容量。电容C值一经确定就不再调整。
特别,当R1=R2=R时,输出为对称的方波。式(1)化简为
本设计中R1=R2=10 kΩ,C=330 nF,带入式(4)可知f=100Hz。
2.3 ADC数据采集电路的设计
ADC数据采集电路系统中,核心器件采用12位逐次逼近式快速转换器AD1674,该芯片是美国模拟器件公司生产的一款适用范围很广的一种A/D转换器,其自身带有采样保持器和三态缓冲电路,可直接与各种典型的8位或16位的微处理器相连,而无须附加逻辑接口电路,并且与CMOS、TTL电平兼容,所以该芯片是一款集成性能很好的A/D转换芯片。另外,AD1674转换速度仅为15μs,以及12位的高转换精度,完全满足了虚拟示波器系统实时要求高、采样精度高的要求。由于AD1674转换器接收的是模拟电压值,其电路的抗干扰及防止零漂能力直接关系到A/D采集模块的可使用性。
图4 时序控制电路图
AD1674芯片内部自带采样保持器(SHA)、10V基准电压源、时钟源以及可和微处理器总线直接接口的暂存/三态输出缓冲器。与原有同系列的AD574A/674A相比,AD1674的内部结构更加紧凑,集成度更高,工作性能(尤其是高低温稳定性)也更好,而且可以使设计板面积大大减小,因而可降低成本并提高系统的可靠性。其特点是:
(1)内部采样保持的完全12位逐次逼近(SAR)型模/数转换器;
(2)采样频率为100 kHz;
(3)具有±1/2LSB的积分非线性,及12位差分非线性满量程校准误差为0.125%;
(4)内有+10V基准电源,也可使用外部基准源;
(5)4种单极或双极电压输入范围分别为±5V,±10V,0~10V和0~20V;
(6)数据可并行输出,采用8/12位可选微处理器总线接口;
(7)采用双电源供电,模拟部分为±12V/±15V,数字部分为+5V;
图5 AD1674的连接图
(8)采用28脚密封陶瓷DIP或SOIC封装形式,功耗低,仅为385mW。
设计中根据AD1674的转换与启动时序图搭建硬件电路,达到控制时序的目的,时序控制电路如图4所示。AD1674电路连接如图5所示,12位数据端接单片机P0口,实行双8位数据采集。时序控制端接硬件搭建的电路。
在ADC数据采集电路设计中,抗干扰性也是需要重点关注的问题。主要应注意以下3点:
(1)将AD1674芯片的数字地与模拟地在靠近芯片的地方用0Ω电阻连接在一起。
(2)芯片供电电源经过电容去耦后提供给芯片,且其地线与数字地相连。
(3)模拟信号的地线与AD1674的模拟地相连。
2.4 系统主控电路设计
单片机的高速处理速度和增强型外围设备集合使得它们适合于这种高速事件应用场合。然而,这些关键应用领域也要求这些单片机高度可靠。开发环境单片机选用了AT89C51,它的各种硬件、软件环境部件有较好的交互性,单片机电路连接如图6所示,单片机的P0口接A/D的数据端,通过双8位的数据模式实现对12位数据的读取。
图6 单片机的接口电路
软件系统由波形发生器、A/D转换器、单片机、图形显示控件等模块组成。首先通过ICL8038产生方波或者三角波,由AD1674对波形数据进行转换,采用双8位数据读取方式,由单片机以9600B/s的波特率进行数据传输,处理,存储在RAM中,再通过虚拟串口把数据发送到计算机中,并把数据存储在文本文档中,启用VC中的NTGraph插件,对数据进行读取,绘制图形,图形会以窗口的形式显示出来。程序流程图如图7所示。
图7 程序流程图
波形重建计算与数据传输是本程序中的重点,由于采用C语言编程,程序比汇编程序要简练得多[5],其数据传输子程序如下:
图8 仿真波形
Proteus在设计的时候已经注意到和各种单片机编译程序的整合,如可以和Keil、MPLAB等编译模拟软件结合。Keil是目前世界上优秀的51单片机的汇编和C语言的开发工具,具备功能强大的软件仿真和硬件仿真(需硬件支持)功能,把这两个软件结合来用,调试软硬件就方便多了。本文就是采用“Keil+ Proteus”的仿真方法[6-7],具体步骤如下:
(1)正确设置Keil集成环境和Proteus之间的接口,使二者成功连接:
1)把C:Program FilesLabcenter Electronics Proteus 6 ProfessionalMODELS目录下的VDM51. dll文件copy到C:KeilC51BIN;
2)修改C:Keil TOOLS.INI文件在[C51]栏目加入TDRV3=BINVDM51.DLL(“Proteus VSM Monitor-51Driver”),其中“TDRV5”中的数字“5”要根据实际情况填写,只要不和原来已有的重复即可;
3)进入Keil的Project→option for target,选择Use复选项,在下拉列表项中选择Proteus VSM Monitor-51Driver;
4)点击setting项,设置IP为127.0.0.1,端口为8000。
(2)在Keil里对汇编源程序进行编译、连接后,就可以像在仿真仪上一样进行单步、全速调试了,随时都可以观察软硬件的互动工作的过程和结果。结合Proteus里的虚拟仪表,可以进行观测数据。数据输出后保存到计算机中,由VC中的控件INGraph空间进行数据提取与数据绘制,仿真波形如图8所示。图8(a)为虚拟示波器测试的方波图形,图8(b)为虚拟示波器测试的锯齿波图形。
Proteus软件强大的微处理器仿真功能和丰富的元件仿真模型为虚拟示波器系统提供了新的仿真平台,不再是传统方框图式的仿真,而是直接与微处理器编程及控制电路仿真结合起来,既可以完成控制电路的软硬件仿真,又完成了系统的控制效果仿真。使用这种仿真方法可以大大提高设计各种数字控制器的效率,对于虚拟示波器系统的教学演示和实际设计都具有一定的辅助作用。
[1]李文荣.EWB9电子设计技术[M].北京:机械工业出版社,2007:214-241.
[2]古天祥,王厚军.电子测量原理[M].北京:机械工业出版社,2009:218-294.
[3]崔业梅.基于LAB平台的虚拟波形发生器的研究[J].襄樊职业技术学院学报,2011(4):22-23.
[4]吴小花.基于Proteus的电子电路设计与实现[M].现代电子技术,2011(15):174-176.
[5]孙淑霞,肖春阳,魏琴.C/C++程序设计教程[M].3版.北京:电子工业出版社,2009:265-285.
[6]吴政男,程运胜.基于Proteus的单片机仿真实验系统设计应用[J].计算机与数字工程,2011(11):175-177.
[7]周润南,张丽娜,丁莉.基于Proteus的电路及单片机设计与仿真[M].北京:北京航空航天大学出版社,2009(1):227-242.
Simulation of virtual oscilloscope based on Proteus software
WU Jian-ping1,WU Shu-yao2,LIU Chao1
(1.College of Nuclear Technology and Automation Engineering,Geology Nuclear Technology key Laboratory of Sichuan Province,Chengdu University of Technology,Chengdu 610059,China;
2.Chengdu CAIC Electronics Co.,Ltd,Chengdu 610091,China)
This paper introduced the design of the virtual oscilloscope simulated by the Proteus based on MCU technique.After ADC digitization,the triangular wave or square wave signals by the waveform generator is extracted via related algorithm,and output to computer through the virtual serial port.Finally drawing of waveform based on the digital data by the INGraph controls in VC software was achieved.By using Proteus,the simulation of the virtual oscilloscope and design of MCU systems can be realized with less design costs,less development cycles and high efficiency.
Proteus;ADC;oscilloscope;waveform generator
TM935.3;TP391.9;TP274;TN606
A
1674-5124(2013)03-0079-05
2012-05-02;
:2012-06-27
高等教育质量工程(省级教改项目)(SZH1105JP03)作者简介:吴建平(1954-),女,江苏江阴市人,教授,主要从事测控技术与仪器、核技术应用研究。