[PIC®/AVR®/dsPIC®产品] ADC的结果可以通过DMA传递给PWM吗?

[复制链接]
3292|57
wahahaheihei 发表于 2026-4-28 09:59 | 显示全部楼层
完全可以,而且是嵌入式里非常经典、常用的**
wahahaheihei 发表于 2026-4-28 10:00 | 显示全部楼层
完全可以,而且是嵌入式里非常经典、常用的**
夜晚有三年 发表于 2026-4-28 11:44 | 显示全部楼层
可以,ADC 结果可通过 DMA 直接传递给 PWM,实现无 CPU 干预的闭环控制。ADC 转换完成后触发 DMA,将结果自动搬运到 PWM 的占空比寄存器,形成ADC→DMA→PWM硬件链路。全程无需 CPU 参与,无中断延迟、无抖动,适合电机控制、电源调压、自动增益等实时闭环场景,响应速度极快。
北海道没有冬天 发表于 2026-4-28 16:28 | 显示全部楼层
可以。带 DMA 的 PIC/dsPIC 中,ADC 结果能直接 DMA 搬运到 PWM 占空比寄存器,无需 CPU 干预。配置 DMA 源为 ADC 结果寄存器、目标为 PWM 占空比寄存器,ADC 触发 DMA 传输,实现闭环实时更新。零 CPU 开销、低延迟,适配电源、电机等高速闭环场景,时序稳定无抖动。
永久冻结 发表于 2026-4-29 14:00 | 显示全部楼层
可以。部分高阶 PIC、dsPIC、AVR 单片机支持 DMA 联动外设,ADC 转换完成后,DMA 可自动搬运采样值至 PWM 周期或占空比寄存器。无需 CPU 介入,硬件直通传输,实时用 ADC 数据动态调节 PWM 输出,降低中断开销,提升控制响应,适配电机、电源闭环控制场景。
天灵灵地灵灵 发表于 2026-5-1 16:58 | 显示全部楼层
可以!ADC 结果完全可以通过 DMA 直接传给 PWM,而且是嵌入式里非常经典、常用的**(比如电机调速、LED 调光、电压闭环控制)。
yangxiaor520 发表于 2026-5-1 20:56 来自手机 | 显示全部楼层
可以的,将DMA的数据读取寄存器映射到ADC的数据寄存器,然后将DMA的写寄存器映射到PWM寄存器。
598330983 发表于 2026-5-4 10:26 | 显示全部楼层
可以!ADC 结果完全可以通过 DMA 直接传给 PWM,而且是嵌入式里非常经典、常用的**。
四十四次日落 发表于 2026-5-26 15:12 | 显示全部楼层
可以。ADC 转换完成后触发 DMA,硬件直接将结果搬运到 PWM 占空比寄存器,全程无需 CPU 参与,无软件延迟、响应更快。
需配置 DMA 源为 ADC 结果寄存器、目标为 PWM 占空比寄存器,设置外设触发模式。
适合闭环控制、自动调节等场景,实时性远高于 CPU 中转。
wahahaheihei 发表于 2026-7-9 16:20 | 显示全部楼层
分两种实现方案,可以,但分「硬件直传无 CPU」和「DMA 中转内存再更新 PWM」两类(以 STM32 为主,PIC/RP2040 同理)
夜晚有三年 发表于 2026-7-20 10:41 | 显示全部楼层
dsPIC33C 支持 ADC 经 DMA 直传 PWM,ADC 转换完成触发 DMA,硬件自动将采样值写入 PWM 占空比寄存器,全程无需 CPU 干预,削减中断延时,提升闭环实时性。需匹配 DMA 源 / 目标地址、16 位位宽,注意 ADC 量程与 PWM 周期换算,避免数值溢出,适合电源、电机高速调压调速场景。
夜晚有三年 发表于 2026-7-21 10:42 | 显示全部楼层
可以。dsPIC/PIC 带 DMA 芯片支持 ADC 转换完成触发 DMA,硬件直接将 ADC 结果寄存器数据搬至 PWM 占空比缓冲寄存器,全程无需 CPU 介入,消除中断延时,提升闭环实时性。配置时源 / 目标均设特殊功能寄存器、匹配 16 位传输宽度,做好量程换算防溢出,适用于电机、开关电源高速调压调速。
绒兔星球 发表于 2026-7-29 16:45 | 显示全部楼层
可以实现,微芯 dsPIC、PIC32 等支持 DMA 直传外设。配置 DMA 源为 ADC 结果寄存器、目标指向 PWM 占空比缓冲寄存器,ADC 转换完成自动触发搬运,全程无需 CPU 介入,消除软件延时。若需量程缩放,可先经 DMA 存入 RAM 做换算再二次 DMA 推送 PWM,适合调光、电流闭环,响应快且不占用主控算力。
热爱浪漫 发表于 2026-8-19 14:05 | 显示全部楼层
dsPIC、PIC32 系列支持 DMA 直接将 ADC 采样结果搬运至 PWM 占空比寄存器,无需 CPU 介入中转。实现模拟信号实时动态调制 PWM 输出,节省内核算力,规避 CPU 调度延迟带来的波形滞后。适合调光、稳压闭环控制,注意配置 DMA 触发源与传输地址,防止寄存器写入错乱造成 PWM 波形异常。
少女诗篇 发表于 2026-8-26 10:44 | 显示全部楼层
dsPIC 系列中 ADC 结果可经 DMA 传输,但不能直接写入 PWM 寄存器。DMA 可把 ADC 转换结果搬运到内存缓冲区,由 CPU 读取后更新 PWM 占空比;部分型号支持硬件触发通道,ADC 事件触发 DMA,DMA 再加载数值到 PWM 周期 / 占空比寄存器,实现硬件通路。全程减少 CPU 干预,适合闭环控制,但要注意时序匹配,防止 PWM 寄存器中途被改写造成输出抖动。
少女诗篇 发表于 2026-8-26 10:45 | 显示全部楼层
dsPIC 部分型号支持 DMA 把 ADC 结果直接加载到 PWM 占空比寄存器,无需 CPU 搬运。ADC 转换完成触发 DMA 请求,硬件自动将 ADC 结果写入 PWM 寄存器,实现硬件闭环。但要注意寄存器写保护与更新时机,必须匹配 PWM 周期重载点,避免中途改写造成输出毛刺。若硬件不支持直接映射,则 DMA 只能搬至 RAM,再由 CPU 更新 PWM。
又见春光 发表于 2026-8-27 14:53 | 显示全部楼层
部分 MCU 支持 DMA 将 ADC 结果直接传输到 PWM 占空比寄存器。ADC 转换完成触发 DMA 请求,无需 CPU 介入,自动把采样值载入 PWM 比较寄存器,实时修改占空比。适合电流闭环、电压调制等场景。要注意数据位宽匹配,防止数值溢出;DMA 触发源、传输目标地址配置正确。但无法自动做算法运算,闭环调节仍需软件处理。
21mengnan 发表于 2026-9-14 10:57 | 显示全部楼层
可以,但要分清两种场景,不是直接把 ADC 数值塞进 PWM 寄存器,而是 DMA 搬运 ADC 采样结果,软件 / 硬件利用这个值修改 PWM 占空比。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0