查看: 4100|回复: 9

[已解决] 如何把KEA128总线时钟频率设置到48M?

[复制链接]
  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
    发表于 2018-4-9 10:11:31 | 显示全部楼层 |阅读模式
    如何把KEA128总线时钟频率设置到48M?

    最佳答案

    ,忆昔颜 发表于 2018-4-9 16:24 写代码的话,core clock配置好之后,bus clock不去2分频,那总线时钟不就是48M了么?如果真的总线时钟是4 ... 主频是可以到达48Mhz,但是bus时钟不建议你到达48Mhz,请按照手册规定 ...
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-11-15 16:18
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    16

    主题

    259

    帖子

    3

    高级会员

    Rank: 4

    积分
    993
    最后登录
    2023-1-6
    发表于 2018-4-9 10:50:36 | 显示全部楼层
    ssshit.png
    这是PE工程里设置的时钟,可以得知总线时钟不能超过24MHz,而定时器和内核时钟可以达到48Mhz

    评分

    参与人数 1 +2 收起 理由
    doatello + 2 很给力!

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2018-4-9 14:04:06 | 显示全部楼层
    OK,谢谢
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    110

    主题

    3404

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    9004
    最后登录
    2025-7-20
    发表于 2018-4-9 14:10:19 | 显示全部楼层
    翻了下原来的笔记,使用内部晶振可达到48M,外部晶振可倍频到40M
    1. void init_clks_FEI_48MHz (void) { /* FLL Enabled with Internal clock */
    2. OSC_CR = 0x00; /* (default value) */
    3. /* OSCEN=0: OSC module disabled */
    4. /* OSCSTEN=0: OSC clock disabled in Stop mode */
    5. /* OSCOS=0: Ext clk source (don't care here */
    6. /* RANGE=0: Low Freq range of 32 KHz */
    7. /* HGO=0: low power High Gain Osc mode (don't care here */
    8. ICS_C2 = 0x20; /* Use defaults until dividers configured (default) */
    9. /* BDIV=1: divided by 2 */
    10. /* LP = 0: FLL Not disabled in bypass mode */
    11. ICS_C1 = 0x04; /* Internal ref clock is FLL source (default)*/
    12. /* CLKS=0: Output of FLL is selected to control bus freq */
    13. /* RDIV=0: Ref divider = 1 since RANGE = 0 */
    14. /* IREFS=0: Int Ref clock is selected */
    15. /* IRCLKEN=0: ICSIRCLK is inactive */
    16. /* IREFSTEN=0: Int ref clk is disabled in Stop mode */
    17. while ((ICS_S & ICS_S_LOCK_MASK) == 0); /* Wait for FLL to lock*/
    18. SIM_CLKDIV = 0x01100000; /* OUTDIV1 = 0; Core/sysclk is ICSOUTCLK div by 1 */
    19. /* OUTDIV2 = 1 bus/flash is OUTDIV1/2 */
    20. /* OUTDIV3 = 1; FTMs, PWT is ICSOUTCLK div by 2 */
    21. ICS_C2 = 0x00; /* BDIV div by 1- increases bus/flash freq */
    22. }
    复制代码

    评分

    参与人数 1 +1 收起 理由
    doatello + 1 赞一个~

    查看全部评分

    加油哦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2018-4-9 14:48:07 | 显示全部楼层
    2楼使用的方法还是很聪明的。
    使用PE最简单直接。
    其实内部时钟37.5Khz,经过FLL1280倍频之后,直接就可以达到48Mhz了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2018-4-9 16:09:36 | 显示全部楼层
                SIM_ConfigType  sSIMConfig = {{0},0};
                ICS_ConfigType  sICSConfig = {0};

    #if defined(DISABLE_NMI)
        sSIMConfig.sBits.bDisableNMI = 1;
    #endif
                /* make sure clocks to peripheral modules are enabled */
                sSIMConfig.u32SCGC |= SIM_SCGC_SWD_MASK | SIM_SCGC_FLASH_MASK |
                                                    SIM_SCGC_UART0_MASK | SIM_SCGC_UART1_MASK |
                                                    SIM_SCGC_UART2_MASK
                                                    ;       
    //            /* bus clock divided by 2 */
    //            sSIMConfig.u32CLKDIV |= SIM_CLKDIV_OUTDIV2_MASK;                           
                SIM_Init(&sSIMConfig);                   /* initialize SIM */
    #if  (EXT_CLK_FREQ_KHZ >=4000)
               sICSConfig.oscConfig.bRange = 1;           /* high range */
    #endif                               
               sICSConfig.oscConfig.bEnable = 1;          /* enable OSC */
                sICSConfig.oscConfig.u32OscFreq = EXT_CLK_FREQ_KHZ;
                
                ICS_Init(&sICSConfig);   /* initialize ICS */

    这个是demo例程中的sysinit函数,
    sSIMConfig.u32CLKDIV |= SIM_CLKDIV_OUTDIV2_MASK 这句开启就是24M,屏蔽就是48M。但是手册上说,总线时钟是不可以到48M的,用MSCAN通信我试过了,48M是可以通信的。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2018-4-9 16:24:16 | 显示全部楼层
    小华-415468 发表于 2018-4-9 10:50
    这是PE工程里设置的时钟,可以得知总线时钟不能超过24MHz,而定时器和内核时钟可以达到48Mhz
    ...

    写代码的话,core clock配置好之后,bus clock不去2分频,那总线时钟不就是48M了么?如果真的总线时钟是48M,对外设使用有什么影响呢?我UART和MACAN都在48M下配置波特率,但是可以通信的。这里不是太理解。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-11-15 16:18
  • 签到天数: 39 天

    连续签到: 1 天

    [LV.5]常住居民I

    16

    主题

    259

    帖子

    3

    高级会员

    Rank: 4

    积分
    993
    最后登录
    2023-1-6
    发表于 2018-4-9 16:29:26 | 显示全部楼层
    ,忆昔颜 发表于 2018-4-9 16:24
    写代码的话,core clock配置好之后,bus clock不去2分频,那总线时钟不就是48M了么?如果真的总线时钟是4 ...

      也许和电磁干扰有关吧,频率越高收到干扰的可能性越高,估计PE生成的也是保守估计,为了防止EMC干扰,你可以在某些恶劣的环境下测试下会不会程序跑飞等情况发生。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-5 09:59
  • 签到天数: 80 天

    连续签到: 1 天

    [LV.6]常住居民II

    19

    主题

    173

    帖子

    2

    中级会员

    Rank: 3Rank: 3

    积分
    498
    最后登录
    2020-9-3
     楼主| 发表于 2018-4-9 16:56:24 | 显示全部楼层
    小华-415468 发表于 2018-4-9 16:29
    也许和电磁干扰有关吧,频率越高收到干扰的可能性越高,估计PE生成的也是保守估计,为了防止EMC ...

    哦,谢谢。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24879
    最后登录
    2025-7-20
    发表于 2018-4-10 10:13:37 | 显示全部楼层
    ,忆昔颜 发表于 2018-4-9 16:24
    写代码的话,core clock配置好之后,bus clock不去2分频,那总线时钟不就是48M了么?如果真的总线时钟是4 ...

    主频是可以到达48Mhz,但是bus时钟不建议你到达48Mhz,请按照手册规定最多配置为24Mhz, 否则可能会出现异常情况。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 20:37 , Processed in 0.115525 second(s), 33 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表