STM32的DAC输出经过隔直电容后,为什么直流偏置会发生变化?
现象描述使用STM32的DAC功能输出“0-3.3V”的正弦波在经过电容隔直后输出“-1.65~1.65V”的正弦波信号。现象分析STM32 DAC产生正弦波信号原理通过定时器产生定时触发事件触发DMA将离散正弦波点值传输给DAC然后DAC根据波点值转换对应的电压进行输出。由于STM32的DAC电压的输出范围一般取决VREF引脚且VREF引脚要接正电压而VREF引脚一般是接3.3V所以STM32的DAC输出的电压范围一般是0-3.3V。要想生成正弦波信号必须要把一个周期的正弦波进行离散化DAC输出的正弦波平滑度取决于离散点的多少这些离散点也可以称为波点数。波点数越大输出的正弦波越平滑但是过大的波点数会导致DAC输出的正弦波的频率降低。波点数需要和定时器的定时时间做一个平衡以此输出想要的正弦波信号。12位DAC的波点数计算时需要叠加直流偏置量其公式为其中N为波点数的个数可以取N为64或128。上式中的就是DAC输出叠加的直流偏置对应的电压值为也就是1.65V。为什么DAC输出正弦波时要叠加一个中位点作为直流偏置量因为正弦信号在一个周期内的变化范围是(-11)如果不叠加中位点做偏置那么计算出来的波点值可能为负值而DAC的真值输入范围是(04095)负值是无法输入到DAC数据寄存器DAC数据寄存器接收的值的类型为uint32_t(无符号整型)就算输入负值也会在数值传输时转换为正数届时DAC的波点值与波形值不对应输出的波形会失真。、DAC产生的正弦波信号经过电容隔直后的动态过程在清楚了DAC产生正弦信号的过程之后下面看一下将这个DAC产生的信号经过一个电容后会发生什么。电容上电荷积累阶段在系统刚上电时电容两端电压为0随着输入信号的加入电容两端会形成电场随后电子开始往极板2移动积累电容两端电压开始增加但是电子移动的这个过程不会很长。因为输入信号一直是变化着的当输入信号的电压下降到与电容两端电压一致时电子停止往输出侧电容极板移动。此时输入信号的电压继续下降而电容为了维持自身电压不变极板2的电子会向反方向移动也就是经输出负载到GND这一过程也不会持续太久输出侧电容极板的电子还没有释放完下一个周期的输入信号又过来了此时输出侧电容极板停止电子释放继而又开始积累电子。在最开始的电荷积累阶段每个周期一定会有一定的电荷积累因为输入信号是有直流偏置的。下面的正弦信号示意图是为了说明电荷移动的实际上电荷在移动时绝不是以四分之一周期为间隔电容的电荷移动动态平衡阶段上述的过程一直持续到在一个信号周期内电容的电荷累积量等于电荷释放量的时候这时候电容的电荷移动达到动态平衡此时电容两端的端电压就是输入信号的平均值直流偏置量。动态平衡后的阶段分析在电容电荷移动达到动态平衡时此时电容本身充当输入信号的偏置1.65V从而影响着输出信号的偏置。这一过程就是当输入信号峰峰值为3.3V时同样的电容极板1的电压也会被抬升到3.3V但是电容两端的电压不能突变此时为了保持电容电压不变电容极板2的电压会被抬升到1.65V。当输入信号峰峰值为1.65V时电容极板1的电压会同步变为1.65V为保持电容电压不变此时电容极板2的电压会变为0V。当输入信号峰峰值为0V时同样的电容极板1的电压变为0V为保持电容两端电压不变电容极板2的电压会变为-1.65V。当然在这一过程中电荷还是在动态移动的

相关新闻

游戏反作弊技术解析:从内存修改到服务器验证的攻防实战

游戏反作弊技术解析:从内存修改到服务器验证的攻防实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 17:19:04 阅读更多 →
STM32G431无刷电机PI速度闭环控制:从硬件设计到软件调试全解析

STM32G431无刷电机PI速度闭环控制:从硬件设计到软件调试全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 17:18:04 阅读更多 →
HTTP2 指纹检测分析

HTTP2 指纹检测分析

一、什么是 HTTP/2 指纹HTTP/2 指纹识别是一种基于协议层行为特征的客户端识别技术,它通过分析客户端在建立 HTTP/2 连接过程中的二进制帧行为、参数配置和交互顺序,生成唯一的 "签名" 来区分不同的客户端实现 —— 无论是真实浏览器、爬虫库还…

2026/9/3 17:18:04 阅读更多 →

最新新闻

OFDM系统MATLAB仿真:从原理到误码率曲线实践指南

OFDM系统MATLAB仿真:从原理到误码率曲线实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 18:03:48 阅读更多 →
py-kms新版部署实践:KMS激活服务器搭建与排障指南

py-kms新版部署实践:KMS激活服务器搭建与排障指南

简介:Py-KMS是一款基于Python的开源KMS服务实现,用于在内网或离线下模拟微软KMS激活机制,批量激活Windows与Office产品,适合需统一管理授权的中小企业、IT运维人员及开发测试者。此版本源自ThunderEX维护的持续更新分支&#xff0…

2026/9/3 18:03:48 阅读更多 →
jacob-1.18 jar和dll配置详解:从JNI原理到UnsatisfiedLinkError排查

jacob-1.18 jar和dll配置详解:从JNI原理到UnsatisfiedLinkError排查

简介:Jacob 1.18 是 Java COM Bridge 的完整组件包,面向 Windows 平台上需要调用 COM 组件的 Java 开发者,可解决 Office 文档自动化、Excel 读写、PowerPoint 控制等互操作需求。压缩包共 92 个文件,以 HTML API 文档为主&#x…

2026/9/3 18:03:48 阅读更多 →
【鲁棒优化、大M法、CCG算法】计及风、光、负荷不确定性两阶段鲁棒优化附Matlab代码

【鲁棒优化、大M法、CCG算法】计及风、光、负荷不确定性两阶段鲁棒优化附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。🍎 往期回顾关注个人主页:完整代码获取 定制创新 论文复现私信🍊个人信条:做科研&#xff0c…

2026/9/3 18:03:48 阅读更多 →
【机械臂控制】基于matlab具有参数不确定性的动态非线性系统机械臂鲁棒控制研究附Matlab代码

【机械臂控制】基于matlab具有参数不确定性的动态非线性系统机械臂鲁棒控制研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、算法改进、程序设计科研仿真。🍎 往期回顾关注个人主页:完整代码获取 定制创新 论文复现私信🍊个人信条:做科研&#xff0c…

2026/9/3 18:03:48 阅读更多 →
AI内容生成边界:技术博客助手为何拒绝娱乐类请求?

AI内容生成边界:技术博客助手为何拒绝娱乐类请求?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 18:02:48 阅读更多 →

日新闻

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

先别急着点开,这不是劝退文,而是想讲清楚一件事:用 AI 做逆向值不值得学?如果要用,怎么搭一套“V8 环境 AI 智能体”来提升效率。最近逆向圈、爬虫圈都在聊 AI Agent、AST 工程逆向、JS 逆向这些词,很多新手…

2026/9/3 0:00:29 阅读更多 →
安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →
ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/3 4:22:22 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/3 4:22:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/3 4:22:59 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/3 4:17:49 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/3 4:18:56 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/3 4:21:44 阅读更多 →