简介
时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32 各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文档就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x 的板级支持包(BSP)来配置时钟。以下介绍时钟配置的方法主要分两种:
1、 以手动编写代码调用BSP 中提供的驱动函数接口来进行时钟配置。
2、 采用时钟工具来配置并生成相应的源码文件。
时钟树
在进行时钟配置之前,应充分了解对应芯片的时钟树结构,这样在进行时钟配置时才会游刃有余。对于系统时钟频率及路径的配置我们需要关注时钟源、倍频及系统时钟部分。类似如下图:
代码配置解析
各系列产品对应提供的BSP 中对硬件的时钟设置部分已封装好接口函数以供调用,以下罗列出时钟配置常用的函数接口,各函数的具体参数及返回值类型等请参考at32wb415_crm.c/.h 文件。具体接口函数细节由于内容较多,这里就不罗列,请参考附件文档。
时钟工具
时钟配置工具是雅特力科技为方便对AT32系列MCU进行时钟配置而开发的一个图形化配置工具,其主旨是使用户清晰了解时钟路径和配置出期望的时钟频率并生成源码文件。
环境要求
需要Windows7及以上操作系统支持。
软件安装
本软件不需要安装,只需直接运行可执行程序AT32_New_Clock_Configuration.exe。
功能介绍
本章节将介绍此工具的基本操作,其主要的启动界面和配置界面如下所示
启动界面
配置界面
生成代码
当时钟配置完成后,可点击生成代码,然后选择代码生成的路径并确认,最后会在所选目录下生成两个文件夹inc 和src,源文件存放在src 文件夹下,头文件存放在inc 文件夹下。这些文件可结合到BSP_V2.x.x 内的工程来进行使用。可以采用新生成的时钟代码文件(at32f4xx_clock.c/at32f4xx_clock.h/ at32f4xx_conf.h)将原BSP demo 中的对应文件替换,在main 函数中进行system_clock_config 函数调用即可。
注意事项
外部时钟源(HEXT)修改
因本文档所示例的demo 和配置工具都默认采用的8 MHz 外部时钟频率,当实际硬件使用的外部时钟源是非8 MHz 频率时需注意以下几点。
代码修改
1、 以实际的外部时钟频率按文中时钟配置流程章节所描述的时钟配置流程及方法来编写相应的代码,配置出期望的时钟配置及时钟路径。
2、 修改对应demo 工程中at32f4xx_conf.h 文件的HEXT_VALUE 值,以实际使用的外部时钟源频率值来进行修改。如实际外部高速时钟使用12.288 MHz 的晶振或时钟源时,at32f4xx_conf.h文件应修改如下:
#if !defined HEXT_VALUE
#define HEXT_VALUE ((uint32_t)12288000)
#endif
工具修改
1、 在时钟配置工具中的HEXT 输入框内填入外部时钟源实际频率值并按“Enter”键确认。
2、 配置好所需的时钟路径及时钟频率,生成代码。采用新生成的时钟代码文件(at32f4xx_clock.c/at32f4xx_clock.h/ at32f4xx_conf.h)将原BSP demo 中的对应文件替换或取其中函数内容进行替换,在main 函数中进行system_clock_config 函数调用即可。
工具使用
在使用本时钟配置工具时需注意:
1. 此工具生成的时钟配置源码文件需结合雅特力科技提供的BSP_V2.x.x 进行使用。
2. 不同系列所生成的时钟配置源码文件不能型号混用,只能在相对应的工程项目中进行调用。
3. 配置工具中各输入框参数修改后,请以“Enter”键结束。
注:以上呈现内容为简单摘要,具体细节及流程请下载附件文档查看。