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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1L系列
  4. YTM32B1L05, 上下电测试中,ADC输出值异常。

YTM32B1L05, 上下电测试中,ADC输出值异常。

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

    问题:
    YTM32B1L05, 上下电测试中,会随机的出现ADC输出值异常情况。
    故障出现后,不断电,故障会一直保持,断电再上电故障消失。

    debug获取DMA目标地址数据发现,出现大量连续的 2048/1023 数值。中间掺杂几个正常的数据。
    异常数据.jpg

    ADC模块使用简介:
    1)先 pTMR 触发 ADC采样0或1通道 DMA搬运,250组数据,再 pTMR 触发 ADC采样3或5通道 DMA搬运 1000组数据。
    2)每500ms,执行1次 1)操作。

    基本配置
    ADC模块配置

    /* adc_config0 */
    const adc_converter_config_t adc_config0={
    .clockDivider=0,
    .startTime=48,
    .sampleTime=200,
    .overrunMode=false,
    .autoOffEnable=false,
    .waitEnable=false,
    .trigger=ADC_TRIGGER_HARDWARE,
    .align=ADC_ALIGN_RIGHT,
    .resolution=ADC_RESOLUTION_12BIT,
    .dmaWaterMark=1,
    .dmaEnable=true,
    .sequenceConfig={
    .sequenceMode=ADC_CONV_LOOP,
    .sequenceIntEnable=false,
    .convIntEnable=false,
    .readyIntEnable=false,
    .ovrunIntEnable=false,
    .sampIntEnable=false,
    .channels={
    ADC_INPUTCHAN_EXT3,
    ADC_INPUTCHAN_EXT5,
    },
    .totalChannels=2,
    },
    .compareConfig={
    .compareEnable=false,
    .compareAllChannelEnable=false,

        .compHigh=4095,
        .compLow=0,
        .compIntEnable=false,
    },
    

    };

    /* adc_config1 */
    const adc_converter_config_t adc_config1={
    .clockDivider=0,
    .startTime=48,
    .sampleTime=200,
    .overrunMode=false,
    .autoOffEnable=false,
    .waitEnable=false,
    .trigger=ADC_TRIGGER_HARDWARE,
    .align=ADC_ALIGN_RIGHT,
    .resolution=ADC_RESOLUTION_12BIT,
    .dmaWaterMark=1,
    .dmaEnable=true,
    .sequenceConfig={
    .sequenceMode=ADC_CONV_LOOP,
    .sequenceIntEnable=false,
    .convIntEnable=false,
    .readyIntEnable=false,
    .ovrunIntEnable=false,
    .sampIntEnable=false,
    .channels={
    ADC_INPUTCHAN_EXT1,
    ADC_INPUTCHAN_EXT0,
    },
    .totalChannels=2,
    },
    .compareConfig={
    .compareEnable=false,
    .compareAllChannelEnable=false,

        .compHigh=4095,
        .compLow=0,
        .compIntEnable=false,
    },
    

    };

    DMA模块配置
    dma_loop_transfer_config_t adcTransferConfigLoopConfig = {
    .triggerLoopIterationCount=1000,
    .srcOffsetEnable=false,
    .dstOffsetEnable=true,
    .triggerLoopOffset=0,
    .transferLoopChnLinkEnable=false,
    .transferLoopChnLinkNumber=0,
    .triggerLoopChnLinkEnable=false,
    .triggerLoopChnLinkNumber=0,
    };

    dma_transfer_config_t adcTransferConfig = {
    .srcAddr=(uint32_t)0,
    .destAddr=(uint32_t)0,
    .srcOffset=0,
    .destOffset=0x02U,
    .srcTransferSize=DMA_TRANSFER_SIZE_2B,
    .destTransferSize=DMA_TRANSFER_SIZE_2B,
    .srcModulo=DMA_MODULO_OFF,
    .destModulo=DMA_MODULO_OFF,
    .transferLoopByteCount=4,
    .srcLastAddrAdjust=4,
    .destLastAddrAdjust=-4,
    .interruptEnable=true,
    .loopTransferConfig=&adcTransferConfigLoopConfig,
    };
    pTMR 配置
    const ptmr_user_channel_config_t ptmr_channel_0={
    .periodUnits=pTMR_PERIOD_UNITS_COUNTS,
    .period=625,
    .chainChannel=false,
    .isInterruptEnabled=false,
    };

    时钟频率
    内核&DMA 48M
    ADC = 16M
    pTMR = 8M

    ADC链路配置
    ADC链路配置.jpg

    ADC链路启动
    ADC链路启动.jpg

    1 条回复 最后回复
    0

  • 云途开发生态介绍

    快速上手云途开发生态

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YT CONFIG TOOL调查问卷

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

  • can
    23
    demo
    20
    uds
    13
    lin stack
    12
    md14
    6
    fbl
    5
    yt-link
    5
    adc模块
    4
    Online Users
    • 登录

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