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

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

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

3天內不再提示

RK平臺時鐘(CLK)開發(fā):核心知識+調試步驟+問題匯總

jf_44130326 ? 來源:Linux1024 ? 2026-02-05 13:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RK瑞芯微)平臺開發(fā)中,時鐘CLK)子系統(tǒng)是SOC心臟”——CPU變頻、DDR數(shù)據(jù)傳輸、以太網通信、LCD顯示等所有組件的穩(wěn)定運行,都依賴精準的時鐘信號。但時鐘樹復雜、配置參數(shù)多、調試踩坑頻繁,一直是開發(fā)者的痛點。

今天這篇文章,從核心知識、實操調試步驟常見問題解決方案,幫你系統(tǒng)掌握RK平臺CLK開發(fā),少走彎路!

wKgZO2kajEWAPTIbAABni1U_rwc053.png

一、RK平臺CLK核心知識:搞懂這些不迷路

時鐘子系統(tǒng)的核心是精準分配與控制,需先掌握3大核心模塊:基礎框架、GPIO輸出時鐘、PLL展頻(降EMI關鍵)。

1.基礎框架:時鐘樹與關鍵組件

RK平臺時鐘以樹狀結構(時鐘樹)分配,從源頭(晶振/ PLL)到終端(外設),依賴4類關鍵組件:

組件

作用

關鍵細節(jié)

晶振(Oscillator

時鐘源頭,提供基礎頻率(如24M無源晶振)

所有PLL的輸入基準,信號質量直接影響后續(xù)時鐘穩(wěn)定性

PLL(鎖相環(huán))

對晶振頻率倍頻,生成高頻時鐘(如CPU、DDR所需)

RK主流PLL分工明確:- APLL:獨占給CPU(隨CPU變頻調整)- DPLL:獨占給DDR- GPLL:總線/外設備份(常設594M/1200M- CPLL/NPLLLCDC/GMAC獨占

Divider(分頻器)

PLL輸出頻率分頻,適配不同外設需求(如200M→50M

支持整數(shù)分頻(如/ 2)和小數(shù)分頻(如I2S/UART需精準頻率)

MUX(多路選擇器)

選擇時鐘來源(如外設可從GPLLCPLL取時鐘)

寄存器配置選擇路徑,需注意父時鐘與子時鐘的兼容性

GATING(時鐘門控)

控制時鐘開關,降低功耗(設備不工作時關閉時鐘)

引用計數(shù)機制:子時鐘打開時自動打開父時鐘;所有子時鐘關閉才關父時鐘

此外,總線時鐘分高速低速兩類,需根據(jù)外設需求選擇:

?高速總線PERI):ACLK_PERI100-300M,如EMMC/USB/GMAC)、HCLK_PERI37-150M

?低速總線BUS):ACLK_BUS100-300M,如I2C/I2S/SPI)、PCLK_BUS50-150M

2. GPIO輸出時鐘:降成本的關鍵設計

很多場景下,可通過SOCGPIO輸出時鐘替代外部晶振(如WiFi、攝像頭),減少外圍電路成本。但需滿足3個前提:

1)核心配置條件

1.IOMUX配置GPIO必須支持“CLK輸出功能(需查芯片TRM確認);

2.頻率匹配:優(yōu)先選擇晶振bypass輸出(如24M),信號質量最優(yōu);若從PLL分頻,需確認外設是否接受信號抖動;

3.驅動能力:部分GPIO輸出波形差,需調整IO驅動能力寄存器。

2)主流芯片對應關系(示例)

芯片型號

時鐘名稱

對應GPIO

支持頻率

RK3399

SCLK_TESTOUT

GPIO2_D1/GPIO0_B0

24M、32K

RK3566/8

CLK_MAC0_OUT

GPIO2_C1

24M、25M50M125M

RK3588

REFCLKOUT

GPIO0_A0

24M

RK3576

REF_CLK0_OUT

GPIO0_A0

12M、24M、27M

