内部DAC输出100K正弦波 且频率可调

2019-07-20 22:37发布

用DAC+DMA+TIM2输出正弦波   码表为100个点  。TIM2定时到1us,但是只能输出到1Khz,而且误差为20hz 请问1:是不是输出100K的正弦波 只能通过牺牲码表点数来实现
       2:DAC转换时间是不是1us,那码表点数多了,误差是不是会变大啊
    
------------------------------------------------------------------------------------------------------------------------------
上传了一个是测数据的时候用的,不怎么规范,除了寄存器配置,其他都可以忽略的。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
28条回答
backroad
2019-07-21 01:14
回复【2楼】正点原子:
---------------------------------
原子哥,针对DA的相关测试代码如下:

u16* p = gSampleArray;
for(i = 0; i < 256; ++i, ++p)
    DAC_SetChannel1Data(DAC_Align_12b_R, *p);//设置DAC值

gSampleArray是一个周期的256个采样值组成的数组;
通过示波器观察,产生的正弦波频率为18.18kHz,是不是可以说DA转换的时间要小于下面的值:
1000000/18180/256=0.215us

但是文档“STM32F4 开发指南(库函数版)”第342页:
“我们可以从 STM32F407ZGT6 的数据手册查到 tsettling的典型值为 3us ,最大是 6us 。所以 DAC 的转 换速度最快是333K左右。”

这个怎么理解呢?

一周热门 更多>