预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

17定时部件7.2看门狗定时器S3C2440芯片的看门狗定时器有2种工作模式: ·带中断请求信号的常规时隙定时器。 ·产生内部复位信号的定时器,即当定时器中的计数器值变为0时,产生一个宽度为128个PCLK(系统时钟周期)的复位脉冲信号。 看门狗定时器逻辑功能框图如下:S3C2440芯片的看门狗定时器逻辑中含有3个控制其操作的专用寄存器: 看门狗控制寄存器(WTCON) 计数常数寄存器(WTDAT) 看门狗计数器寄存器(WTCNT) (1)看门狗控制寄存器(WTCON)用来控制看门狗定时器是否允许工作。其内容是可读/写的(2)计数常数寄存器(WTDAT) 计数常数寄存器用来存储看门狗定时器的溢出时间间隔值,既从定时器的计数器开始工作,到计数器值变为0的时间间隔。 计数常数通过下面公式计算求得: 计数常数=所需时间间隔/计数时钟周期 =所需时间间隔×(PCLK/(预分频器值+1)/分割因子)(3)看门狗计数器寄存器(WTCNT)示例7-17.3RTC部件RTC的时间片计时器用于产生一个中断请求,TICNT寄存器有一个中断使能位,和计数器中的值一起用来控制中断。当计数器的值变为0时,引起时间片计时中断。中断信号的周期用下列公司计算: 周期=(n+1)/128s 上式中,n代表时间片计数器中的值,范围是1~127。RTC的时间片计时器可以用来产生实时操作系统内核所需的时间片。RTC部件内部有许多用于控制其操作的寄存器。通过编程对这些寄存器进行设定,用户就可以控制RTC部件的工作。 (1)RTC控制寄存器(RTCCON)【0x57000040】(2)时间片计数器(TICNT)应用示例7.4Timer部件Timer部件内部功能框图: 定时器结构图 2、工作原理 (1)定时器工作过程 装入初值、启动计数,计数结束产生中断请求,并且可以重装初值连续计数。如下图所示。 (2)初值自动重装、手动装载和双缓冲 初值自动重装功能:5个定时器都具有此功能。当计数器中值减到0后,若设置了自动重装功能,则在下一计数周期开始前将初值装入计数器重新计数。 初值手动装载功能:在启动计数前,必须使用手动装载功能将初值装入计数器,而初值自动重装仅是一次计数结束后重新装入初值。 双缓冲功能:如果定时器正在工作,此时写入新的数据到TCNTBn、或者到TCMPBn,该写入的数据不影响本次定时器的操作。当定时器到达0后下一次运行定时器时,新写入的TCNTBn、或者TCMPBn才生效。 (3)PWM输出 寄存器TCMPB的作用:当计数器TCNT中的值减到与TCMPB的值相同时,TOUT的输出值取反。改变TCMPB的值,便改变了输出方波的占空比。 TOUT的输出可以设置为反相输出,如下图所示。 (4)死区产生器 死区的概念:是一小段时间间隔,在这个时间间隔内,禁止两个开关同时处于开启状态。死区是在功率设备控制中常采用的一种技术,防止两个开关同时打开起反作用。 S3C2410的timer0具有死区发生器功能,可用于控制大功率设备。 3、计数时钟和输出计算 1)定时器输入时钟频率fTclk(即计数时钟频率): fTclk=[fpclk∕(Prescaler+1)]×分频值 式中:Prescaler,预分频值,0---255;分频值为1/2、1/4、1/8、1/16。 2)PWM输出时钟频率: PWM输出时钟频率=fTclk∕TCNTBn 3)PWM输出信号占空比(即高电平持续时间所占信号周期的比例): PWM输出信号占空比=TCMPBn∕TCNTBn 定时器专用寄存器 共有6种、17个寄存器Deadzonelength---死区宽度设置位 其值N为:0~255,以timer0的定时时间为单位 死区宽度为:(N+1)×timer0的定时时间 Prescaler1---timer2、3、4的预分频值 其值N为:0~255 输出频率为:PCLK÷(N+1) Prescaler0---timer0、1的预分频值 其值N为:0~255 输出频率为:PCLK÷(N+1) 2、TCFG1---DMA模式与分频选择寄存器TL4~TL0---计数初值自动重装控制位 0:单次计数 1:计数器值减到0时,自动重新装入初值连续计数。 TUP4~TUP0---计数初值手动装载控制位。 0:不操作 1:立即将TCNTBn中的计数初值装载到计数寄存器TCNTn中。 说明:如果没有执行手动装载初值,则计数器启动时无初值。TR4~TR0---TIMER4~TIMER0运行控制位 0:停止 1:启动对应的TIMER TO3~TO0---TIMER4~TIMER0输出控制位 0:正相输