3. PLL展頻:解決EMI超標的神器

時鐘信號是EMI(電磁干擾)的主要來源——高頻時鐘能量集中在窄頻段,易超標。PLL展頻(SSCG通過將能量分散到寬頻段,降低EMI峰值,是合規(guī)關鍵。

1)核心參數(shù)

?調制速度30-120KHz(需高于人耳聽覺范圍20KHz,避免噪音);

?調制深度0.1%-4%(深度越大,EMI降得越多,但需兼容外設頻率容忍度)。

2)配置邏輯

?RK3588芯片:需先開啟PLL小數(shù)模式(dsmpd=0),再配置展頻幅度(ssmod_spread)和速率(ssmod_divval);

?RK3588芯片:單獨配置sscg_en使能,再設幅度(mrr)、速率(mfr)和模式(center spread最優(yōu),降抖動)。

二、RK平臺CLK實操調試步驟:從查看狀態(tài)到問題定位

調試時鐘需按先看狀態(tài)再控參數(shù)最后測輸出的流程,以下是關鍵步驟和命令:

1.第一步:查看時鐘樹狀態(tài)

先確認當前時鐘樹結構、頻率、使能狀態(tài),定位異常時鐘:

# 查看所有時鐘的父時鐘、當前頻率、使能計數(shù)cat/sys/kernel/debug/clk/clk_summary

關鍵關注:

?parent:是否為預期的父時鐘(如LCDC時鐘應指向獨占PLL);

?rate:當前頻率是否符合需求(如百兆以太網需50M);

?enable count:使能計數(shù)是否為10表示時鐘未開啟)。

2.第二步:控制時鐘頻率與使能

通過/sys/kernel/debug/clk/[時鐘名]/節(jié)點,直接調整頻率和使能:

# 1. 查看指定時鐘當前頻率(以saradc為例)cat /sys/kernel/debug/clk/clk_saradc/clk_rate# 2. 設置時鐘頻率(如設為24M)echo24000000>/sys/kernel/debug/clk/clk_saradc/clk_rate# 3. 使能時鐘(kernel <6.1)echo1>/sys/kernel/debug/clk/clk_saradc/clk_enable_count# 3. 使能時鐘(kernel ≥6.1,需用prepare_enable)echo1>/sys/kernel/debug/clk/clk_saradc/clk_prepare_enable# 4. 關閉時鐘echo0>/sys/kernel/debug/clk/clk_saradc/clk_enable_count

3.第三步:GPIO輸出時鐘調試(以RK3399為例)

若需用GPIO輸出24M時鐘(替代外部晶振),步驟如下:

# 1. 設置測試時鐘頻率為24Mecho24000000 > /sys/kernel/debug/clk/clk_testout1_pll_src/clk_rateecho24000000 > /sys/kernel/debug/clk/clk_testout1/clk_rate# 2. 使能測試時鐘echo1 > /sys/kernel/debug/clk/clk_testout1/clk_enable_count# 3. 配置GPIO2_D1為CLK輸出功能(IOMUX)io -4 0xff77e004 0x000c0008

其他芯片參考:

?RK3566/8輸出CAM_CLKio -4 0xfdc60064 0x70001000+echo 27000000 > /sys/kernel/debug/clk/clk_cam0_out/clk_rate

?RK3588輸出REFCLKOUTio -4 0xfd5f0000 0x000f0001

4.第四步:TEST_CLK_OUT硬件測試

若需直接測量時鐘波形(如確認LCDC DCLK),需配置TEST_CLK_OUT引腳:

1.配置MUX:選擇要輸出的時鐘源(如ACLK_PERI);

# RK3399配置TEST_CLK源為24M(寄存器CRU_MISC_CON,地址0xff76050c)io-40xff76050c0x00000800

1.配置DIV:設置分頻比(如1分頻,輸出原頻率);

# RK3399配置分頻比為1(寄存器CRU_CLKSEL58_CON,地址0xff7601e8)io-40xff7601e80x0f000000

