Zynq7000系列FPGA中的定时器详细介绍

news2024/11/24 9:52:30

每个Cortex-A9处理器都有自己的专用32位定时器和32位看门狗定时器。两个处理器共享一个全局64位定时器。这些定时器总是以CPU频率(CPU_3x2x)的1/2进行计时。
在系统级,有一个24位看门狗定时器和两个16位三重定时器/计数器。
系统看门狗定时器的时钟频率为CPU频率(CPU_1x)的1/4或1/6,也可以通过来自MIO引脚或PL的外部信号进行计时。两个三重定时器/计数器的时钟频率始终为CPU频率的1/4或1/6,用于对来自MIO管脚或PL的信号脉冲宽度进行计数。

系统定时器的关系如图8-1所示。

CPU专用定时器和看门狗定时器

定时器和看门狗块都具有以下功能:

  • 32位计数器,当计数达到零时产生中断
  • 8位预分频器,可更好地控制中断周期
  • 可配置的单次或自动重新装弹模式
  • 可配置计数器起始值

计时

所有专用定时器和看门狗定时器的时钟频率始终为CPU频率的1/2(CPU_3x2x)。

寄存器概述

CPU专用定时器和看门狗定时器的寄存器概述如下表所示。

CPU专用定时器寄存器概述
功能名称概述
CPU专用定时器
重新加载值和当前值计时器负载
定时器计数器
要重新加载到递减器中的值。
递减器的当前值。
控制和中断

定时器控制

定时器中断

启用、自动重新加载、IRQ、预分频器、中断状态
CPU专用看门狗(AWDT 0 and 1)
重新加载值和当前值看门狗负载
看门狗计数器
要重新加载到递减器中的值。
递减器的当前值。
控制和中断看门狗控制
看门狗中断
启用、自动重新加载、IRQ、预分频器、中断状态(此寄存器无法禁用看门狗)
重置状态看门狗重置状态由于看门狗达到0而重置状态。
仅通过POR清除,因此SW可以判断是否重置
是看门狗引起的。
禁用禁用看门狗通过写入两个特定字的序列禁用看门狗。

全局定时器(GT)

全局计时器是一个具有自动递增功能的64位递增计数器。全局定时器被存储器映射在与专用定时器相同的地址空间中。全局计时器仅在安全状态下重置时访问。所有Cortex-A9处理器都可以访问全局计时器。每个Cortex-A9处理器都有一个64位比较器,用于在全局计时器达到比较器值时断言专用中断。

计时

GTC总是以CPU频率(CPU_3x2x)的1/2为时钟。

寄存器概述

GTC的寄存器概述如下表所示。

通用定时器寄存器概述
功能名称概述
通用定时器(GTC)
当前值全局定时器计数器增量器的当前值
控制和中断全局定时器控制
全局中断
启用定时器,启用比较器,IRQ,自动递增,中断状态
比较器比较器值
比较器
增量器
比较器的当前值
比较器的增量值
全局定时器禁用通过写入两个特定字的序列禁用看门狗

系统看门狗定时器(SWDT)

除了两个CPU专用看门狗定时器外,还有一个系统看门狗定时器(SWDT),用于发出额外灾难性系统故障的信号,例如PS PLL故障。与AWDT不同,SWDT可以从外部设备或PL断开时钟,并向外部设备或PL.提供复位输出。

特征

可用定时器/计数器的主要功能如下:

  • 内部24位计数器
  • 可选择的时钟输入来自:内部PS总线时钟(CPU_1x)、内部时钟(来自PL)、外部时钟(来自MIO)
  • 超时时,输出一个或多个:系统中断(PS)、系统复位(PS、PL、MIO)
  • 可编程超时周期:超时范围32760到68719476736个时钟周期(100 MHz时为330µs到687.2s)
  • 可编程输出信号超时持续时间:系统中断脉冲4、8、16或32个时钟周期(CPU_1x时钟)

方框图

SWDT的框图如图8-2所示,

与图8-2相关的注释:

  • SLCR可编程寄存器(WDT_CLK_SEL、MIO控制)选择时钟输入。
  • SWDT可编程寄存器设置CLKSEL和CRV的值。
  • 信号重新启动使24位计数器重新加载CRV值,并重新开始计数。
  • 信号停止导致计数器在CPU调试期间停止(与AWDT的行为相同)。

功能说明

