OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 20964|回复: 34

PWM DAC中的参数设置

[复制链接]

12

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
155
金钱
155
注册时间
2012-12-29
在线时间
15 小时
发表于 2013-3-18 15:05:06 | 显示全部楼层 |阅读模式
pwm dac生成时,其中的如果是1阶RC滤波,则要求截止频率为滤波为1.77Khz,如果为2阶RC滤波,则要求截止频率为波则要求截止频率为22.34Khz。这两个值是怎么算出来的呢,我看了PWM DAC.pdf这个文档也没看明白,希望哪位能给我说说,真心感谢了。
踏实每一天!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2013-3-18 17:04:55 | 显示全部楼层
1,PWM频率为281.25Khz,那么一次谐波频率就是281.25Khz.
2,1阶RC滤波,幅频特性为:-10lg[1+(f/fp)^2];
所以对一阶滤波来说,要达到-44dB的衰减,必须-10lg[1+(f/fp)^2]=-44;
得到f/fp=158.486,即fp=281.25/158.486=1.77Khz.

二阶算法类似.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 1 反对 2

使用道具 举报

1

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2016-6-30
在线时间
20 小时
发表于 2016-7-25 10:52:30 | 显示全部楼层
本帖最后由 447876460 于 2016-7-25 10:54 编辑


学习了,总结一下,对于STM32F407:
        在8位分辨条件下,我们一般要求1次谐波对输出电压的影响不要超过1个位的精度,也就是3.3/256=0.01289V。假设VH为3.3V,VL为0V,那么一次谐波的最大值是2*3.3/π=2.1V,这就要求我们的RC滤波电路提供至少-20lg(2.1/0.01289)=-44dB的衰减。
        STM32的定时器最快的计数频率是168Mhz,部分定时器只有84MHz,以84M为例,8为分辨率的时候,PWM频率为84M/256=328.125Khz。如果是1阶RC滤波,则要求截止频率为2.07Khz,如果为2阶RC滤波,则要求截止频率为26.14Khz。

1、PWM频率为328.125Khz,那么一次谐波频率就是328.125Khz;
2、1阶RC滤波,幅频特性为:-10lg[1+(f/fp)^2];fp为截止频率。
所以对一阶滤波来说,要达到-44dB的衰减,必须-10lg[1+(f/fp)^2]=-44; 得到f/fp=158.486,即fp=328.125/158.486=2.07Khz。
3、2阶RC滤波,幅频特性为:-20lg[1+(f/fp)^2];fp为截止频率。
所以对二阶滤波来说,要达到-44dB的衰减,必须-20lg[1+(f/fp)^2]=-44; 得到f/fp=12.549,即fp=328.125/12.549=26.14Khz。




回复 支持 2 反对 0

使用道具 举报

12

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
155
金钱
155
注册时间
2012-12-29
在线时间
15 小时
 楼主| 发表于 2013-3-19 10:36:16 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢了,我弄懂了!一阶无源低通滤波电路的幅频特性看出其阻带衰减为-20dB/十倍频,采用二阶滤波电路后,其阻带衰减为-40dB/十倍频,因此可以推出二阶RC滤波的幅频特性为:-20lg[1+(f/fp)^2],所以对于二阶RC低通滤波来说,要达到-44dB的衰减,必须为:-20lg[1+(f/fp)^2]=-44,得到fp=22.34Khz,不知道是不是这样算的哈
踏实每一天!
回复 支持 0 反对 2

使用道具 举报

9

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2020-11-24
在线时间
38 小时
发表于 2020-12-13 16:51:43 | 显示全部楼层
447876460 发表于 2016-7-25 10:52
学习了,总结一下,对于STM32F407:
        在8位分辨条件下,我们一般要求1次谐波对输出电压的影响不 ...

你好,为何2阶RC滤波幅频特性能将-10改为-20,不应该是 20log(1/sqrt((1-f/fp)^2+(3*f/fp)^2)) = -44?
回复 支持 1 反对 0

使用道具 举报

