怎么用单片机的DAC产生这种波形
大的频率是650khz,小的频率是150khz,相当于两个不同频率的正弦信号叠加。 DAC输出+低通滤波,公式就按照两个sin相加即可,650k的频率有点高,如果按照每个周期10个点来算,DAC需要6.5M了 最简单的方案,查表。150KHz的波形计算3个周期,650KHz波形计算13个周期,计算好叠加波形幅度值存在FLASH里,然后用定时器触发DAC,依次送出幅度值。 单片机的DAC不够快, 需要用外置DAC
或者有个取巧的办法, 把一组8个或16个GPIO接成R2R DAC, 配置时还按内部DAC来配置, 只是把DMA的外设地址改成相应的GPIO->ODR. tomzbj 发表于 2023-10-22 10:22
单片机的DAC不够快, 需要用外置DAC
或者有个取巧的办法, 把一组8个或16个GPIO接成R2R DAC, 配置时还按内部D ...
(引用自4楼)
这种方法构成的16位DAC精度比得上外置的专用DAC么? newkey 发表于 2023-10-22 11:28
这种方法构成的16位DAC精度比得上外置的专用DAC么?
(引用自5楼)
看外部的电阻精度了 产生两个正弦波有加法电路叠加也可以吧 DAC输出低频,高频用PCA产生脉冲通过RC滤波后,用电阻电容或者运放叠加起来 买个百十兆的任意波形发生器就可以了 首先确保你的dac输出的频率高于650k*2,,然后用cpu合成一个a1*sin(2*3.14*650e3*ti)+a2*sin(2*3.14*150e3*ti)的序列,其中ti相当于输出频率倒数对应的一个个时间点。
然后把这个序列用dac重复发送 要我我拿俩正弦波合成 不需要关注相位吗?然后幅度固定?这不可以直接用两个正弦波发生电路相加就行了么
做过一个需要合成3路正弦波的,上位机一起做,相位频率幅度都单独可控,用的DAC904,最高输出频率:达165MSPS,不过我们当时频率只做很低
智涅 发表于 2023-10-22 23:41
不需要关注相位吗?然后幅度固定?这不可以直接用两个正弦波发生电路相加就行了么
做过一个需要合成3路正弦 ...
(引用自12楼)
相位都是0,幅值固定
页:
[1]