STM32F407(1)

编程入门 行业动态 更新时间:2024-10-10 13:15:21

STM32F407(1)

STM32F407(1)

STM32F407主频为168MHz是指SYSCLK(系统时钟)的频率为168MHz

STM32F407中5个时钟源:

1、LSIRC(32kHz)(低速内部时钟、RC振荡器产生、精度低)    --〉IWDGCLK(独立看门狗)

                                                                                                                        --〉RTCCLK

2、LSEOSC(32.768kHz)(低速外部时钟、晶振产生(石英 / 陶瓷谐振器)、精度高)  --〉(最常用)RTCCLK

3、HSIRC(16MHz)(高速内部时钟、RC振荡器产生、精度低) --〉MCO1

                                                                                                                        --〉SYSCLK

                                                                                                                      --〉(分频 /M)--〉主PLL

4、HSEOSC(4-26MHz)(高速外部时钟、晶振产生、精度高)    --〉分频(系数2-31)--〉RTCCLK

                                                                                                                      --〉(分频 /M)--〉主PLL

                                                                                                                       --〉SYSCLK

5、PLLCLK     --  主PLL                           --〉  VCO     ---〉(*N)  --〉(/P)--〉PLLCLK   --〉SYSCLK

                                                                                                                  --〉(/Q)--〉PLL48CK(USB模块)

                           --  专用PLL(PLLI2S) --〉VCO      ---〉(*N)  --〉(/R)PLLI2SCLK  --〉I2S时钟(涉及音质、音量对频率要求高,专门给了一个PLL)

       PLLCLK = (f/M)*N/P

       SYSCLK   --〉PTP时钟(以太网)

                          --〉AHB  PRESC          --〉HCLK(到AHB总线、内核、存储器、DMA)

                                                                  --〉到Cortex系统定时器

                                                                  --〉FCLK Cortex (自由运行时钟)

                                                                  --〉APBx  PRESC  (外设时钟)

系统时钟输出引脚:

LSEOSC / HSIRC         / HSEOSC /PLLCLK(时钟源)   --〉 MCO1  --〉PA8

SYSCLK / PLLI2SCLK / HSEOSC / PLLCLK (时钟源) --〉MCO2  --〉PC9

用户可以配置预分频器(1-5),MCO最大输出时钟不超过100MHz

Systick定时器:

 Systick定时器(系统滴嗒定时器)是一个24位倒计数定时器,计到0时,从RELOAD寄存器中自动装载定时初值。

只要不把它在Systick控制及状态寄存器中得使能位清除,就永不停息,即使在睡眠模式下也能工作。

常用做延时,或者实时系统的心跳时钟。节省MCU资源,不浪费一个定时器。

Systick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。也可设置Systick中断优先级。

4个Systick寄存器:

CTRL     :   SysTick 控制和状态寄存器

LOAD    :SysTick自动重装载除值寄存器

VAL        :SysTick当前值寄存器 

CALIB    :SysTick校准值寄存器

RTC(实时时钟):

RTC是一个独立的BCD定时器 / 计数器。

BCD(二进码十进数):用4位二进制数来表示1位十进制数中的0-9这10个数码。

RTC提供日历时钟,两个可编程闹钟中断,一个具有中断功能的周期性可编程唤醒标志。RTC还包含用于管理低功耗模式的自动唤醒单元。

两个32位寄存器包含二进码十进制格式(BCD)的秒,分钟,小时(12或24小时制),星期几,日期,月份和年份。此外,还可以提供二进制的亚秒值。

系统可以自动将月份的天数补偿为28、29(闰年),30、31天。并且还可以进行夏令时补偿。

时钟源(LSE(32.768KHz)、HSE_RTC(最高4MHz)、LSI) -> 精确校准(RTC_CALR)-> 异步通道7位预分频器(RTC_PRER、默认值128)-> ck_apre(256Hz)
                                                                                                                  -> 粗略校准(RTC_CALIBR)->同步15位预分频器(RTC_PRER、默认值256)-> ck_spe(默认值1Hz、秒)
自动唤醒功能:16位唤醒自动装载寄存器(RTC_WUTR)-> WUTF




更多推荐

STM32F407(1)

本文发布于:2024-03-13 22:22:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1734998.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!