12

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
155
金钱
155
注册时间
2012-12-29
在线时间
15 小时
 楼主| 发表于 2013-3-19 08:31:24 | 显示全部楼层
太感谢了,终于弄懂了!                                                                                     
踏实每一天!
回复 支持 反对

使用道具 举报

17

主题

77

帖子

0

精华

初级会员

Rank: 2

积分
166
金钱
166
注册时间
2013-3-20
在线时间
0 小时
发表于 2013-4-9 14:19:03 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

7

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2013-5-23
在线时间
5 小时
发表于 2013-6-7 17:50:38 | 显示全部楼层
同样不明白的人,现在明白了。。。
回复 支持 反对

使用道具 举报

13

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2013-6-21
在线时间
0 小时
发表于 2013-10-6 09:59:38 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2013-9-24
在线时间
0 小时
发表于 2013-10-15 10:21:44 | 显示全部楼层
一阶的没有问题,二阶我推出来的公式是
|Au|= |Auf|/sqr[(1-(f/fp)^2)^2+9(f/fp)^2]
所以20log (|Au/Auf|)=10lg[(1-(f/fp)^2)^2+9(f/fp)^2]
回复 支持 反对

使用道具 举报

16

主题

52

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2013-6-22
在线时间
7 小时
发表于 2013-10-15 15:57:52 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

7

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
142
金钱
142
注册时间
2015-3-13
在线时间
13 小时
发表于 2015-3-29 10:47:07 | 显示全部楼层
原来是这样,顺便又把滤波器复习了一遍
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2011-7-30
在线时间
6 小时
发表于 2015-5-17 17:02:20 | 显示全部楼层
全都还给老师了。惭愧
回复 支持 反对

使用道具 举报

10

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-5-22
在线时间
0 小时
发表于 2015-8-14 17:12:22 | 显示全部楼层
回复【2楼】正点原子:
------------------------------
这不叫截止频率,截止频率指的是输出为输入1/sqrt(2) 对应的频率
我建了一个战舰stm32交流群:320350722 新手请教老手,老手大显身手! stm32交流群:320350722 stm32交流群:320350722
回复 支持 反对

使用道具 举报

10

主题

75

帖子

0

精华

初级会员

Rank: 2

积分
135
金钱
135
注册时间
2015-5-22
在线时间
0 小时
发表于 2015-8-14 17:33:49 | 显示全部楼层
回复【3楼】j466769238:
---------------------------------
参考 http://wenku.baidu.com/view/3b3298cfda38376baf1fae50.html?re=view
我建了一个战舰stm32交流群:320350722 新手请教老手,老手大显身手! stm32交流群:320350722 stm32交流群:320350722
回复 支持 反对

使用道具 举报

0

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
489
金钱
489
注册时间
2016-12-21
在线时间
76 小时
发表于 2017-10-9 08:59:38 | 显示全部楼层
多谢各路大神,学习了
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2017-10-19
在线时间
1 小时
发表于 2017-10-20 09:48:42 | 显示全部楼层
这个一次谐波的最大值 以及44分贝的衰减怎么算出来的
回复 支持 反对

使用道具 举报

头像被屏蔽

0

主题

22

帖子

0

精华

禁止发言

积分
48
金钱
48
注册时间
2017-10-9
在线时间
4 小时
发表于 2017-10-20 10:04:02 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

3

主题

10

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-11-5
在线时间
7 小时
发表于 2018-5-19 20:50:30 | 显示全部楼层
MARKMARK
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2018-5-7
在线时间
25 小时
发表于 2018-8-4 15:00:16 | 显示全部楼层
好,谢谢分享知识
回复 支持 反对

使用道具 举报

16

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
318
金钱
318
注册时间
2017-8-15
在线时间
71 小时
发表于 2018-9-2 19:59:42 | 显示全部楼层
void Dac1_Set_Vol(u16 vol)
{
        double temp=vol;
        temp/=1000;
        temp=temp*4096/3.3;
        DAC_SetChannel1Data(DAC_Align_12b_R,temp);//12λÓÒ¶ÔÆëÊý¾Ý¸ñʽÉèÖÃDACÖµ
}
各位大神,谁知道这个函数是干什么的,也没有初始化,也没有中断调用,实在是看不懂   
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2018-12-7
在线时间
14 小时
发表于 2019-4-7 14:28:16 | 显示全部楼层
感谢,666666666
回复 支持 反对

