RH850P1X芯片学习笔记-Generic Timer Module -ATOM

文章目录

    • ARU-connected Timer Output Module (ATOM)
      • Overview
        • GLOBAL CHANNEL CONTROL BLOCK
      • ATOM Channel architecture
      • ATOM Channel modes
        • SOMP-Signal Output Mode PWM
        • SOMP - ARU
        • SOMC-Signal Output Mode Compare
        • SOMC - ARU
        • SOMC – COMPARE COMMAND
        • SOMC – OUTPUT ACTION
        • ATOM Signal Output Mode Serial (SOMS)
        • SERIAL OUTPUT - ARU
        • ATOM Signal Output Mode Buffered Compare(SOMB)
        • SOMB - COMPARE COMMAND
        • SOMB – OUTPUT ACTION
      • ATOM SYNCHRONOUS UPDATE
        • SYNCHRONOUS UPDATE BY ARU
        • 同步更新示例
        • ASYNCHRONOUS UPDATE
      • ATOM Interrupt signals
      • ATOM Register overview
      • ATOM Register description
        • GTM0ATOMiAGCGLBCTRL (i = 0 to 2)
        • GTM0ATOMiAGCENDISCTRL (i = 0 to 2)
        • GTM0ATOMiAGCENDISSTAT (i = 0 to 2)
        • GTM0ATOMiAGCACTTB (i = 0 to 2)
        • GTM0ATOMiAGCOUTENCTRL (i = 0 to 2)
        • GTM0ATOMiAGCOUTENSTAT (i = 0 to 2)
        • GTM0ATOMiAGCFUPDCTRL (i = 0 to 2)
        • GTM0ATOMiAGCINTTRIG (i = 0 to 2)
        • GTM0ATOMixCTRL (i = 0, x = 0 to 7,i = 1, x = 0 to 7,i = 2, x = 0 to 4)
        • GTM0ATOMixSTAT (i = 0, x = 0 to 7,i = 1, x = 0 to 7,i = 2, x = 0 to 4)
        • GTM0ATOMixRDADDR
        • GTM0ATOMixCN0
        • GTM0ATOMixCM0
        • GTM0ATOMixSR0
        • GTM0ATOMixCM1
        • GTM0ATOMixSR1
        • GTM0ATOMixIRQNOTIFY (x = 0 to 7)
        • GTM0ATOMixIRQEN (x = 0 to 7)
        • GTM0ATOMixIRQFORCINT (x = 0 to 7)
        • GTM0ATOM00IRQMOD (x = 0 to 7)

ARU-connected Timer Output Module (ATOM)

Overview

连接ARU的定时器输出模块(ATOM)由于其与ARU的连接,能够在没有CPU交互的情况下生成复杂的输出信号。通常,通过连接到ARU的子模块(例如MCS、DPLL或PSM)在ARU连接上提供输出信号特性。每个ATOM子模块包含八个输出通道,这些通道可以在几种可配置的操作模式下相互独立操作。ATOM子模块的框图如图25.32所示


ATOM子模块的架构与TOM子模块类似,但有一些不同。首先,ATOM只集成了八个输出通道。因此,存在用于ATOM通道的一个ATOM全局控制子单元(AGC)。ATOM连接到ARU,可以设置来自ARU的单独读取请求和对ARU的写入请求。此外,ATOM通道能够代表时间戳生成信号,ATOM通道能够代表内部移位寄存器生成串行输出信号。

GLOBAL CHANNEL CONTROL BLOCK

TBU_CH0-2 (ACT_TB)时基匹配寄存器

HOST trigger

强制更新触发器(FUPD)

