打印
[APM32F0]

F072 ADC 断续模式采样问题

[复制链接]
388|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
问题背景
  • 客户反馈,使用APM32F072RBT7调试ADC的断续模式,仿真全速运行时EOC Flag会“自行清0”,导致软件执行逻辑有问题。
    • 仿真里打断点执行,EOC没再异常清0。
    • 细测,无论是否DISCEN是否使能,异常表现依然存在。

   
  • 检查过客户代码,ADC没开中断,除客户采样取结果的软件操作,没有其他地方再出现过读出ADC->DATA寄存器,或者对EOC bit写1清0的操作。

   

解决方案
  • 因为用户在仿真的同时,开启了Keil MDK的观察ADC寄存器值功能——等效IDE也在变相地不断读取ADC->DATA寄存器,使得EOC Flag会被“无缘无故”异常清0。

   
   
  • 只要把ADC寄存器的仿真观测关掉后,全速运行就正常。客户编写的断续模式逻辑没问题。

   

使用特权

评论回复
沙发
tpgf| | 2023-7-4 10:46 | 只看该作者
能不能详细的介绍一下 ADC 断续模式是什么工作方式吗

使用特权

评论回复
板凳
qcliu| | 2023-7-4 12:00 | 只看该作者
间断模式和单次采样模式是一个模式的不同说法吗

使用特权

评论回复
地板
drer| | 2023-7-4 12:15 | 只看该作者
对于规则通道组,间断模式下每转换一个通道,EOC就会置位一次

使用特权

评论回复
5
coshi| | 2023-7-4 13:57 | 只看该作者
不必像SCAN模式那样必须采用DMA来搬运数据

使用特权

评论回复
6
kxsi| | 2023-7-4 14:24 | 只看该作者
我们使用间断模式的时候,有一些前置配置不能忽略

使用特权

评论回复
7
wiba| | 2023-7-4 15:35 | 只看该作者
对于注入通道组,则是每次触发只转换一个通道,DISCNUM的值无效

使用特权

评论回复
8
Fanexs168|  楼主 | 2023-7-19 11:53 | 只看该作者
一般都推荐ADC+DMA方案

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

16

主题

101

帖子

2

粉丝