TC1728用户手册GPT12,V1.825-1V1.0,2011-1225通用定时器单元(GPT12)通用定时器单元(GPT12)通用定时器单元GPT1和GPT2模块具有非常灵活的多功能定时器结构,可用作定时、事件计数、脉宽测量、脉冲生成、倍频及其它用途。它们包括5个16位定时器,分到两个定时器GPT1和GPT2模块中。每个模块中的各个定时器可在许多不同的模式中独立运行,如门控定时器模式、计数模式、或者和同模块中其它定时器级联工作。每个模块具有输入/输出功能和与其相关的专用中断。注:寄存器PISEL可从几个来源中选择输入信号。GPT1模块有三个定时器/计数器:内核定时器T3和两个辅助定时器T2、T4。最大的分辨率为fGPT/4。GPT1模块的辅助定时器可为内核定时器有选择的配置成重载或捕捉寄存器。这些寄存器见章节25.1.6。以下列表总结了可支持的功能:•fGPT/4最大分辨率•3个独立定时器/计数器•可级联定时器/计数器•4个可操作模式:–定时器模式–门控定时器模式–计数器模式–增量接口模式•重载和捕捉功能•单独中断GPT2模块有两个定时器/计数器:内核定时器T6和辅助定时器T5。最大的分辨率为fGPT/2。另外,捕捉/重载寄存器(CAPREL)支持捕捉和重载操作扩展功能。这些寄存器见章节25.2.7。以下列表总结了可支持的功能:•fGPT/2最大分辨率•2个独立定时器/计数器•可级联定时器/计数器•3个可操作模式:–定时器模式–门控定时器模式–计数器模式•通过16位捕捉/重载寄存器CAPREL来扩展捕捉/重载功能•单独中断TC1728用户手册GPT12,V1.825-2V1.0,2011-1225.1定时器GPT1模块通用定时器单元(GPT12)GPT1(T2,T3,T4)模块的三个定时器均可运行于4个基本模式中:定时器模式、门控定时器模式、计数器模式或者增量接口模式。所有定时器可以递增或递减计数。GPT1的每个定时器通过一个单独的控制寄存器TxCON来控制。每个定时器都有一个相关的输入引脚TxIN(具有引脚功能),在门控定时器模式中提供门控服务,或者在计数器模式中作为计数输入。计数方向(上/下)可通过软件设定,或通过外部上/下控制输入TxEUD(具有引脚功能)上的信号来动态改变。输出翻转锁存T3OTL可指明内核定时器T3的上溢/下溢,输出翻转锁存的状态在相关的引脚T3OUT(相关引脚功能)上输出。辅助定时器T2和T4可另外与内核定时器T3级联(通过T3OTL)或者为内核定时器T3用作捕捉或重载寄存器。每个定时器的当前值可由CPU通过访问相对应的定时器计数寄存器T2,T3或T4来读取或修改。在紧接的前一个定时器增量、递减、重载或捕捉操作状态下,当通过CPU写入任何定时器寄存器时,CPU写入操作有优先权来保证正确的结果。GPT1的中断通过服务请求控制寄存器SRC0,SRC1和SRC2来控制。注:外部输入信号的定时请求可在章节25.1.5中找到,章节25.5总结了模块接口信号,包括引脚。TC1728用户手册GPT12,V1.825-3V1.0,2011-12fGPTn通用定时器单元(GPT12)T3CON.BPS12:1基本时钟T2INT2EUD辅助定时器T2T2U/D模式控制捕捉中断请求(SR0)翻转锁存中断请求(SR1)T3INT3EUDT4INT3模式内核定时器T3T3OTL控制T4模式控制T3OUT中断请求T4EUD辅助定时器T4U/D(SR2)mc_gpt0101_bldiax1_mod.vsd图25-1GPT1模块框图重载重载捕捉U/DTC1728用户手册GPT12,V1.825-4V1.0,2011-1225.1.1GPT1内核定时器T3控制通用定时器单元(GPT12)内核定时器T3的当前值通过它自身的计数寄存器T3反映出来。该寄存器还可由CPU写入,例如设置初始启动值。通过T3的控制寄存器T3CON来配置和控制内核寄存器T3。T3CON定时器T3控制寄存器(14H)复位值:00000000H313029282726252423222120191817160r1514131211109876543210T3RDIRT3CHDIRT3EDGEBPS1T3OTLT3T3T3T3OEUDEUDRT3MT3Irhrwhrwhrwrwhrwrwrwrwrwrw符号位序号类型功能描述T3I[2:0]rw定时器T3输入参数选择根据操作模式,见各个译码章节:定时器模式和门控定时器模式见表25-8计数器模式见表25-2增量接口模式见表25-3T3M[5:3]rw定时器T3模式控制000B定时器模式001B计数器模式010B门低电平有效的门控定时器模式011B门高电平有效的门控定时器模式100B保留。不使用该组合101B保留。不使用该组合110B增量接口模式(旋转检测模式)111B增量接口模式(边沿检测模式)T3R6rw定时器T3运行位0B定时器T3停止1B定时器T3运行TC1728用户手册GPT12,V1.825-5V1.0,2011-12通用定时器单元(GPT12)符号位序号类型功能描述T3UD7rw定时器T3上/下控制1)0B定时器T3向上计数1B定时器T3向下计数注:如果位T3UDE=0,该位只控制T3的计数方向。T3UDE8rw定时器T3外部上/下使能1)0B位T3UD控制计数方向;不连接输入T3EUD1B输入T3EUD控制计数方向T3OE9rw上溢/下溢输出使能0B备用输出功能禁止1BT3翻转锁存的状态在引脚T3OUT上输出T3OTL10rwh定时器T3溢出翻转锁存锁存T3的每个上溢/下溢可以软件置位或清零(见单独描述)BPS1[12:11]rwGPT1模块预定标器控制为GPT1模块选择基本时钟(见章节25.1.5)00BfGPT/801BfGPT/410BfGPT/3211BfGPT/16T3EDGE13rwh定时器T3边沿检测标志每次检测到定时计数边沿,该位置位。T3EDGE必须由软件清零。0B无计数边沿被检测1B计数边沿被检测T3CHDIR14rwh定时器T3计数方向变换标志每当定时器T3计数方向发生变换,该位置位。T3CHDIR由软件清零。0B无变化的计数方向被检测1B变换的计数方向被检测T3RDIR15rh定时器T3翻转方向标志0B定时器T3向上计数1B定时器T3向下计数0[31:16]r保留读取返回0;写入也应为0.1)位T3UD和T3UDE的译码见表25-1.TC1728用户手册GPT12,V1.825-6V1.0,2011-12通用定时器单元(GPT12)定时器T3运行控制内核定时器T3可由软件通过位T3R(定时器T3运行位)启动或停止。该位与T3的所有操作模式都有关联。置位位T3R可启动定时器,清零位T3R可停止定时器。在门控定时器模式中,只有当T3R=1并且激活门时(设定高电平或低电平),定时器才运行。注:当定时器控制寄存器T2CON或T4CON中的位T2RC或T4RC置位时,位T3R也会控制(启动和停止)辅助定时器T2与/或T4.计数方向控制GPT1定时器(内核定时器和辅助定时器)的计数方向可由软件或外部输入引脚TxEUD(定时器Tx外部上/下控制输入)控制。由各自控制寄存器TxCON中的位TxUD和TxUDE来选择要用哪一项。当上/下计数控制由软件(位TxUDE=0)提供时,计数方向可通过置位或清零位TxUD来改变。当位TxUDE=1,选择引脚TxEUD来作计数方向的控制源。但是,位TxUD仍可用于转换实际的计数方向,见表25-1所示。无论定时器是否运行,计数方向都能改变。注:当引脚TxEUD用作外部计数方向控制输入时,它必须配置为输入。表25-1GPT1定时器计数方向控制引脚TxEUD位TxUDE位TxUD计数方向位TxRDIRX00向上计数0X01向下计数1010向上计数0110向下计数1011向下计数1111向上计数0TC1728用户手册GPT12,V1.825-7V1.0,2011-12MUX通用定时器单元(GPT12)定时器T3输出翻转锁存定时器T3的上溢/下溢信号连接到名为“翻转锁存”的模块,见定时器模式框图。图25-2详细说明了该模块。T3的上溢或下溢会记录两个锁存:第一个锁存代表控制寄存器T3CON中的T3OTL位。第二个锁存是T3OTL的输出翻转的一个内部锁存。两个锁存输出都连接到辅助定时器T2和T4的输入控制模块。映射锁存的输出电平与T3OTL的输出电平相匹配,但延迟了一个时钟周期。当T3OTL的值改变,会导致输出电平与T3OTL和映射锁存的电平短暂不同,此可以触发T2与/或T4中的选择计数事件。当软件写入T3OTL,两个锁存同时置位或清零。在这种情况下,辅助定时器的两个信号电平相同,而且检测不到边沿。寄存器T3CON中的位T3OE(上溢/下溢输出使能)使能T3OTL的状态能通过外部引脚T3OUT来监控。当T3OTL连接到外部端口引脚(必须配置为输出),T3OUT可用来控制外部HW。如果T3OE=1,引脚T3OUT输出T3OTL的状态。如果T3OE=0,引脚T3OUT输出高电平(只要端口引脚选择T3OUT备用功能)。触发信号可作为计数功能的一个输入信号,或者作为辅助定时器T2和T4的重载功能的一个触发源。从图25-2中可以看出,当锁存T3OTL由软件修改来决定输出线的状态时,同时内部映射锁存置位或清零。因此,在这种情况下,T2/T4检测不到触发条件。置位/清零(SW)TxOE内核定时器上溢/下溢TxOTL翻转锁存逻辑110映射锁存TxOUT至端口逻辑至辅助定时器输入逻辑mc_gpt0106_otl.vsd图25-2内核定时器T3(x=3)的翻转锁存逻辑模块框图TC1728用户手册GPT12,V1.825-8V1.0,2011-1225.1.2GPT1内核定时器T3操作模式定时器T3可在下列几个模式中操作。通用定时器单元(GPT12)定时器模式中的定时器T3内核定时器T3的定时器模式通过设置寄存器T3CON中的位域T3M为000B来选择。在定时器模式中,通过寄存器T3CON中的位域BPS1和T3I控制两个可编程的预分频器,然后分频模块输入时钟fGPT来定时T3。输入时钟选项的详细内容见章节25.1.5.fT3计数器中断(SR1)fGPT预分频器内核定时器T3翻转锁存T3OUTBPS1T3IT3R至T2/T4T3UDT3EUD0=11MUX上/下T3UDEMCB05391_MOD图25-3定时器模式中的内核定时器T3模块框图TC1728用户手册GPT12,V1.825-9V1.0,2011-12通用定时器单元(GPT12)门控定时器模式下的定时器T3内核定时器T3的门控定时器模式通过设置寄存器T3CON中的位域T3M为010B或011B来选择。位T3M.0(T3CON.3)选择门控输入的有效电平。门控定时器模式中的输入频率的使用与定时器模式中的输入频率的使用一样(见章节25.1.5)。然而,在该模式下,定时器的输入时钟由外部输入引脚T3IN门控(定时器T3外部输入)。为了使能该操作,相关引脚T3IN必须配置为输入。fGPT预分频器门控fT3计数中断(SR1)内核定时器T3T3OUTBPS1T3IT3INT3R至T2/T4T3UDT3EUD0=11MUX上/下T3UDEMCB05392_MOD图25-4门控定时器模式中的内核定时器T3模块框图如果T3M=010B,当T3IN显示低电平时,使能定时器。该线上的高电平停止定时器。如果T3M=011B,为了使能定时器,线T3IN必须要有一个高电平。另外,定时器能由软件使用位T3R打开或关闭。只有T3R为1时,定时器才运行,而且门控生效。当T3R为0或门控无效时,定时器停止。注意:引脚T3IN上的门控信号的转换不会通过SRC1引起服务请求。翻转锁存TC1728用户手册GPT12,V1.825-10V1.0,2011-12通用定时器单元(GPT12)计数器模式中的定时器T3内核定时器T3的计数器模式通过设置寄存器T3CON中