输出启用控制(OUTEN_STAT) w/ shadow (OUTEN_CTRL

通道启用控制(ENDIS_STAT) w/影子寄存器(ENDIS)

通道更新启用控制(UPEN_CTRL)

内部TRIG_0信号选择(INT_TRIG)

ATOM Channel architecture

每个ATOM通道能够根据四种操作模式生成输出信号。ATOM通道的体系结构类似于TOM通道的体系结构。ATOM通道的一般架构如图25.34所示。


两个计数器/比较单元CCU0和CCU1

24位计数器寄存器(CN0)时钟w/选择输入频率(CMU_CLK0-7)

信号输出产生单元(SOU)

ARU接口单元(ACI)

两个比较寄存器CM0和CM1与影子寄存器SR0和SR1连接到ARU

时钟源(CLK_SRC) w/ shadow (CLK_SRC_SR)

相对于TOM来说,主要多了一个ARU接口-ACI模块

ATOM Channel modes

SOMP-Signal Output Mode PWM

输出PWM

TOM功能,当CN0达到CM0或CM1时输出切换

一次或连续操作

CM0定义周期,CM1定义占空比

通过AEI总线进行同步/异步更新

通过ARU同步更新可以使用w/ or w/o ARU

SOMP - ARU

仅同步更新ARU SR0, SR1和CLK_SRC_SR(影子寄存器)

在ARU传输期间阻止从影子寄存器更新CM0和CM1以确保数据一致性

SR0保存CM0,即PWM周期,SR1保存CM1,即PWM占空比

SOMC-Signal Output Mode Compare


输出比较

基于CM0/CM1与TBU_TS0/TS1比较的输出动作

较大/相等或较小/相等比较

在CM0/CM1的时间戳匹配存储在通道阴影寄存器(SR0/SR1)



在编程匹配和输出动作后禁用ATOM通道

  • 读取SR0/SR1并写入新的CM0/CM1后进行下一步匹配

必须配置并启用TBU

SOMC - ARU

在ARU控制CM0、CM1下,由ARU发送匹配行为和输出行为

非阻塞:如果没有匹配,ARU数据将连续传输到CM0, CM1和ACBI

阻塞:在CM0和CM1更新后,不向ARU请求新的数据,直到匹配

SOMC – COMPARE COMMAND

Serve first:在CCC0和CCU1上进行并行比较,第一次匹配导致输出动作,禁用第二次匹配

Serve last:首先比较CCU0,然后比较CCU1。

CCU0匹配触发输出动作

CCU1匹配切换输出状态

Single compare:只比较CCU0或CCU1,匹配时触发输出动作

ARU data request:切换到ARU RDADDR1并请求新的匹配数据,没有输出动作


配置TBU通道使用(TBU12_SEL)

使用时,比较大于等于或小于等于TBU_TS1/2 (CMP_CTRL)

如果CCU0使用TBU_TS0进行比较,则只有Greater-equal

SR0/SR1中比较匹配时的时间戳

SOMC – OUTPUT ACTION

ATOM Signal Output Mode Serial (SOMS)

CM1寄存器的位在通道输出上移出

在CM0中移位的位数

在ATOM_CH[x]_CTRL位ACB0中确定移动方向(左/右)

  • 右:CM1数据对齐到0位
  • 左:CM1数据对齐到第23位

CCU0以计数器/比较模式运行,计数移位的位数

SERIAL OUTPUT - ARU

SR0和SR1以及移位方向

移动方向ACBI(0)

下一个ARU请求发出后,影子寄存器加载到CM0, CM1

  • 如果通道更新被禁用(UPEN=0),则没有连续的ARU请求

ATOM Signal Output Mode Buffered Compare(SOMB)

类似于SOMC(定义比较的输出操作)

  • 新值存储在影子寄存器(ARU或AEI)中
  • 匹配后从阴影寄存器加载新值(SR0, SR1, ACB_SR)
  • 当没有新的阴影值CCU0/CCU1时,等待空闲

SOMB - COMPARE COMMAND

SOMB – OUTPUT ACTION

ATOM SYNCHRONOUS UPDATE

几个ATOM寄存器有影子寄存器

CM0/1, CLK_SRC, ENDIS, OUTEN

影子寄存器(CPU, DMA)的更新不影响通道操作

在触发状态下更新工作寄存器(当启用时)

更新多个影子寄存器时应禁用更新

通过AEI或ARU写入影子寄存器


触发方式:

Host CPU (HOST_TRIG)

TBU时间戳匹配(ACT_TB)

内部触发

  • From CCU0 on CN0 reset (CN0 >= CM0, end of a period)
  • From ATOM[x-1] (INT_TRIG)
  • From TIM_EXT_CAPTURE of TIM channel (EXT_FUPD)

SYNCHRONOUS UPDATE BY ARU

同步更新示例


同步更新:如下图所示,通过对SR1寄存器值更新,使得ATOM输出在下一个周期才同步一起更新CM1

ASYNCHRONOUS UPDATE

只能通过AEI外围总线主机(CPU, DMA)实现

直接写入工作寄存器CM0, CM1, ENDIS_STAT, OUTEN_STAT

新设置立即生效(无一致性)


通过直接对CM1寄存器值更新,使得ATOM输出可能在本次周期内输出就发生改变。

ATOM Interrupt signals

ATOM Register overview

ATOM Register description

GTM0ATOMiAGCGLBCTRL (i = 0 to 2)

使能通道更新CM0, CM1 and CLK_SRC

UPEN_CTRL:


RST_CH:写1后会复位对应的通道

HOST_TRIG:触发请求信号(参见AGC)来更新寄存器ENDIS_STAT和OUTEN_STAT

GTM0ATOMiAGCENDISCTRL (i = 0 to 2)


ENDIS_CTRL:使能通道通过trigger更新值

GTM0ATOMiAGCENDISSTAT (i = 0 to 2)


ENDIS_STAT:使能通道

GTM0ATOMiAGCACTTB (i = 0 to 2)


TBU_SEL:选择对应的TBU_TS

TB_TRIG:trigger触发位,触发后会自动clear

ACT_TB:设置与TBU_TS[x]的比较值,TBU_TS[x]大于该值时产生触发信号

GTM0ATOMiAGCOUTENCTRL (i = 0 to 2)


OUTEN_CTRL:使能通道输出由update trigger触发

GTM0ATOMiAGCOUTENSTAT (i = 0 to 2)


使能通道输出

GTM0ATOMiAGCFUPDCTRL (i = 0 to 2)


RSTCN0_CHx:强制更新事件时重置通道x的CN0

FUPD_CTRL0:是否使能强制更新ATOM通道0操作寄存器

GTM0ATOMiAGCINTTRIG (i = 0 to 2)


INT_TRIGx:选择输入信号TRIG_x作为触发源

GTM0ATOMixCTRL (i = 0, x = 0 to 7,i = 1, x = 0 to 7,i = 2, x = 0 to 4)


SOMB:使能SOMB功能

ABM:ARU阻塞方式

0:禁用ARU阻塞模式:ATOM连续地从ARU读取并更新CM0, CM1,独立于挂起的比较匹配事件

1:使能ARU阻塞模式:通过ARU更新CM0、CM1后,不从ARU读取新的数据,直到发生比较匹配事件

OSM:单次还是连续


SLA:执行Serve last ARU通信策略

0:捕获未提供给ARU的CCU0匹配事件后的SRx时间戳

1:捕获提供给ARU的CCU0匹配事件后的SRx时间戳

此位仅适用于SOMC模式。

TRIGOUT:选择输出trigger的方式,0-选择前一个通道的trigger,1-由CN0到达CM0触发

EXTTRIGOUT:选择TIM_EXT_CAPTURE(x)作为备用输出信号TRIG_[x]
0:信号TRIG_[x-1]被选择作为TRIG_[x]的输出(如果TRIGOUT = 1)

1:选择信号TIM_EXT_CAPTURE(x)作为TRIG_[x]的输出(如果Trigout = 1)

EXT_TRIG:选择TIM_EXT_CAPTURE(x)作为触发信号

0:选择信号TIM_[x-1]作为触发器,复位CN0或开始单脉冲产生。

1:选择“信号TIM_EXT_CAPTURE(x)”

OSM_TRIG:启用触发信号OSM_TRIG触发单次脉冲

0:信号OSM_TRIG不能触发单脉冲产生启动

1:信号OSM_TRIG可以触发单脉冲生成启动(仅当位Osm = 1)

RST_CCU0:选择CN0的复位方式,0-CN0达到CM0复位,1-通过前一个通道的trigger复位

WR_REQ:CPU写请求位用于后期比较寄存器更新。(此位仅适用于SOMC和SOMB模式。)


CLK_SRC_SR:选择通道时钟,该时钟作为CN0计数用。

SL:选择输出的占空比的有效电平为高还是低

CMP_CTRL:CCUx比较策略选择。

0:与TBU时间基准值比较大于等于(TBU_TSx≥CMx)

1:与TBU时间基准值比较小于/等于(TBU_TSx≤CMx)

ACB:ATOM模式控制位。

ARU_EN:ARU输入流使能。

0:关闭ARU输入流

1:表示ARU输入流使能


TB12_SEL:选择时间基准值TBU_TS1或TBU_TS2。

0:选择TBU_TS1进行比较

1:选择TBU_TS2进行比较

MODE:选择ATOM通道模式。

GTM0ATOMixSTAT (i = 0, x = 0 to 7,i = 1, x = 0 to 7,i = 2, x = 0 to 4)


ACBO:ATOM内部状态位。

ACBO[3] = 1: CCU0比较匹配发生

ACBO[4] = 1: CCU1比较匹配发生

WRF:CPU写请求失败,延迟更新。

0:后期更新成功,CCUx单元等待比较。

1:后期更新失败。


DV:存储在比较寄存器中的有效ARU数据。

0:寄存器CM0和/或CM1中没有存储有效数据,没有激活比较。

1:有效数据存储在CM0和/或CM1中,启动比较

ACBI:ATOM模式控制位。

OL:ATOM_CHx_OUT的实际输出信号电平。

0:实际输出信号电平低

1:实际输出信号电平高

GTM0ATOMixRDADDR


RDADDR1/0:ARU读地址1/0。

GTM0ATOMixCN0


CN0:ATOM计数寄存器

GTM0ATOMixCM0


CM0:ATOM CCU0比较寄存器,用来设置周期

GTM0ATOMixSR0


SR0:CM0的影子寄存器,ATOM同步更新时使用

GTM0ATOMixCM1


CM1:ATOM CCU1比较寄存器,设置为0时表示占空比0%。

GTM0ATOMixSR1


SR1:CM1的影子寄存器,TOM通道同步更新时使用

GTM0ATOMixIRQNOTIFY (x = 0 to 7)


CCU1/0TC:CCU1/0通道x触发条件中断。

0:没有中断。

1: CCU1/0触发条件中断被ATOM通道x触发,CCU0在周期触发,CCU1在占空比到达时触发

GTM0ATOMixIRQEN (x = 0 to 7)


CCU1/0TC_IRQ_EN:ATOM_CCU1/0TC_IRQ中断使能。

0:关闭中断,中断在GTM-IP之外不可见。

1:使能中断,中断在GTM-IP外可见。

GTM0ATOMixIRQFORCINT (x = 0 to 7)


TRG_CCU1/0TC:通过软件触发ATOM_CCU1/0TC_IRQ中断。

GTM0ATOM00IRQMOD (x = 0 to 7)


IRQ_MODE:IRQ模式选择

00:电平模式

01:脉冲模式

10:脉冲通知模式

11:单脉冲模式

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

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

相关文章

计算机设计大赛 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习的行人重识别算法研究与实现 ** 该项目较为新颖,适合作为竞赛课题方向&#xff0c…

YOLOv5-Openvino和ONNXRuntime推理【CPU】

1 环境: CPU:i5-12500 Python:3.8.18 2 安装Openvino和ONNXRuntime 2.1 Openvino简介 Openvino是由Intel开发的专门用于优化和部署人工智能推理的半开源的工具包,主要用于对深度推理做优化。 Openvino内部集成了Opencv、Tens…

接口自动化测试实战经验分享,测试用例也能自动生成

作为测试,你可能会对以下场景感到似曾相识:开发改好的 BUG 反复横跳;版本兼容逻辑多,修复一个 BUG 触发了更多 BUG;上线时系统监控毫无异常,过段时间用户投诉某个页面无数据;改动祖传代码时如履…

靶机渗透之ConnectTheDots

对于vulnhub中的靶机,我们都需先下载镜像,然后导入VM,并将网络连接改为NAT模式。首先我们再来看一下靶机渗透的步骤:信息收集-漏洞分析-漏洞利用-提权。基本都是这个三个步骤,接下来开始我们今天的靶机渗透吧&#xff…

Go字符串实战操作大全!

目录 1. 引言文章结构概览 2. Go字符串基础字符串的定义与特性什么是字符串?Go字符串的不可变性原则 字符串的数据结构Go字符串的内部表达byte和rune的简介 3. 字符串操作与应用3.1 操作与应用字符串连接字符串切片字符串查找字符串比较字符串的替换字符串的大小写转…

计算机专业必看的十部电影

计算机专业必看的十部电影 1. 人工智能2. 黑客帝国3. 盗梦空间4. 社交网络5. Her6. 模仿游戏7. 斯诺登8. 头号玩家9. 暗网10. 网络迷踪 计算机专业必看的十部电影,就像一场精彩盛宴! 《黑客帝国》让你穿越虚拟世界,感受高科技的魅力《模仿游戏…

(k8s中)docker netty OOM问题记录

1、首先查看docker的内存占用情况: docker top 容器名 -u 查看内存cpu占用率(容器名来自kubectl describe pod xxx或者docker ps) 可以看出内存一直增长,作为IO代理这是不正常的。 2、修改启动参数和配置文件 需要注意的是为了…

30天JS挑战(第十五天)------本地存储菜谱

第十五天挑战(本地存储菜谱) 地址:https://javascript30.com/ 所有内容均上传至gitee,答案不唯一,仅代表本人思路 中文详解:https://github.com/soyaine/JavaScript30 该详解是Soyaine及其团队整理编撰的,是对源代…

Java---文件,流✨❤️

文章目录 1.遍历文件夹2.遍历子文件夹3.练习流4.以字节流的形式读取文件内容5.以字节流的形式向文件写入数据顶折纠问6 .写入数据到文件 1.遍历文件夹 一般说来操作系统都会安装在C盘,所以会有一个 C:\WINDOWS目录。 遍历这个目录下所有的文件(不用遍历子目录) 找出…

【数仓】Hadoop软件安装及使用(集群配置)

一、环境准备 1、准备3台虚拟机 Hadoop131:192.168.56.131Hadoop132:192.168.56.132Hadoop133:192.168.56.133 本例系统版本 CentOS-7.8,已安装jdk1.8 2、hosts配置,关闭防火墙 vi /etc/hosts添加如下内容&#x…

#WEB前端(浮动与定位)

1.实验&#xff1a; 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; float、position 没有应用浮动前 应用左浮动和右浮动后 应用定位 4.代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><me…

AIGC下一步:如何用AI再度重构或优化媒体处理?

让媒资中“沉默的大多数”再次焕发光彩。 邹娟&#xff5c;演讲者 编者按 AIGC时代下&#xff0c;媒体内容生产领域随着AI的出现也涌现出更多的变化与挑战。面对AI的巨大冲击&#xff0c;如何优化或重构媒体内容生产技术架构&#xff1f;在多样的应用场景中媒体内容生产技术又…

【EAI 027】Learning Interactive Real-World Simulators

Paper Card 论文标题&#xff1a;Learning Interactive Real-World Simulators 论文作者&#xff1a;Mengjiao Yang, Yilun Du, Kamyar Ghasemipour, Jonathan Tompson, Leslie Kaelbling, Dale Schuurmans, Pieter Abbeel 作者单位&#xff1a;UC Berkeley, Google DeepMind, …

获取 Windows 通知中心弹窗通知内容(含工具汉化)

目录 前言 技术原理概述 测试代码和程序下载连接 本文出处链接&#xff1a;https://blog.csdn.net/qq_59075481/article/details/136440280。 前言 从 Windows 8.1 开始&#xff0c;Windows 通知现在以 Toast 而非 Balloon 形式显示&#xff08; Bollon 通知其实现在是应用…

中小型水库安全监测运营解决方案,筑牢水库安全防线

我国水库大坝具有“六多”的特点。第一&#xff0c;总量多。我国现有水库9.8万座&#xff0c;是世界上水库大坝最多的国家。第二&#xff0c;小水库多。我国现有水库中95%的水库是小型水库。第三&#xff0c;病险水库多。 目前&#xff0c;在我国水库管理中&#xff0c;部分地方…

异常网络下TCP的可靠服务机制(慢启动、拥塞避免、快重传、快恢复)

目录 TCP超时重传拥塞控制概述慢启动和拥塞避免下面讲解发送端如何判断拥塞发生。 快速重传和快速恢复 本文描述TCP在异常网络下的处理方式 以保证其可靠的数据传输的服务 TCP超时重传 tcp服务能够重传其超时时间内没有收到确认的TCP报文段&#xff0c;tcp模块为每一个报文段都…

认识通讯协议——TCP/IP、UDP协议的区别,HTTP通讯协议的理解

目录 引出认识通讯协议1、TCP/IP协议&#xff0c;UDP协议的区别2、HTTP通讯协议的讲解 Redis冲冲冲——缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 认识通讯协议——TCP/IP、UDP协议的区别&#xff0c;HTTP通讯协议的理解 认识通讯协议 …

【脑科学相关合集】有关脑影像数据相关介绍的笔记及有关脑网络的笔记合集

【脑科学相关合集】有关脑影像数据相关介绍的笔记及有关脑网络的笔记合集 前言脑模板方面相关笔记清单 基于脑网络的方法方面数据基本方面 前言 这里&#xff0c;我将展开有关我自己关于脑影像数据相关介绍的笔记及有关脑网络的笔记合集。其中&#xff0c;脑网络的相关论文主要…

分享:大数据信用报告查询的价格一般要多少钱?

现在很多人都开始了解自己的大数据信用了&#xff0c;纷纷去查大数据信用报告&#xff0c;由于大数据信用与人行征信有本质的区别&#xff0c;查询方式和价格都不是固定的&#xff0c;本文就为大家详细讲讲大数据信用报告查询的价格一般要多少钱&#xff0c;希望对你有帮助。 大…

用Java语言创建的Spring Boot项目中,如何传递数组呢??

问题&#xff1a; 用Java语言创建的Spring Boot项目中&#xff0c;如何传递数组呢&#xff1f;&#xff1f; 在这个思路中&#xff0c;其实&#xff0c;Java作为一个后端开发的语言&#xff0c;没必要着重于如何传入&#xff0c;我们主要做的便是对传入的数组数据进行处理即可…