1定时器工作原理
无论使用定时器/计数器的哪种功能,其最基本的工作原理是计数。定时器/计数器的核心是一个计数器,可以进行加1(或减1)计数,每出现一个计数信号,计数器就自动加1(或自动减1)。当计数值从最大值变成0(或从0变成最大值)溢出时,定时器/计数器便向CPU提出中断请求。计数信号的来源可选择周期性的内部时钟信号(如定时功能)或非周期性的外界输入信号(如计数功能)。
2定时器分类
CC2530中共包括5个定时器/计数器,分别是定时器1、定时器2、定时器3、定时器4和睡眠定时器。
定时器1
定时器1是一个16位定时器,是功能最全的定时器/计数器,它主要具有以下功能。
① 支持输入捕获功能,可选择上升沿、下降沿或任何边沿进行输入捕获。
② 支持输出比较功能,输出可选择设置、清除或切换。
③ 支持PWM功能。 图4.2 8位减1计数器工作过程
④ 具有5个独立的捕获/比较通道,每个通道使用一个I/O引脚。
⑤ 具有自由运行、模、正计数/倒计数3种不同的工作模式。
⑥ 具有可被1、8、32或128整除的时钟分频器,为计数器提供计数信号。
⑦ 能在每个捕获/比较和最终计数上产生中断请求。
⑧ 能触发DMA功能。
定时器2
定时器2主要用于为IEEE 802.15.4 CSMA/CA算法提供定时,以及为IEEE 802.15.4 MAC层提供一般的计时功能,也称为MAC定时器。用户一般不使用该定时器。
定时器3,定时器4
定时器3和定时器4都是8位定时器,可用于PWM控制,主要具有以下功能。
① 支持输入捕获功能,可选择上升沿、下降沿或任何边沿进行输入捕获。
② 支持输出比较功能,输出可选择设置、清除或切换。
③ 具有两个独立的捕获/比较通道,每个通道使用一个I/O引脚。
④ 具有自由运行、模、正计数/倒计数、倒计数4种不同的工作模式。
⑤ 具有可被1、2、4、8、16、32、64或128整除的时钟分频器,为计数器提供计数信号。
⑥ 能在每个捕获/比较和最终计数上产生中断请求。
⑦ 能触发DMA功能。
睡眠定时器。
睡眠定时器是一个24位正计数定时器,运行在32kHz的时钟频率下,支持捕获/比较功能,能够产生中断请求和DMA触发。睡眠定时器主要用于设置系统进入和退出低功耗睡眠方式的周期,还用于低功耗睡眠模式时维持定时器2的定时。