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.pswp.cn/news/716989.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716989.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716989.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python縮進規則

Python的縮進規則是Python語法中非常重要的一部分,也是Python語言獨特的特點之一。在Python中,縮進被用來表示代碼塊的層次結構,而不是像其他語言一樣使用大括號或關鍵詞。這種縮進規則使得Python代碼更加簡潔、易讀、易于理解,同…

python模塊百科_操作系統接口_os【一】

python模塊百科_操作系統接口_os【一】 os --- 多種操作系統接口一、相關模塊1.1 os.path 文件路徑1.2 fileinput 文件讀取1.3 tempfile 臨時文件和目錄1.4 shutil 高級文件和目錄1.5 platform 操作系統底層模塊 二、關于函數適用性的說明2.1 與操作系統相同的接口2.2 支持字節…

Git版本管理常用指令

Git常用命令 一、基本指令二、本地倉庫管理三、遠程倉庫管理四、分支管理五、儲藏區六、標簽管理一、基本指令 查看Git安裝版本:git --version 查看log指令的幫助信息:git log --help 配置Git用戶名:git config --global user.name “xxxxx” 配置Git郵箱: git config --…

2024年騰訊云新用戶優惠券領取入口及使用教程

隨著云計算技術的不斷發展和普及,越來越多的個人和企業選擇使用云服務。騰訊云作為國內領先的云服務提供商,為了吸引新用戶,經常推出各種優惠活動,其中就包括新用戶專屬優惠券,本文將為大家分享騰訊云新用戶優惠券的領…

5個好玩神奇還免費的工具網站收藏不后悔-搜嗖工具箱

生命倒計時 http://www.thismuchlonger.com 這是一個相哇塞的網站,可以讓我們靜下心來好好想想我們來這個世界究竟為了什么,因為當我們作為命運的主宰者。敲打鍵盤設定好自己一生長度的時候,我們的剩余壽命已經成絕對值,一旦生命…

創建型模式之原型模式

一、概述 1、工作原理:將一個原型對象傳給要發動創建的對象(即客戶端對象),這個要發動創建的對象通過請求原型對象復制自己來實現創建過程 2、通過克隆方法所創建的對象是全新的對象,它們在內存中擁有新的地址,每一個克隆對象都是獨立的 3…

MySQL 中的 varchar 和 char 有什么區別?MySQL中 in 和 exists 區別?

MySQL 中的 varchar 和 char 有什么區別? char 是一個定長字段,假如申請了char(10)的空間,那么無論實際存儲多少內容.該字段都占用 10 個字符,而 varchar 是變長的,也就是說申請的只是最大長度,占用的空間為實際字符長度1,最后一個字符存儲使用了多長的空間. 在檢索…

李沐動手學習深度學習——3.6練習

本節直接實現了基于數學定義softmax運算的softmax函數。這可能會導致什么問題?提示:嘗試計算exp(50)的大小。 可能存在超過計算機最大64位的存儲,導致精度溢出,影響最終計算結果。 本節中的函數cross_entropy是根據交叉熵損失函數…

JavaScript之數據類型

系列文章目錄 文章目錄 系列文章目錄前言 前言 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站,這篇文章男女通用,看懂了就去分享給你的碼吧。 數據類型   Java…

20.圖

圖的基本概念 1.圖的定義 由頂點和邊組成的集合,G(V,E) 2.基本概念 鄰接點: 對于無向圖u v來說,uv互為鄰接點 對于有向圖u->v來說,v是u的鄰接點,但u不是v的臨界點 路徑: 一個頂點到另一個頂點所經過的…

從Poincare猜想看中國數學的國際地位

2006年丘成桐學派利用北京晨興數學中心,宣布一名俄國學者Poincare猜想研究中存在錯誤,已經由華裔學者朱熹平和曹懷東糾正過來,但數年以后我發現作為千禧七問題之一的Poincazre猜想,英國克萊數學所還是把1百萬美元獎金送給俄國人。…

藍橋杯:卡片

題目 小藍有很多數字卡片,每張卡片上都是數字0 到9。 小藍準備用這些卡片來拼一些數,他想從1 開始拼出正整數,每拼一個,就保存起來,卡片就不能用來拼其它數了。 小藍想知道自己能從1 拼到多少。 例如,當小…

動態規劃-最長公共子串(c)

動態規劃 動態規劃(dynamic programming)是一種算法設計方法。基本思想是在對一個問題的多階段決策中,按照某一順序,根據每一步所選決策的不同,會引起狀態的轉移,最后會在變化的狀態中獲取到一個決策序列。…

vs code更新后json文件無法識別通配符 ,編譯多文件失敗的解決辦法

問題描述 在Mac或者LInux上,進行C/C相同路徑下進行多文件編譯時,之前設置好的json文件突然不能解釋通配符,并且將帶有單引號的地址傳給clang,由于*.c被擴在單引號中,clang找不到文件導致失敗。 如果將命令端中的指令復…

云服務器無法Ping通解決

問題: 使用公網IP地址PING云服務器,無法PING通 但是可SSH到服務器,表示通信鏈路是正常的,可能是端口或路徑規則未開放導致 登陸云服務器后臺,進行安全組規則查看,發現ICMP沒有放行 添加允許ICMP連接規則 成功PING通云服務器

LeetCode——二叉樹(Java)

二叉樹 簡介[簡單] 144. 二叉樹的前序遍歷、94. 二叉樹的中序遍歷、145. 二叉樹的后序遍歷二叉樹層序遍歷[中等] 102. 二叉樹的層序遍歷[中等] 107. 二叉樹的層序遍歷 II[中等] 199. 二叉樹的右視圖[簡單] 637. 二叉樹的層平均值[中等] 429. N 叉樹的層序遍歷[中等] 515. 在每個…

Java接口

接口的定義 抽象方法的集合,接口通常以interface來聲明。一個類通過繼承接口的方式,從而來繼承接口的抽象方法。 接口并不是類,編寫接口的方式和類很相似,但是他們屬于不同的概念。類描述的是對象的屬性和方法。接口則包含類要實…

AcWing 4726. 尋找數字

解題思路 在這個二插搜索樹中尋找&#xff0c;4和7數量相等&#xff0c;并且大于n的最小數。 相關代碼 import java.util.*;public class Main {static String s;static List<Integer> res new ArrayList<>();static long n;static long ansLong.MAX_VALUE;publ…

遞歸實現指數型枚舉(c++題解)

題目描述 從 1~n 這 n(n<16) 個整數中隨機選取任意多個&#xff0c;輸出所有可能的選擇方案。 輸入格式 一個整數n。 輸出格式 每行一種方案。同一行內的數必須升序排列&#xff0c;相鄰兩個數用恰好1個空格隔開。對于沒有選任何數的方案&#xff0c;輸出空行。 樣例 …

python 爬蟲 app爬取之charles的使用

專欄系列:http://t.csdnimg.cn/WfCSx 前言 前面介紹的都是爬取 Web 網頁的內容。隨著移動互聯網的發展,越來越多的企業并沒有提供 Web 網頁端的服務,而是直接開發了 App,更多更全的信息都是通過 App 來展示的。那么針對 App 我們可以爬取嗎?當然可以。 App 的爬取相比 …