91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PS端RTC中斷實驗

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-02-09 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:ALINX

* 本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權歸本公司所有,如需轉載,需授權并注明出處。

適用于板卡型號:

AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG

vivado工程目錄為“ps_hello/vivado”

vitis工程目錄為“ps_rtc/vitis”

1.RTC介紹

實時時鐘(rtc)單元為系統(tǒng)和應用軟件提供精確的時間基準。為了滿足高精度的需要,實時時鐘還包括校準電路,以補償溫度和電壓波動。RTC 由 VCC-PSAUX 或 VCC-PSBATT 電源供電。當輔助電源可用時,RTC 使用它保持計數(shù)器活動。當輔助電源不可用時,RTC 自動切換到 VCC PSBATT 電源。RTC 功能如下:

1)系統(tǒng)掉電時,該單元自動切換至電池供電,實現(xiàn)時鐘的不間斷運行

2)支持報警設置和周期中斷設置

3)校準電路以確保時間精準

4)三個計數(shù)器

時間秒計數(shù)器,32 位,可以計數(shù)約 136 年

32 KHz 參考時鐘計數(shù)器,表示 1 秒的計數(shù)

用于校準的 4 位分數(shù)計數(shù)器

pIYBAGAJQaeAOxmbAACKkKzN9_o872.jpg

RTC控制器結構圖

o4YBAGAJQeeAbAiNAACAZwA3DPk952.jpg

RTC功能圖

2. 中斷介紹

1)ARM cortex-A系列處理器,提供了4個管腳給soc,實現(xiàn)外界中斷的傳遞。分別是:nIRQ、nFIQ、nVIRQ、nVFIQ。arm系統(tǒng)中,會有多個外設,均有可能產生中斷發(fā)送給core,因此就需要有一個中斷控制器來作為中間的橋接,收集soc的所有中斷信號,然后仲裁選擇合適(高優(yōu)先級)的中斷,再發(fā)送給CPU,等待CPU處理。

2)這里中間的橋接,就是arm公司推出的大名鼎鼎的gic(general interrupt controller)。gic其實是一個架構,版本歷經了gicv1,gicv2,gicv3,gicv4。

3)Ultrascale+中斷框圖如下

o4YBAGAJQiWAFBOFAACq7bsFgBo393.jpg

圖中包含兩個GIC:

RPU GIC:PL390(arm公司設計的對應GICv1 IP)

APU GIC:GIC-400(arm公司設計的對應GICv2 IP)

4)RPU GIC,其系統(tǒng)功能框圖如下:

pIYBAGAJQmSANoa2AACoe6w1F_w243.jpg

從圖中可以看到,中斷源主要有三種:

PPI:private peripheral interrupt,私有外設中斷,該中斷來源于外設,只對固定的core有效。

SPI:shared peripheral interrupt,共享外設中斷,該中斷來源于外設,可以對所有的core有效。

SGI:software-generated interrupt,軟中斷,軟件產生的中斷,用于給指定的core發(fā)送中斷信號

控制器功能框圖如下:

o4YBAGAJQrqAa4l_AACF_o5Pqfs423.png

上圖中, ICD的控制寄存器主要如下:

pIYBAGAJQvmAdIznAAFAupdwVn4683.jpg

1)APU GIC,功能框圖如下

pIYBAGAJQzeAdvV9AABYKsw1fDk775.png

GICv2,將中斷分成了group0和group1。使用寄存器GICD_IGROUPRn來對每個中斷,設置組。其中group0:安全中斷,由nFIQ驅動,group1:非安全中斷,由nIRQ驅動。支持最大1020個中斷。其中斷號分配如下:

o4YBAGAJQ3WAP7ZPAAAq21bxCLs671.jpg

GICv2,主要由兩部分組成:distributor及cpu interface。

