方波信号发生器设计论文 联系客服

发布时间 : 星期四 文章方波信号发生器设计论文更新完毕开始阅读

用软件驱动I/O口进行切换,对于信号发生器来说,输出的信号种类较多,采用硬件的方法会使硬件电路相当复杂,并且调试也很困难.故障率也会大大增加.本设计中采用软,硬件相结合方法,可节约大量的硬件电路,信号的种类,频率完全由软件通过D/A变换来产生,幅度调整由可以用数字量控制的硬件电路实现.在高频端采用软件压缩的方法,可以得到较好的效果.

信号生成过程如下:

将生成信号的数据写入DAT1后,数字量转换为模拟量经DAT1引线端输出,输出电流加在电阻R9上形成信号电压,信号电压经运放U2A组成的跟随器输入数字电位器DP1(MAX5400)[2]的高端,数字电位器DP1将分压后信号输入由运放U2C组成的跟随器后输入由运放U2D组成的运算放大器放大后输出.由于单片机的DAC只能输出电流,在电阻R9上形成的信号电压始终≥0,要输出正反相信号需调整信号信号的电平,为此,利用DAC2输出电流加在电阻R8上形成偏置电压,经由运放U2A组成的反相器形成负偏置电压(Vr)后,加在输出放大器U2D输入端,达到调整输出信号电平的目的.

图3-3 电平调整原理

②输出信号幅度的调节方式:在0~5V的(峰~峰值)范围,要实现步进0.1V,如果完全使用软件实现,失真会非常严重.因为10位输出按0.1V步进,则峰~峰值最小为0.1V;又因为D/A数字最大为1023,输出对应5V,则0.1对应数字20,在这个很小的范围内,输出各种信号失真会很大.为了减小失真度,将信号峰~峰值固定对应数字1023,而其中参考电压由DAC2提供,以实现步进幅度为0.1V要求的硬件原理.低电压输出时信号时,这里使用数字电位器DP1的是调整输出信号的信号,数字电位器DP1产生的偏差通过输入DAC1的数字量进行修正,为此需要检测输出信号与期望值的偏差,所以系统中将数字电位器分压信号反馈给SPCE061A的模数转换通道(IOA0),借以检测输出信号是否达到规定要求.实验测量信号电压可实现0.02V幅度步进.信号电平调整原理如图3-3所示.图3-3(a)为数字电位器分压信号,图3-3(b) DAC2提供的由反相器U2A形成的负偏置电压(Vr),图3-3(c)为输出放大器U2D放大后的输出信号.系统中运放采用一片TI公司的4运放芯片TLC2254[3],该芯片为rail-to-rail型低功耗运放,可以提供-5V~+5V摆幅输出。

为使输出信号得到进一步改善,在输出端再加1级RC低通滤波器,以实现输出信号的平滑.

3.2.2 信号分析与计算

(1)正弦波信号计算

由于信号都是周期性的,所以只要设计出一个完整周期的正弦波。在信号输出部分,采用了10位的D/A变换器,其最大输出值为1023。为了与D/A变换器相适应,在2π一个周期内,将其输出信号的幅值,角频率量化,如图3(a)所示,将正弦波向上平移,使其最低点为0,而且对于奇函数,其傅里叶级数只能用正弦项表示,即有

f(k)=512sinkω0 (0≤k≤512) y(k)=512+f(k)

式中ω0=2π/1024.由此可以求出1024个离散值,形成数据表,以备计算驱动程序调用。

图3-4 三角波信号形成原理

(3)三角波的计算

三角波信号形成原理如图3-4所示,按DAC满幅输出计算三角波的上升沿和下降沿的N个DAC输出的小阶梯,由于阶梯很小从宏观上看它可以近似成三角波波信号,如图4中实线所画的波形。阶梯之间的时间间隔t1,t2由定时器TimerA 的定时值决定通过改变t1和t2的值来改变三角波信号上升沿和下降沿的时间T1,T2从而改变三角波信号的频率。

(4)方波信号的计算

方波计算比较简单,只需根据给出高电平时间t1和低电平t2时间,分别用定时器计时即可实现。

以上计算所的数据(10位有效数据)在写入DAC寄存器时,要写入DAC数据寄

存器的高10位。因为,SPCE06lA的DAC数据寄存器中只有高10为有效,低6位无意义。

3.2 控制电路设计

3.3.1 时钟复位电路设计

采用单片机片内的振荡器、上电复位和外部硬件看门狗电路。看门狗采用MAXIM公司的MAX706芯片,硬件电路如图3-5。 MAX706可以提供至少200ms宽度的复位脉冲,为使看门狗溢出有效必须把MAX706的WDO和MR连接起来,看门狗输入WDI连接4051的任何一个I/O端口都可。MAX706在程序运行期间监控整个系统的运行,喂狗程序必须在1.6秒之内使WDI引脚电平发生改变,否则MAX706将发出复位指令,使整个系统复位,看门狗时序如图3-6所示。

图3-5 复位电路

图3-6 看门狗时序图

3.3.2 单片机与D/A的接口电路设计

D/A选用AD公司的AD7226。AD7226是具有8位精度的四通道D/A转换器,最小分辨电压约为4mV,可以满足设计的精度要求。每个通道都有一个输入锁存器,可以对输入的数字量进行锁存;输出端带有输出缓冲放大器。AD7226有一条写入控制线WR,两条地址线A0、A1,通过地址线可以选择不同的D/A转换通

道。写入时序如图3-7所示。

图3-7 AD7226写入时序

由于4051没有专门的地址和读写控制引脚,此处可以通过普通的I/O引脚参考AD7226的写入时序,利用软件进行时序模拟。可以通过改变延时的时间来改变输出的频率。图3-8是利用4051的P3.0、P3.1口作为A0、A1的地址线,P3.5作为WR的写入控制线的硬件参考电路,相应的示例程序如下: ??..

MOV P1, A ;P1口置数 MOV P3, #0FCH ;选择通道A CLR P3.5 ;置P3.5 低电平

SETB P3.5 ;置P3.5 高电平,上升沿锁存数据 LCALL DELAY ;调用延时子程序 ??..