用一个EPROM、一个标准D/A变换器和一个计数器可构成一个简单灵活的函数发生器。其原理是基于直接数字合成(DDS)基础上的,它把所需函数的数字取样存储在存储器(如EPROM)中并以周期性方式读出。
数字取样由存储器时钟频率周期T时分。D/A变换器把数字化信号变换为模拟信号,而低通滤波器选择基带信号(第1Nyquist视窗,从O到Fs/2,其中Fs=T/2)。
大多数市场出售的DDS芯片具有正弦波输出,其输出频率由用户时钟设置。用EPROM可以建造所希望的信号周期长度。为避免失真,第一取样和最后取样应该相同,如同时序重复,在输出没有不连续性。
图1所示电路将产生所需要的时序,其频率限制在16kHz和500kHz之间。4位计数器U5和U6构成8位计数字,为存储器EPROM(U3)产生地址(U3与用于模拟变换的8位D/A变换器连在一起)。
一个反相器为计数器产生4MHz时钟。8位宽EPROM的地址范围是每个存储波形的256个取样。信号取样频率是CNTO信号的频率,为2MHz(计数器LSB)。
5个跨接线选择EPROM中256个联样的32个不同时序。当所有5个跨接线都连接(从CNT8到CNT12每个地址引脚都用10K电阻器上拉)时,便选择bank()。
D/A变换器是标准的DAC0800,基准电阻器设计基准电流为2.55mA。因此,变换器满量程输出电流是(255/256)×Iref。电阻器R1设置满量程电压为840mV,R1可调节增益为1~6。
元件R2和C3设置低通滤波器截止频率为2MHz。U1输出阻抗是50Ω,适于激励同轴线。电压Vs是12V,Vcc是+5V。EPROM内容由简单的C程序产生,见程序清单,此程序产生32个时序。
可进一步扩展,增加2个EPROM和地址计数器以提供16位分辨率。可用RAM替代EPROM,通过PC并行或串行端口输入。可用较高的时钟频率,实现可编程函数发生器。
用较大的计数器和寻址更多的EPROM地址线,可产生更长的时序。
用较大的计数器和寻址更多的EPROM地址线,可产生更长的时序。针对这些扩展,EPROM中时序取样变换的C代码需要做相应改变。
上一篇:用于电力系统的DSP解决方案
下一篇:指纹图像自动识别系统预处理算法的研究
- 热门资源推荐
- 热门放大器推荐