PEM DAC note
开发指南V1.0库函数版本,PWM DAC实验 350页 STM32 的定时器最快的计数频率是72Mhz,8 为分辨率的时候,PWM 频率为72M/256=281.25Khz。如果是1阶RC滤波,则要求截止频率为1.77Khz,如果为2阶RC滤波,则要求截止频率为22.34Khz.一阶RC滤波截止频率为什么是1.77Khz,二阶为什么是22.34Khz?怎么得来的?这两个频率和PWM频281,25Khz之间有什么关系?看了傅里叶展开,没看出他们之间的关系,很困惑,望原子指点.
pwm dac生成时,其中的如果是1阶RC滤波,则要求截止频率为滤波为1.77Khz,如果为2阶RC滤波,则要求截止频率为波则要求截止频率为22.34Khz。这两个值是怎么算出来的呢,我看了PWM DAC.pdf这个文档也没看明白,希望哪位能给我说说,真心感谢了。
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.
二阶算法类似.
谢谢了,我弄懂了!一阶无源低通滤波电路的幅频特性看出其阻带衰减为-20dB/十倍频,采用二阶滤波电路后,其阻带衰减为-40dB/十倍频,因此可以推出二阶RC滤波的幅频特性为:-20lg[1+(f/fp)^2],所以对于二阶RC低通滤波来说,要达到-44dB的衰减,必须为:-20lg[1+(f/fp)^2]=-44,得到fp=22.34Khz,不知道是不是这样算的哈
频率为72MHZ/psc ,
占空比 TIM_Comarex(TIMx,val)/ARR
占空比=pulse/ARR
ARR的值与CCRx的值相比较,控制占空比,你试着把CCRx的值改一下,看看结果就懂了
Create a Low-Pass RC filter that will filter out the frequency of your PWM. The cutoff frequency should be at least 10 times lower than the frequency of your PWM. A lower cutoff frequency will reduce the voltage ripple in the output signal.
Cutoff frequency is determined by:
f = 1/(2πRC)
Further reading:
在PWM用于DA转换的场合,阻容滤波电路是关系转换效果的重要环节。由RC充放电常数我们可以大致计算出阻容环节的充放电频率,一般为了得到理想的滤波效果,这个频率要远小于PWM的输出频率(小于四分之一)。一般情况下,当C较小R较大时,DA转换出的电压损耗很小,但是纹波却很大;当C较大R较小时,DA转换出的电压损耗很大,但纹波相对较小。所以当需要进行线形度很高的精确DA转换时必须使用较小的滤波电容,且尽量避免使用电解类电容。而为了得到较强的信号输出,RC惯性环节之后还必须加一级高性能的电压跟随,然后在跟随器输出的地方加上一个滤波用的电解电容,用于平滑RC惯性环节的纹波。但是这还不够,因为这时的输出电压里可能含有较多的交流 谐波成分,如果处理不当,跟随器有可能自激。解决的办法就是使用一个小的去藕电容。而且这里电容的放置顺序必须是电解电容在前,去藕电容在后!如果输出电压精度和线形度要求不高,但是对纹波要求却很高,或者这个电压比较固定时,可以使用电容较大的滤波组合。因为,虽然大电容的直流损耗较大,但是我们可以通过调节PWM占空比来达到要求的输出电压,或者通过一级AD转换的反馈来实现精确的固定电压输出。只是这里仍然要加一级电压跟随器,以便于后级采集电路使用,且AD采集点放置在跟随器输出处。
PEM DAC note的更多相关文章
- mod_cluster启用https协议的步骤
1.生成SSL证书与私钥 Generate Private Key on the Server Running Apache + mod_ssl First, generate a private k ...
- Flagr 配置说明
说明文档来自官方文档 https://checkr.github.io/flagr/#/flagr_env 完整配置 包含了组件的配置参数以及说明,对于学习如何使用Flagr 还是很重要的,包含了数据 ...
- Apache服务器SSL双向认证配置
以Win32版Apache与OpenSSL为例,介绍从创建数字证书到Apache配置的整个过程,希望对读者有所帮助. Apache是目前最流行的WEB服务器之一,借助OpenSSL库,我们可以在Apa ...
- 服务器 apache配置https,http强制跳转https(搭建http与https共存)
公司linux服务器上的nginx的已经改成https了,现在还剩下一个windows云服务器没配置. 环境 windows wampserver2.5 64位 1.腾讯云申请的ssl 包含三个文件: ...
- 信安实践——自建CA证书搭建https服务器
1.理论知识 https简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HT ...
- HTTPS证书申请相关笔记
申请免费的HTTPS证书相关资料 参考资料: HTTPS 检测 苹果ATS检测 什么是ECC证书? 渠道2: Let's Encrypt 优点 缺点 Let's Encrypt 的是否支持非80,44 ...
- xmapp开启https
在开发微信小程序的时候我们需要开启https本地测试,以下我们说明使用xmapp如何开启https访问 1. php中开启ssl 在php的配置文件中把openssl前面的注释去掉, 大概在配置文件的 ...
- apache添加ssl协议实现用户认证
目标 1对服务器的访问由http改为https, 2仅有证书的客户端可以访问服务器, 3.通过服务器端的配置,可以停用某个客户端的证书. 一 Apache服务器相关配置: 在../apache/con ...
- centos apache2.4.6 apache https配置
错误描述: SSL 接收到一个超出最大准许长度的记录. 错误代码:SSL_ERROR_RX_RECORD_TOO_LONG 原因: root@iZwz93telmwbh624e5zetqZ:~# ap ...
随机推荐
- centos6.5 使用 rpm 安装 mysql
从mysql网站下载mysql rpm安装包(包括server.client) 1.安装server rpm -ivh MySQL-server-5.6.19-1.el6.x86_64.rpm 强制安 ...
- python_线程、进程和协程
线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. #!/usr/bin/env python #coding=utf-8 __author__ = 'yinjia' i ...
- Asp.Net MVC4 之Url路由
先来看下面两个个url,对比一下: http://xxx.yyy.com/Admin/UserManager.aspx http://xxx.yyy.com/Admin/DeleteUser/1001 ...
- IOS - Safari中click点击事件无效
做web移动端页面时,安卓端一点问题也没,发现在ios真机上点击事件无效,发现Safari下只有默认可点击的元素才click点击事件,像span div等元素是不具有点击事件的. 解决问题四种方式: ...
- centos 下tomcat 自动启动
1.修改start.sh文件 vim /usr/local/tomcat8/bin/startup.sh 在文件头增加以下内容: #!/bin/sh # chkconfig: 2345 97 00 # ...
- linux用户帐号管理/etcpasswd 和/etc/shadow文件
#学习鸟哥的linux私房菜 /etc/passwd的文件构造: dahu@dahu-OptiPlex-:~/myfile/VideoFile$ head /etc/passwd root:x:::r ...
- 小甲鱼C++笔记(下)25-48
二十五 二十六 二十七 重载 运算符重载 1. 作为成员函数 #include <iostream> using namespace std; class Add { private ...
- 4. CMake 系列 - 项目添加编译选项
目录 1. 项目目录结构 2. 相关代码 2.1 add 模块 2.2 sub 模块 2.3 example 模块 2.4 顶层 CMakeLists.txt 3. 配置&编译 1. 项目目录 ...
- Python全栈开发之7、模块和几种常见模块以及format知识补充
一.模块的分类 Python流行的一个原因就是因为它的第三方模块数量巨大,我们编写代码不必从零开始重新造轮子,许多要用的功能都已经写好封装成库了,我们只要直接调用即可,模块分为内建模块.自定义的模块. ...
- Codeforces Round #222 (Div. 1) 博弈 + dp
一般这种要倒着来. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #def ...