打印
[国产单片机]

AT32F403时钟配置及工具简介

[复制链接]
388|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hoop|  楼主 | 2022-9-28 19:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AT32F403时钟配置
前言       
本应用入门指南主要介绍两部分内容:
1、基于雅特力提供的V2.x.x的板级支持包来进行时钟源码的配置及修改
2、如何使用配套的时钟配置工具来进行时钟路径及参数的设定,生成相应的时钟流程代码并使用。
支持型号
    AT32F403xx
1 简介
时钟是芯片正确高效运行的基础,正确的时钟配置是芯片能正确运行的必要条件,其重要性不言而喻。AT32各系列产品的时钟配置部分可能存在细微的差异和需要注意的事项,本文档就着重针对各系列的情况来详细介绍如何结合雅特力提供的V2.x.x的板级支持包(BSP)来配置时钟。
以下介绍时钟配置的方法主要分两种:
1、 以手动编写代码调用BSP中提供的驱动函数接口来进行时钟配置。
2、 采用时钟工具来配置并生成相应的源码文件。
2 时钟树
在进行时钟配置之前,应充分了解对应芯片的时钟树结构,这样在进行时钟配置时才会游刃有余。对于系统时钟频率及路径的配置我们需要关注时钟源、倍频及系统时钟部分。类似如下图:

可由图中得到以下几个关键信息:
1) SCLKSEL:系统时钟可以由HEXT、PLLCLK、HICK三大时钟源提供。
2) HEXT:HEXT是外部高速时钟,其可以外接范围是4~25 MHz的晶振或时钟源。
3) HICK:HICK RC是内部高速振荡器,频率为8 MHz。
4) PLLCLK:PLL时钟 = PLL输入时钟 * PLL倍频系数。
5) PLL输入时钟:PLL的输入时钟由PLLRCS及PLLHEXTDIV共同决定,其细分可分为三个来源:HICK 4MHz、HEXT和HEXTDIV,HEXTDIV由HEXT 2分频后时钟。
3 代码配置解析
产品配套提供的BSP 中对硬件的时钟设置部分已封装好接口函数以供调用,各函数的具体参数及返回值类型等请参考at32wb415_crm.c/.h 文件。具体接口函数释义细节由于内容较多,这里就不罗列,请参考附件源文档。
4 时钟工具
时钟配置工具是雅特力科技为方便对AT32系列MCU进行时钟配置而开发的一个图形化配置工具,其主旨是使用户清晰了解时钟路径和配置出期望的时钟频率并生成源码文件。
4.1 环境要求
  软件要求
    需要Windows7及以上操作系统支持。
4.2 安装
  软件安装
    本软件不需要安装,只需直接运行可执行程序AT32_New_Clock_Configuration.exe。
4.3 功能介绍
本章节将介绍此工具的基本操作,其主要的启动界面和配置界面如下所示


4.4 菜单栏
菜单栏内容如图所示:

1)项目”(Project)菜单:
    新建:        新建时钟配置项目
    打开:        打开已存在的配置项目
    保存:        保存已打开的配置项目
2)“语言”(Language)菜单:
    English:   选择English作为显示语言
    简体中文: 选择简体中文作为显示语言
3)“生成代码”(General code)菜单:
    当在对应型号的操作配置界面将所期望的时钟路径和时钟频率配置完成之后,可点击“生成代码”菜单来选择源码文件的存储路径并生成相应的源码文件。
4)“帮助”(Help)菜单:
    新版本下载: 联网进行新版本下载
    版本:           查看当前版本
4.5 新建配置项目
双击打开时钟配置工具,可看到图示的启动界面,可点击“项目”菜单-->“新建”,进行配置项目的新建,在新建配置项目的过程中需要对芯片的系列所属进行选择,操作方法如下图所示

MCU系列的选择,可点击下拉框来进行选择,当选择好MCU后点击“确定”可进入到时钟配置界面。
4.6 配置界面的使用
配置界面主要用来进行时钟路径及参数的配置,以下的介绍将以AT32F403系列作为示例来展开进行,其余系列的配置方法与此类似。
整个配置界面主要可以分为四个大块,如下图所示

1. 标题部分:用于展示当前配置项目所选择的MCU系列。
2. 配置部分:用于对时钟路径和时钟参数进行选择和配置,以达到期望的应用需求。
3. 输出部分:用于时钟输出(CLKOUT)的配置。
4. 在SCLK栏也可在选中PLL为系统时钟时作为输入框,可输入期望的系统时钟频率来反向自动配置出倍频参数。
5. 结果部分:用于显示当前外设所使用的时钟频率及总线上的外设。
接下来就着重介绍一下配置部分的使用。配置部分的流程界面是对应着MCU时钟树来进行的,各系列MCU的此部分可能存在着差异,但使用方式大同小异。时钟路径的配置可按流程对各开关进行点选来进行选择,配置部分如下图所示,将逐个流程点的功能及其注意事项进行介绍。

