AG32时钟(外部时钟和片上内部振荡器)

外部晶振 与 内部振荡器:

mcu 和 cpld 联合编程时, 整颗芯片需要一颗外部晶振。

(芯片有内部振荡器, 但误差较大, 校准后 5%以内误差, 参后续介绍)

单独使用CPLD可以使用有源晶振(精度更高),使用MCU或者MCU+CPLD交互使用只需要一颗8M的无源晶振即可,CPLD可以直接通过MCU给到时钟信号

1、使用外部晶振

该晶振是 MCU和 CPLD 共用的, (没必要为 CPLD 再单独提供一颗晶振) 。晶振可以是有源的, 也可以是无源的。

【注: 这里的外部晶振配置, 跟单纯使用 MCU 是一样的】

如果是无源晶体, 频率限制在 4M~16M。 要接到芯片的 OSC_IN/OUT 引脚。 然后VE 中直接定义主频多少 M 即可。

11cd6c65-8a30-48c2-bde1-7bc8cba7924a.png

如果是有源晶体, 频率无限制。 根据接入点分为两种情况:

1) 如果接入到 OSC_IN 引脚:

ve 里定义同上(配置 HSECLK 项) 。

同时,需要在 platformio.ini 里, 增加配置宏: BOARD_HSE_BYPASS=SYS_HSE_NONE,

如图:

e5596132-2aed-455e-8ada-9c3d83ba398c.png

2) 如果接入到别的 IO 引脚(如 PIN_2) :

同 1)中, platformio.ini 里也同样增加配置宏;

然后在 VE 配置中, 除了配置 HSECLK 项 外, 还需要配置 PLL_CLKIN 项, 如图:

eacb5ffc-7363-433d-8b40-994cad6f5ab4.png

配置完后, 需要重新下载 logic, 重新下载 code。

2、使用内部振荡器:

校准后精度大约在 5%以内, 想省成本且对时钟要求不高的话可以使用。如对精度有要求,海振远建议预留外部晶振接口,方便自由选择。

使用方式:

在 VE 里增加: “PLL_CLKIN PIN_OSC”, 如下图

3b72f24d-1007-4f79-b46c-e30611013c62.png

只修改以上配置, 不用配置 HSECLK 项, 代码中也不需修改。

注: 自动校准目前有以下使用限制:

a) 逻辑部分要压缩, platformio.ini 中配置 board_logic.compress = true

b) 校准动作是在烧录时进行的。

烧录时, 需要使用 swd 方式且通过我们的软件烧录, uart 不支持。(即: 出厂烧录不支持 uart 方式)

目前测试过 jlink 和 dap 校准结果都还不错, 但是也出现过一个客户使用其他烧录器校准结果差很多。

(对一个全新的或是 wipe 过后的芯片烧录会看到校准信息)。

公司网站:www.agm-micro.com

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值