本帖最后由 ArterySW 于 2022-2-16 19:14 编辑
AT32F415时钟配置 前言
本应用入门指南主要介绍两部分内容:
1、基于雅特力提供的V2.x.x 的板级支持包来进行时钟源码的配置及修改
2、如何使用配套的时钟配置工具来进行时钟路径及参数的设定,生成相应的时钟流程代码并使用。
支持型号:
AT32F415xx
目录
1 简介 ..................................................................... 6
2 时钟树 .................................................................. 7
3 代码配置解析 ........................................................ 8
3.1 函数接口 ............................................................ 8
3.2 时钟配置流程 ..................................................... 8
3.2.1 Flash 等待周期(Set Flash Wait Cycle) .............. 9
3.2.2 复位(CRM Reset) .......................................... 9
3.2.3 时钟源配置(Clock Source Configuration) ......... 9
3.2.4 PLL 配置(PLL Configuration).......................... 10
3.2.5 总线分频(Set Bus Frequency Division) ............ 10
3.2.6 切换系统时钟(Switch System Clock)............... 10
3.2.7 更新核心频率(Update Core Frequency) .......... 11
3.3 时钟配置示例 .................................................... 12
4 时钟工具 ............................................................. 13
4.1 环境要求 .......................................................... 13
4.2 安装 ................................................................. 13
4.3 功能介绍 .......................................................... 13
4.4 菜单栏 ............................................................. 14
4.5 新建配置项目 .................................................... 14
4.6 配置界面的使用 ................................................. 15
4.7 生成代码 .......................................................... 16
5 注意事项 ............................................................. 17
5.1 外部时钟源(HEXT)修改 ...................................... 17
5.2 工具使用 .......................................................... 17
6 案例 系统时钟切换 ............................................... 18
6.1 功能简介 .......................................................... 18
6.2 资源准备 .......................................................... 18
6.3 软件设计 .......................................................... 18
6.4 实验效果 .......................................................... 20
7 案例 时钟失效检测 ............................................... 21
7.1 功能简介 .......................................................... 21
7.2 资源准备 .......................................................... 21
7.3 软件设计 .......................................................... 21
7.4 实验效果 .......................................................... 22
8 文档版本历史 ...................................................... 23
1 简介
时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32 各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文档就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x 的板级支持包(BSP)来配置时钟。
以下介绍时钟配置的方法主要分两种:
1、 以手动编写代码调用BSP 中提供的驱动函数接口来进行时钟配置。
2、 采用时钟工具来配置并生成相应的源码文件。
2 时钟树
在进行时钟配置之前,应充分了解对应芯片的时钟树结构,这样在进行时钟配置时才会游刃有余。对于系统时钟频率及路径的配置我们需要关注时钟源、倍频及系统时钟部分。类似如下图:
图1. 时钟框图
可由图中得到以下几个关键信息:
1) SCLKSEL:系统时钟可以由HEXT、PLLCLK、HICK 三大时钟源提供。
2) HEXT:HEXT 是外部高速时钟,其可以外接范围是4~25 MHz 的晶振或时钟源。
3) HICK:HICK RC 是内部高速振荡器,频率为48 MHz。HICK 时钟由内部振荡器给出,但在初始情况下由HICKDIV 控制并默认6 分频后为8 MHz,亦可配置为不分频,保持48 MHz 的频率。
4) PLLCLK:PLL 时钟 = PLL 输入时钟 * PLL 倍频系数。
5) PLL 输入时钟:PLL 的输入时钟由PLLRCS 及PLLHEXTDIV 共同决定,其细分可分为三个来源:HICK 4MHz、HEXT 和HEXTDIV,HEXTDIV 由HEXT 时钟2 分频。
3 代码配置解析
以下将以库函数接口为核心来对时钟配置流程和方法进行说明。
3.1 函数接口
各系列产品对应提供的BSP 中对硬件的时钟设置部分已封装好接口函数以供调用,以下罗列出时钟配置常用的函数接口,各函数的具体参数及返回值类型等请参考at32f415_crm.c/.h 文件。
4 时钟工具
时钟配置工具是雅特力科技为方便对AT32系列MCU进行时钟配置而开发的一个图形化配置工具,其主旨是使用户清晰了解时钟路径和配置出期望的时钟频率并生成源码文件。
4.1 环境要求
软件要求
需要Windows7及以上操作系统支持。
4.2 安装
软件安装
本软件不需要安装,只需直接运行可执行程序AT32_New_Clock_Configuration.exe。
4.3 功能介绍
本章节将介绍此工具的基本操作,其主要的启动界面和配置界面如下所示
图3. 启动界面
图4. 配置界面
4.4 菜单栏
菜单栏内容如图所示:
4.5 新建配置项目
双击打开时钟配置工具,可看到图示的启动界面,可点击“项目”菜单-->“新建”,进行配置项目的
新建,在新建配置项目的过程中需要对芯片的系列所属进行选择,操作方法如下图所示
MCU 系列的选择,可点击下来框来进行选择,当选择好MCU 后点击“确定”可进入到时钟配置界面。
4.6 配置界面的使用
配置界面主要用来进行时钟路径及参数的配置,以下的介绍将以AT32F415 系列作为示例来展开进行,其余系列的配置方法与此类似。
整个配置界面主要可以分为四个大块,如下图所示
接下来就着重介绍一下配置部分的使用。配置部分的流程界面是对应着MCU 时钟树来进行的,各系列MCU 的此部分可能存在着差异,但使用方式大同小异。时钟路径的配置可按流程对各开关进行点选来进行选择,配置部分如下图所示,将逐个流程点的功能及其注意事项进行介绍。
详细内容参考附件:
AN0117_AT32F415_CRM_Start_Guide_CH_V2.0.0.pdf
(541.19 KB)
|