chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RK3576時(shí)鐘系統(tǒng)深度解析:從原理到實(shí)踐,玩轉(zhuǎn)SoC核心時(shí)鐘!

jf_44130326 ? 來源:Linux1024 ? 作者:Linux1024 ? 2026-04-28 07:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時(shí)鐘系統(tǒng)是SoC的“心臟”,為所有外設(shè)和核心部件提供穩(wěn)定、精準(zhǔn)的時(shí)鐘信號(hào),直接決定了芯片的性能、功耗與穩(wěn)定性。RK3576作為瑞芯微主流的中高端SoC,其時(shí)鐘系統(tǒng)設(shè)計(jì)靈活且復(fù)雜,今天我們就從概念到代碼、從邏輯到數(shù)據(jù)流,全方位拆解RK3576的時(shí)鐘系統(tǒng),幫開發(fā)者徹底搞懂這一核心模塊!

一、概念分析

1.時(shí)鐘系統(tǒng)基本概念

時(shí)鐘系統(tǒng)的核心術(shù)語是理解RK3576時(shí)鐘架構(gòu)的基礎(chǔ),先理清這幾個(gè)關(guān)鍵概念:

?PLL(鎖相環(huán)):時(shí)鐘系統(tǒng)的核心,將24MHz/26MHz晶振輸入的參考時(shí)鐘倍頻到更高頻率,為不同模塊提供高頻時(shí)鐘源。

?時(shí)鐘樹:從PLL輸出開始,通過分頻器、選擇器層層分配時(shí)鐘到各外設(shè)的層級(jí)結(jié)構(gòu),是時(shí)鐘分配的“脈絡(luò)”。

?時(shí)鐘源:提供基礎(chǔ)時(shí)鐘的設(shè)備,最典型的就是晶振(OSC)。

?時(shí)鐘域:芯片中使用相同/相關(guān)時(shí)鐘的功能模塊集合,不同域可獨(dú)立配置時(shí)鐘,兼顧性能與功耗。

2. RK3576時(shí)鐘架構(gòu)

RK3576采用多級(jí)時(shí)鐘架構(gòu),覆蓋核心、總線、外設(shè)、顯示等全場景,主要分為四類:

?核心PLL:包含BPLL、LPLL、VPLL、AUPLL、CPLL、GPLL、PPLL等,為不同功能域提供專屬高頻時(shí)鐘;

?總線時(shí)鐘ACLK_BUS_ROOT、HCLK_BUS_ROOT、PCLK_BUS_ROOT等,支撐總線數(shù)據(jù)傳輸?shù)臅r(shí)鐘;

?外設(shè)時(shí)鐘:為I2C、SPI、PWM、ADC、MMC等外設(shè)提供工作時(shí)鐘;

?顯示時(shí)鐘:專門為VOP(視頻輸出處理)模塊設(shè)計(jì)的時(shí)鐘,保障顯示輸出的穩(wěn)定性。

二、代碼分析

RK3576的時(shí)鐘驅(qū)動(dòng)代碼核心位于u-bootdriversclkrockchipclk_rk3576.c(約2750行),我們從核心數(shù)據(jù)結(jié)構(gòu)、操作函數(shù)、外設(shè)時(shí)鐘處理三個(gè)維度拆解。

1.核心數(shù)據(jù)結(jié)構(gòu)

PLL是時(shí)鐘系統(tǒng)的核心,代碼中通過專用結(jié)構(gòu)體定義PLL速率表和時(shí)鐘配置:

// PLL時(shí)鐘表staticstructrockchip_pll_rate_table rk3576_24m_pll_rates[] = { /* _mhz, _p, _m, _s, _k */  RK3588_PLL_RATE(1500000000,2,250,1,0), // ... 更多速率配置};// PLL時(shí)鐘結(jié)構(gòu)staticstructrockchip_pll_clock rk3576_pll_clks[] = {  [BPLL] = PLL(pll_rk3588, PLL_BPLL, RK3576_PLL_CON(0),        RK3576_BPLL_MODE_CON0,0,15,0,        rk3576_24m_pll_rates), // ... 更多PLL配置};

2.主要操作函數(shù)

時(shí)鐘驅(qū)動(dòng)的核心是“獲取速率”和“設(shè)置速率”,代碼通過switch-case匹配不同時(shí)鐘ID,調(diào)用專屬處理函數(shù):

