DSP计数器DSP定时器 计数器原理及设计举例.docx
- 文档编号:7148285
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:15
- 大小:503.34KB
DSP计数器DSP定时器 计数器原理及设计举例.docx
《DSP计数器DSP定时器 计数器原理及设计举例.docx》由会员分享,可在线阅读,更多相关《DSP计数器DSP定时器 计数器原理及设计举例.docx(15页珍藏版)》请在冰豆网上搜索。
DSP计数器DSP定时器计数器原理及设计举例
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)包含的控制位有下列功能:
①控制定时器模式;
②指定定时器预先定标计数器的当前计数值;
③重新加载定时器;
④启动、停止定时器;
⑤定义定时器的分频系数。
(说明:
TDDR(TimerDivide-DownRatio):
复位时,TDDR各位清零;PSC(TimerPrescalerCounter):
PSC可被TCR读取,但不能直接写入)
1.3定时器初始化步骤:
(1)将TCR中的TSS位(停止状态位)置1,关闭定时器。
STM#0010H,TCR
(2)加载PRD。
STM#0100H,PRD;
(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。
由内部振荡电路或外部时钟源驱动。
3、中断系统
3.1中断结构
3.1.1中断类型:
硬件中断:
外部硬件中断和内部硬件中断
软件中断:
由程序指令引起,INTR、TRAP或RESET。
软件中断不分优先级,硬件中断有优先级。
还可以分为:
1)可屏蔽中断:
用软件可以屏蔽或开放的中断。
通过对中断屏蔽寄存器(IMR)中的相应位;状态寄存器(ST1)中的中断允许控制位INTM;C54x最多可以支持16个用户可屏蔽中断(SINT15~SINT0)
2)非可屏蔽中断:
不能用软件来屏蔽的中断,不受IMR和INTM位的影响。
TMS320C54x对这一类中断总是响应的,并从主程序转移到中断服务程序。
3.1.2中断管理有关的寄存器
1)中断标志寄存器(IFR,InterruptFlagRegister):
16位存储器映像的CPU寄存器;数据存储器空间,地址为0001H;当一个中断出现的时候,DSP收到了一个相应的中断请求(中断挂起),IFR中相应的中断标志位为1。
2)中断屏蔽寄存器(IMR,InterruptMaskRegister)
INTM:
可屏蔽中断的总允许控制位,ST1中第11位。
INTM=0时,开放全部可屏蔽中断;
INTM=1时,禁止所有可屏蔽中断。
IMR:
1:
开放对应位的中断
0:
禁止对应位的中断
3.1.3中断向量
中断源服务程序的入口地址:
图5中断向量地址的形成
3.2中断流程
3.2.1有关指令
(1)INTRK:
该指令可启动TMS320C54x的任何中断,INTM=1。
(2)TRAPK:
TRAP与INTR的不同之处是TRAP中断时,不需要设置INTM位。
(3)RESET:
复位操作,INTM=1,PC=0080H。
3.2.2中断的响应
对于软件中断和非可屏蔽中断,CPU立即响应。
如果是可屏蔽中断,只有满足以下条件才能响应:
(1)优先级别最高。
(2)ST1中的INTM位为0,允许可屏蔽中断。
(3)IMR中的相应位为1,允许可屏蔽中断。
3.2.3执行中断服务程序
响应中断之后,CPU将执行下列操作:
(1)将PC值(即返回地址)压入堆栈。
(2)将中断向量的地址装入PC;将程序引导至中断服务程序ISR。
(3)现场保护,将某些要保护的寄存器和变量压入堆栈。
(4)执行中断服务程序ISR。
(5)恢复现场,以逆序将所保护的寄存器和变量弹出堆栈。
(6)中断返回,从堆栈弹出返回地址加载到PC。
(7)继续执行被中断的程序。
3.3中断过程:
图6中断过程
图7中断操作流程图
3.4汇编源程序如下:
.mmregs
.def_c_int00
STACK.usect"STACK",100h
t0_cout.usect"vars",1;计数器
t0_flag.usect“vars”,1;当前XF输出电平标志。
t0_flag=1,则XF=1;
;t0_flag=0,则XF=0
TVAL.set1639;16401061=1ms因中断程序中计数器初值
;t0_cout=1000,所以定时时间:
1ms1000=1s
TIM0.set0024H;定时器0寄存器地址
PRD0.set0025H
TCR0.set0026H
.data
TIMES.intTVAL;定时器时间常数
.text
**********************************
;中断矢量表程序段
_c_int00
bstart
nop
nop
NMIrete;非屏蔽中断
nop
nop
nop
SINT17.space4*16;各软件中断
SINT18.space4*16
SINT19.space4*16
SINT20.space4*16
SINT21.space4*16
SINT22.space4*16
SINT23.space4*16
SINT24.space4*16
SINT25.space4*16
SINT26.space4*16
SINT27.space4*16
SINT28.space4*16
SINT29.space4*16
SINT30.space4*16
INT0rsbxintm;外中断0中断
rete
nop
nop
INT1rsbxintm;外中断1中断
rete
nop
nop
INT2rsbxintm;外中断2中断
rete
nop
nop
TINT:
bdtimer;定时器中断向量
nop
nop
nop
RINT0:
rete;串口0接收中断
nop
nop
nop
XINT0:
rete;串口0发送中断
nop
nop
nop
SINT6.space4*16;软件中断
SINT7.space4*16;软件中断
INT3:
rete;外中断3中断
nop
nop
nop
HPINT:
rete;主机中断
nop
nop
nop
RINT1:
rete;串口1接收中断
nop
nop
nop
XINT1:
rete;串口1发送中断
nop
nop
nop
******************************************
start:
LD#0,DP
STM#STACK+100h,SP
STM#07FFFh,SWWSR
STM#1020h,PMST
ST#1000,*(t0_cout);计数器设置为1000(1s)
SSBXINTM;关全部中断
LD#TIMES,A
READATIM0;初始化TIM,PRD
READAPRD0
STM#669h,TCR0;初始化TCR0
STM#8,IMR;初始化IMR,使能timer0中断
RSBXINTM;开放全部中断
WAIT:
BWAIT
**************************************
;定时器0中断服务子程序
timer:
ADDM#-1,*(t0_cout);计数器减1
CMPM*(t0_cout),#0;判断是否为0
BCnext,NTC;不是0,退出循环
ST#1000,*(t0_cout);为0,设置计数器,并将XF取反
BITFt0_flag,#1
BCxf_out,NTC
SSBXXF
ST#0,t0_flag
Bnext
xf_out:
RSBXXF
ST#1,t0_flag
next:
RSBXINTM
RETE
.end
5.链接命令文件times.cmd如下:
times.obj
-otimes.out
-mtimes.map
MEMORY
{PAGE0:
RAM1:
origin=1000h,length=500h
PAGE1:
SPRAM1:
origin=0060h,length=20h
SPRAM2:
origin=0100h,length=200h
}
SECTIONS
{
.text:
>RAM1PAGE0
.data:
>RAM1PAGE0
vars:
>SPRAM1PAGE1
STACK:
>SPRAM2PAGE1
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP计数器 DSP定时器 计数器原理及设计举例 DSP 计数器 定时器 原理 设计 举例
![提示](https://static.bdocx.com/images/bang_tan.gif)