1、一、一、定时器定时器1、定时器的作用、定时器的作用 定时器是定时器是DSP的一个片内外设,的一个片内外设,5402和和5420中有两个定时器,其他芯片只有一个。中有两个定时器,其他芯片只有一个。它实际是一个它实际是一个20比特的减计数器,时钟来源比特的减计数器,时钟来源是是CPU时钟时钟。定时器的作用是产生周期的中断,典型的定时器的作用是产生周期的中断,典型的运用是数字振荡器。运用是数字振荡器。对对DSP的系统时钟的系统时钟CLKOUT信号计数,先将信号计数,先将PSC减减1,直到,直到PSC为为0。然后,用。然后,用TDDR重新装入重新装入PSC,同时将同时将TIM减减1。如此。如此直到直到
2、TIM减为减为0。这时,。这时,DSP的的CPU发出发出TINT中断,同时在中断,同时在DSP的的TOUT引脚输出一个脉冲信号,脉冲宽度与系统时钟引脚输出一个脉冲信号,脉冲宽度与系统时钟CLKOUT一致。然后,用一致。然后,用PRD重新装入重新装入TIM,用用TDDR重新装重新装入入PSC,重复下去,直到系统或定时器复位。重复下去,直到系统或定时器复位。2 2、定时器的结构、定时器的结构 它它有有3个个存存储储器器映映象象寄寄存存器器:TIM、PRD和和TCR。这这3个个寄寄存存器器在在数数据据存存储储器器中中的的地地址及其说明如下表所示(址及其说明如下表所示(C5402)。)。控制定时器的寄
3、存器控制定时器的寄存器Timer0地址Timer1地址寄存器说明0024H0030HTIM定时器寄存器,每计数一次自动减10025H0031HPRD定时器周期寄存器,当TIM减为0后,CPU自动将PRD的值装入TIM0026H0032HTCR定时器控制寄存器,包含定时器的控制和状态位(1)TIMw定时器计数寄存器,每计数一次,定时器计数寄存器,每计数一次,TIM的的值减一,但是,并不是来一个时钟,就减值减一,但是,并不是来一个时钟,就减一次。一次。w是是16bit的一个寄存器,无符号的一个寄存的一个寄存器,无符号的一个寄存器,最大的初始值是器,最大的初始值是FFFFh。(2)PRDw计数器周期
4、寄存器,当计数器周期寄存器,当TIM减为减为0后,后,CPU将自动把将自动把PRD的值装入的值装入TIM。wPRD的物理属性同的物理属性同TIM是一样的。是一样的。(3)TCR3、定时器的启动、定时器的启动 启动编程:启动编程:设置设置TCR,使得使得TSS=1,停止定时器;停止定时器;设置设置PRD;打开定时器中断,包括打开定时器中断,包括FIR,IMR,INTM;设置设置TCR中的中的TDDR;设置设置TCR中的中的TRB=1,复位复位TIM和和PSC;设置设置TCR中的中的TSS=0,启动定时器;启动定时器;二、数字振荡器及其实现二、数字振荡器及其实现1、定时器的中断频率、定时器的中断频
5、率2、数字振荡器原理、数字振荡器原理w数字振荡器就是单位冲击响应为正弦序列的离散系统其中A=2cosT,B=-1,C=sinT差分方程差分方程当xk为单位冲击信号时,假定初始条件为03、设计实例、设计实例设设DSP主频为主频为80MHz,设计一个输出设计一个输出1kHz,采样采样频率为频率为10kHz的数字振荡器。的数字振荡器。定时器计数器初值为80M/10k-1=7999为了将系数为了将系数A和和B转换到带符号整型格式,转换到带符号整型格式,可以将它们除可以将它们除2,计算结果再乘,计算结果再乘2。程序举例程序举例 ;定时器控制定时器控制 ORM#0C10h,TCR ;Soft=1,Free
6、=1,TSS=1 STM#PERIOD-1,PRD ANDM#0010h,TCR ;TDDR=0 ORM#0020h,TCR ;TRB=1 STM#0FFFFh,IFR ;清除所有中断清除所有中断 ORM#8h,IMR ;打开时钟中断打开时钟中断 RSBX INTM ;开中断开中断 ANDM#0FFEFh,TCR ;TSS=0,启动启动 时钟时钟Y2 .word 079BChY1 .word 04B3ChCA .set 0678EhCB .set 0C000h;时钟中断处理时钟中断处理 y=Y1*CB+Y2*CA timer:MPY Y1,#CB,A ;A=Y1*CB LTD Y2,Y1 ;T
7、=Y2,Y2复制到复制到Y1 MAC#CA,A ;A=A+T*CA STH A,1,Y2 ;Y2=A*2 RETE三、三、时钟发生器1、时钟来源、时钟来源w外部时钟通过外部时钟通过X2/CLKIN输入;输入;w内部振荡电路配合外部晶体,即内部振荡电路配合外部晶体,即X1和和X2/CLKIN管脚管脚 2、PLL电路电路w硬件配置硬件配置PLLw软件可编程软件可编程PLL 硬件配置硬件配置PLLw用于用于C541、C542、C543、C545和和C546芯片。芯片。w所所谓谓硬硬件件配配置置PLL,就就是是通通过过C54x的的3个个引引脚脚CLKMD1、CLKMD2和和CLKMD3的的状状态态,选
8、选定定时时钟钟方方式式,如如表表所所示示。由由表表可可见见,不不用用PLL时时,CPU的的时时钟钟频频率率等等于于晶晶体体振振荡荡器器频频率率或或外外部部时时钟钟频频率率的的一一半半;若若用用PLL,CPU的的时时钟钟频频率率等等于于晶晶体体振振荡荡器器频频率率或或外外部部时时钟钟频频率率乘乘以以系系数数N(PLLN),使使用用PLL可可以以使使用用比比CPU时时钟钟低低的的外外部部时时钟钟信信号号,以以减减少少高高速速开开关关时时钟钟所所造成的高频噪声。造成的高频噪声。时钟方式的配置软件可编程软件可编程PLLw541B,545A,546A,548,549,5402,5410,5420配置的是
9、软件可编程配置的是软件可编程PLL;wCPU时钟复位时通过配置管脚时钟复位时通过配置管脚CLKMD1,CLKMD2,CLKMD3,确定确定CLKMD寄存器寄存器来对时钟源分频和倍频;来对时钟源分频和倍频;w复位后则是通过修改复位后则是通过修改CLKMDCLKMD寄存器来实现对时寄存器来实现对时钟源的分频和倍频。通过软件编程,可以选钟源的分频和倍频。通过软件编程,可以选用以下两种时钟方式:用以下两种时钟方式:PLLPLL方式,其比例系方式,其比例系数共数共3131种。靠锁相环电路完成;分频(种。靠锁相环电路完成;分频(DIVDIV)方式,其比例系数为方式,其比例系数为1/21/2和和1/41/4
10、,在此方式下,在此方式下,片内片内PLLPLL电路不工作以降低功耗。电路不工作以降低功耗。时钟模式寄存器(CLKMD)复位时的工作模式复位时的工作模式软件编程软件编程PLLw系统复位启动后,需要通过对寄存器系统复位启动后,需要通过对寄存器CLKMD的设置来改变的设置来改变CPU工作时钟工作时钟wCLKMD中设置选择何种工作模式,选择分频中设置选择何种工作模式,选择分频和倍频的系数;和倍频的系数;w PLLDIV,PLLMUL,PLLNDIV:联合控制联合控制DIV和和PLL模式的系数;模式的系数;wPLLCOUNT:从未锁定状态进入从未锁定状态进入PLL模式时的模式时的锁定时间,未锁定状态包括
11、以下情况:锁定时间,未锁定状态包括以下情况:(1)on power-up(2)after changing the PLLMUL or PLLDIV values(3)after turning off the PLL(PLLON/OFF=0)(4)after loss of input reference clock.模式切换模式切换w关键一点是,对于关键一点是,对于CLKMD中的中的PLLMUL,PLLDIV,PLLCOUNT,PLLON/OFF必须在必须在DIV模式下才可以修改,而只有模式下才可以修改,而只有PLLNDIV才可才可以在以在PLL和和DIV模式下修改。模式下修改。w从从DI
12、V到到PLL w从从PLL到到DIV例如:从例如:从PLL3模式到模式到DIV-2模式模式 w从从PLL到到PLL 首先要从首先要从PLL模式变为模式变为DIV模式,然后从模式,然后从DIV模式变模式变回回PLL模式,因为只有在模式,因为只有在DIV模式下才可以改系数。模式下才可以改系数。例如:从例如:从PLLX到到PLL1模式模式w从从DIV到到DIV模式模式(1)虽然)虽然DIV模式下面可以进行对模式下面可以进行对CLKMD修改,但修改,但是,从是,从DIV到到DIV的改变必须首先把的改变必须首先把DIV模式改为模式改为PLL模式,而且这个模式,而且这个PLL模式还必须是整数系数的模式还必须是整数系数的PLL模式,最后再从模式,最后再从PLL模式改回模式改回DIV模式;模式;(2)各种修改方法同前面的修改方法是一致的。)各种修改方法同前面的修改方法是一致的。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100