1. rtc使能:rtc时钟代码配置的使能下拉框。
2. rtcsel:点选框,rtc时钟源选择。当rtc使能开启后,此点选框可配置。
3. lext bypass:外部低速时钟的旁路使能。
4. hext:此为输入框,8 MHz为所采用外部时钟源的默认频率,用户可根据实际使用的外部时钟源频率进行修改。(注:此8 MHz被修改为其他频率值时,对应的BSP中demo目录下的inc/at32f403_conf.h文件内的HEXT_VALUE宏定义也应该一致修改,也可以采用工具生成的at32f403_conf.h文件来进行使用)。
5. hext bypass:高速外部时钟的旁路使能。
6. pllhextdiv:点选框,当HEXT作为PLL时钟源时,可配置输入频率为HEXT分频或HEXT不分频。
7. pllrcs:点选框,可配置PLL时钟源为HEXT或HICK。
8. 倍频系数:使用PLL_MULT参数进行倍频,计算公式为:PLLCLK = PLL输入时钟 * PLL_MULT。为了用户的使用方便,在选定PLL输入时钟源后,结果部分的sclk框中输入目标时钟并按下键盘“Enter”键,会自动计算一组倍频参数以满足用户期望或相近的时钟频率。
9. sclk select:点选框,可配置HEXT、PLL或HICK作为系统时钟。
10. sclk频率:当采用正向配置时,此作为系统时钟频率的配置结果显示,当将其用作输入框时,输入期望的频率后点击回车键,会根据此输入值反向计算一组合适的或最接近期望值的PLL配置参数。
11. usbdiv:下拉框。当PLL时钟被选作为USB的时钟来源时,此处配置PLL时钟到USB时钟的分频系数。
12. USB使能:USB时钟代码配置的使能下拉框。
13. USB时钟频率的显示。此显示栏会实时计算USB时钟的频率并显示,如果配置出来的USB时钟不等于48 MHz时,显示出来的USB时钟频率会标注为红色,而实际应用中没有用到USB时选择disable则不会显示。(注:此部分只针对USB时钟频率的配置,USB外设时钟使能需自行额外打开)。
4.7 生成代码
当时钟配置完成后,可点击生成代码,然后选择代码生成的路径并确认,最后会在所选目录下生成两个文件夹inc和src,源文件存放在src文件夹下,头文件存放在inc文件夹下。这些文件可结合到BSP_V2.x.x内的工程来进行使用。可以采用新生成的时钟代码文件(at32f4xx_clock.c/ at32f4xx_clock.h/ at32f4xx_conf.h)将原BSP demo中的对应文件替换,在main函数中进行system_clock_config函数调用即可。
5 注意事项
5.1 外部时钟源(HEXT)修改
因本文档所示例的demo和配置工具都默认采用的8 MHz外部时钟频率,当实际硬件使用的外部时钟源是非8 MHz频率时需注意以下几点。
代码修改
1、 以实际的外部时钟频率按文中时钟配置流程章节所描述的时钟配置流程及方法来编写相应的代码,配置出期望的时钟配置及时钟路径。
2、 修改对应demo工程中at32f4xx_conf.h文件的HEXT_VALUE值,以实际使用的外部时钟源频率值来进行修改。如实际外部高速时钟使用12.288 MHz的晶振或时钟源时,at32f4xx_conf.h文件应修改如下:

工具修改
1、 在时钟配置工具中的HEXT输入框内填入外部时钟源实际频率值并按“Enter”键确认。
2、 配置好所需的时钟路径及时钟频率,生成代码。采用新生成的时钟代码文件(at32f4xx_clock.c/ at32f4xx_clock.h/ at32f4xx_conf.h)将原BSP demo中的对应文件替换或取其中函数内容进行替换,在main函数中进行system_clock_config函数调用即可。
5.2 工具使用
在使用本时钟配置工具时需注意:
1. 此工具生成的时钟配置源码文件需结合雅特力科技提供的BSP_V2.x.x进行使用。
2. 不同系列所生成的时钟配置源码文件不能型号混用,只能在相对应的工程项目中进行调用。
3. 配置工具中各输入框参数修改后,请以“Enter”键结束。
6 案例  系统时钟切换
    请查阅附件源文档
7 案例  时钟失效检测
    请查阅附件源文档


AN0132_AT32F403_CRM_Start_Guide_ZH_V2.0.0.pdf

644.75 KB

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

322

帖子

0

粉丝