第7章_定时器的工作原理及应用.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2019年12月20日DSP原理及应用1第7章TMS320C54x片内外设、接口及应用内容提要本章介绍TMS320C54x的片内定时器,包括定时设定寄存器TIM、定时周期寄存器PRD和定时控制寄存器TCR。2019年12月20日DSP原理及应用2第7章TMS320C54x片内外设、接口及应用7.1’C54x的主机接口7.2’C54x的定时器7.3’C54x的串行接口7.4’C54x的中断系统2019年12月20日DSP原理及应用3第7章TMS320C54x的片内外设、接口及应用7.2’C54x的定时器在工业应用中,计数器和定时器常用于检测和控制中的时序协调及控制。’C54x的片内定时器是一个可编程的定时器,可用于周期地产生中断。定时器的最高分辨率为处理器的CPU时钟速度。通过带4位预定标器的16位计数器,可以获得较大范围的定时频率。2019年12月20日DSP原理及应用4第7章TMS320C54x的片内外设、接口及应用7.2’C54x的定时器定时器主要由定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR及相应的逻辑控制电路组成。寄存器TIM、PRD和TCR是存储器映像寄存器,地址分别为0024H、0025H和0026H。7.2.1定时器结构1.定时器的组成2019年12月20日DSP原理及应用5第7章TMS320C54x的片内外设、接口及应用1.定时器的组成主定时模块预标定模块周期寄存器PRD定时寄存器TIM借位或门3预标定计数器PSC借位预标定分频系数TDDR或门2或门11与门SRESETTRBCLKOUTTSSTINTTOUT2019年12月20日DSP原理及应用6第7章TMS320C54x的片内外设、接口及应用1.定时器的组成定时寄存器TIM逻辑控制电路定时周期寄存器PRD定时控制寄存器TCR16位减1计数器。地址:0024H用来存放定时时间。地址:0025H存放定时器的控制位和状态位。地址:0026H。用来控制定时器协调工作。2019年12月20日DSP原理及应用7第7章TMS320C54x的片内外设、接口及应用1.定时器的组成逻辑控制电路:由三个或门和一个与门组成。①通过或门1、3控制PRD的加载计数;②通过或门1、2控制PSC的加载计数。停止控制位TSS:通过与门屏蔽CLKOUT信号来控制定时器的启动。TINT——外部定时中断,定时时间到发中断;TOUT——定时输出,输出定时波形。复位SRESET和TRB:2019年12月20日DSP原理及应用8第7章TMS320C54x的片内外设、接口及应用主定时模块包括PRD和TIM,由预定标模块定时,预定标模块每输出一个时钟,TIM减1。当TIM减到0后,TIM装入PRD的值。2.定时器工作原理当设备复位(SRESET=1)或者定时器复位(TRB=1)时,PRD的内容将装入TIM中。主定时模块的定时中断(TINT)信号输出至CPU以及定时器的输出引脚TOUT。2019年12月20日DSP原理及应用9第7章TMS320C54x的片内外设、接口及应用预定标模块包括TCR中的TDDR和PSC位,由CPU时钟定时,每来一个CPU时钟,PSC值减1。当PSC减至0、设备复位或定时器复位时,TDDR的内容复制到PSC中。2.定时器工作原理4位预定标计数器PSC和16位定时计数器TIM组成一个20位计数器,定时器每接收一个CPU时钟减1,当计数器减到0时,产生定时中断(TINT),同时PSC和TIM重新装入预设的值。2019年12月20日DSP原理及应用10第7章TMS320C54x的片内外设、接口及应用2.定时器工作原理由逻辑控制电路控制定时器运行。①定时分频系数和周期数分别装入TCD和PRC寄存器中;②每来一个定时脉冲CLKOUT,计数器PSC减1;③当PSC减至0时,PSC产生借位信号;④在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数;⑤当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。定时器的工作过程:2019年12月20日DSP原理及应用11第7章TMS320C54x的片内外设、接口及应用16位存储器映像寄存器,包含定时器的控制位和状态位。3.定时控制寄存器TCR15~1211109~6543~0TDR0026h保留SoftFreePSCTRBTSSTDDR保留位软件调试控制位预定标计数器重新加载位停止状态位分频系数2019年12月20日DSP原理及应用12第7章TMS320C54x的片内外设、接口及应用TDDR:定时器分频系数,用来对CLKOUT进行分频,以改变定时周期。最大预定标值为16,最小预定标值为1。当PSC减到0后,以TDDR中的数加载PSC。3.定时控制寄存器TCRTSS:定时器停止状态位,用于停止或启动定时器复位时,TSS位清0,定时器立即定时。TSS=0,定时器启动工作;TSS=1,定时器停止工作。2019年12月20日DSP原理及应用13第7章TMS320C54x的片内外设、接口及应用TRB:定时器重新加载位,用来复位片内定时器。当TRB置1时,以PRD中的数加载TIM,以及以TDDR中的值加载PSC。TRB总是读成0。3.定时控制寄存器TCRPSC:定时器预定标计数器,其标定范围为1~16。当PSC减到0后,TDDR位域中的数加载到PSC,TIM减1。2019年12月20日DSP原理及应用14第7章TMS320C54x的片内外设、接口及应用Free、Soft:软件调试控制位。Free和Soft位结合使用,用来控制调试程序断点操作情况下的定时器工作状态。3.定时控制寄存器TCRSoftFree定时器状态00定时器立即停止工作10当计数器减至0时停止工作X1定时器继续工作保留:读成0。2019年12月20日DSP原理及应用15第7章TMS320C54x的片内外设、接口及应用定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲预定标计数器PSC减1,当PSC减至0时,下一个脉冲到来,PSC产生借位。借位信号分别控制定时计数器TIM减1和或门2的输出,重新将TDDR的内容加载预定标计数器PSC,从而完成定时工作的一个基本周期。4.定时器的初始化定时器的定时时间为:定时周期=CLKOUT×(TDDR+1)×(PRD+1)2019年12月20日DSP原理及应用16第7章TMS320C54x的片内外设、接口及应用定时器初始化步骤如下:①TCR的TSS位置1,关闭定时器,停止定时;②装载PRD值;③重新装入TCR,初始化TDDR,设置TSS=0和TRB=1,重装载定时器周期。启动定时器。4.定时器的初始化设置定时器中断方法(INTM=1)如下:●将IFR中的TINT置1,以清除尚未处理完的定时器中断;●将IMR中的TINT置1,启动定时器中断。●将INTM置0,启动全部中断。2019年12月20日DSP原理及应用17第7章TMS320C54x的片内外设、接口及应用复位时,TIM和PRD被设置为最大值(0FFFFH),TCR中的TDDR置0,定时器可以通过启动定时控制寄存器(TCR)完成以下操作:●设定定时器的工作方式;●设定预定标计数器中的当前数值;●启动或停止定时器;●重新装载定时器;●设置定时器的分频值。4.定时器的初始化2019年12月20日DSP原理及应用18第7章TMS320C54x的片内外设、接口及应用4.定时器的初始化【例7.2.1】定时器自动装载定时。TSS=0:启动定时器;TRB=1:自动装载;TDDR=Ah:分频系数10soft=1,free=0:计数器减至0时,停止工作;TCR=0AAAH。定时周期:0101H;关闭定时器中断:IFR=0008H;开放定时器中断:IMR=0008H。STM#0000H,SWWSRSTM#0010H,TCRSTM#0101H,PRDSTM#0AAAH,TCRSTM#0080H,IFRSTM#0080H,IMRRSBXINTM;不插等待时间;TSS=0关闭定时器;加载周期寄存器(PRD);装入定时器控制字,启动定时器;消除尚未处理完的定时器中断;开放定时器中断;开放中断2019年12月20日DSP原理及应用19第7章TMS320C54x的片内外设、接口及应用7.2’C54x的定时器例如:用TMS320VC5402实现方波发生器。假设时钟频率为4MHz,在XF端输出占空比为50%的方波,方波的周期由片上定时器确定,采用中断方法实现。7.2.2’C54x定时器/计数器的应用1.方波发生器(1)定时器初始化●关闭定时器,TCR中的TSS=1;●加载PRD。设定定时中断周期,每中断一次,输出端电平取反一次;●启动定时器,初始化TDDR,TSS=0,TRB=1。2019年12月20日DSP原理及应用20第7章TMS320C54x的片内外设、接口及应用1.方波发生器(2)中断初始化●中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断;●中断屏蔽寄存器IMR中的定时屏蔽位TINT=1,开放定时中断;●状态控制寄存器ST1中的中断标志位INTM=0,开放全部中断。2019年12月20日DSP原理及应用21第7章TMS320C54x的片内外设、接口及应用(3)方波发生器程序清单周期为8ms的方波发生器,定时中断周期为4ms,每中断一次,输出端电平取一次反。程序清单:;abc1.asm;定时器0寄存器地址TIM0.set0024HPRD0.set0025HTCR0.set0026H;K_TCR0:设置定时器控制寄存器的内容K_TCR0_SOFT.set0b;Soft=0K_TCR0_FREE.set1b;Free=1K_TCR0_PSC.set1001b;PSC=9HK_TCR0_TRB.set1b;TRB=1K_TCR0_TSS.set0b;TSS=0K_TCR0_TDDR.set1001b;TDDR=9K_TCR0.setK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|K_TCR0_TSS|K_TCR0_TDDR2019年12月20日DSP原理及应用22第7章TMS320C54x的片内外设、接口及应用(3)方波发生器程序清单程序清单:;初始化定时器0;根据定时长度计算公式:Tt=T*(TDDR+1)*(PRD+1);给定TDDR=9,PRD=1599,CLKOUT主频f=4MHz,T=250ns;Tt=250*(9+1)*(1599+1)=4,000,000(ns)=4(ms)STM#0010H,TCR0;关闭定时器0STM#1599,TIM0;装载TIM寄存器STM#1599,PRD0;装载PRD寄存器STM#K_TCR0,TCR0;启动定时器0中断STM#0008H,IFR;关闭尚未处理完的定时器中断STM#0008H,IMR;开放定时器中断RSBXINTM;开放中断RET2019年12月20日DSP原理及应用23第7章TMS320C54x的片内外设、接口及应用(3)方波发生器程序清单程序清单:;定时器0的中断服务子程序:通过引脚XF给出周期为8ms的占空比;为50%的方波波形t0_flag.usect“vars”,1;当前XF输出电平标志位;若t0_flag=1,则XF=1;若t0_flag=0,则XF=02019年12月20日DSP原理及应用24第7章TMS320C54x的片内外设、接口及应用time0_rev:PSHMTRN;保护现场PSHMTPSHMST0PSHMST1BITFt0_flag,#1BCxf_out,NTCBSBXXFST#0,t0_flagBnextxf_out:SSBXXFST#1,t0_flagnext:POPMST1;恢复现场POPMST0POPMTPOPMTRNRETE;无条件返回且允许中断

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功