【篇七】定时器和RTC

本章主要总结点

  • 定时器定义
  • PWM定时器
  • PWM框图解读

定时器定义

   *  通过计数器实现
    * Soc的常见的外设,主要用来实现定时执行代码的功能,通过中断并执行定时器中的ISR,从而去执行预先设定好的事件
    * 与计数器的区别;计数器是每隔固定时间进行一次计数累加,然后计数的一段周期,成为了定时器,这个时间段就是我们定时器定的时间
    * 实现原理: 内部有一个寄存器TCNT,开始计数时,把计数周期总市值写入TCNT寄存器中,然后每个一定周期,TCTN中的值会自减一个,(硬件自动完成,不需要CPU去干预)
      直到TcnT的数值减为0了,TCNT就会触发定时器触发中断,定时时间有计数值和时钟周期决定

PWM定时器(脉宽调制)

    > 本质上是定时器,用途是用来产生PWM波形的, PWM定时器时钟源为PCLK_PSYS
    > PWM波形是一个周期性波形,周期为T,在每个周期内波形是完全形同的,每个周期内由一个高电平和低电平组成
    > PWM波形有两个重要参数:周期T和占空比duty (一个周期内高电平的时间除以周期时间的商),主要用途是通过脉宽调至这个商,来传送信息,比如用这个商来调制电流进而对发光二极管LED进行调光
    > 生成原理:早起实现方法:先将GPIO引脚电平拉高,同时启动定时器,T*duty时间,时间到了在isr中将电平拉低,然后定时 t*(1-duty)时间,再启动定时器,如此反复
        现在:由于定时器和pwm产生纠结在一起,如是soc设计时直接把定时器和一个GPIO引脚内部绑定一起,然后定时器内部给我们设置了PWM产生的机制,可以方便我们利用定时器产生PWM波形,此时也不需要pwm定时器产生中断了
    > 生成方式: TCMBP/TCNTB, 通过设置这两个寄存器,TCNTB决定了PWM波形的周期,TCMBP决定了PWM波形的占空比,最终生成的PWM波形的周期是TCNTB*时钟周期
    > 输出电平翻转器:PWM定时器规定:当TCNT>TCMPB时为高电平时,当TCNT<TCMPB为低电平,也可以规定当TCNT>TCMPB时为低电平时,当TCNT<TCMPB为高电平,这种设定,
        需要我们修改值,麻烦,如果通过电平翻转器工具,(实际是一个电平取反的部件,上图中三角符号后有一个圆圈),编程上是一个寄存器位,开启后电平信号进行翻转(高变低,低变高)

PWM框图解读

 *S5PV201有5个PWM定时器,其中0,1,2,3各自对应一个外部GPIO,可以通过这些对应的GPIO产生PWM波信号并输        出:time4没有对应的外部GPIO(因此不是为了生成 PWM波形而是为了产生内部定时器中断而生的)
  * 钟源为PCLK_PSYS,每个timer有一个专用的独立分频器,预分频器和分频器构成了2级分频系统,将PCLK_PSYS两级分频后生成的时钟供给timer模块作为时钟生命周期
  * 时钟源 PCLK经过两个预分频器(0和1),通过设置分频器值,来进行一次分频
  * 经过分频器再次分频,分屏系数为固定参数(设置MUX开关)选择
  * 进入时钟周期logic,有两个寄存器TCMPB和TCNTB进行时间计数和比较
  * 最后通过引脚(XpwmTout)输出波形
  * 预分频器 和 分频器
      * 两级分频是串联的(级联)的,最后分频系数由两级分频相乘
      * 在两个寄存器 TCFG0 和 TCFG1 中设置,如图


      * TCNT&TCMP 和  TCNTB&TCMPB 区别: TCNTTB是有地址的,供程序员操作,TCNT在内部和TCNTB相对应,它没有寄存器地址,不能编码访问,相当于影子寄存器,因为
          程序制定时间后,TCNT不好做数据写入,如是写入到tcntb中,然后由tcntB给定这个数给tcnt, 然后TCNT由这个设置的数开始自减,通过 TCNTO去读取

  * 自动重载和双缓冲
        定时器工作,默认是一个周期的单个循环的,到期就会中断停止,自动重载就是当执行完单个循环,这种机制会将TCNTB中的值重新写入TCNT中,再次启动定时器开始下个循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

源14

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值