distributor,用來收集所有的中斷來源,并且為每個中斷源設置中斷優(yōu)先級,中斷分組,中斷目的core。當有中斷產生時,將當前最高優(yōu)先級中斷,發(fā)送給對應的cpu interface。其功能有:全局中斷使能、每個中斷的使能、中斷的優(yōu)先級、中斷的分組、中斷的目的core、中斷觸發(fā)方式、對于SGI中斷,傳輸中斷到指定的core、每個中斷的狀態(tài)管理、提供軟件,可以修改中斷的pending狀態(tài)

cpu interface,將GICD發(fā)送的中斷信息,通過IRQ,F(xiàn)IQ管腳,發(fā)送給連接到該cpu接口的core。其功能有:將中斷請求發(fā)送給cpu、對中斷進行認可(acknowledging an interrupt)、中斷完成識別(indicating completion of an interrupt)、設置中斷優(yōu)先級屏蔽、定義中斷搶占策略、決定當前處于pending狀態(tài)最高優(yōu)先級中斷

gicv2,定義了自己的一些寄存器,這些寄存器,都是使用memory-mapped的方式去訪問的,也就是在soc中,會留有一片空間,給gic。cpu通過訪問這部分空間,來對gic進行操作。主要寄存器如下:

o4YBAGAJQ7SAOYBPAAAxtCmvcRA372.png

這里中斷只是作簡單介紹,需要詳細了解的,請參照xilinx提供的文檔:ug1085-zynq-ultrascale-trm.pdf。

軟件工程師工作內容

以下為軟件工程師負責內容。

3. Vitis程序編寫

3.1 創(chuàng)建Platform工程

1)點擊Tools-》Launch Vitis

pIYBAGAJQ_KABZ_LAABrenT6bXk766.png

2) 與前面的Hello World實驗不同,我們只建立Platform工程

3) 填入工程名字,要與XSA文件的名字一樣,點擊Next

4) 點擊Next

5) 選擇XSA文件

保持默認,點擊Finish

6) 點開platform.spr,并點開BSP

o4YBAGAJRWaAToxaAABpLaD4qPk590.png

7) 找到RTC驅動,并點擊Import Examples

o4YBAGAJRauARgFrAABazE1UX-w236.jpg

8) 非常幸運,有中斷的例子,怎么就知道這個例子就是中斷的例子呢?是通過“intr”猜測的,所以,基本功很重要,不然你連找例程都不會。

o4YBAGAJRemAEC3lAABNRlqRG5A334.png

9) 在這里就導入了example工程

pIYBAGAJRiaACTgSAABtZ55sZcI160.jpg

下面就是閱讀代碼,然后修改代碼了,當然,可能一下不能完全理解這些代碼,只能在以后的應用中去反復練習

10)通過函數(shù)XRtcPsu_GetCurrentTime來獲取系統(tǒng)秒計數(shù)器值,用函數(shù)XRtcPsu_SecToDateTime將計數(shù)值轉換為我們能看明白的年月日時分秒。

o4YBAGAJRmSABD9jAAAsBFbwEpo516.jpg

11)設置中斷時間,中斷時間PERIODIC_ALARM_PERIOD宏定義為2,也就是2秒中斷一次

o4YBAGAJRqOAba1pAAB36mqaTqs808.png

12)Build Project編譯

o4YBAGAJRuKAGT8yAAB1o-L6ydE215.png

13)了解一下中斷控制器的使用,主要分為幾個步驟,初始化中斷控制器GIC初始化中斷異常中斷服務函數(shù)注冊在中斷控制器中使能中斷使能中斷異常。有兩步需要注意,在中斷控制器中使能中斷是要根據(jù)中斷號使能相應的中斷,比如本章介紹的RTC,是在中斷控制器GIC中的使能中斷,而后面的使能外設中斷是指在外設中打開它的中斷,正常情況下是不打開的,打開之后就可以產生中斷傳遞到中斷控制器GIC。在以后的實驗中可以借鑒這種寫法。

