单片机产生正弦波问题?

来源:百度知道 编辑:UC知道 时间:2024/09/23 10:35:35
近来的一个小系统,需要输出一个正弦波,要求用60秒从50HZ升至20KHZ,再用60降回50HZ,一次循环下去. 本人使用单片机采用DA方式实现,系统时钟为24.5MHZ, 每个正弦波计划输出40点, 按照计算好的参数,最后测试,频率最高达3KHZ左右,远远达不到要求.

采用25个点,必须一直输出才能达到20KHZ,根本用不上定时器,怎样才能实现扫频呢? 另外25个点太少,怎样才能使波形平滑呢? 求高人指点,谢谢!!!
需要实现实现扫频(50HZ--20KHZ),而且扫频次数可控.”外加几个模拟电路,用电容之类出正弦波吧,不要用DA了。。 ” 怎么做到呢?

我已经制作了正弦值表,通过定时器控制依次查表,再DA转换,是不是就是PWM?

利用单片机DA方式扫频应该考虑两个问题:
1、输出最高频率;2、扫频,就是说你还要不停变换参数。不知道你的3k是不是在扫频情况下得到的最高值。
另外:还不知道你对频点间隔是怎么要求的。

二楼使用DDS技术的建议非常好,你应该考虑去做。这样的话,用单片机不停地送控制数据就行了,频率有保障。你只要考虑扫频间隔,也就是考虑单片机多长时间能送出一个完整的控制字。
还可考虑二楼另外一个建议,用高速可编程器件,注意配一个高速DA也不错。

如果从降低成本角度考虑的话,你不妨在现有条件基础上,配一个可靠的压控振荡器来试一下。当然首先要调好输出动态范围,这可能是个难点。
好处是:器件、成本要求都低,试验周期短。
1、DA只需要输出周期为60秒一个锯齿波就行了,不需要高速;
2、单片机也不需要高速,甚至可以通过字节合并,驱动10位、12位DA;
不过,要注意锯齿波的线性度等细节参数。我现在也说不完整。
成本低嘛,先试试吧,有问题可以再改。祝你好运。

PWM,脉宽调制。输出的是可调整占空比的脉冲串。

给你四条参考:
1.提高主频、采用汇编语言提高速度
2.参考DDS技术来实现频率精确变化(累加器!累加器!)
3.平滑波形主要采用外加滤波或提高主频(点数)实现。
4.不要用单片机,用FPGA类的器件,很容易实现要求!

上面的说不用DA就是用PWM加滤波实现,那样PWM频率要求较高!(输出频率最高达20k)

外加几个模拟电路,用电容之类出正弦波吧,不要用DA了。。