没有合适的资源?快使用搜索试试~ 我知道了~
首页dsp定时器/计数器原理及举例
dsp定时器/计数器原理及举例

计数器/定时器原理及举例 例,设时钟频率为16.384MHz,在TMS320C5402的XF端输出一个周期为2s的方波,方波的周期由片上定时器确定,采用中断方法实现。
资源详情
资源评论
资源推荐

DSP 定时器/计数器原理及设计举例
1、定时器结构
定时器的组成框图如图 1 所示。它有 3 个 16 位存储器映像寄存器:TIM、PRD 和 TCR。
这 3 个寄存器在数据存储器中的地址及其说明如表 1 所示。定时器控制寄存器(TCR)位结构
如图 2 所示,各控制位和状态位的功能如表 2 所示。
(说明:图中包括,一个 16 位的主计数器(TIM)和一个 4 位预定标计数器(PSC)。TIM 从周期
寄存器 PRD 加载,PSC 从周期寄存器 TDDR 加载。)
1.1 典型操作顺序:
(1) 在每个 CLKOUT 脉冲后 PSC 减 1,直到它变为 0。
(2) 在下一个 CLKOUT 周期,TDDR 加载新的除计数值到 PSC,并使 TIM 减 1。
(3) 以同样方式,PSC 和 TIM 连续进行减操作,直到 TIM 减为 0。
(4) 下一个 CLKOUT 周期,将定时器中断信号 (TINT)送到 CPU,同时又用另一脉冲送到
TOUT 引脚,把新定时器计数值从 PRD 加载到 TIM,并使 PSC 再次减 1。
因此,定时器中断的速率为
1.2 定时器编程
(1)TIM:定时器中的当前值。
(2)PRD:正常情况,当 TIM 减到 0 后,PRD 中的时间常数自动地加载到 TIM。系统复位(
=1)或定时器复位(TRB=1)时,PRD 中的时间常数重新加载到 TIM。
(3)控制寄存器(TCR)包含的控制位有下列功能:
① 控制定时器模式;
② 指定定时器预先定标计数器的当前计数值;
③ 重新加载定时器;
④ 启动、停止定时器;
图 1 定时器组成框图
TINT速率=

⑤ 定义定时器的分频系数。
( 说 明 : TDDR(Timer Divide-Down Ratio) : 复 位 时 , TDDR 各 位 清 零 ; PSC(Timer
Prescaler Counter):PSC 可被 TCR 读取,但不能直接写入)
1.3 定时器初始化步骤:
(1) 将 TCR 中的 TSS 位(停止状态位)置 1,关闭定时器。
STM #0010H,TCR
(2) 加载 PRD。
STM #0100H,PRD;
表 1 定时器的三个寄存器
Timer0
地址
Timer1
地址
寄存器 说明
0024H 0030H TIM
定时器寄存器,每计数一次自动减
1
0025H 0031H PRD
定时器周期寄存器,当TIM减为0
后,CPU自动将PRD的值装入TIM
0026H 0032H TCR
定时器控制寄存器,包含定时器的
控制和状态位
15~12
11 10
9~6
5 4
3~0
保留
soft free PSC TRB TSS TDDR
图 2 TCR 位结构图
表 2 定时器控制寄存器( TCR )的功能

(3) 重新加载 TCR(使 TDDR 初始化;令 TSS 位为 0,以接通 CLKOUT;重新加载位 TRB 位
置 1,以使 TIM 减到 0 后重新加载 PRD),启动定时器。
STM #0C20H,TCR;Soft=1,Free=1,定时器遇到断点后继续进行
TINT 周期 =CLKOUT×(TDDR+1)×(PRD+1)
2、时钟发生器
时钟发生器:内部振荡器和锁相环电路 PLL。由内部振荡电路或外部时钟源驱动。
2.1 硬件配置 PLL
用于 C541 、C542 、C543 、C545 和 C546 芯片。
所 谓 硬 件 配 置 PLL , 就 是 通 过 C54x 的 3 个 引 脚 CLKMD1 、 CLKMD2 和
CLKMD3 的状态,选定时钟方式,如表 8-3 所示。由表8-3 可见,不用 PLL 时, CPU
的时钟频率等于晶体振荡器频率或外部时钟频率的一半;若用 PLL , CPU 的时钟频率
等于晶体振荡器频率或外部时钟频率乘以系数 N ( PLLN PLL CPU
表 3 时钟方式的配置
剩余10页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论1