[N32G03x] N32G031单片机AD采样实战:如何优化10通道轮询的44ms延迟问题

[复制链接]
622|64
robincotton 发表于 2026-4-17 21:40 | 显示全部楼层
在单次转换或轮询模式下,每个通道的启动、转换、读取结果都依赖CPU干预,开销巨大。
youtome 发表于 2026-4-18 11:12 | 显示全部楼层
模拟输入口避免数字干扰,禁用不必要的中断降低调度延迟
uiint 发表于 2026-4-18 13:29 | 显示全部楼层
AD采样核心阶段包含哪些?              
phoenixwhite 发表于 2026-4-18 17:14 | 显示全部楼层
避免在每次通道转换后加软件延时或进行耗时操作。
wengh2016 发表于 2026-4-18 19:48 | 显示全部楼层
软件在死循环轮询ADC完成标志期间被系统中断频繁打断拉长了等待时间
plsbackup 发表于 2026-4-18 22:20 | 显示全部楼层
最大化ADC时钟并优化采样时间。
macpherson 发表于 2026-4-19 11:46 | 显示全部楼层
ADC采样速率被严重限制              
mnynt121 发表于 2026-4-19 12:39 | 显示全部楼层
软件仅读取 DMA 完成后的数组无需等待转换,低功耗场景下不要频繁启停 ADC,保持连续转换可进一步降低延迟。
ccook11 发表于 2026-4-19 13:10 | 显示全部楼层
将单次采样改为ADC 扫描模式 + DMA 搬运
Moon月 发表于 2026-5-2 21:32 | 显示全部楼层
分频和采样周期设置不当,导致硬件运**顿。
zephyr9 发表于 2026-5-3 14:57 | 显示全部楼层
ADC时钟分频太高和采样周期设置过大,导致硬件处理延迟,好似机器速度慢,任务排长队。
哪吒哪吒 发表于 2026-5-4 20:55 | 显示全部楼层
通过DMA,在内存中设置两个缓冲区,当一个缓冲区数据传输完成,DMA自动切换到另一个缓冲区,实现乒乓切换。
caigang13 发表于 2026-5-5 11:11 来自手机 | 显示全部楼层
在数字电源设计中不是主要用DSP芯片吗?
天天向善 发表于 2026-5-5 18:44 | 显示全部楼层
采用扫描模式和DMA可快速采集数据,降低采样时间到毫秒级别。
MintMilk 发表于 2026-5-6 19:09 | 显示全部楼层
要使用DMA优化采样,你需要设置DMA控制寄存器、源地址寄存器和目的地址寄存器,以及必要的控制位和传输计数器。具体配置请参照数据手册中关于DMA的设置步骤。
星闪动力 发表于 2026-5-7 16:37 | 显示全部楼层
为了降低轮询延迟,可使用中断来触发各通道数据读取,减少CPU占用。注意确保中断处理时间短,以避免影响系统整体响应速度。
单芯多芯 发表于 2026-5-9 14:18 | 显示全部楼层
要实现定时器触发ADC扫描,首先设置定时器中断,然后在定时器中断服务程序中启动ADC转换。
digit0 发表于 2026-5-9 22:21 | 显示全部楼层
采样时间要合适,过短会导致数据不准确。
LinkMe 发表于 2026-5-10 12:24 | 显示全部楼层
配置ADC为扫描模式,设置相关控制寄存器使能扫描模式位;连续转换,通过使能ADC的连续转换功能即可。
IntelCore 发表于 2026-5-11 22:30 | 显示全部楼层
改用ADC连续扫描和DMA循环搬运,提高数据采集效率,避免轮询阻塞。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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