第7章定时部件4小时_第1页
第7章定时部件4小时_第2页
第7章定时部件4小时_第3页
第7章定时部件4小时_第4页
第7章定时部件4小时_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第7章章 定时部件定时部件4小时小时本章学习目标与要求1. 掌握定时部件的工作原理;2. 掌握看门狗的定时计算方式、寄存器常用功能设置、编程,看懂嵌入式操作系统中相关代码,可以修改;3.掌握RTC部件工作原理、寄存器常用功能设置、编程,会编写嵌入式操作系统中相关代码;4.掌握Timer 定时计数部件的工作原理、寄存器常用功能设置、操作流程,定时计算编程,会编写嵌入式操作系统中相关代码。7.1定时部件的一般性原理w 定时器或计数器的逻辑电路本质上是相同的,它们之间的区别主要在用途上。它们都是主要由带有保存当前值的寄存器和当前寄存器值加1或减1逻辑组成。在应用时,定时器的计数信号是由内部的、周期

2、性的时钟信号承担,以便产生具有固定时间间隔的脉冲信号,实现定时的功能。而计数器的计数信号是由非周期性的信号承担,通常是外部事件产生的脉冲信号,以便对外部事件发生的次数进行计数。因为同样的逻辑电路可用于这两个目的,所以该功能部件通常被称为“定时/计数器”。 (续)w 定时/计数器内部工作原理图是以一个N位的加1或减1计数器为核心,计数器的初始值由初始化编程设置,计数脉冲的来源有两类:系统时钟和外部事件脉冲。 系统时钟M分频外部事件脉冲N位计数器=0(续)w 若编程设置定时/计数器为定时工作方式时,则N位计数器的计数脉冲来源于内部系统时钟,并经过M分频。每个计数脉冲使计数器加1或减1,当N位计数器

3、里的数加到0或减到0时,则会产生一个“回0信号”,该信号有效时表示N位计数器里的当前值是0。因为系统时钟的频率是固定的,其M分频后所得到的计数脉冲频率也就是固定的,因此通过对该频率脉冲的计数就转换为定时,实现了定时功能。 (续)w 若编程设置定时/计数器为计数方式时,则N位计数器的计数脉冲来源于外部事件产生的脉冲信号。有一个外部事件脉冲,计数器加1或减1,直到N位计数器中的值为0,产生“回0信号”。w N位计数器里初始值的计算,在不同的定时部件中其具体的计算公式是不同的。 7.2 看门狗定时器w S3C2410芯片看门狗定时器的作用是,当系统程序出现功能错乱,引起系统程序死循环时,能中断该系统

4、程序的不正常运行,恢复系统程序的正常运行。w (续)w 预分频器的值和频率分解因子可由看门狗定时器的控制寄存器(WTCON)进行编程设定。预分频器值的可选范围是: 028-1。频率分割因子可选择的值为16,32,64,128。使用下面公式来计算看门狗定时器的计数时钟周期:w 计数时钟周期 = 1/ (PCLK / (预分频器值 + 1) / 分割因子)(续)w 一旦看门狗定时器被启动工作,看门狗定时器中的计数常数寄存器(WTDAT)就无法自动的重载到计数寄存器(WTCNT)中。因此,应该在看门狗定时器启动工作之前,通过初始化编程使计数常数写入计数寄存器(WTCNT)中。7.2.2 看门狗控制寄