時(shí)鐘速率獲取

staticulongrk3576_clk_get_rate(structclk *clk){ structrk3576_clk_priv *priv = dev_get_priv(clk->dev); ulongrate =0;
 // 根據(jù)時(shí)鐘ID調(diào)用相應(yīng)的獲取函數(shù) switch(clk->id) { casePLL_LPLL:    rate = rockchip_pll_get_rate(&rk3576_pll_clks[LPLL], priv->cru, LPLL);    priv->lpll_hz = rate;   break; caseACLK_BUS_ROOT: caseHCLK_BUS_ROOT: casePCLK_BUS_ROOT:    rate = rk3576_bus_get_clk(priv, clk->id);   break; // ... 更多時(shí)鐘類型  } returnrate;}

時(shí)鐘速率設(shè)置

staticulongrk3576_clk_set_rate(structclk *clk,ulongrate){ structrk3576_clk_priv *priv = dev_get_priv(clk->dev); ulongret =0;
 // 根據(jù)時(shí)鐘ID調(diào)用相應(yīng)的設(shè)置函數(shù) switch(clk->id) { casePLL_CPLL:    ret = rockchip_pll_set_rate(&rk3576_pll_clks[CPLL], priv->cru, CPLL, rate);    priv->cpll_hz = rockchip_pll_get_rate(&rk3576_pll_clks[CPLL], priv->cru, CPLL);   break; // ... 更多時(shí)鐘類型  } returnret;}

3.外設(shè)時(shí)鐘處理

以常用的I2C時(shí)鐘為例,代碼通過讀取寄存器確定時(shí)鐘源,再返回對(duì)應(yīng)速率:

staticulong rk3576_i2c_get_clk(structrk3576_clk_priv *priv, ulong clk_id) { structrk3576_cru *cru = priv->cru;  u32 sel, con;  ulong rate;
 // 根據(jù)I2C實(shí)例讀取相應(yīng)的寄存器 switch(clk_id) { caseCLK_I2C0:    con = readl(&cru->pmuclksel_con[6]);    sel = (con &CLK_I2C0_SEL_MASK) >>CLK_I2C0_SEL_SHIFT;   break; // ... 更多I2C實(shí)例  }
 // 根據(jù)選擇的時(shí)鐘源返回相應(yīng)的速率 if(sel ==CLK_I2C_SEL_200M)    rate =200* MHz; elseif(sel ==CLK_I2C_SEL_100M)    rate =100* MHz; elseif(sel ==CLK_I2C_SEL_50M)    rate =50* MHz; else    rate = OSC_HZ;
 returnrate;}

三、邏輯分析

1.時(shí)鐘初始化流程

RK3576時(shí)鐘驅(qū)動(dòng)的初始化遵循“加載-綁定-初始化-探測-時(shí)鐘配置”的流程,一步都不能少:

1.驅(qū)動(dòng)加載:通過U_BOOT_DRIVER注冊(cè)時(shí)鐘驅(qū)動(dòng);

2.設(shè)備綁定:rk3576_clk_bind函數(shù)綁定相關(guān)設(shè)備;

3.平臺(tái)數(shù)據(jù)初始化:rk3576_clk_ofdata_to_platdata獲取硬件寄存器地址;

4.驅(qū)動(dòng)探測:rk3576_clk_probe函數(shù)完成驅(qū)動(dòng)初始化;

5.時(shí)鐘初始化:rk3576_clk_init設(shè)置默認(rèn)PLL頻率。

2.時(shí)鐘配置邏輯

時(shí)鐘配置的核心是“選源-分頻-使能”,邏輯如下:

1.PLL配置:根據(jù)目標(biāo)頻率,選擇P、M、S、K參數(shù)(倍頻系數(shù));

2.時(shí)鐘源選擇:為外設(shè)匹配最合適的時(shí)鐘源(如PLL輸出/晶振);

3.分頻配置:計(jì)算并設(shè)置分頻系數(shù),將時(shí)鐘降到外設(shè)所需頻率;

4.時(shí)鐘使能:確認(rèn)時(shí)鐘信號(hào)正確輸出到外設(shè)。

3.時(shí)鐘速率計(jì)算

時(shí)鐘分頻分為“整數(shù)分頻”和“分?jǐn)?shù)分頻”,對(duì)應(yīng)兩種計(jì)算方式:

