1.嵌套的向量式中断控制器(NVIC)
STM32F103xx增强型产品内置嵌套的向量式中断控制器,能够处理多达43个可屏蔽中断通道(不包括16个Cortex TM-M3的中断线)和16个优先级。
该模块以最小的中断延迟提供灵活的中断管理功能。
- 紧耦合的NVIC能够达到低延迟的中断响应处理
- 中断向量入口地址直接进入内核
- 紧耦合的NVIC接口
- 允许中断的早期处理
- 处理晚到的较高优先级中断
- 支持中断尾部链接功能
- 自动保存处理器状态
- 中断返回时自动恢复,无需额外指令开销
2.外部中断/事件控制器(EXTI)
外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),并能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用IO口连接到16个外部中断线。
3.自举模式(启动方式)
在启动时,通过自举引脚可以选择三种自举模式中的一种:
- 从程序闪存存储器自举
- 从系统存储器自举
- 从内部SRAM自举
自举加载程序(Bootloader)存放于系统存储器中,可以通过USART1对闪存重新编程。
4.时钟和启动
系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当检测到外部时钟失效时,它将被隔离,系统将自动地切换到内部的RC振荡器,如果使能了中断,软件可以接收到相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个间接使用的外部振荡器失效时)。
多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。参考图2的时钟驱动框图。
- AHB是高级高性能总线, 用于CPU、DMA、DSP的通信
- APB是外围总线, 用于内部其他功能的通信
- APB分为高速APB2和低速APB1