求助DAC输出频率输出计算方式

2020-01-13 18:24发布

用STC15W408做了一个R2R方式DAC输出200个点的正弦,想得到精确的900HZ和60HZ,现在测试发现,不好计算,只能得到近似值,哪位能支支招,可以改MCU的主频率,可以修改输出点的精度,只要达到输出准确的900HZ和60HZ(两个频率需要共用MCU主时钟,定时器赋不同的值以达到输出不同的频率),现在测试的值是定时器长度为5.55us,DAC输出有近900HZ的频率,但是会有0.08%的误差。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
tim
1楼-- · 2020-01-13 22:16
感觉用频率能被9除尽的晶体应该能行
wxdn
2楼-- · 2020-01-13 23:25
tim 发表于 2019-4-27 01:16
感觉用频率能被9除尽的晶体应该能行

应该不是这么简单的。
tim
3楼-- · 2020-01-14 04:59
假设晶体9MHz,定时器直接使用系统时钟,则定时单位为(1/9000000)s
200个点乘以900HZ等于180kHz,需要定时间隔为(1/180000)s,定时器计数值设定为(1/180000)/(1/9000000)等于50
200个点乘以60HZ等于12kHz,需要定时间隔为(1/12000)s,定时器计数值设定为(1/12000)/(1/9000000)等于750
wxdn
4楼-- · 2020-01-14 10:38
tim 发表于 2019-4-27 01:45
假设晶体9MHz,定时器直接使用系统时钟,则定时单位为(1/9000000)s
200个点乘以900HZ等于180kHz,需要定 ...

你的这个计算也不对,刚刚测试了一下,你的第一个900HZ的参数,实际输出为690mHz(毫赫兹)。
tim
5楼-- · 2020-01-14 14:20
 精彩回答 2  元偷偷看……
wxdn
6楼-- · 2020-01-14 14:36
现在测试了一个比较准确的频点:系统时钟为30M,定时器时间长度为10uS(定时器0:1T模式TL0  = 0xd4,TH0  = 0xfe),输出的频率为准确的500HZ。

一周热门 更多>