?整數(shù)分頻:DIV_TO_RATE(input_rate, div) = input_rate / (div + 1);

?分?jǐn)?shù)分頻:通過rational_best_approximation函數(shù)計(jì)算最佳分?jǐn)?shù)近似值,適配更精細(xì)的頻率需求。

四、數(shù)據(jù)流走向

RK3576的時(shí)鐘信號(hào)從“源頭”到“外設(shè)”,遵循固定的流向,可概括為5步:

1.晶振輸入:24MHz/26MHz參考時(shí)鐘(時(shí)鐘系統(tǒng)的“起點(diǎn)”);

2.PLL倍頻:PLL將參考時(shí)鐘倍頻到高頻(如BPLL可達(dá)1.8GHz);

3.時(shí)鐘選擇:時(shí)鐘選擇器從多個(gè)PLL輸出中選取出目標(biāo)時(shí)鐘源;

4.時(shí)鐘分頻:分頻器將高頻時(shí)鐘降到外設(shè)可承受的頻率;

5.外設(shè)使用:處理后的時(shí)鐘信號(hào)輸入到I2C/SPI/顯示等外設(shè)。

簡化流程圖:

晶振(24MHz) → PLL倍頻 → 時(shí)鐘選擇器 → 分頻器 → 外設(shè)

五、開發(fā)者需要注意的事項(xiàng)

調(diào)試/配置RK3576時(shí)鐘時(shí),6個(gè)關(guān)鍵點(diǎn)直接影響系統(tǒng)穩(wěn)定性,務(wù)必牢記:

1.時(shí)鐘依賴關(guān)系:部分外設(shè)時(shí)鐘依賴特定PLL /總線時(shí)鐘,修改前需梳理依賴鏈;

2.頻率限制:每個(gè)外設(shè)都有工作頻率范圍(如I2C通?!?00KHz),超出范圍會(huì)導(dǎo)致功能異常;

3.功耗考慮:高頻時(shí)鐘=高功耗,按需配置頻率,平衡性能與功耗;

4.穩(wěn)定性:時(shí)鐘頻率突變易導(dǎo)致系統(tǒng)崩潰,需逐步調(diào)整;

5.寄存器操作:直接寫時(shí)鐘寄存器風(fēng)險(xiǎn)高,錯(cuò)誤配置可能讓芯片“變磚”;

6.SCMI接口:若通過SCMI管理時(shí)鐘,需嚴(yán)格遵循SCMI協(xié)議規(guī)范。

六、調(diào)試案例

以“我2C時(shí)鐘配置異常導(dǎo)致通信失敗”為例,手把手教你定位問題:

問題描述

I2C總線無響應(yīng),通信完全失敗。

調(diào)試步驟

1.檢查時(shí)鐘是否使能:用clk dump命令查看I2C時(shí)鐘狀態(tài):

=> clk dumpCLK: (uboot.arm:enter1800000KHz, init1800000KHz, kernel 0N/A) bpll1800000KHz lpll1200000KHz vpll5940000KHz ... clk_i2c0100000KHz

2.讀取時(shí)鐘配置寄存器:確認(rèn)I2C時(shí)鐘源選擇的寄存器值:

// 讀取I2C0時(shí)鐘配置con = readl(&cru->pmuclksel_con[6]);sel = (con &CLK_I2C0_SEL_MASK) >>CLK_I2C0_SEL_SHIFT;

3.驗(yàn)證時(shí)鐘源:確認(rèn)選擇的時(shí)鐘源是否匹配預(yù)期:

if(sel ==CLK_I2C_SEL_200M)  rate =200* MHz;elseif(sel ==CLK_I2C_SEL_100M)  rate =100* MHz;

4.調(diào)整時(shí)鐘頻率:若頻率不匹配,重新配置:

rk3576_i2c_set_clk(priv, CLK_I2C0,100000); // 設(shè)置為100KHz

解決方案

定位到“I2C時(shí)鐘源選擇錯(cuò)誤”,重新配置為100MHz時(shí)鐘源并正確分頻,I2C通信恢復(fù)正常。

七、時(shí)鐘系統(tǒng)完整流程圖