控制逻辑块具有连接到系统互连的APB接口。从APB接收的每个写入数据都有一个密钥字段,该字段必须与寄存器的密钥相匹配才能写入寄存器。
当SWDT的内部24位计数器达到零时,零模式寄存器控制SWDT的行为。在接收到零信号时,如果WDEN和IRQEN都被设置,则控制逻辑块断言中断输出信号达IRQLN时钟周期,并且如果WDEN被设置,还断言复位输出信号达大约一个CPU_1x周期。然后,24位计数器保持为零,直到重新启动为止。
计数器控制寄存器通过在swdt中设置重载值来设置超时时间。CONTROL[CLKSET]和swdt。CONTROL[CRV]以控制预分频器和24位计数器。

Restart寄存器用于重新启动计数过程。用匹配的键写入该寄存器会使预分频器和24位计数器重新加载CRV信号中的值。
状态寄存器显示24位计数器是否为零。不管零模式寄存器中的WDEN位如何,如果它不是零并且存在所选时钟源,24位计数器总是保持向下计数到零。一旦达到零,状态寄存器的WDZ位将被设置,并保持设置状态,直到24位计数器重新启动。
预分频器块对所选择的时钟输入进行分频。CLKSEL信号在每个上升时钟沿被采样。
内部24位计数器向下计数到零,并保持在零直到重新启动。当计数器为零时,零输出信号为高电平。

Interrupt to PS中断控制器

SWDT的脉冲长度(四个CPU_1x时钟周期)足以使中断控制器使用上升沿灵敏度捕获中断。

重置

看门狗重置被发送到PS重置子系统,以引起非POR重置。MIO引脚或EMOWDTRSTO的复位输出为高电平。
提示:要为PS_POR_B和其他板重置生成信号脉冲,请将EMOWDTRSTO信号从SWDT路由到PL并到达可从外部锁存的引脚,以生成有效的重置脉冲。建议在安全模式下使用由PS软件通过GPIO输出引脚管理的外部看门狗定时器设备。

寄存器概述

SWDT的寄存器概述如表8-3所示

系统看门狗定时器寄存器概述
功能名称概述
时钟选择
slcr.WDT_CLK_SEL
在CPU_1x和外部时钟源之间进行选择
(MIO/EMIO)
MIO路由选择
slcr.MIO_PIN_xx
通过MIO多路复用器路由SWDT时钟输入,如果没有MIO路由,则使用EMIO。
重置原因
slcr.REBOOT_STATUS
当SWDT生成系统重置时,[SWDT_RST]位被设置。
零模式
swdt.MODE
启用SWDT,在超时时启用中断和重置输出,设置输出脉冲长度。
重新加载值
swdt.CONTROL
设置预分频器和24位计数器超时时的重新加载值。
重启
swdt.RESTART
使预分频器和24位计数器重新加载并重新启动。
状态
swdt.STATUS
表示看门狗达到零。

编程模型

定时器启用序列
  1. .选择时钟输入源,设置预分频器值(slcr.MIO_MUX_SEL寄存器、TTC时钟控制寄存器)。继续执行此步骤之前,请确保禁用TTC(TTC.Counter_Control_x[DIS]=1)。
  2. .设置间隔值(间隔寄存器)。此步骤是可选的,仅适用于间隔模式。
  3. 设置匹配值(匹配寄存器)。如果要启用匹配,此步骤是可选的。
  4. .使能中断(中断使能寄存器)。如果要启用中断,此步骤是可选的。
  5. 启用/禁用波形输出,启用/禁用匹配,设置计数方向,设置模式,启用计数器(TTC计数器控制寄存器)。此步骤启动计数器。
计数器停止顺序
  1. 读取计数器控制寄存器的值。
  2. 将DIS比特设置为1,同时保留其他比特。
  3. 写回计数器控制寄存器。
计数器重新启动顺序
  1. 读取计数器控制寄存器的值。
  2. 将RST位设置为1,同时保留其他位。
  3. 写回计数器控制寄存器。
事件定时器启用序列
  1. 选择外部脉冲源(slcr.MIO_MUX_SEL寄存器)。所选择的外部脉冲的宽度是在CPU_1x周期中测量的。
  2. 设置溢出处理,选择外部脉冲电平,启用事件定时器(事件控制定时器寄存器)。此步骤开始测量外部脉冲的选定电平(高或低)的宽度。
  3. 使能中断(中断使能寄存器)。如果要启用中断,此步骤是可选的。
  4. 读取测量的宽度(事件寄存器)。请注意,发生溢出时返回的值不正确。
中断清除和确认序列

读取中断寄存器:读取时会清除中断寄存器中的所有位。

计数器/定时器的时钟输入选项

以下显示SoC如何为TTC0计数器/定时器0选择时钟源:

