參考:
1)《USER'S MANUAL-S3C6410X》第三章 SYSTEM CONTROLLER
2)u-boot/board/samsumg/smdk6410/lowlevel_init.S
1. PLL與CLK的關(guān)系:
詳細(xì)關(guān)系圖見(jiàn)用戶手冊(cè)122頁(yè)Figure 3-2 The block diagram of clock generator。
三種PLL:APLL,MPLL,EPLL
四種CLK:ACLK,HCLK,PCLK
1)APLL產(chǎn)生ACLK,,ACLK為CPU提供時(shí)鐘;
2)同步模式下APLL產(chǎn)生HCLK/PCLK,異步模式下MPLL產(chǎn)生HCLK/PCLK,HCLK為AXI/AHB總線上的外設(shè)提供時(shí)鐘,PCLK為APB總線上的外設(shè)提供時(shí)鐘;
3)EPLL主要為音頻相關(guān)的外設(shè)提供時(shí)鐘;
2. 時(shí)鐘初始化的步驟
假設(shè)我們的目標(biāo)時(shí)鐘大小為:
ACLK: 532M
HCLK: 133M
PCLK: 66.5M
1)設(shè)置同步/異步模式
寄存器:OTHERS
地址:0x7E00F900
方法:
同步模式:設(shè)置[7][6]位為11,等待[11:8]位變成1111;
異步模式:設(shè)置[7][6]位為00,等待[11:8]位變成0000;
2)設(shè)置各PLL的鎖定時(shí)間
寄存器:
APLL_LOCK
MPLL_LOCK
EPLL_LOCK
地址:
0x7E00F000
0x7E00F004
0x7E00F008
方法:
將三種PLL的鎖定時(shí)間均設(shè)成最大值0xffff。
3)設(shè)置各CLK的分頻系數(shù)
寄存器:
CLK_DIV0
地址:
0x7E00F020
方法:
各個(gè)CLK的輸出頻率,輸入頻率,分頻系數(shù)的關(guān)系如下圖:
為了得到預(yù)期的頻率(532_133_66),各個(gè)RATIO取如下值:
#define PCLK_RATIO 3 //PCLK=266M/(3+1)=66.5M
#define HCLKX2_RATIO 1 //HCLKX2=532/(1+1)=266M
#define HCLK_RATIO 1 //HCLK=266/(1+1)=133M
#define MPLL_RATIO 1
#define ARM_RATIO 0 //ACLK=532M/(0+1)=532M
#define CLK_DIV0_VAL
((PCLK_RATIO<<12)|(HCLKX2_RATIO<<9)|(HCLK_RATIO<<8)|(MPLL_RATIO<<4)|(ARM_RATIO))
4)設(shè)置各PLL的輸出頻率
寄存器:
APLL_CON
MPLL_CON
EPLL_CON0
EPLL_CON1
地址:
0x7E00F00C
0x7E00F010
0x7E00F014
0x7E00F018
方法:
(1)APLL/MPLL
APLL_CON/MPLL_CON中有三個(gè)參數(shù):MDIV,PDIV,SDIV共同決定APLL/MPLL的輸出頻率:
FOUT = MDIV * FIN / (PDIV * 2^SDIV)
FIN,F(xiàn)OUT,MDIV,PDIV,SDIV的常見(jiàn)組合如下:
這里我們要產(chǎn)生533M的APLL/MPLL,故MDIV,PDIV,SDIV的取值如下:
#define APLL_MDIV 266
#define APLL_PDIV 3
#define APLL_SDIV 1
#define APLL_CON_VAL ((1<<31)|(APLL_MDIV<<16)|(APLL_PDIV<<8)|(APLL_SDIV))
#define MPLL_MDIV 266
#define MPLL_PDIV 3
#define MPLL_SDIV 1
#define MPLL_CON_VAL ((1<<31)|(MPLL_MDIV<<16)|(MPLL_PDIV<<8)|(MPLL_SDIV))
(2)EPLL
EPLL_CON0和EPLL_CON1中四個(gè)參數(shù):MDIV,PDIV,SDIV,KDIV共同決定EPLL的輸出頻率:
FOUT = (MDIV + KDIV / 2^16 ) * FIN / (PDIV * 2 ^SDIV)
FIN,F(xiàn)OUT,MDIV,PDIV,SDIV,KDIV的常見(jiàn)組合如下:
這里我們要產(chǎn)生96M的EPLL,故MDIV,PDIV,SDIV,KDIV的取值如下:
#define EPLL_MDIV 32
#define EPLL_PDIV 1
#define EPLL_SDIV 2
#define EPLL_KDIV 0
#define EPLL_CON0_VAL ((1<<31)|(EPLL_MDIV<<16)|(EPLL_PDIV<<8)|(EPLL_SDIV))
#define EPLL_CON1_VAL (EPLL_KDIV)
5)選擇時(shí)鐘源
寄存器:
CLK_SRC
地址:
0x7E00F01C
方法:
我們選擇PLL的輸出作為時(shí)鐘源,設(shè)置CLK_SRC的低三位為111。
3. 時(shí)鐘初始化的匯編代碼實(shí)現(xiàn)
clock.S
/*
ACLK: 532M
HCLK: 133M
PCLK: 66M
*/
#include 'clock.h'
.global clock_init
clock_init:
ldr r0, =ELFIN_CLOCK_POWER_BASE
/*step1: set synchronous mode*/
ldr r1, [r0, #OTHERS_OFFSET]
mov r2, #0x40
orr r1, r1, r2
str r1, [r0, #OTHERS_OFFSET]
nop
nop
nop
nop
nop
mov r2, #0x80
orr r1, r1, r2
str r1, [r0, #OTHERS_OFFSET]
check_syncack:
ldr r1, [r0, #OTHERS_OFFSET]
mov r2, #0xf00
and r1, r1, r2
cmp r1, #0xf00
bne check_syncack
/*step2: set pll lock time*/
mov r1, #0xff00
orr r1, r1, #0xff
str r1, [r0, #APLL_LOCK_OFFSET]
str r1, [r0, #MPLL_LOCK_OFFSET]
str r1, [r0, #EPLL_LOCK_OFFSET]
/*step3: set clk divider ratio*/
ldr r1, [r0, #CLK_DIV0_OFFSET]
bic r1, r1, #0xff00
bic r1, r1, #0x00ff
ldr r2, =CLK_DIV0_VAL
orr r1, r1, r2
str r1, [r0, #CLK_DIV0_OFFSET]
/*step4: set pll output frequency*/
ldr r1, =APLL_CON_VAL
str r1, [r0, #APLL_CON_OFFSET]
ldr r1, =MPLL_CON_VAL
str r1, [r0, #MPLL_CON_OFFSET]
ldr r1, =EPLL_CON0_VAL
str r1, [r0, #EPLL_CON0_OFFSET]
ldr r1, =EPLL_CON1_VAL
str r1, [r0, #EPLL_CON1_OFFSET]
/*step5: set clk src*/
ldr r1, [r0, #CLK_SRC_OFFSET]
mov r2, #0x7
orr r1, r1, r2
str r1, [r0, #CLK_SRC_OFFSET]
/*wait at least 200us to stablize all clock*/
mov r1, #0x10000
1: subs r1, r1, #1
bne 1b
mov pc, lr
4. 實(shí)驗(yàn)驗(yàn)證
編寫一個(gè)流水燈的裸機(jī)程序,對(duì)比進(jìn)行時(shí)鐘初始化和不進(jìn)行時(shí)鐘初始化兩種情況下流水燈閃爍的快慢。
頻率對(duì)比如下:
APLL | MPLL | EPLL | ACLK | HCLKX2 | HCLK | PCLK | |
默認(rèn)值(M) | 400 | 133 | 97.7 | 400 | 133 | 133 | 66.5 |
當(dāng)前值(M) | 532 | 266 | 96 | 532 | 266 | 133 | 66.5 |
不進(jìn)行時(shí)鐘初始化時(shí),CPU的默認(rèn)頻率是400M,
進(jìn)行時(shí)鐘初始化后,CPU的頻率是532M,
故在時(shí)鐘初始化的情況下,流水燈的閃爍速度要快一些。
上一篇:s3c6410_uart初始化及讀寫
下一篇:飛凌開發(fā)板:S3C6410 之裸機(jī)程序燒寫
推薦閱讀最新更新時(shí)間:2025-06-07 23:43





設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無(wú)線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁(yè)和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- LTM4602HV 演示板、28V、6A 降壓模塊穩(wěn)壓器
- PCB書簽 尺子 卡片
- PeanutPI
- 平衡自行車+獨(dú)輪車
- AM1DR-1209SZ 9V 1 瓦 DC-DC 轉(zhuǎn)換器的典型應(yīng)用
- NCV33074ADR2G 直流耦合反相放大器最大輸出擺幅的典型應(yīng)用
- 【明日方舟】羅德島本艦主控板V6.2
- DC795A,使用 LT5527EUF 4.5V 至 5.25V 高線性下變頻混頻器的演示板
- XL4016可調(diào)恒壓恒流實(shí)驗(yàn)電源
- 帶內(nèi)部開關(guān)的 PAM2863 2A LED 驅(qū)動(dòng)器的典型應(yīng)用
- 接觸回路電阻測(cè)試儀現(xiàn)場(chǎng)測(cè)試中的問(wèn)題
- 現(xiàn)代摩比斯將電子動(dòng)力總成系統(tǒng)集成到電動(dòng)汽車底盤中
- s3c2440學(xué)習(xí)之路-001 匯編點(diǎn)亮led
- 5G創(chuàng)新入深港,產(chǎn)業(yè)和創(chuàng)業(yè)雙熱潮共筑生態(tài)
- 電池供電的泰克示波器TPS2000B,選型人了解一下
- 第十八章:Android LCD(四):LCD驅(qū)動(dòng)調(diào)試篇
- 戴爾選擇豪威集團(tuán)的OV02C為下一代筆記本1080p網(wǎng)絡(luò)攝像頭性能
- 汽車行業(yè)平穩(wěn)增長(zhǎng)離不開芯片相關(guān)的穩(wěn)增長(zhǎng)舉措
- NRT通過(guò)式功率計(jì)的功能特點(diǎn)及適用范圍
- 為什么電源紋波測(cè)試結(jié)果與理論設(shè)計(jì)如此之大?
- UWB信標(biāo)與LoRa基站網(wǎng)關(guān)數(shù)據(jù)區(qū)別在哪里?
- 什么是AI 同傳技術(shù)
- 人工智能處理器和加速器到底是什么?
- PWM控制(脈沖寬度調(diào)制)的基本原理是什么
- 如何設(shè)計(jì)帶集成運(yùn)放構(gòu)成的方波發(fā)生器
- DSP調(diào)度算法的基本概念和原理
- 什么是集成動(dòng)力總成? 集成動(dòng)力總成的優(yōu)勢(shì)在哪里
- 鐵威馬 D5/D8 Hybrid:精準(zhǔn)擴(kuò)容時(shí)代的“5+8”雙引擎
- MOMAX摩米士堅(jiān)守品質(zhì)承諾,移動(dòng)電源符合國(guó)家 CCC 認(rèn)證及航空UN38.3安全標(biāo)準(zhǔn)
- 中國(guó)機(jī)器學(xué)習(xí)開發(fā)平臺(tái)市場(chǎng)前景可期:預(yù)計(jì)2018至2024年的年復(fù)合增長(zhǎng)率為38.6%
- IDC先進(jìn)設(shè)備助力醫(yī)療科技不斷發(fā)展
- Mentor Tessent Safety 為自動(dòng)駕駛汽車 IC 設(shè)計(jì)提供更大靈活度
- Yole發(fā)布2020 ADAS傳感器市場(chǎng)報(bào)告
- TCL華星:或今年推LCD全屏單點(diǎn)屏內(nèi)指紋技術(shù)
- Redmi手機(jī):K40要做2021旗艦手機(jī)的焊門員
- 三星Galaxy Watch 3/Active 2心電圖監(jiān)測(cè)功能向其它31個(gè)市場(chǎng)推出
- HTC狀告魅族侵權(quán) 涉魅藍(lán)Note5手機(jī)外形
- 蘋果解決了iOS重大問(wèn)題:iPhone用戶終于放心了!
- Redmi K40相機(jī)重磅升級(jí):可望首次配備1億像素主攝
- altium16.1制造輸出IPC-2581和odb++格式都不行
- 求0.18um工藝庫(kù)和Hspice工藝庫(kù)
- 這個(gè)1100W的電阻用在UPS上怎么樣
- 開關(guān)電源變壓器磁滯損耗分析 -part1開關(guān)電源原理與設(shè)計(jì)(連載57)
- 變流器的問(wèn)題
- 2.4g轉(zhuǎn)usb可以做無(wú)線鼠標(biāo)有圖有程序大家一起學(xué)習(xí)
- 成功解決FPGA設(shè)計(jì)時(shí)序問(wèn)題的三大要點(diǎn)
- 大家對(duì)Type-C耳機(jī)了解多少?
- 【CY8CKIT-149 PSoC 4100S測(cè)評(píng)】+軟件安裝與程序下載
- 【工程源碼】基于FPGA的Modelsim修改波形顯示顏色