APP下载

数字式波形信号发生器模拟仿真设计

2019-09-10王亚楠

现代信息科技 2019年15期
关键词:模拟仿真抗干扰

摘  要:截至2019年,中国研制波形发生器已经数十年,并取得了一些突破性的成果。就目前国内的成熟产品来看,多为一些FPGA的信号波形,Agilent 33120A函数发生器等,但从软件底层的一些技术层面上来说,我国数字式波形信号发生器与国外同类产品无论在种类和性能上都存在巨大的差距[1],特别是如今中美贸易摩擦不断,在科技上我国被外国进行技术封锁,因此我们更要加紧研发此类产品,推动我国科技进步。本文主要是提出了波形信号发生器的設计理念和设计原理,重点讲述了在KEIL环境下进行编程,并在Proteus中进行仿真。

关键词:KEIL;Proteus;抗干扰;模拟仿真

中图分类号:TN792      文献标识码:A 文章编号:2096-4706(2019)15-0019-03

Simulation Design of Digital Waveform Signal Generator

WAGN Yanan

(College of Electrical Engineering and Automation,Henan Institute of Technology,Xinxiang  453003,China)

Abstract:As of 2019,China has begun to develop waveform generators for decades and has achieved some breakthrough results. As far as the mature products in China are concerned,most of them are signal waveforms of some FPGA,Agilent 33120A function generators,etc.,but the technical level of the underlying software,There is a huge gap in performance on China’s digital waveform signal generators and similar products abroad are in the category[1],especially the China-USA trade friction continue. In technology,China is blocked by foreign countries. Therefore,we must step up research and development of such products and promote China’s scientific and technological progress. This paper mainly proposes the design concept and design principle of the waveform signal generator,focusing on programming in the KEIL environment and simulation in Proteus.

Keywords:KEIL;Proteus;anti-interference;analog simulation

0  引  言

2019年正处于电子信息技术爆炸式发展的新时代,数字信号源在测试器件领域拥有着十分重要的地位,作为通用的测试和测量装置,数字式波形信号发生器不仅仅只是用来输出简单的正弦波、矩形波等标准波形。多年来,标准波形已经从较为复杂的模拟信号振荡电路发展到现今较为简单的数字化电路,本文主要讲述其设计思想和原理,并通过编程进行处理来改变其波形频率及切换各种波形。

1  设计思想

如果仅仅是使用单片机和D/A转换器结合,让单片机产生波形信号,D/A输出来改变调压,虽然可行,但是产生信号会出现不稳定的情况,甚至有可能产生不出来所需要的信号,也有可能只产生半个信号,这种情况,笔者在之前做的实验中都出现过,笔者想让波形信号发生器产生四种波形,可是无论怎么调试,都只能出现一个半波形,后来经过查阅资料发现是设计方法的问题,在此基础上查阅相关文献,笔者又提出了两种新的方法,更换为ARM芯片去实现更好的计算性能和稳定性,或者采用单片机编程的方法去实现,经过综合考量,若硬件平台采用ARM Cortex-M3内核的STM32微处理器作为主控芯片,并以此为基础设计各个功能模块的电路,不仅设计过于复杂,而且在软硬件结合过程中,时常会出现不稳定的情况,为了工业稳定性和实用性,并让成本处于可控范围内有利于生产推广,本文选择第二种方法,在硬件电路不变的情况下,通过编程的方法,提高数字信号的稳定性,提高数字信号的准确性。

2  硬件设计

数字式波形信号发生器系统的主要功能是产生稳定可靠的任意波形信号,一个稳定可靠简单方便的硬件平台可以为数字化波形信号发生器的软件设计工作打下坚实的基础,首先来讲下本文设计的如图1所示的硬件原理框图是如何来实现数字式波形信号发生器,当系统经过调试后运转起来的时候,单片机是整个波形发生器的大脑和中枢,在这里写入已经编写和调试好的程序用来进行各种功能的转换和信号幅度的调节,进而产生各种各样的信号波形;接着我们通过键盘电路进行单片机的简单运行操控,单片机通过显示电路,显示当前我们的操作;当数字信号到达D/A转换电路时,D/A转换电路将其转换成所需要的输出波形(即模拟信号),接着通过放大电路对其进行放大后进行波形输出;这里要提一下复位电路,如果系统出现问题,我们可利用复位电路进行初始化设置。

3  软件设计

数字式低频信号发生器因其抗干扰能力强、设计灵活、可靠性好、节省硬件资源而逐渐受到关注。本次设计为说明微机系统软件的抗干扰方法以MCS-51单片机系统为例,在实际数字式波形信号发生器应用环境中,针对本文所要探究的对象其软件抗干扰的研究内容主要分为两个大的方面:如何尽可能地消除模拟输入信号的噪声和在程序运行出现错误时触发其主程序重新进入正确的循环的方法。

3.1  拦截技术

所谓的拦截技术是将系统中存在的错误的程序指向指定位置并再次执行错误处理。通常,首先要做的就是合理布置软件陷阱用于来拦截出错程序,然后通过分析主程序容易出错的位置将陷阱置于合理的位置。如果非程序区域一旦有出错的程序进入,那么冗余指令将会无效从而保证主程序正常。一旦有错误的程序进入该区域,它就可以自动合并。

