Notting_Hill 发表于 2011-5-25 16:00:16

请教,为什么STM32的DAC产生波形不超过10KHz?

最近一个要做一个简单的信号发生器,CPU选用STM32,对其DAC不了解,查相关资料时了解到春风大师的电源就是用的STM32F103VCT6,里面有用到DA功能,春风大师评测后的结论是“很线性很稳定”。

见楼主位:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4048344&bbs_page_no=1&bbs_id=3071

但是春风大师在另一个帖子里说到“内部的DA速度受限,产生波形不超过10KHz”

(见此贴11楼http://218.16.124.207/bbs/bbs_content.jsp?bbs_sn=4419325&bbs_id=3071&bbs_page_no=1)

看了STM32F103VCT6的datasheet,里面说DAC的建立时间最大值是4us,粗算一下,产生方波频率为125khz,有点不明白“不超过10KHz”结论是从哪来的?

可能情况:
1.        我计算错误,限制DAC的输出速度的不仅仅有建立时间,还有其他特性要考虑。
2.        DAC的建立时间4us还要加上cpu启动送数据的时间。(但这时间是多少呢,交给DMA之后呢)
3.        STM32器件本身DAC在实际中只能够达到这么多。

不知道我有没有描述清楚,如没有请指出,望各位大侠解答。

tiancaigao7 发表于 2011-5-25 16:19:56

我的理解,DAC每一位的建立时间是4us这样如果是12bit那么更新一次就需要48us,如果是方波的话,极限的周期应该是96us约等于100us这样计算下来能够产生的频率就是10K了,不知道春风大哥是不是这样理解的。

unic 发表于 2011-5-25 16:28:57

mark

Notting_Hill 发表于 2011-5-25 16:31:23

回复【1楼】tiancaigao7天才杨威利
我的理解,dac每一位的建立时间是4us这样如果是12bit那么更新一次就需要48us,如果是方波的话,极限的周期应该是96us约等于100us这样计算下来能够产生的频率就是10k了,不知道春风大哥是不是这样理解的。
-----------------------------------------------------------------------

谢谢回复,4us指的是1bit转换时间啊,我再看看datasheet去

Notting_Hill 发表于 2011-5-25 17:18:52

http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_642855L1VX2Q.png
(原文件名:t.png)

b_u_g 发表于 2011-6-22 15:03:45

pwm不会只能10k吧,pic的pwm 都可以做到100k以上。。。。。。。。

pengxin213 发表于 2011-8-15 09:47:01

PWM又不是由DAC输出的,无可比性!

回复【5楼】b u g
pwm不会只能10k吧,pic的pwm 都可以做到100k以上。。。。。。。。
-----------------------------------------------------------------------

ifree64 发表于 2011-8-18 22:18:16

照4楼贴图来看,4us不是指的1bit转换时间,而是10个bit从输出最小到输出最大所需时间。

HZKJ 发表于 2011-10-28 10:38:10

DAC输出正弦波或者其他波形(非方波),需要有好多个点组成波形的一个周期,就像ADC精确采集波形时需要采集多个点,最少要达到信号周期的2倍。。

wicy001 发表于 2013-1-16 09:40:10



Tsetting就是DOR收到数据到引脚输出电压之间的转换时间。很明显是12位全部转换完的时间。

stm32转换速率大约1/4us=250Khz,超100K完全没有问题。


如果说用DAC产生波形的话,需要确定用多少个采样点来表示波形,比如用50个点来输出一个正弦波,则波形的频率只有250K/50=5k了。

wicy001 发表于 2013-1-16 10:26:33

根据datasheet的描述:如果波形是连续变化的,DAC最大输出频率可达1M。这样100个点的波形频率都有10K了

hht594 发表于 2013-9-6 14:49:43

wicy001 发表于 2013-1-16 10:26 static/image/common/back.gif
根据datasheet的描述:如果波形是连续变化的,DAC最大输出频率可达1M。这样100个点的波形频率都有10K了 ...

如果按这样的话,我32个点的波形应该只有31K左右,但是实际测量却有83K,这个是为什么呀?
页: [1]
查看完整版本: 请教,为什么STM32的DAC产生波形不超过10KHz?