if slcr.MIO_PIN_19[6:0] is 1100000, use MIO pin 19
else if slcr.MIO_PIN_31[6:0] is 1100000, use MIO pin 31
else if slcr.MIO_PIN_43[6:0] is 1100000, use MIO pin 43
else use EMIOTTC0CLKI0

TTC0计数器/定时器1只能使用EMIOTC0CLKI1。
TTC0计数器/定时器2只能使用EMIOTC0CLKI2。
以下显示了SoC如何为TTC1计数器/定时器0选择时钟源:

if slcr.MIO_PIN_17[6:0] is 1100000, use MIO pin 17
else if slcr.MIO_PIN_29[6:0] is 1100000, use MIO pin 29
else if slcr.MIO_PIN_41[6:0] is 1100000, use MIO pin 41
else use EMIOTTC1CLKI0

TTC1计数器/计时器1只能使用EMIOTC1CLKI1。
TTC1计数器/定时器2只能使用EMIOTC1CLKI2。

当选择MIO引脚或EMIOTTCxCLKIx作为时钟源时,如果时钟停止运行,则无论时钟是否已经停止,相应的计数值寄存器都会保留旧值。在这种情况下必须小心。

I/O信号

定时器I/O信号如表8-5所示。
系统中有两个三重定时器计数器(TTC0和TTC1)。每个TTC有三组接口信号:计数器/定时器0、1和2的时钟输入和波形输出。
对于每个三重定时器计数器,计数器/定时器0的信号可以使用MIO_PIN寄存器路由到MIO。如果MIO_PIN寄存器未选择时钟输入或波形输出信号,则默认情况下将信号路由到EMIO。计数器/定时器1和2的信号只能通过EMIO获得。

系统看门狗定时器I/O信号如表8-6所示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1870333.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费分享一套SpringBoot+Vue在线水果(销售)商城管理系统【论文+源码+SQL脚本】,帅呆了~~

大家好,我是java1234_小锋老师,看到一个不错的SpringBootVue在线水果(销售)商城管理系统,分享下哈。 项目视频演示 【免费】SpringBootVue在线水果(销售)商城管理系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBootVue在线水果(销售)商…

【海思Hi3403V100】多目拼接相机套板硬件规划方案

海思Hi3403V100 是专业超高清智能网络摄像头 SoC。该芯片最高支持四路 sensor 输入,支持最高 4K60fps 的 ISP 图像处理能力,支持 3F 、WDR、多级降噪、六轴防抖、硬件拼接、多光谱融合等多种传统图像增强和处理算法,支持通过AI 算法对输入图像…

CAN-bus总线在冷链运输中的应用

CAN-bus总线在冷链运输中的应用 如图1所示,疫苗冷链是指为保证疫苗从疫苗生产企业到接种单位运转过程中的质量而装备的存储、运输冷藏设施、设备。由于疫苗对温度敏感,从疫苗制造的部门到疫苗使用的现场之间的每一个环节,都可能因温度过高而失效。在储运过程中,一旦温度超…

全面解读OA系统:功能、价值及应用

反复沟通、来回跑腿,还易出错; 纸笔记录、excel统计,效率低耽误事; 档案、物资,查不清记录、看不了实时; 部门各做各的、各管各的,沟通配合难…… 你有没有经历过诸如上述的繁琐办公流程&am…

Transformer教程之神经网络和深度学习基础

在当今的人工智能领域,Transformer已经成为了一个热门的词汇。它不仅在自然语言处理(NLP)领域取得了巨大的成功,还在计算机视觉等其他领域展现出了强大的潜力。然而,要真正理解Transformer,我们首先需要扎实…

用FFmpeg合并音频和视频

使用FFmpeg合并音频和视频是一个相对直接的过程。可以通过以下一些基本的步骤和命令示例完成这个任务: 安装FFmpeg:首先,确保你的系统中已经安装了FFmpeg。你可以从[FFmpeg官网](Download FFmpeg)下载并安装它。 准备素材:确保你…

高考未上本科线,大专不是唯一归宿

高考,作为人生中的一次重要考试,其结果往往牵动着无数家庭的心。然而,当高考成绩未能达到本科线时,是否就意味着大专是唯一的选择呢?其实不然,现代教育体系的多样化为我们提供了更多的可能性,其…

ElementPlus Combogrid 组件