用户程序区域中的模块之间的空闲单元也可以用作填充指令。这里,程序存储器的容量限制是不可避免的因素,为了能及时地捕获错误的中断信号我们设置一个触发机制,在1K存储空间内把软件陷阱设置在相应的中断程序中,如果由于干扰导致中断,就会触发此机制进行拦截。

3.2  软件“看门狗”

“看门狗”技术其实是为了防止失去控制的程序进入无限循环永不停止,如果遇到这种情况,目前来看我们常用“看门狗”技术来使程序脱离这个无限循环。直白地讲就是连续不断通过檢测在线程序的循环运行的时间长度来进行判断是否程序运行正常,其判断的依据就是查看循环的时间长度,是否大于之前在系统内部设置的最大程序循环运行时间,如果进入无限循环,就要找到错误位置的程序。

“看门狗”技术可以用硬件或者软件实现。如果系统不能定期“喂狗”,硬件“看门狗”电路出现故障造成硬件干扰,在此处笔者提出一个解决办法,通过设置T0,T1两个定时器去循环监视,从而构成一个环形网络进行循环监视保证系统可靠。为了提高系统可靠性和稳定性应常用“看门狗”软件的环形结构使其具有良好的抗干扰性能。假定T1定时器用于串行通信的测量和控制系统通常可改由串口中断来进行监控而不是通过定时器T1进行中断的。此时,看门狗软件监视的原理是:在主程序、T0和T1中断服务程序中设置操作观察变量用来对程序服务进行检测。如果检测到观测的变量不正常,例如添加1时并没有执行,则将其传送到错误处理程序以进行下一次的程序故障排除[2]。

3.3  系统故障处理、自恢复程序的设计

因掉电后复位和干扰复位都属于单片机MCU系统异常复位,此时我们的主程序应该能进行故障的诊断并可以启动自恢复程序,但是需要进行一定程度的识别。从基础理论上来简单的说明的话,硬件抗干扰和软件抗干扰时需要相互配合、相互协调、主动与被动相结合,仔细彻底地分析干扰源同时一并考虑硬件与软件抗干扰两者的结合性,进而对系统故障处理、自恢复程序进行合理设计以完成系统监控程序[3]。

4  系统调试

数字式波形信号发生器系统的具体调试是系统设计的重要组成部分,如果调试的不好有可能出不来完整的波形,或者只出现半个波形的情况,笔者在具体调试中就遇到了相关的问题,接下来就遇到的问题进行详细讲解。连接Proteus环境中的电路图编写程序并在Keil uvision2环境下运行,然后与Proteus协调以调试整个硬件和软件的功能性。

5  信号频率数据采集程序

该设计通过选择单片机的数据端口将各种波形的数据发送到单片机的程序储存器。并通过改变信号的频率的十位数、百位数来改变相应的频率,然后计算出其初始值,并进行中断改变D/A转换器的输出的波形。利用8位D/A转换器DAC08032在数模转换模块将8位数字量转换为模拟量进行输出。

5.1  产生锯齿波的原理

首先,锯齿波中的对角线连续依次递进增长,并在一个周期内从最小值开始逐渐增加,当达到最大值时,返回最小值,再从最小值递进到最大值,并且当重复该循环时,当步长间隔小时,使用delay方法生成锯齿波,设置参数S3让它连续加1,直到它被添加到255,然后自动返回0。连续重复上述过程以产生锯齿波。

5.2  输出波形

锯齿波仿真图如图2所示,锯齿波程序如下:

case 3:

while(s1&&s2&&s3)

{

For(u=0;u<64;u++)

P2=juchi[u];

}

break;

6  结  论

本文主要讲解了设计思想、锯齿波波形产生的原理、抗干扰及软硬件调试的相关过程,在信号频率数据采集程序中做了Proteus仿真及其调用程序,实现了各个波形的切换,各种参数的设定,频率增减等功能,通过上文我们可以得知采用单片机来设计数字式波形信号发生器是具有一定的性价比、可靠性、稳定性,但在设计中要注意通过编程的方法,提高数字信号的稳定性和准确性。

参考文献:

[1] 陈平,张沛朋.基于VHDL多波形发生器的设计与实现 [J].济源职业技术学院学报,2010,9(2):17-20.

[2] 方玲.“看门狗”技术在单片机系统抗干扰设计中的应用 [J].安徽电子信息职业技术学院学报,2005(4):90-92.

[3] 孙梦颖,曹俊江.软件抗干扰技术在单片机系统设计中的应用 [J].信息与电脑(理论版),2017(11):38-39.

作者简介:王亚楠(1991.01-),男,汉族,河南平顶山人,教师,硕士,研究方向:电工理论与新技术。

猜你喜欢

模拟仿真抗干扰
基于DEM的谷物联合收割机抖动板性能研究
基于Vericut的五轴动数控编程及加工仿真研究
舰载雷达面临的电子对抗威胁及防范措施分析
变频器控制回路抗干扰措施及调试故障处理
基于CFD计算的核电厂半管水位运行工况余排接管入口涡流吸气效应研究
异步电动机节能控制方法及抗干扰技术
信息化教学设计在经管类专业的应用