爱普特 APT32F110 ev board 试用测评连载03

作者:刘煜

目录

1. 定时器分类

2. 逐个分析

1. 基本计数器 (Basic Timer) 

2. 计数器A (CNTA) 

3. 实时时钟计数器(RTC)

4. 窗口型看门狗 (WWDT)

5. 独立看门狗 (IWDT) 

3. 测评总结


1. 定时器分类

  • 系统定时器 (CORET)

  1. 1. 24位递减计数器

  2. 2. 递减到0可以产生中断

  3. 3. 递减到0需软件重新置位

  4. image001.png

  • 基本计数器 (Basic Timer)

    1. 16位递增计数器

    2. 16位预分频器

    3. PWM输出

    4. 支持ETCB

    5. 四类中断

       a) PEND事件:计数器周期结束时发生。

       b) CMP事件:计数器计数值等于CMP寄存器设置时发生。

       c) OVF事件:计数器计数溢出(0xFFFF)时发生。

       d) TRGEV事件:同步触发输出事件有输出是发生

image002.png

  • 计数器A (CNTA)

    1. 16位递减计数器

    2. 用来产生载波频率

    3. 可产生中断

image003.png

  • 增强型通用定时器 (GPTA)

    1. 16/24 位可复位计数器(GPT0 为 24bit; GPT1 为 16bit;)

    2. 可编程计数器计数方式

       a) 递增计数(Up-counting)

       b) 递减计数(Down-counting)

       c) 递增递减计数(Up-down-counting)

    3. 支持事件计数器,可通过配置事件计数器(最大 15)触发相应中断

image004.png

  • 增强型通用定时器B (GPTB)

    1. 16 位可复位计数器

    2. 可编程计数器计数方式

       a) 递增计数(Up-counting)

       b) 递减计数(Down-counting)

       c) 递增递减计数(Up-down-counting)

    3. 两路波形产生控制单元,支持双路独立输出:

       a) 两路独立的 PWM 输出,单边沿工作

       b) 两路独立的 PWM 输出,双边沿对称工作

       c) 1 组独立的 PWM 互补输出 + 1 路独立的 PWM 输出

    4. 异常事件发生时,自动触发预设波形输出

    5. 触发源包括 GPIO 输入,其他外设触发,软件设置和事件触发

    6. 支持单次触发和连续触发模式

    7. 支持单脉冲输出模式

    8. 支持事件计数器,可通过配置事件计数器(最大 15)触发相应中断

image005.png

  • 增强型通用定时器 (EPT)

    1. 16 位计数器

    2. 支持 PWM 对更高载波频率进行斩波输出

    3. 支持捕获模式,最多支持 4 个捕获值存储

image006.png

  • 实时时钟计数器(RTC)

    1. 所有低功耗模式下均可独立运行

    2. 支持系统唤醒

    3. BCD 编码

    4. 提供实时的日历和时间信息

    5. 产生周期性的中断事件

    6. 一旦初始化成功并开始工作,任何复位信号均不能影响其工作,除非重新上电

    7. 支持多个时钟源,包括外部晶振、内部低速振荡器和内部主振荡器

image007.png

  • 低功耗定时器 (LPT)

    1. 16 位递增计数器

    2. 4 Bit 预分频控制,支持(1,2,4,8,16,32,64,128,256,512,1024,2048,4096 分频)

    3. 支持多种计数时钟:

       a) 内部时钟:ISCLK, IMCLK, EMCLK,ESCLK 或 PCLK

       b) 外部时钟:LPT_IN(当没有内部时钟时,可以作为脉冲计数)

       c) 一路独立的 PWM 输出

    4. 一个比较值寄存器

    5. 支持连续或单次计数模式

    6. 支持通过 ETCB 触发

    7. 支持脉冲和 PWM 输出模式

image008.png

  • 窗口型看门狗 (WWDT)

    1. 8 位可编程递减计数器

    2. 预设计数器时钟分频器:Div (1/2/4/8 x 4096)

       a) 计数器时钟基于 PCLK 工作

       b) 分频器的基础分频为 PCLK/4096

       c) 可选择基于 4096 分频后的二次分频:DIV1,DIV2、DIV4 和 DIV8

    3. 产生复位的条件:

       a) 递减计数器计数器值小于 0x80

       b) 软件刷新计数器发生在预设窗口外

       c) 软件写入的刷新计数器的数值小于 0x80

    4. 报警中断:当计数器值等于 0x80 时,可产生中断

image009.png

  • 独立看门狗 (IWDT)

    1. 中断可作为处理器在 DEEP-SLEEP 模式下定时唤醒的中断源

    2. 12 位的 Free Running递减计数器

    3. 一旦使能则必须在计数器溢出前进行清除,否则会产生系统复位

image010.png


2. 逐个分析

  • 基本计数器 (Basic Timer)

    1.定时中断

    image011.png

    image012.png

    中断函数中操作板载LED闪烁,同时串口每隔3秒输出一次“进入BT中断”。

    image013.png

    2.PWM

    image014.png

    image015.png

主循环调节占空比实现呼吸灯效果

  • 计数器A (CNTA)

    1.定时中断image018.png

    image019.png

    中断函数中每隔3秒串口输出“进入CNTA中断”

    image020.png

    2.pwm

    image021.png

    image022.jpg

    image023.jpg

    程序设计频率38KHz,占空比33%,实测频率为38.168KHz,占空比为38.168/116.279=32.82%,符合预期。

  • 实时时钟计数器(RTC)

    1. 万年历

    image024.png

    image025.png

    2. 闹钟

    image026.pngimage027.png

  • 窗口型看门狗 (WWDT)

    image028.png

  • 独立看门狗 (IWDT)

    image029.png

3. 测评总结

本期为定时器集合,学习了所有定时器外设并挑选其中的部分外设作简要调试测试。

根据实测效果来看,APT32F1104芯片定时器精度符合预期,代码封装较完善,实际只需小幅修改即可看到现象。

最新文章