zynq linux 私有定时器,ZYNQ+Vivado2015.2系列(十三)私有定时器中断

fa5ab811e5eedd240d164638c71045b7.png

私有定时器属于PS部分,定时器可以帮我们计数、计时,有效的控制模块的时序。这一次实验我们认识定时器并使用定时器产生中断。

CPU的私有中断(PPI),5个:全局定时器, 私有看门狗定时器, 私有定时器以及来自 PL 的 FIQ/IRQ。add73d83968cfc232baf4e2f65876828.png

它们的触发类型都是固定不变的, 并且来自 PL 的快速中断信号 FIQ 和中断信号 IRQ 反向, 然后送到中断控制器因此尽管在ICDICFR1 寄存器内反映的他们是低电平触发,但是 PS-PL 接口中为高电平触发。

CPU的私有定时器:每个CPU都有自己的私有定时器:414339e91dd02be3920a9e5c8835f1bb.png

私有定时器的工作频率是CPU的一半(频率仅供参考,主要看频率分配比率):501d3b93124fa168746ac8a78649a946.png

插曲:zc702的时钟源有三个:efae7af4047043a709b0313d274ad694.png

PS Clock经过倍频以后供给PS各个模块使用:9458ee1e60c88b73db6859fc0e1bcdd2.png

PL时钟产生:ae041cce169d2e224fc72d7fab554412.png

在ZYNQ核里,CPU默认的时钟比率是6:2:1,CPU时钟频率666.666M:97246e60cfcbb239ff2d6000c35af166.png

这样定时器工作频率就是333.333MHz。

私有定时器的特性:

(1) 32 位计数器, 达到零时产生一个中断

(2) 8 位预分频计数器, 可以更好的控制中断周期

(3) 可配置一次性或者自动重加载模式

(4) 定时器时间可以通过下式计算:

定时时间 = 1/定时器频率*(预加载值+1),粗略一点 预加载值=定时时间*定时器频率。

私有定时器中断硬件系统

硬件系统十分简单,因为是PS部分的,所以只需要添加ZYNQ核就可以了,DDR正确配置,需要打印信息,所以把uart1勾选上:fd5224af74195fc6653f5b81be914df7.png

也没有什么引脚约束,我们就观察计时信息,这样就搭建好了要用的硬件。

软件部分

重点在软件部分。

首先我们通过一个例子,用极简的方式熟悉私有定时器的使用:

#include #include "xscutimer.h"

#include "xparame

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值