
简介 本应用笔记介绍了适用于 STM32F4xx 微控制器系列的时钟系统配置工具。 此工具的目的是帮助用户配置微控制器时钟,并将电源和 Flash 访问模式等参数考虑在内。% Z% I; l4 L1 f 此配置工具在“STM32F4xx_Clock_Configuration_VX.Y.Z.xls”文件中实现,该文件随STM32F4xx 标准外设库提供,并可以从 www.st.com 下载。 此工具支持 STM32F4xx 的下列功能: ● 配置系统时钟、HCLK 源和输出频率。# y9 f+ i' Q8 U6 _7 M ● 配置 Flash 延迟(等待周期数取决于 HCLK 频率)。 ● 设置 PCLK1、PCLK2、TIMCLK(定时器时钟)、USBCLK 和 I2SCLK 频率。 ● 生成含有上述全部设置的可直接使用的 system_stm32f4xx.c 文件(STM32F4xx CMSIS Cortex-M4 器件外设访问层系统源文件)。# v6 g* ^# D! F- G9 F1 }4 S 在本文档中,STM32F4xx_Clock_Configuration_VX.Y.Z.xls 称为“时钟工具”。9 u) ^% ]' q0 N/ P 在使用时钟工具之前,必须阅读 STM32F4xx 微控制器参考手册 (RM0090)。本应用笔记不是参考手册的替代。 此工具仅支持 A 版 STM32F4xx。 注: 对于 VX.Y.Z,请参见工具版本,例如 V1.0.0" Q8 B r5 ~& J. G" v0 y * T5 E, p8 W; S* Q4 L: f7 b ' q4 j$ e( } t- N4 O2 B5 W, Q4 a 1 词汇表 4 f1 M+ l& [! I. e$ X. n2 \2 Z ![]() . d' B5 y0 T% C, U. w6 g . v" y: o: W F# A 2 使用入门 本节介绍开始使用时钟工具所需的系统要求和步骤。! o9 ^5 U% Y3 X7 x 2.1 软件要求 要在 Windows® 操作系统中使用时钟工具,必须在至少有 256 MB RAM 的 PC 中安装最版本的 Windows,如 Windows XP、Vista 或 Windows 7。 在开始使用时钟工具前,确保已在计算机上安装了 Microsoft® Office,然后按照以下步骤操作:0 e, h8 A; O! |7 E- Z ● 从 www.st.com 下载最新版的适用于 STM32F4xx 产品的时钟工具。 - n. j* W. j& J+ C I) s) b5 M ● 启用宏和 ActiveX 控件:8 u, z5 d- ]: n5 A" n Excel® 1997-2003 版 1. 单击菜单栏中的工具4 K5 ^# z, p& G- [1 ^! Q 2. 单击宏3 }) F( o7 l; V* K; G, H; } 3. 单击安全性 4. 单击低(不建议使用) 注: 如果未启用 ActiveX 控件,将显示一条警告消息,询问是否启用 ActiveX。此时,应单击“确 定”以启用 ActiveX 控件。Excel 2007 版 1. 单击 Microsoft Office 按钮,然后单击 Excel 选项。 2. 依次单击信任中心、信任中心设置、宏设置。 3. 单击启用所有宏(不推荐;可能会运行有潜在危险的代码)。" o3 J- M1 n5 a! j9 w 4. 依次单击信任中心、信任中心设置、ActiveX 设置。 5. 单击无限制启用所有控件并且不进行提示(不推荐;可能会运行有潜在危险的控件)。$ X+ K6 K8 M* O$ j( E9 X 6. 单击确定。 注: 有关如何启用宏和 ActiveX 控件的更多信息,请参见 Microsoft Office 网站。 2.2 硬件要求 2.2.1 简介 时钟工具可以为 STM32F4xx 微控制器配置系统时钟并生成 system_stm32f4xx.c 文件。 system_stm32f4xx.c 可以作为系统时钟配置文件的模板,用户可以轻松修改该文件以选择相应的系统时钟频率和配置 CPU 对 Flash 的等待周期。3 s, K/ u* }" A6 I; \$ @ ' O2 Y; [* P' o: F# C$ f: m2 k 2.2.2 STM32F4xx 微控制器的时钟方案+ q2 S( j( A; O 本节介绍的系统时钟方案取决于电压要求 (VDD) 与系统时钟频率的关系以及对 Flash 的等待周期与系统时钟频率的关系。 可以使用三种不同的时钟源来驱动系统时钟 (SYSCLK): 1. HSI (16 MHz) 振荡器时钟 2. HSE(4 MHz 到 26 MHz)振荡器时钟/ [7 l+ Y- T$ N/ N. j$ w 3. 主锁相环 (PLL) 时钟,PLL 压控振荡器输入频率在 1 MHz 到 2 MHz 之间(推荐使用 2 MHz 以减小 PLL 抖动),有 M、N、P 和 Q 多个分频器。0 [/ T1 J; E' t4 t3 G2 z* L2 s 除以下时钟外,所有外设时钟均源自 SYSCLK:9 X, N5 R. g! n; G d, N 1. USB OTG FS 时钟 (48 MHz)、RNG 时钟 (48 MHz) 和 SDIO 时钟 (48 MHz),这些时钟源自 PLL (PLL48CLK) 的特定输出。 2. I2S 时钟。要实现高品质的音频性能,I2S 时钟可源自特定的 PLL (PLLI2S) 或映射到I2S_CKIN 引脚的外部时钟。* O4 ]: O" M: c4 V" y' g/ K O / R$ c2 X: i& a ![]() 注: Flash 的等待周期(延迟)数根据 CPU (Cortex-M4) 的频率进行设置,并且与器件电压 (VDD) 间接相关(参见表 2:等待周期数与 CPU 时钟 (HCLK) 频率对应关系)。; r: s3 {3 A$ ]* e 1 J7 M, F7 t. S: b * Y$ N* a" w/ ^, Q" Y; z ![]() 2.2.3 I2S 时钟发生器 本节介绍与主时钟 MCLK(使能或禁止)、帧宽以及 I2S 外设时钟 (I2SCLK) 相关的 I2S 时钟发生器。( m: G$ G; Y2 D. A$ b. Y . \; P' F! t& W- z) s ![]() 1 N% J ?4 T9 A# c 音频采样频率可能是 192 kHz、96 kHz、48 kHz、44.1 kHz、32 kHz、22.05 kHz、16 kHz、 11.025 kHz 或 8 kHz。为达到所需频率,需要根据以下公式对线性分压器 (DIV) 进行编程: 主时钟使能时(SPI_I2SPR 寄存器中的 MCKOE 位置 1): ● Fs = I2SxCLK/[(16*2)*((2*I2SDIV)+ODD)*8)](通道中数据帧的宽度为 16 位) S& K: h7 _1 Q2 h ● Fs = I2SxCLK/[(32*2)*((2*I2SDIV)+ODD)*4)](通道中数据帧的宽度为 32 位)3 h6 Q0 A6 `8 U% u8 C( s 其中 ODD 是预分频器的奇数因子。& K! u) E! u6 n9 \- ` f2 f 当主时钟已禁止(MCKOE 位清零)时:( X$ Z4 l: d# _# M) O/ E ● FS = I2SxCLK/[(16*2)*((2*I2SDIV)+ODD))](通道中数据帧的宽度为 16 位时) ● FS = I2SxCLK/[(32*2)*((2*I2SDIV)+ODD))](通道中数据帧的宽度为 32 位时) 此工具可执行 PLLI2S_N 和 PLLI2S_R 的最佳配置,保证采样频率误差最小且符合 I2S 参数 (帧宽度、MCKO 和采样频率)。/ |. B1 ~, _( k 注: “system_stm32f4xx.c”文件中只配置 PLLI2S_N 和 PLLI2S_R。: N$ p+ y* V0 a) ^ 此工具不配置 I2S 寄存器。 该工具还计算采样频率误差,作为输出文件“system_stm32f4xx.c”中未配置的 I2S 参数的指标 % ?6 |! u) g: h4 J 完整版请查看:附件2 f3 f/ d, s3 P b1 g _5 C ) x; a' x& @% r 7 }8 p+ M9 B- F: D! q/ n 6 f/ }, K4 j, m |
DM00039457_ZHV1.pdf
下载1.04 MB, 下载次数: 0