我用DAC0832做信号发生器遇到了难题!!
我用DAC0832+NE5532做信号发生器,我输出三角波,但是我现在遇到一个极难解决的问题:我输出锯齿波,幅度和频率可调,但是现在就是幅度变了,频率也跟着变,因为输出点数和输出频率有关的,点数越多,频率越低,但是幅度越大,点数越少,频率越高,但是幅值就越低!我想其中的道理大家都明白。。我现在无法让其中一个保持不变而另外一个变化。。大家有什么好解决的办法??不能通过外部硬件调节,必须用软件调节。。。 8位的AD输出的三角波会不会看得见梯度? 输出点数干嘛非得和频率有关?你改下算法不就结了? 回复【1楼】qq335702318| 昌少-----------------------------------------------------------------------
会的。。。 回复【2楼】eggcar八号机
-----------------------------------------------------------------------
你让我想想。。。 哈哈。。解决了、、谢谢、、刚才一时头晕想错了。。谢谢8号机。。这几天都没睡好。。可能头晕了。。 还是不行。。。主要是改变幅值会改变频率,改变频率但是幅值可以保持不变,因为我是改变点数来改变幅值的(0-255对应0-5V),大家想想看。。如果在同一时间内点数变少了,那么频率不就变大了吗???大家想想是不是。。。举个例子:我开始设置幅值是255(5V),如果一个周期是1秒,那么程序就会在1秒内输出一个锯齿波形,那么如果我把幅值设置成127(2.5),那么在同样的周期内程序将输出两个锯齿波!!大家想想看是不是,,,我试验过了。。确实是不能同时改变幅度而保持频率不变,只能改变频率而保持幅度不变。。。 为什么要改变点数来改变幅度??比如原来的点是1 2 3 4 5 6 5 4 3 2 1你要幅度变大,1 3 5 7 9 11 9 7 5 3 1 不知道你怎么做的?
通过软件改变DAC0832的REF脚电平幅度不就变了嘛,频率肯定不会变的... 回复【8楼】yanwuxu
-----------------------------------------------------------------------
你这种方法可以啊。。当初我还想用放大器来控制放大倍数呢。。。不过这样比较麻烦。。和你的想法差不多的。。 回复【7楼】eggcar八号机
-----------------------------------------------------------------------
你的意思是乘一个系数,让原本的点数变大是吧?我看看。。。 两片DA一片给另一片提供REF…信号发生器是这么做的 回复【11楼】eggcar八号机
-----------------------------------------------------------------------
我当初也想到了。。但是我只有一块DAC。。谢谢你。。我按照你的思路已经把程序写出来了,可以调了。。。。呵呵。。就是乘一个系数。。让值变大,保持点数不变。。。谢谢你了。。
当初在坛子里就有一位高人提示我乘以个系数了。。但是后来我又自己想其他办法,而把这个可行的办法给忘了。。呵呵 回复【9楼】myqiang1990 切.格瓦拉
回复【8楼】yanwuxu
-----------------------------------------------------------------------
你这种方法可以啊。。当初我还想用放大器来控制放大倍数呢。。。不过这样比较麻烦。。和你的想法差不多的。。
-----------------------------------------------------------------------
我觉得这个应该比用2片DA简单的... mark! 我想就算这样也不能做到频率连续可调吧。因为DA输出的点数要一个一个尝试,能不能像信号发生器那样呢,设定多少频率就和幅值就出来需要的波形呢?(当然我不是指FPGA加DDS) Mark!!!!!!!!!
页:
[1]