1.使能GATING:打開時鐘門控;

# RK3399使能TEST_CLK(寄存器CRU_CLKGATE13_CON,地址0xff760334)io-40xff7603340x00000001

1.示波器測量TEST_CLK_OUT引腳波形。

5.第五步:PLL展頻調試(以RK3588 GPLL為例)

EMI超標,需配置PLL展頻:

# 1. 設置展頻速率30KHz、幅度0.5%、模式為center spreadio-40xfd7c01cc0x00ff000c # 速率30KHzio-40xfd7c01cc0x3f000500 # 幅度0.5%io-40xfd7c01cc0xc0008000 # center spread模式# 2. 使能展頻功能io-40xfd7c01d00x00010001

三、常見問題與解決方案:避坑指南

1. PLL頻率設置失敗,返回- 1

?現(xiàn)象:調用clk_set_rate設置PLL頻率,返回負數(shù);

?原因:目標頻率不在PLL頻率表格中(如RK3399rk3399_pll_rates);

?解決方案:按PLL公式補全頻率表格:

// 公式:VCO=24M*FBDIV/REFDIV(450M~2200M);FOUT=VCO/POSTDIV1/POSTDIV2// 示例:添加594M頻率(VCO=1188M=24*99/2,F(xiàn)OUT=1188/2/1)RK3036_PLL_RATE(594000000,2,99,2,1,1,0),

2.小數(shù)分頻時鐘抖動大、頻偏超標

?現(xiàn)象I2S/UART用小數(shù)分頻后,信號抖動超外設容忍范圍;

?原因:未滿足小數(shù)分頻父時鐘頻率分頻后頻率×20”;

?解決方案:調整父時鐘頻率(如分頻后需12M,父時鐘需≥240M)。

3.以太網時鐘不精準,通信丟包