wKgZPGnv7MmAIEy0AABVSgfYU-A606.png

八、總結(jié)

RK3576時(shí)鐘系統(tǒng)的核心優(yōu)勢(shì)是“靈活”——多級(jí)PLL +豐富的選擇器/分頻器,能為不同外設(shè)定制時(shí)鐘方案。開發(fā)者只要理清時(shí)鐘樹結(jié)構(gòu)、遵循配置流程,就能兼顧“性能、功耗、穩(wěn)定性”。

最后給個(gè)調(diào)試小技巧:遇到時(shí)鐘問題時(shí),先用clk dump查看時(shí)鐘狀態(tài),再結(jié)合寄存器讀寫定位問題,效率會(huì)大幅提升!

希望這篇深度解析能幫你玩轉(zhuǎn)RK3576時(shí)鐘系統(tǒng),少踩坑、多提效~

審核編輯 黃宇

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

    關(guān)注

    40

    文章

    4635

    瀏覽量

    230250
  • 時(shí)鐘系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    135

    瀏覽量

    13026
  • rk3576
    +關(guān)注

    關(guān)注

    1

    文章

    304

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    米爾RK3576RK3588怎么選?-看這篇就夠了

    在中國半導(dǎo)體產(chǎn)業(yè)的版圖中,瑞芯微作為國內(nèi)SoC芯片領(lǐng)跑者,憑借其在處理器芯片設(shè)計(jì)領(lǐng)域的深厚積累和持續(xù)創(chuàng)新,推出很多智能應(yīng)用處理器芯片,在嵌入式系統(tǒng)領(lǐng)域得到大規(guī)模的應(yīng)用。RK3588和RK357
    發(fā)表于 12-27 11:44

    性能到成本,深度剖析 RK3588 與 RK3576 怎么選

    在中國半導(dǎo)體產(chǎn)業(yè)的版圖中,瑞芯微作為國內(nèi)SoC芯片領(lǐng)跑者,憑借其在處理器芯片設(shè)計(jì)領(lǐng)域的深厚積累和持續(xù)創(chuàng)新,推出很多智能應(yīng)用處理器芯片,在嵌入式系統(tǒng)領(lǐng)域得到大規(guī)模的應(yīng)用。RK3588和RK357
    發(fā)表于 02-09 09:10

    國產(chǎn)開發(fā)板的端側(cè)AI測評(píng)-基于米爾瑞芯微RK3576

    分為核心板以及擴(kuò)展板,核心板是基于瑞芯微在今年第二季推出的全新通用型SOC芯片RK3576,擴(kuò)展板則擴(kuò)展了眾多的外設(shè)接口,方便工程師調(diào)試或者直接基于開發(fā)板做原型開發(fā)。 值得一提的是,
    發(fā)表于 02-14 16:29

    適配多種系統(tǒng),米爾瑞芯微RK3576核心板解鎖多樣化應(yīng)用

    RK3576 核心板提供了 Linux、Debian、Android 多種系統(tǒng)鏡像,為工程師提供了多樣化的選擇,助力各行業(yè)產(chǎn)品開發(fā)落地。 一、系統(tǒng)介紹
    發(fā)表于 05-23 16:07

    RK3576 vs RK3588:為何越來越多的開發(fā)者轉(zhuǎn)向RK3576?

    的成本結(jié)構(gòu)以及針對(duì)特定場景的深度優(yōu)化,正在成為中高端市場的熱門選擇。那么,RK3576 究竟有哪些優(yōu)勢(shì)?它是否真的能替代 RK3588?我們來做一個(gè)全面對(duì)比。 1. 核心性能對(duì)比:
    發(fā)表于 05-30 08:46

    Mpp支持RK3576

    想問下,https://github.com/rockchip-linux/mpp這里面支持RK3576么,看介紹沒有提到說支持RK3576 目前是買了個(gè)rk3576的機(jī)頂盒,搭載了安卓14,想做安卓視頻硬解。
    發(fā)表于 06-13 15:35

    RK這2款旗艦芯片RK3588 PK RK3576,誰是最優(yōu)選

    ,了解兩者的區(qū)別十分重要,以下將從多個(gè)方面進(jìn)行詳細(xì)對(duì)比。一、處理器性能解析(一)CPU 性能1. 核心架構(gòu)? RK3576:采用四核 Cortex - A72 和四核 Cortex - A53 架構(gòu)
    發(fā)表于 07-10 18:24

    【作品合集】米爾RK3576開發(fā)板測評(píng)

    測試 作者:魯治驛【米爾RK3576開發(fā)板免費(fèi)體驗(yàn)】測評(píng)綜合解析 【米爾RK3576開發(fā)板免費(fèi)體驗(yàn)】集成MQ-2煙霧傳感器和ADS1263模塊實(shí)現(xiàn)氣體監(jiān)測 【米爾RK3576開發(fā)板免費(fèi)
    發(fā)表于 09-11 10:19

    基于米爾RK3576核心板的國產(chǎn)割草機(jī)器人解決方案

    :國產(chǎn)芯片如何賦能四大關(guān)鍵系統(tǒng) 基于米爾RK3576核心板,我們構(gòu)建了一套完整的“感知-決策-控制”閉環(huán)系統(tǒng),全面適配國產(chǎn)操作系統(tǒng)與算法生態(tài)
    發(fā)表于 04-24 17:31

    宇瓏RK3576核心板與嵌入式主板通用平臺(tái)介紹

    宇瓏RK3576核心板與嵌入式主板通用平臺(tái)介紹
    的頭像 發(fā)表于 08-26 17:23 ?1937次閱讀
    宇瓏<b class='flag-5'>RK3576</b><b class='flag-5'>核心</b>板與嵌入式主板通用平臺(tái)介紹

    新品體驗(yàn) | RK3576開發(fā)板

    RK3399、RK3566、RK3568、RK3588、RK3576等型號(hào)的核心板與評(píng)估板。鑒
    的頭像 發(fā)表于 11-01 08:08 ?3424次閱讀
    新品體驗(yàn) | <b class='flag-5'>RK3576</b>開發(fā)板

    RK3576單板發(fā)布倒計(jì)時(shí):RK3399與RK3576對(duì)比

    好多人說RK3576RK3399的升級(jí)版,某種程度上也可以這么說,RK3576在強(qiáng)大的多媒體功能的基礎(chǔ)上,性能和接口都進(jìn)行了升級(jí) 一、工藝 性能 rk3576采用 Rockchip
    的頭像 發(fā)表于 12-03 16:59 ?2794次閱讀
    <b class='flag-5'>RK3576</b>單板發(fā)布倒計(jì)時(shí):<b class='flag-5'>RK</b>3399與<b class='flag-5'>RK3576</b>對(duì)比

    RK3588與RK3576區(qū)別解析

    以下是RK3576RK3588對(duì)比: 電魚電子SBC-RK3576單板 核心性能:RK3576為四核A72@2.2GHz + 四核A53@
    的頭像 發(fā)表于 12-17 14:03 ?4461次閱讀
    <b class='flag-5'>RK</b>3588與<b class='flag-5'>RK3576</b>區(qū)別<b class='flag-5'>解析</b>

    瑞芯微RK3576RK3576S有什么區(qū)別,性能參數(shù)配置與型號(hào)差異解析

    、物聯(lián)網(wǎng)等商用AIoT領(lǐng)域。(瑞芯微RK3576RK3576S芯片框圖)觸覺智能作為專業(yè)的瑞芯微方案商,基于RK3576芯片平臺(tái)推出了核心板、開發(fā)板、行業(yè)主板等
    的頭像 發(fā)表于 08-14 23:57 ?2746次閱讀
    瑞芯微<b class='flag-5'>RK3576</b>與<b class='flag-5'>RK3576</b>S有什么區(qū)別,性能參數(shù)配置與型號(hào)差異<b class='flag-5'>解析</b>

    迅為如何在RK3576上部署YOLOv5;基于RK3576構(gòu)建智能門禁系統(tǒng)

    迅為如何在RK3576開發(fā)板上部署YOLOv5;基于RK3576構(gòu)建智能門禁系統(tǒng)
    的頭像 發(fā)表于 11-25 14:06 ?1987次閱讀
    迅為如何在<b class='flag-5'>RK3576</b>上部署YOLOv5;基于<b class='flag-5'>RK3576</b>構(gòu)建智能門禁<b class='flag-5'>系統(tǒng)</b>