跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. MD1_ADC测试到FIFO错位问题

MD1_ADC测试到FIFO错位问题

已定时 已固定 已锁定 已移动 YTM32B1M系列
1 帖子 1 发布者 29 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • H 离线
    H 离线
    Harlan
    编写于16天之前 最后由 编辑
    #1

    问题说明:

    • 应用ADC FIFO时,ADC序列未转换完成也要清除FIFO的数据,否则会影响下一次的数据获取;

    问题分析

    • 芯片:MD1

    • 列表代码如同下图逻辑,在FOC运算时做软件组ADC转换;
      7c3f53ca-87a0-4811-aad0-9f9be327f332-image.png

    • 如果FOC运算时间较短,可能会导致软件组ADC未能全部转换完成,为保证FOC的时效性,软件不会对FIFO进行取值;

    • 虽然ADC组没有整体转换完成,但可能已经转换了个别通道,如果不对已转换过的ADC通道进行处理,理论上后续再取值时,会出现FIFO数据错位情况;

    • 正确逻辑:在判断到未转换完成时,如果要放弃本次转换数据,则应该也要将FIFO中数据清掉才较为合理;软件优化如下图:
      6ca69879-610c-425c-94b0-d7887b077e86-image.png

    • 通过上述优化,反复测试未再复现FIFO错位的问题;方案有效。

    特别注意

    • 在排查问题时,尝试重新开关ADC外设也解决不了问题,必须要清除FIFO才OK;

    • FOC应用中,ADC中断优先级一定要最高,ADC中断最好不要被轻易打断;(曾遇到客户移植恒润Autosar自动生成的CAN报文软件后,导致ADC FIFO值先错位,接着FIFO值不更新,后来排查到CAN报文软件内有开关全局中断,手动将相关指令屏蔽后,反复测试ADC正常)

    1 条回复 最后回复
    0

    1/1

    2025年5月26日 06:30

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YCT离线License申请流程

    帮助没办法联网的电脑使用YCT

  • YT CONFIG TOOL调查问卷

    帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

  • demo
    12
    can
    9
    lin stack
    6
    yt-link
    5
    vscode
    3
    adc模块
    2
    i2c
    2
    uuid
    2
    Online Users
    W
    WKY
    16分钟之前
    • 登录

    • 登录或注册以进行搜索。
    1 / 1
    • 第一个帖子
      1/1
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门