?現(xiàn)象:百兆以太網(需50M/千兆以太網(需125M)丟包、ping不通;

?原因PLL輸出時鐘精度不足,或未使用獨立時鐘源;

?解決方案

a.確認PLL頻率精準(如GMAC獨占CPLL,設為50M/125M);

b.若仍不精準,改用外部晶振(需硬件支持)。

4. LCD顯示異常(花屏、閃屏)

?現(xiàn)象LCD無顯示或顯示異常,排查后是DCLK問題;

?原因LCDC未獨占指定PLL(如RK3399雙顯需VOP0綁定VPLL、VOP1綁定CPLL);

?解決方案:在DTS中配置獨占PLL

// RK3399 VOP0(HDMI)綁定VPLL&vopb_rk_fb { assigned-clocks = <&cru?DCLK_VOP0_DIV>; assigned-clock-parents = <&cru?PLL_VPLL>;};

5.展頻后DDR死機、USB測試失敗

?現(xiàn)象:打開PLL展頻后,DDR崩潰、USB 2.0頻率測試不通過;

?原因:展頻幅度過大,超出DDR/USB PHY的容忍范圍;

?解決方案

a.降低展頻幅度(如從2%降至0.5%);

b.DDR展頻需在LOADER階段配置(避免運行中調整時鐘);

c.USB需確認PHY彈性buffer大?。?/span>buffer小則幅度需更?。?/span>

6.時鐘被誤關閉,外設無法啟動

?現(xiàn)象:外設(如I2C)啟動失敗,clk_summary顯示時鐘enable count0;

?原因:時鐘未配置常開屬性,初始化后被系統(tǒng)關閉;

?解決方案

a.kernel <6.1:添加CLK_IGNORE_UNUSEDflag

GATE(PCLK_PMUGRF_PMU,"pclk_pmugrf_pmu","pclk_pmu_src", CLK_IGNORE_UNUSED, RK3399_PMU_CLKGATE_CON(1),1, GFLAGS),

a.kernel ≥6.1:添加CLK_IS_CRITICALflag,或在bootargsclk_gate.always_on=1。

四、總結與注意事項

wKgZO2kajEWAJyhcAAMIUTF4u74550.png

1.芯片差異是關鍵:不同RK芯片(如RK3588 vs RK3328)的時鐘方案、寄存器地址差異大,調試前務必參考對應芯片的TRM和官方指南;

2.優(yōu)先軟件調試,再動硬件:先通過sys/debug節(jié)點調整時鐘,確認邏輯正確后,再固化到DTS或驅動;

3.展頻需謹慎:展頻雖降EMI,但可能影響敏感外設(如以太網、CAN),需充分做穩(wěn)定性測試;

4.文檔參考:遇到問題可查閱瑞芯微官方文檔:

?Rockchip Clock開發(fā)指南》(時鐘子系統(tǒng)框架);

?Rockchip Gpio Output Clocks》(GPIO輸出時鐘配置);

?Rockchip PLL展頻功能詳細說明》(EMI優(yōu)化)。

時鐘子系統(tǒng)雖復雜,但掌握基礎框架調試工具問題定位的邏輯后,就能輕松應對。如果本文對你有幫助,歡迎點贊、轉發(fā),評論區(qū)交流你的調試踩坑經歷!

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

    關注

    11

    文章

    1971

    瀏覽量

    134979
  • 瑞芯微
    +關注

    關注

    27

    文章

    790

    瀏覽量

    54269
  • GPIO
    +關注

    關注

    16

    文章

    1328

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞芯微RK3399嵌入式開發(fā)板主要的 CLK API

    了這兩個接口。4. 設置 CLK 頻率int clk_set_rate(struct clk *clk, unsigned long rate)(單位 Hz) 瑞芯微
    發(fā)表于 11-09 14:59

    數(shù)據(jù)結構預算法核心知識點總結概述

    數(shù)據(jù)結構預算法核心知識點總結概述最近有看一些大佬的專欄,受益匪淺。深刻的覺察到我們要想成為一個偉大的程序員,或者說小一點,成為一個厲害的程序員,基礎知識核心競爭力也是我們不斷向上提升個人能力的基石
    發(fā)表于 12-21 08:00

    JTAG調試知識匯總,絕對實用

    JTAG調試知識匯總,絕對實用
    發(fā)表于 12-24 06:09

    嵌入式開發(fā)中會用到哪些核心知識

    、什么是嵌入式、嵌入式系統(tǒng)的技術特征、三次信息化浪潮、嵌入式技術的主要發(fā)展方向和主流產品。2、什么人適合學習嵌入式本節(jié)主要講述嵌入式開發(fā)中會用到哪些核心知識,需要哪些核心技能,嵌入式開發(fā)
    發(fā)表于 12-24 07:39

    IIC的核心知識匯總,絕對實用

    IIC的核心知識匯總,絕對實用
    發(fā)表于 01-24 06:14

    RK3399 HDMI接口的知識匯總,絕對實用

    RK3399 HDMI接口的知識匯總,絕對實用
    發(fā)表于 03-07 06:53

    DLT-RK3288 Android背光驅動開發(fā)知識匯總,絕對實用

    DLT-RK3288 Android背光驅動開發(fā)知識匯總,絕對實用
    發(fā)表于 03-10 06:55

    掌握EMC核心知識——7天倒計時!

    賽盛技術第九期“EMC實戰(zhàn)特訓營“開課倒計時7天”!本期課特訓營將于12月18日正式開課,課程涵蓋電磁兼容(EMC)領域的核心知識。四位資深講師主講,團隊經驗累計超過70年,并結合賽盛技術公司19年
    的頭像 發(fā)表于 12-11 09:40 ?989次閱讀
    掌握EMC<b class='flag-5'>核心知識</b>——7天倒計時!

    迅為RK3576開發(fā)板高算力低成本工業(yè)級核心板卡開發(fā)平臺

    迅為RK3576開發(fā)板高算力低成本工業(yè)級核心板卡開發(fā)平臺
    的頭像 發(fā)表于 06-09 15:13 ?1781次閱讀
    迅為<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)</b>板高算力低成本工業(yè)級<b class='flag-5'>核心</b>板卡<b class='flag-5'>開發(fā)</b><b class='flag-5'>平臺</b>

    一文搞定RK平臺Wi-Fi/BT調試!從配置到問題解決全攻略

    在嵌入式 Linux 開發(fā)中,瑞芯微(Rockchip)平臺的 Wi-Fi 與藍牙調試是許多工程師的核心需求。無論是 RK3588、
    的頭像 發(fā)表于 02-09 16:57 ?1288次閱讀
    一文搞定<b class='flag-5'>RK</b><b class='flag-5'>平臺</b>Wi-Fi/BT<b class='flag-5'>調試</b>!從配置到問題解決全攻略

    RK平臺新聲卡添加與驅動調試指南

    在瑞芯微(RK平臺的嵌入式系統(tǒng)開發(fā)中,音頻功能的實現(xiàn)核心依賴于 Sound Card(聲卡)的正確配置與驅動調試
    的頭像 發(fā)表于 02-09 16:42 ?738次閱讀
    <b class='flag-5'>RK</b><b class='flag-5'>平臺</b>新聲卡添加與驅動<b class='flag-5'>調試</b>指南

    一文吃透RK平臺OTA升級開發(fā):從邏輯到調試的完整指南

    ,能讓開發(fā)者高效解決固件更新、功能迭代等問題。本文將從升級邏輯、核心技巧、調試要點到問題排查,全方位拆解 RK 平臺 OTA 升級
    的頭像 發(fā)表于 02-09 16:26 ?290次閱讀
    一文吃透<b class='flag-5'>RK</b><b class='flag-5'>平臺</b>OTA升級<b class='flag-5'>開發(fā)</b>:從邏輯到<b class='flag-5'>調試</b>的完整指南

    深入解析RK平臺編譯核心:build.sh的知識點、調試技巧與開發(fā)價值

    在瑞芯微(RK)Linux SDK 開發(fā)中,build.sh是整個編譯構建系統(tǒng)的“入口中樞”—— 它統(tǒng)一管理環(huán)境配置、命令解析、模塊構建與日志輸出,幾乎所有芯片(如 RK3588、RV1126)的固件編譯、內核構建、根文件系統(tǒng)定
    的頭像 發(fā)表于 02-03 16:02 ?1869次閱讀
    深入解析<b class='flag-5'>RK</b><b class='flag-5'>平臺</b>編譯<b class='flag-5'>核心</b>:build.sh的<b class='flag-5'>知識</b>點、<b class='flag-5'>調試</b>技巧與<b class='flag-5'>開發(fā)</b>價值

    RK?平臺?Vendor Storage?開發(fā)指南:基礎知識、流程與實用技巧

    在瑞芯微(RK平臺的嵌入式開發(fā)中,vendor_storage?是一個核心模塊,專門用于存儲?SN(序列號)、MAC?地址、DRM?密鑰等廠商專屬數(shù)據(jù)。它不僅提供了跨環(huán)境的數(shù)據(jù)讀寫能
    的頭像 發(fā)表于 11-22 07:11 ?633次閱讀
    <b class='flag-5'>RK</b>?<b class='flag-5'>平臺</b>?Vendor Storage?<b class='flag-5'>開發(fā)</b>指南:基礎<b class='flag-5'>知識</b>、流程與實用技巧

    深入解析U-Boot image.c:RK平臺鏡像處理核心邏輯

    的SD/NAND/SPI等啟動方式做了專屬適配。本文將拆解image.c的核心邏輯,梳理RK平臺鏡像處理的關鍵流程,幫助開發(fā)者理解和調試啟動
    的頭像 發(fā)表于 02-24 16:46 ?1432次閱讀
    深入解析U-Boot image.c:<b class='flag-5'>RK</b><b class='flag-5'>平臺</b>鏡像處理<b class='flag-5'>核心</b>邏輯