编辑: lonven 2015-08-25

第七章 复位和系统时钟 7.

1 复位 复位,是系统开始正常运转前的一个必经过程,复位部分设计的好坏,关系体统的稳定.STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位. 7.1.1 系统复位 系统复位将复位除时钟控制寄存器CSR中的复位标志和备份区域中的寄存器以外的所有寄存器 (见图7-1-1). 图7-1-1 复位系统图 当以下事件中的一件发生时,产生一个系统复位: 1. NRST管脚上的低电平(外部复位) 2. 窗口看门狗计数终止(WWDG复位) 3. 独立看门狗计数终止(IWDG复位) 4. 软件复位(SW复位) 5. 低功耗管理复位 可通过查看RCC_CSR控制状态寄存器中的复位状态标志位识别复位事件来源.软件复位,通过将Cortex?-M3中断应用和复位控制寄存器中的SYSRESETREQ位置'

1'

,可实现软件复位. 低功耗管理复位 在以下两种情况下可产生低功耗管理复位: 1. 在进入待机模式时产生低功耗管理复位:通过将用户选择字节中的nRST_STDBY位置'

1'

将使能该复位.这时,即使执行了进入待机模式的过程,系统将被复位而不是进入待机模式. 2. 在进入停止模式时产生低功耗管理复位: 通过将用户选择字节中的nRST_STOP位置'

1'

将使能该复位.这时,即使执行了进入停机模式的过程,系统将被复位而不是进入停机模式. 7.1.2 电源复位 当以下事件中之一发生时,产生电源复位: 1. 上电/掉电复位(POR/PDR复位) 2. 从待机模式中返回 电源复位将复位除了备份区域外的所有寄存器.(见图7-1-1) 图中复位源将最终作用于RESET管脚,并在复位过程中保持低电平.复位入口矢量被固定在地址0x0000_0004.备份区域拥有两个专门的复位,它们只影响备份区域. 7.1.3 备份域复位 当以下事件中之一发生时,产生备份区域复位.软件复位,备份区域复位可由设置备份区域控制寄存器RCC_BDCR中的BDRST位产生.在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位. 7.2 时钟 三种不同的时钟源可被用来驱动系统时钟(SYSCLK): HSI振荡器时钟 HSE振荡器时钟 PLL时钟 这些设备有以下2种二级时钟源: 1. 40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC.RTC用于从停机/待机模式下自动唤醒系统. 2. 32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK). 当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗. 图7-2-1是系统的时钟树. 图7-2-1 时钟树 当HSI被用于作为PLL时钟的输入时,系统时钟的最大频率不得超过64MHz.用户可通过多个预分频器配置AHB、高速APB(APB2)和低速APB(APB1)域的频率.AHB和APB2域的最大频率是72MHZ.APB1域的最大允许频率是36MHZ.SDIO接口的时钟频率固定为HCLK/2. RCC通过AHB时钟8分频后供给Cortex系统定时器的(SysTick)外部时钟.通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex AHB时钟作为SysTick时钟. ADC时钟由高速APB2时钟经

2、

4、6或8分频后获得. 定时器时钟频率分配由硬件按以下2种情况自动设置: 如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致. 否则,定时器的时钟频率被设为与其相连的APB总线频率的2倍. FCLK是Cortex?-M3的自由运行时钟. 7.2.1 HSE时钟(外部高速时钟) 高速外部时钟信号(HSE)由以下两种时钟源产生: HSE外部晶体/陶瓷谐振器 HSE用户外部时钟 为了减少时钟输出的失真和缩短启动稳定时间,晶体/陶瓷谐振器和负载电容器必须尽可能地靠近振荡器管脚.负载电容值必须根据所选择的振荡器来调整. 图7-2-2 HSE/LSE时钟源 硬件配置外部时钟晶体陶瓷谐振器图7-2-2 时钟电路 外部时钟源(HSE旁路) 在这个模式里,必须提供外部时钟.它的频率最高可达25MHz.用户可通过设置在时钟控制寄存器中的HSEBYP和HSEON位来选择这一模式.外部时钟信号(50%占空比的方波、正弦波或三角波)必须连到SOC_IN管脚,同时保证OSC_OUT管脚悬空.见图7-2-2. 外部晶体/陶瓷谐振器(HSE晶体) 4~16Mz外部振荡器可为系统提供更为精确的主时钟.相关的硬件配置可参考图7-2-2. 在时钟控制寄存器RCC_CR中的HSERDY位用来指示高速外部振荡器是否稳定.在启动时,直到这一位被硬件置'

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题