[AT32F403/403A] PLL 大于72MHz 设定

[复制链接]
 楼主| kiwis66 发表于 2021-11-1 09:53 | 显示全部楼层 |阅读模式
ge, PLL, hz, rc, TE

AT32F403A_407 内置的PLL最高可输出240 MHz时钟,时钟高于72MHz时设定略有不同,须根据输出频率设定PLLRANGE寄存器


  1. #define RCC_CFG_PLLRANGE_GT72MHZ ((uint32_t)0x80000000
例如AT32F403A PLL设定程序范例:(HSE = 8 MHz, PLL = 240 MHz)

  1. RCC->CFG |= (uint32_t)(RCC_CFG_PLLRC_HSE | RCC_CFG_PLLMULT30 | RCC_CFG_PLLRANGE_GT72MHZ);
  2. 开启滑顺功能:
  3. RCC_StepModeCmd(ENABLE);
  4. 关闭滑顺功能:
  5. RCC_StepModeCmd(DISABLE);
  6. 开/关滑顺功能函数定义:
  7. void RCC_StepModeCmd(FunctionalState NewState)
  8. {
  9. assert_param(IS_FUNCTIONAL_STATE(NewState));
  10. if(NewState == ENABLE)
  11. {
  12. RCC->MISC2 |= RCC_MISC2_AUTO_STEP_EN;
  13. }
  14. else
  15. {
  16. RCC->MISC2 &= ~RCC_MISC2_AUTO_STEP_EN;
  17. }
注:PLL 等于72MHz 设定和SXX32F103 是一样
SXX32F103 PLL 设定程序范例:(HSE = 8 MHz, PLL = 72 MHz)
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
AT32F403A PLL 设定程序范例:(HSE = 8 MHz, PLL = 72 MHz)
RCC->CFG |= (uint32_t)(RCC_CFG_PLLRC_HSE | RCC_CFG_PLLMULT9);



lajfda001 发表于 2021-11-1 10:36 | 显示全部楼层
这是不是属于单片机的超频?
lajfda001 发表于 2021-11-1 10:37 | 显示全部楼层
这是不是属于单片机的超频?

点评

不是,对于AT32F403A,超过240MHz才算超频。超过72MHz的配置方法按照RM要求或次帖子配置流程即可。  发表于 2021-11-1 10:50
lajfda002 发表于 2021-11-1 10:43 | 显示全部楼层
感谢楼主的分享,学习到了。
lajdfla001 发表于 2021-11-1 10:57 | 显示全部楼层
感谢楼主的分享,学习到了,很棒的。
sadicy 发表于 2021-11-1 13:54 | 显示全部楼层
感谢分享,学习中`
6552918 发表于 2021-11-1 16:40 | 显示全部楼层
移植文档里有相关说明
caigang13 发表于 2021-11-1 20:44 来自手机 | 显示全部楼层
回二楼,这可不是超频啊。
onlycook 发表于 2021-11-2 15:09 | 显示全部楼层
学习到了,很棒的。
 楼主| kiwis66 发表于 2021-11-3 09:31 | 显示全部楼层
只是看到资料中,这么说了一下,感觉之前没注意过这个,贴出来大家看看
sparrow054 发表于 2021-11-9 11:20 | 显示全部楼层
就是配置不同的时钟,可能不一样?
huquanz711 发表于 2021-11-9 23:14 来自手机 | 显示全部楼层
内部RC精度和稳定性有点悬哦。
yangxiaor520 发表于 2021-11-10 07:55 来自手机 | 显示全部楼层
内部RC敢跑到240MHz?
rafd 发表于 2022-5-28 08:12 | 显示全部楼层
pdf说的21-60的那一部分哪里找,找遍了,都找不到
#define RCC_CFG_PLLMULT1 ((uint32_t)0x20000000) /*!< PLL input clock * 17 */
#define RCC_CFG_PLLMULT18 ((uint32_t)0x20040000) /*!< PLL input clock * 18 */
#define RCC_CFG_PLLMULT19 ((uint32_t)0x20080000) /*!< PLL input clock * 19 */
#define RCC_CFG_PLLMULT20 ((uint32_t)0x200C0000) /*!< PLL input clock * 20 */

#define RCC_CFG_PLLMULT61 ((uint32_t)0x60300000) /*!< PLL input clock * 61 */
#define RCC_CFG_PLLMULT62 ((uint32_t)0x60340000) /*!< PLL input clock * 62 */
#define RCC_CFG_PLLMULT63 ((uint32_t)0x60380000) /*!< PLL input clock * 63 */
#define RCC_CFG_PLLMULT64 ((uint32_t)0x603C0000) /*!< PLL input clock * 64 */
 楼主| kiwis66 发表于 2022-6-1 20:03 | 显示全部楼层
6552918 发表于 2021-11-1 16:40
移植文档里有相关说明

对的,之前没有注意到
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

1183

帖子

2

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