定时原理 ◆预定标计数寄存器(PSC)由输入时钟驱动,PSC在每个 输入时钟周期减1,当其减到0,一个时钟后,T工M减1, 当TIM减到O,一个时钟后,定时器向CPU发送一个中断 请求TINT)或向DMA控制器发送同步事件: 通过设置定时器控制寄存器(TCR)中的自动重装控制 位ARB(TCR.5),可使定时器工作于自动重装模式。当 TIM或PSC减到O,重新将周期寄存器(TDDR,PRD) 的内容复制到计数寄存器(PSC,TIM)中,继续定时。 ◆定时器发送中断信号或同步事件信号的频率可用下式 计算: 输入时钟频率 L TINT频率 (TDDR+)×(PRD+) ΠΠ 输出脉冲的频率 输出时钟频率
⚫ 定时原理 ◆预定标计数寄存器(PSC)由输入时钟驱动, PSC在每个 输入时钟周期减1,当其减到0, 一个时钟后, TIM减1, 当TIM减到0,一个时钟后,定时器向CPU发送一个中断 请求(TINT)或向DMA控制器发送同步事件; ◆通过设置定时器控制寄存器(TCR)中的自动重装控制 位ARB(TCR.5), 可使定时器工作于自动重装模式。当 TIM或 PSC减到0, 重新将周期寄存器(TDDR, PRD) 的内容复制到计数寄存器(PSC,TIM)中, 继续定时。 ◆定时器发送中断信号或同步事件信号的频率可用下式 计算: 24 (TDDR 1) (PRD 1) TINT + + = 输入时钟频率 频率 输出时钟频率 输出脉冲的频率
表8-2定时器预定标寄存器PRSC PRSC0地址为0x1003,PRSC1地址为0x2403. 位 字段 数值 说明 15~10 Rsvd 保留 96 PSC 0h~Fh 预定标计数寄存器 5~4 Rsvd 保留 当PSC重新装入时,将TDDR 30 TDDR 0h~Fh 的内容复制到PSC中 25
表8-2 定时器预定标寄存器 PRSC 位 字 段 数 值 说 明 15~10 Rsvd — 保留 9~6 PSC 0h~Fh 预定标计数寄存器 5~4 Rsvd — 保留 3~0 TDDR 0h~Fh 当PSC重新装入时, 将TDDR 的内容复制到PSC中 25 PRSC0地址为0x1003, PRSC1地址为0x2403
TIM0地址为0x1000, 表8-3主计数寄存器TIM TIM1地址为0x2400 位 字段 数值 说明 15~0 TIM 0000h~FFFFh 主计数寄存器 PRD0地址为0x1001, 表8-4主周期寄存器PRD PRD1地址为0x2401 位 字段 数值 说明 主周期寄存器。当TM必须 150 PRD 0000h~FFFFh 重新装入时,将PRD的内容 复制到TM中 26
表8-3 主计数寄存器 TIM 位 字段 数 值 说 明 15~0 TIM 0000h~FFFFh 主计数寄存器 表8-4 主周期寄存器 PRD 位 字段 数 值 说 明 15~0 PRD 0000h~FFFFh 主周期寄存器。当TIM必须 重新装入时, 将PRD的内容 复制到TIM中 PRD0地址为0x1001, PRD1地址为0x2401 TIM0地址为0x1000, TIM1地址为0x2400 26
TCR0地址为0x1002, 表8-5定时器控制寄存器 TCR TCR1地址为0x2402 位字段 数值 说明 定时器的dle使能位 15 0 IDLEEN 定时器不能进入idle状态 若ide状态寄存器的PERIS-=1注,定时器进入idle 状态 时钟源从内部切换到外部标志位(用外部时钟时 14 INTEXT 定时器没有准备好使用外部时钟源 定时器准备使用外部时钟源 定时器错误标志允许:00-0110,1山:01→10:10-01 0 13 ERRTIM 没监测到错误,或ERRTIM已被读取 出错(向EUNC位写非法变化值:01→00,11;或 10→00,11;或11→00,01,10) 定时器工作模式选择位 12 00b TIN/TOUT为高阻态,时钟源:内部CPU时钟 11 FUNC 01b TN/TOUT:定时器输出,时钟源:内部CPU时钟 10b TIN/TOUT:通用输出,引脚电平:DATOUT位值 11b TIN/TOUT:定时器输入,时钟源是外部时钟 注:参考TS320C55 x DSP Peripherals Overview User's Guide(SPRU317K 27
表8-5 定时器控制寄存器 TCR 位 字 段 数值 说 明 15 IDLEEN 0 1 定时器的Idle使能位。 定时器不能进入idle状态 若idle状态寄存器的PERIS=1注 , 定时器进入idle 状态 14 INTEXT 0 1 时钟源从内部切换到外部标志位(用外部时钟时) 定时器没有准备好使用外部时钟源 定时器准备使用外部时钟源 13 ERRTIM 0 1 定时器错误标志 没监测到错误, 或ERRTIM已被读取 出错 (向FUNC位写非法变化值: 01→00,11; 或 10→00,11; 或11→00,01,10) 12~ 11 FUNC 00b 01b 10b 11b 定时器工作模式选择位 TIN/TOUT为高阻态,时钟源: 内部CPU时钟 TIN/TOUT: 定时器输出, 时钟源: 内部CPU时钟 TIN/TOUT: 通用输出, 引脚电平: DATOUT位值 TIN/TOUT: 定时器输入, 时钟源是外部时钟 TCR0地址为0x1002, TCR1地址为0x2402 27 注: 参考TMS320C55x DSP Peripherals Overview User's Guide(SPRU317K) 允许: 00→01,10,11; 01→10; 10→01
表8-5 定时器控制寄存器TCR(续1) 位 字段 数值 说明 定时器装载位(不管TM是否减汗数到0 10 TLB 0 TIM、PSC不装载 1 将PRD、TDDR分别复制到TIM、PSC中 9 SOFT 当Free=0时,在调试中遇到断点或暂停时定时器的 处理方法:Sof=0时,定时器立即停止工作; 8 FREE Soft=1时,定时器减到0时停止工作。 当Free=1,调试中定时器自由运行,与Soft无关。 定时器由CP位选择输出脉冲时,设置脉冲的宽度 00 1个CPU时钟周期 76 PWID 01 2个CPU时钟周期 0 4个CPU时钟周期 11 8个CPU时钟周期 十 自动重装载控制位(当TM或PSC减计数到0时) 0 5 ARB ARB清0(不自动重装载计数器) 每次TM减为0,PRD装入TIM,或PSC减为0时 TDDR装入PSC 28
表8-5 定时器控制寄存器 TCR(续1) 位 字段 数值 说 明 10 TLB 0 1 定时器装载位(不管TIM是否减计数到0) TIM、PSC不装载 将PRD、TDDR分别复制到TIM、PSC中 9 SOFT 当Free=0时,在调试中遇到断点或暂停时定时器的 处理方法: Soft=0时, 定时器立即停止工作; Soft=1时,定时器减到0时停止工作。 当Free=1,调试中定时器自由运行, 与Soft无关。 8 FREE 7~6 PWID 00 01 10 11 定时器由C/P位选择输出脉冲时,设置脉冲的宽度 1个CPU时钟周期 2个CPU时钟周期 4个CPU时钟周期 8个CPU时钟周期 5 ARB 0 1 自动重装载控制位(当TIM或PSC减计数到0时) ARB清0 (不自动重装载计数器) 每次TIM减为0, PRD装入TIM, 或PSC减为0时 TDDR装入PSC 28 脉冲