请教,为什么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在实际中只能够达到这么多。
不知道我有没有描述清楚,如没有请指出,望各位大侠解答。 我的理解,DAC每一位的建立时间是4us这样如果是12bit那么更新一次就需要48us,如果是方波的话,极限的周期应该是96us约等于100us这样计算下来能够产生的频率就是10K了,不知道春风大哥是不是这样理解的。 mark 回复【1楼】tiancaigao7天才杨威利
我的理解,dac每一位的建立时间是4us这样如果是12bit那么更新一次就需要48us,如果是方波的话,极限的周期应该是96us约等于100us这样计算下来能够产生的频率就是10k了,不知道春风大哥是不是这样理解的。
-----------------------------------------------------------------------
谢谢回复,4us指的是1bit转换时间啊,我再看看datasheet去 http://cache.amobbs.com/bbs_upload782111/files_40/ourdev_642855L1VX2Q.png
(原文件名:t.png) pwm不会只能10k吧,pic的pwm 都可以做到100k以上。。。。。。。。 PWM又不是由DAC输出的,无可比性!
回复【5楼】b u g
pwm不会只能10k吧,pic的pwm 都可以做到100k以上。。。。。。。。
----------------------------------------------------------------------- 照4楼贴图来看,4us不是指的1bit转换时间,而是10个bit从输出最小到输出最大所需时间。 DAC输出正弦波或者其他波形(非方波),需要有好多个点组成波形的一个周期,就像ADC精确采集波形时需要采集多个点,最少要达到信号周期的2倍。。
Tsetting就是DOR收到数据到引脚输出电压之间的转换时间。很明显是12位全部转换完的时间。
stm32转换速率大约1/4us=250Khz,超100K完全没有问题。
如果说用DAC产生波形的话,需要确定用多少个采样点来表示波形,比如用50个点来输出一个正弦波,则波形的频率只有250K/50=5k了。 根据datasheet的描述:如果波形是连续变化的,DAC最大输出频率可达1M。这样100个点的波形频率都有10K了 wicy001 发表于 2013-1-16 10:26 static/image/common/back.gif
根据datasheet的描述:如果波形是连续变化的,DAC最大输出频率可达1M。这样100个点的波形频率都有10K了 ...
如果按这样的话,我32个点的波形应该只有31K左右,但是实际测量却有83K,这个是为什么呀?
页:
[1]