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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. 关于MCAL环境下的时钟监测问题

关于MCAL环境下的时钟监测问题

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

    请教一下:MCAL环境下是如何实现时钟监测的?没找到相关设置项。
    之前在z20下通过如下方式实现片外时钟和片内高速时钟之间的切换。

        // 2-时钟初始化
        if(reset_reson & 0x40000){                         // 时钟丢失                                             
            Mcu_InitClock(1);                                      // 选择FIRC作为PLL时钟源
            INPUT_CLK_FREQ =96;
        }
        else{
            Mcu_InitClock(0);                                    // 选择FXOSC作为PLL时钟源
            INPUT_CLK_FREQ = 24;    
            // 使能OSC时钟丢失复位
            Mcu_EnableOscClockMonitor(MCU_OSC_CLOCK_LOSS_RST);                             
        } 
    

    现在Mcu_InitClock(0)或Mcu_InitClock(1)独立运行都是正常的。但自动切换实现不了,片外24M时钟接地后会造成系统死机。且MCAL库也没有Mcu_EnableOscClockMonitor()函数。

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

      MCAL 环境下,可以通过CMU实现时钟监测,包括时钟丢失,参考时钟丢失,时钟频率不正常等功能
      配置项路径在这里:Mcu/McuModuleConfiguration/McuClockSettingConfig/McuClockSettingConfig_0/McuCMUConfig

      根据 Reset 原因初始化可以参考:

      int main(void)
      {
         Mcu_Init(&Mcu_Config);
         uint32 ResetReason = Mcu_GetResetRawValue();
         if (ResetReason == 1) {
             Mcu_InitClock(1);
         }else {
             Mcu_InitClock(0);
         }
         while(1) {
         }
      }
      
      yxydoctorY 1 条回复 最后回复
      0
      • yxydoctorY 离线
        yxydoctorY 离线
        yxydoctor
        在 回复了 jiankang_wang 最后由 编辑
        #3

        jiankang_wang 可以切换了,多谢!
        再请教一下:
        无标题.png
        这两个门限参数具体指的是什么?单位呢?

        jiankang_wangJ 1 条回复 最后回复
        0
        • jiankang_wangJ 离线
          jiankang_wangJ 离线
          jiankang_wang
          在 回复了 yxydoctor 最后由 编辑
          #4
          • 这两个门限控制允许的监测时钟频率范围,超过该频率范围会 产生时钟频率超出限制 的标志位。
          • 这里的单位是 Tick。其含义如下:
            6961d3f5-56d8-4be8-af9c-75cb290a743b-image.png
            其中 128 是固定参数,为 CMU 的时钟监测周期,20% 为允许的偏差
          yxydoctorY 1 条回复 最后回复
          0
          • yxydoctorY 离线
            yxydoctorY 离线
            yxydoctor
            在 回复了 jiankang_wang 最后由 编辑
            #5

            jiankang_wang 好的,非常感谢

            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
            yt0069Y
            yt0069
            TungDoT
            TungDo
            jankyJ
            janky
            YanglzY
            Yanglz
            kasselK
            kassel
            YTCQ_shejiwangY
            YTCQ_shejiwang
            FrankieF
            Frankie
            KeanuChenQAQK
            KeanuChenQAQ
            • 登录

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