找回密码
 立即注册
楼主: BJTU

为什么我ADC的速度非常低?求教

[复制链接]
  • 打卡等级:常住居民I
  • 打卡总天数:78
  • 最近打卡:2025-06-16 09:36:22

4

主题

49

回帖

680

积分

高级会员

积分
680
发表于 4 天前 | 显示全部楼层
BJ*** 发表于 2025-2-11 23:49
感谢,改成整形后确实比之前更快了定时器40us已经可以正常运行了,但是把定时器改成20us后速度又上不去了 ...

我用12MHz主频,ADC可以跑到100KHz的采样率。
因为是采集一段时间的波形再处理,不需要一直连续处理,只需要读到结果存入缓存,
所以用软件死循环读定时器标志位,不开硬件中断,免去进出中断的开销,单次采样加上储存的耗时大约8到9us。
当然还有很大可优化的空间,因为考虑软件结构没做太极限的简化。

如果需要一直连续读并处理数据的话,建议把硬件数学单元用上来加速,然后小心处理各处的耗时。
可以用示波器或者逻辑分析仪来观察每段程序运行的时间,看看是哪个地方消耗了过多的时间。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-16 13:13 , Processed in 0.497721 second(s), 45 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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