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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1M系列
  4. eTMR输出PWM波形,配置完后,频率是正确的,但是占空比不正确

eTMR输出PWM波形,配置完后,频率是正确的,但是占空比不正确

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

    我使用eTMR2 ch3输出PWM波形,用逻辑分析仪抓取波形发现,频率是25K和设置的一样,但是占空比我设置的75%,但实测是95%,我确认了寄存器MOD=4799,VAL0=599,VAL1=4199,寄存器计算出来应该是75%,但是为什么波形抓出来是95%?

    1 条回复 最后回复
    0
    • wangzhenW 离线
      wangzhenW 离线
      wangzhen
      写于 最后由 编辑
      #2

      etmr_pwm_param_t ETMR_PWM_Config1={
      .nNumPwmChannels=2,
      .mode=eTMR_PWM_MODE,
      .uFrequencyHZ=25000,
      .counterInitValFromInitReg=true,
      .cntVal=0,
      .pwmChannelConfig=ETMR_PWM_Config1IndChConfig,
      .faultConfig=&ETMR_PWM_Config1FaultConfig,
      };
      etmr_pwm_ch_param_t ETMR_PWM_Config1IndChConfig[2]={
      {
      .hwChannelId=0,
      .polarity=eTMR_POLARITY_NORMAL,
      .pwmSrcInvert=false,
      .align=eTMR_PWM_CENTER_ALIGN,
      .channelInitVal=0,
      .typeOfUpdate=eTMR_PWM_UPDATE_IN_DUTY_CYCLE,
      .dutyCycle=0x00,
      .offset=0,
      .enableSecondChannelOutput=false,
      .secondChannelPolarity=eTMR_POLARITY_NORMAL,
      .enableDoubleSwitch=false,
      .evenDeadTime=0,
      .oddDeadTime=0,
      },
      {
      .hwChannelId=3,
      .polarity=eTMR_POLARITY_NORMAL,
      .pwmSrcInvert=false,
      .align=eTMR_PWM_CENTER_ALIGN,
      .channelInitVal=0,
      .typeOfUpdate=eTMR_PWM_UPDATE_IN_DUTY_CYCLE,
      .dutyCycle=0x6000U,
      .offset=0,
      .enableSecondChannelOutput=false,
      .secondChannelPolarity=eTMR_POLARITY_NORMAL,
      .enableDoubleSwitch=false,
      .evenDeadTime=0,
      .oddDeadTime=0,
      },
      };

      1 条回复 最后回复
      0
      • xianghanX 离线
        xianghanX 离线
        xianghan YunTu
        写于 最后由 编辑
        #3

        image.png看下这个结构体的配置

        1 条回复 最后回复
        0
        • wangzhenW 离线
          wangzhenW 离线
          wangzhen
          写于 最后由 编辑
          #4

          etmr_pwm_sync_t ETMR_CM_Config2PwmSync={
          .regSyncFreq=1,
          .regSyncSel=REG_SYNC_WITH_MOD,
          .cntInitSyncSel=CNT_SYNC_WITH_REG,
          .maskOutputSyncSel=CHMASK_SYNC_WITH_REG,
          .regSyncTrigSrc=DISABLE_TRIGGER,
          .cntInitSyncTrigSrc=DISABLE_TRIGGER,
          .maskOutputSyncTrigSrc=DISABLE_TRIGGER,
          .hwTrigFromTmuEnable=false,
          .hwTrigFromCimEnable=false,
          .hwTrigFromPadEnable=false,
          };

          1 条回复 最后回复
          0
          • wangzhenW 离线
            wangzhenW 离线
            wangzhen
            写于 最后由 编辑
            #5

            问题已经确认是硬件的原因了,感谢!

            1 条回复 最后回复
            0

          • 云途论坛规则/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
            • 登录

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