5、存器看门狗控制寄存器w 看门狗控制寄存器WTCON :0 x53000000 w 可读写 w 0 x8021=?w (0021)=?计数常数寄存器WTDAT:0X53000004 读写,存储看门狗定时器的溢出时间间隔(溢出到0,减到0),存储计数常数(与定时时间的关系:) t=40s PCLK=50MHz WTCON=0X0021 计数常数=?使用实例使用实例w 目的:定时监视系统,防止系统软件死锁目的:定时监视系统,防止系统软件死锁w 电路设计:图电路设计:图7-3w 软件初始化看门狗:软件初始化看门狗: WTDAT=? WTCNT=?(0X53000008 读写读写) WTCON=?(使能

6、看门狗等)(使能看门狗等)应用:在系统程序的适当地方设置重复看门狗计数器的应用:在系统程序的适当地方设置重复看门狗计数器的指令(上次执行看门狗计数器重置指令到本次执行看指令(上次执行看门狗计数器重置指令到本次执行看门狗计数器重复指令的间隔小于监视时间间隔。门狗计数器重复指令的间隔小于监视时间间隔。作用与功能:作用与功能: 7.3 RTC部件w 实时时钟部件RTC是用于提供年、月、日、时、分、秒、星期等实时时间信息的定时部件(系统断电下由后备电池供电)。 w RTC部件可以将年、月、日、时、分、秒、星期等信息的8位数据以BCD码格式输出。它由外部时钟驱动工作,外部时钟频率为32.768 kHz晶

7、体。同时RTC部件还可以具有报警功能。 主要特点w 年、月、日、时、分、秒、星期等信息采用BCD码表示。w 闰年发生器。w 具有报警功能,能提供报警中断或者系统在节电模式下的唤醒。w 拥有独立的电源引脚(RTCVDD)。w 支持RTOS内核时间片所需的毫秒计时中断。w 进位复位功能。w 图功能框图 内部基准工作频率:内部基准工作频率:内闰年发生器,硬件实现千年虫问题内闰年发生器,硬件实现千年虫问题内部报警寄存器()设置内部报警寄存器()设置报警使能报警时间条件,激活报警中断信报警使能报警时间条件,激活报警中断信号()号()w RTC的时间片计时器用于产生一个中断请求,TICNT 寄存器有一个中

8、断使能位,和计数器中的值一起用来控制中断。当计数器的值变为0时,引起时间片计时中断。中断信号的周期用下列公式计算:w 周期()=( n + 1 )/128s w ():时间片计数器中的值控制寄存器控制寄存器控制寄存器:读写控制寄存器:读写时间片计数器:读写时间片计数器:读写报警控制寄存器:读写报警控制寄存器:读写报警秒数寄存器:读写报警秒数寄存器:读写报警分数寄存器:读写报警分数寄存器:读写报警时数寄存器:读写报警时数寄存器:读写报警日数寄存器:读写报警日数寄存器:读写报警月数寄存器:读写报警月数寄存器:读写报警年数寄存器:读写报警年数寄存器:读写循环复位寄存器:读写循环复位寄存器:读写秒数据

9、寄存器:读写秒数据寄存器:读写分数据寄存器:读写分数据寄存器:读写时数据寄存器:读写时数据寄存器:读写日数据寄存器:读写日数据寄存器:读写星期数据寄存器:读写星期数据寄存器:读写月数据寄存器:读写月数据寄存器:读写年数据寄存器:读写年数据寄存器:读写编程实例编程实例根据根据P171实例,考查实例,考查C语言的编程(主程序,三个子程语言的编程(主程序,三个子程序),特殊符号),测试学生读懂程序的能力序),特殊符号),测试学生读懂程序的能力7.4 Timer7.4 Timer部件部件w Timer部件主要是用于提供定时功能、脉宽调制(PWM)功能的部件,它的应用比较灵活,对于需要一定频率的脉冲信号

10、、一定时间间隔的定时信号的应用场合,它都能提供应用支持。 w S3C2410内有5个16位的Timers部件, 图7-6: Timers0 Timers1 (分频器、分割器) Timers2 Timers3 Timers4 (分频器、分割器)基本定时器操作w Timer部件内部寄存器 定时器配置寄存器0(TCFG0) 读写 0 x51000000 设置预分频 定时器配置寄存器1(TCFG1) 读写 0 x51000004 设置分割器值 定时器输入时钟频率=PCLK/(预分频系数+1)/(分割器值) 定时器控制寄存器(TCON) 读写 0 x51000008 Timer0计数缓冲寄存器和比较缓冲寄存器(TCNTB0/TCMPB0) 读写 0 x51000010 Timer0计数观察寄存器(TCNTO0)只读 0 x51000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论