使用道具 举报

5

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
金钱
262
注册时间
2019-7-22
在线时间
43 小时
发表于 2019-8-14 16:08:43 | 显示全部楼层
正点原子 发表于 2013-3-18 17:04
1,PWM频率为281.25Khz,那么一次谐波频率就是281.25Khz.
2,1阶RC滤波,幅频特性为:-10lg[1+(f/fp)^2];
所以对 ...

1阶RC滤波,幅频特性不应该为-10lg{[1+j(f/fp)]^2}嘛
回复 支持 反对

使用道具 举报

5

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
金钱
262
注册时间
2019-7-22
在线时间
43 小时
发表于 2019-8-14 16:16:23 | 显示全部楼层
1阶RC滤波,幅频特性不应该为-10lg{[1+j(f/fp)]^2}嘛 兄弟
回复 支持 反对

使用道具 举报

5

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
262
金钱
262
注册时间
2019-7-22
在线时间
43 小时
发表于 2019-8-14 16:25:05 | 显示全部楼层
李登强 发表于 2019-8-14 16:16
1阶RC滤波,幅频特性不应该为-10lg{[1+j(f/fp)]^2}嘛 兄弟

看错了 解决了 不好意思
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2019-2-22
在线时间
1 小时
发表于 2019-9-4 14:34:25 | 显示全部楼层
447876460 发表于 2016-7-25 10:52
学习了,总结一下,对于STM32F407:
        在8位分辨条件下,我们一般要求1次谐波对输出电压的影响不 ...

学习了
回复 支持 反对

使用道具 举报

13

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2019-5-13
在线时间
36 小时
发表于 2019-11-7 13:28:47 | 显示全部楼层

楼主的公式是不是少了一个根号?
回复 支持 反对

使用道具 举报

4

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2019-8-12
在线时间
10 小时
发表于 2019-11-7 20:01:21 | 显示全部楼层
回复!!!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2019-10-28
在线时间
2 小时
发表于 2019-11-27 20:37:01 | 显示全部楼层
正点原子 发表于 2013-3-18 17:04
1,PWM频率为281.25Khz,那么一次谐波频率就是281.25Khz.
2,1阶RC滤波,幅频特性为:-10lg[1+(f/fp)^2];
所以对 ...

你的做法好像是错误的
应该是4次方
回复 支持 反对

使用道具 举报

2

主题

474

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6073
金钱
6073
注册时间
2018-6-27
在线时间
524 小时
发表于 2020-1-16 10:57:30 | 显示全部楼层
学习学习,学习学习。
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2017-6-27
在线时间
19 小时
发表于 2020-7-6 15:19:56 | 显示全部楼层
mark     
回复 支持 反对

使用道具 举报

5

主题

129

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
432
金钱
432
注册时间
2020-5-8
在线时间
66 小时
发表于 2020-7-8 09:48:04 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

9

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2020-11-24
在线时间
38 小时
发表于 2020-12-13 16:47:32 | 显示全部楼层
DoubleK 发表于 2017-10-20 09:48
**** 作者被禁止或删除 内容自动屏蔽 ****


看图,Vh=3.3(V),VL=0(V),代入计算即可
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2019-9-21
在线时间
10 小时
发表于 2021-6-2 15:49:32 | 显示全部楼层
shelden 发表于 2020-12-13 16:47
看图,Vh=3.3(V),VL=0(V),代入计算即可

你的 解答过程看不到 ,大佬  能单独传一份给我?
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2021-10-15
在线时间
13 小时
发表于 2021-12-13 17:34:04 | 显示全部楼层
LUOHAO 发表于 2018-9-2 19:59
void Dac1_Set_Vol(u16 vol)
{
        double temp=vol;

用于设置dac,数字量 vol/4096 ,因为是12bit ,有2^12 = 4096
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 06:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表