第6章 定时器相关模块

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章定时器相关模块

本章导读:本章讲述了计数器/定时器的一般工作原理,介绍K60N512的定时接口模块(PDB、 FTM、PIT、LPTMR、CMT和RTC )的基本功能与编程基础,并给出具体的例子,读者要仔细体会各种不同的使用方法,并将这些方法运用到具体的应用中。本章知识点有①计数器/定时器的工作原理;②可编程延时模块PDB;③Flex定时器FTM;④周期中断定时器PIT;

⑤低功耗定时器LPTMR;⑥载波调制传输接口 CMT;⑦实时时钟RTC。

6.1计数器/定时器的基本工作原理

在嵌入式应用系统中,有时要求能对外部脉冲信号或开关信号进行计数,这可通过计数器来完成。有些设备要求每间隔一定时间开启并在一段时间后关闭,有些指示灯要求不断地闪烁,这可利用定时信号来完成。个人计算机也经常要用到定时信号,如系统日历时钟的计时、产生不同频率的声源等。在计算机系统屮,计数与定时问题的解决方法是一致的,只不过是同一个问题的两种表现形式。

实现计数与定时的基本方法有三种:完全硬件方式、完全软件方式、可编程计数器/定时器。

1.完全硬件方式

在过去的许多仪器仪表或设备中,需要进行延时、定时或计数,经常使用数字逻辑电路实现, 即完全用硬件电路实现计数/定时功能,若要改变计数/定时的要求,必须改变电路参数,通用性和灵活性差。在微型电子计算机出现以后,特別是随着单片微型计算机的发展与普及,这种完全硬件方式实现定时与计数的方法已较少使用。

2.完全软件方式

在计算机中,通过编程利用计算机执行指令的时间实现定时,称为完全软件方式,简称软件方式。在这种方式中,一般是根据所需要的时间常数来设计一个延时子程序,延时子程序中包含一定的指令,设计者要对这些指令的执行时间进行精确的计算和测试,以便确定延时时间是否符合要求。当时间常数比较大时,常常将延时子程序设计为一个循环程序,通过循环常数和循环体内的指令来确定延时时间。这样,每当延时子程序结束以后,可以直接转入下而的操作,也可以用输出指令产生一个信号作为定时输出。这种方法的优点是节省硬件。主要缺点是执行延时程序期间,CPU一直被占用,所以降低了CPU的使用效率,也不容易提供多作业环境;另外,设计延时子程序时,要用指令执行时间来拼凑延时时间,显得比较麻烦。不过,这种方法在实际应用中还是经常使用的,尤其是在已有系统上作软件开发时,以及延时时间较小而重复次数又较少的情况。在计算机控制软件开发过程中,作为粗略的延时,经常使用软件方法来实现定时。

3.可编程计数器/定时器

利用专门的可编程计数器/定时器实现计数与定时,克服了完全硬件方式与完全软件方式的缺点,综合利用了它们各自的优点,其计数/定时功能可由程序灵活地设置,设定之后与CPU 并行地工作,不占用CPU的工作时间。应用可编程计数器/定时器,在简单的软件控制下,可以产生准确的时间延时。这种方法的主要思想是根据需要的定时时间,用指令对计数器/定时器设置定时常数,并用指令启动计数器/定时器开始计数,当计数到指定值时,便自动产生一个定时输出。在计数器/定时器开始工作以后,CPU不必去管它,而可以去做其他工作。这种方法最突出的优点是计数时不占用CPU的时间,如果利用计数器/定时器产生中断

信号还可以建立多作业的环境,所以可大大提高CPU的利用率。加上计数器/定时器本身的开销并不很大,因此这种方法在微机应用系统中得到了广泛的使用。

K60的定时器接口模块包括了六个子模块:可编程延迟模块PDB、Flex定时器模块FTM、周期中断定时器模块PIT、低功耗定时器模块LPTMR、载波调制发射器模块CMT,以及实时时钟模块RTC。下面逐个介绍这几个模块。

6.2可编程延迟模块PDB

6.2.1P D B的基础知识

可编程延迟模块(Programmable Delay Block, PDB)可以提供从内部/外部触发源、可编程间隔到A/D转换(Analog To Digital Convert, ADC)的硬件触发,也可以提供D/A转换模块(Digital-to-Analog Converter, DAC)间隔触发的可控时延,这样就可以为ADC转换和DAC输出提供精确的时间。由于本章涉及ADC与DAC的内容,读者可以先阅读后面的章节再进行本节的学习。另外,PDB模块还可以选择性提供脉冲输出。

PDB模块包含高达15种输入触发中断源和软件触发中断源、8路的可配置用于ADC触发的PDB通道、8路的DAC内部触发源和8路的脉冲输出。PDB结构框图如图6-1所示。

在图中,只显示了PDB通道n,DAC间隔触发器x以及脉冲输出y (用虚线框表示),没有显示PDB使能控制逻辑与时序错误中断逻辑。

6.2.2P D B模块寄存器介绍

1)状态和控制寄存器(PDBx_SC)

2)模寄存器(PDBx_MOD)

PDBx_MOD位寄存器

位描述

31-16:预留预留,只读,值为0

4)中断延时寄存器(PDBc_IDL Y)

5)通道n控制寄存器1(PDBx_CHnC1)

每个PDB通道都有一个控制寄存器——CHnC1,用来控制每个PDB通道的功能。

6)通道n状态寄存器(PDBx_CHnS)

8)通道n延时1寄存器(PDBx_CHnDL Y1)

功能同通道n延时0寄存器,不再赘述。

9)DAC间隔触发器n控制寄存器(PDBx_DACINTCn)

10)DAC间隔n寄存器(PDBx_DACINTn)

11)脉冲输出n使能寄存器(PDBx_POnEN)

12)脉冲输出n延时寄存器(PDBx_POnDL Y)

6.2.3 PDB模块概要与编程要点

1.PDB输入触发源选择

PDB有多达15个输入触发源,叫做Trigger-In 0〜14,在图6-1中可以看到,它们与

相关文档
最新文档