pIYBAGAJRzWAUIkQAAHXImWaNfg272.jpg

4. 下載調試

1)打開串口終端;

2)下載調試程序的方法前面教程已經講解,不再復述;

3)和我們預期一樣,串口每兩秒會看斷一次;

pIYBAGAJR6-AEExkAAAa9YCaCts641.png

5. 實驗總結

實驗中通過簡單的修改Vitis的例程,就完成了RTC,中斷的應用,看似簡單的操作,但蘊含了豐富的知識,我們需要非常了解RTC的原理、中斷的原理,這些基本知識是學習好ZYNQ的必要條件。

審核編輯:何安

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1660

    文章

    22423

    瀏覽量

    636663
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    國產RTC8900高精度時鐘模塊

    超高精度RTC,內置晶體+溫補,功耗1.0μA,針對工控、電力、安防監(jiān)控、數(shù)據(jù)中心等領域對RTC精度的較高要求,提供了超高精度RTC系列,精度有±2ppm/±3.4ppm/±5ppm,支持多種封裝
    的頭像 發(fā)表于 02-04 11:27 ?127次閱讀
    國產<b class='flag-5'>RTC</b>8900高精度時鐘模塊

    DR1 系列評估板 PS 裸機與 FreeRTOS 開發(fā)案例手冊

    本文為創(chuàng)龍科技DR1 系列評估板 PS 裸機與 FreeRTOS 開發(fā)指南,涵蓋三大核心案例與雙開發(fā)模式實現(xiàn)。核心內容包括 LED 定時閃爍、按鍵控制 LED 亮滅、串口數(shù)據(jù)回顯功能,詳細說明工程
    的頭像 發(fā)表于 01-19 17:12 ?162次閱讀
    DR1 系列評估板 <b class='flag-5'>PS</b> <b class='flag-5'>端</b>裸機與 FreeRTOS 開發(fā)案例手冊

    淺談愛普生RTC模塊的特點與用途

    實時時鐘(RTC)在眾多需要精確計時的應用中起著不可或缺的作用,而RTC又不僅僅只是一個用來計時的電子元器件。在以下文章中,將介紹實時時鐘(RTC)與RTC模塊,同時了解愛普生的
    的頭像 發(fā)表于 01-04 09:16 ?664次閱讀
    淺談愛普生<b class='flag-5'>RTC</b>模塊的特點與用途

    瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之DTC外部中斷觸發(fā)傳輸實驗

    實驗的目標是使用外部中斷來觸發(fā)DTC傳輸,因此需要用到一個按鍵。
    的頭像 發(fā)表于 12-26 09:32 ?4034次閱讀
    瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之DTC外部<b class='flag-5'>中斷</b>觸發(fā)傳輸<b class='flag-5'>實驗</b>

    RTC工作原理

    到這些影子寄存器中? ?4、周期性自動喚醒?:RTC有一個16位的自動重載遞減計數(shù)器,可以產生周期性的喚醒中斷,通常定時一秒? ?5、可編程鬧鐘?:RTC有兩個可編程鬧鐘,當鬧鐘觸發(fā)時會產生事件信號? ?6、時間戳和入侵檢測?:
    發(fā)表于 11-28 07:14

    在CW32F030 MCU上設置外部中斷RTC喚醒條件的示例

    ) { Enter_Sleep_Mode();// 進入Sleep模式,等待外部中斷喚醒 // 喚醒后的處理代碼(實際上,這部分代碼將在中斷處理函數(shù)中執(zhí)行) } } 示例2:RTC喚醒 假設我們希望在特定
    發(fā)表于 11-25 08:00

    RVMCU課堂「20」: 手把手教你玩轉RVSTAR—實時時鐘RTC

    PCLK1時鐘至少慢4倍) RTC時鐘源: HXTAL時鐘除以128 LXTAL振蕩電路時鐘 IRC40K振蕩電路時鐘 可屏蔽的中斷源: 鬧鐘中斷中斷 溢出
    發(fā)表于 10-29 08:10

    【EK-RA6E2開發(fā)指南】RTC實踐

    RA6E2的RTC(Real Time Clock)外設,實質是一個掉電后還繼續(xù)運行的定時器。從定時器的角度來說,相對于GPT外設,要簡單很多 ,只有計時和觸發(fā)中斷以及輸入捕獲的功能。RTC外設的特別之處并不在于它的定時功能,而
    的頭像 發(fā)表于 09-23 18:18 ?2271次閱讀
    【EK-RA6E2開發(fā)指南】<b class='flag-5'>RTC</b>實踐

    淘汰紐扣電池:永銘SDV超級電容引領RTC備用電源新趨勢

    RTC被稱為“時鐘芯片”,用于記錄和跟蹤時間。它的中斷功能能夠定時喚醒網(wǎng)絡中的設備,使設備的其他模塊在大部分時間可以休眠,從而大大降低設備的整體功耗。由于設備時間不能有任何的偏差,因此RTC時鐘供電
    的頭像 發(fā)表于 09-01 09:58 ?727次閱讀
    淘汰紐扣電池:永銘SDV超級電容引領<b class='flag-5'>RTC</b>備用電源新趨勢

    AT32的ERTC與RTC的區(qū)別

    的日歷邏輯,直接給出年、月、日、時、分、秒,大大簡化了軟件操作和降低了出錯概率 。 中斷與鬧鐘功能 RTC :較為基礎,通常只提供一個中斷請求,用于鬧鐘功能 。 ERTC :提供多個中斷
    發(fā)表于 07-11 10:48

    第二十八章 RTC——實時時鐘

    本文介紹了W55MH32的RTC外設,其為掉電可運行的32位計數(shù)器,常用LSE 32.768KHz時鐘源,引入UNIX時間戳概念。還介紹相關庫函數(shù),及配置RTC、處理中斷、顯示時間和校準LSI頻率的
    的頭像 發(fā)表于 06-20 14:08 ?1370次閱讀
    第二十八章 <b class='flag-5'>RTC</b>——實時時鐘

    WLE5CBU6在STOP2模式下,概率性不能通過RTC鬧鐘中斷喚醒,為什么?

    已知鬧鐘中斷優(yōu)先級最高,跑RTC測試時,掛測會出現(xiàn)概率性的無法喚醒MCU
    發(fā)表于 06-16 06:34

    【RA4L1-SENSOR】RTC實時時鐘

    和周期型中斷優(yōu)先級 RTC時間結構體,用于配置時間或者讀取時間 實驗代碼,使用串口發(fā)送時間,并在段碼LCD屏上顯示 rtc_time_t time_set = { .tm_year =
    發(fā)表于 06-13 12:10

    “耐高溫!”RTC時鐘芯片+電池的應用案例(二)

    實時時鐘,簡稱RTC,是廣泛應用于電子產品的重要元器件。愛普生RTC實時時鐘具有高精度、高穩(wěn)定性和多功能等特點,廣泛應用于多個行業(yè)。RTC時鐘芯片主要功能是保持設備時間的準確運行,即使在主電源斷電
    的頭像 發(fā)表于 06-04 17:35 ?1757次閱讀
    “耐高溫!”<b class='flag-5'>RTC</b>時鐘芯片+電池的應用案例(二)

    小安派BW21-CBV-Kit教程——基礎RTC例程與簡易RTC鬧鐘

    本例演示如何使用 RTC 庫方法。本函數(shù)介紹如何使用 RTC API。RTC 功能由一個獨立的 BCD 定時器/計數(shù)器實現(xiàn)。
    發(fā)表于 04-13 17:46 ?729次閱讀
    小安派BW21-CBV-Kit教程——基礎<b class='flag-5'>RTC</b>例程與簡易<b class='flag-5'>RTC</b>鬧鐘