效果图: 1.声明 Props类型 export type comboGridPropType { modelValue: any; url: string; keyField?: string; labelField?: string; filterOptions?: Array<ISearchOption>; tableColumns?: Array<TableColumns>; enableField?: string; multiple?: …

【机器学习】深度概率模型(DPM)原理和文本分类实践

1.引言 1.1.DPM模型简介 深度概率模型&#xff08;Deep Probabilistic Models&#xff09; 是结合了深度学习和概率论的一类模型。这类模型通过使用深度学习架构&#xff08;如神经网络&#xff09;来构建复杂的概率分布&#xff0c;从而能够处理不确定性并进行预测。深度概率…

1.1章节print输出函数语法八种 使用和示例

1.打印变量和字符串 2-4.三种使用字符串格式化 5.输出ASCLL码的值和中文字符 6.打印到文件或其他对象&#xff08;而不是控制台&#xff09; 7.自定义分隔符、和换行符和结束符 8.连接符加号连接字符串 在Python中&#xff0c;print() 函数用于在控制台上输出信息。这是一个非常…

【Proteus仿真】基于stm32的数码管时钟

【Proteus仿真】基于stm32的数码管时钟 Proteus仿真&#xff01;基于stm32的数码管时钟~_哔哩哔哩_bilibili ‍ 01原理图 ​​ 02功能描述 1.通过按键修改时间 2.数码管显示实时时间&#xff0c;时-分-秒-毫秒格式 03获取方式 https://docs.qq.com/sheet/DTExIc2dPUUJ…

Rust 跨平台-Android 和鸿蒙 OS

1. 安装 rustup rustup 是 Rust 的安装和版本管理工具 $ curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh 该命令会安装 rusup 和最新的稳定版本的 Rust&#xff1b;包括&#xff1a; rustc Rust 编译器&#xff0c;用于将 Rust 代码编译成可执行文件或库。 ca…

深入理解SSH:网络安全的守护者

在当今数字化时代&#xff0c;网络安全已成为全球关注的焦点。随着网络攻击手段的不断升级&#xff0c;保护数据传输的安全性变得尤为重要。SSH&#xff08;Secure Shell&#xff09;作为一种安全的网络协议&#xff0c;为远程登录和网络服务提供了强大的安全保障&#xff0c;成…

【数据结构】(C语言):动态数组

动态数组&#xff1a; 内存区域连续&#xff0c;即每个元素的内存地址连续。可用索引查看元素&#xff0c;数组[索引号]。指定位置删除元素&#xff0c;该位置之后的元素全部往前移动一位。指定位置添加元素&#xff0c;从最后到该位置的元素全部往后移动一位。物理大小&#…

自费5K,测评安德迈、小米、希喂三款宠物空气净化器谁才是高性价比之王

最近&#xff0c;家里的猫咪掉毛严重&#xff0c;简直成了一个活生生的蒲公英&#xff0c;家中、空气中各处都弥漫着猫浮毛甚至所有衣物都覆盖着一层厚厚的猫毛。令人难以置信的是&#xff0c;有时我甚至在抠出的眼屎中都能发现夹杂着几根猫毛。真的超级困扰了。但其实最空气中…

句法分析概述

第1关&#xff1a;句法分析概述 任务描述 本关任务&#xff1a;通过对句法分析基本概念的学习&#xff0c;完成相应的选择题。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a; 句法分析的基础概念&#xff1b; 句法分析的数据集和评测方法。 句法分析简介…

ubuntu如何切换到root用户

1、主要指令&#xff1a; sudo -i su root 2、示例 3、其他说明 在Ubuntu&#xff08;以及大多数其他基于Linux的操作系统中&#xff09;&#xff0c;切换到root用户通常意味着获得了对系统的完全访问权限。这种权限允许执行以下操作&#xff08;但不限于这些&#xff09;…

深度学习论文: Surge Phenomenon in Optimal Learning Rate and Batch Size Scaling

深度学习论文: Surge Phenomenon in Optimal Learning Rate and Batch Size Scaling Surge Phenomenon in Optimal Learning Rate and Batch Size Scaling PDF:https://arxiv.org/pdf/2405.14578 PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks 1 概述 本文研…

使用Python进行Socket接口测试

大家好&#xff0c;在现代软件开发中&#xff0c;网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯&#xff0c;都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中&#xff0c;Socket&#xff08;套接字&#xff09;技术扮演了重要角色…

2024 6.17~6.23 周报

一、上周工作 吴恩达的机器学习、实验-回顾之前密集连接部分 二、本周计划 继续机器学习&#xff0c;同时思考实验如何修改&#xff0c;开始整理代码 三、完成情况 3.1 多类特征、多元线性回归的梯度下降、特征缩放、逻辑回归 多类特征&#xff1a; 多元线性回归的梯度下…