娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

Tiny210---時鐘系統

發布者:VelvetSoul最新更新時間:2025-02-07 來源: cnblogs關鍵字:Tiny210  時鐘系統  倍頻器 手機看文章 掃描二維碼
隨時隨地手機看文章

1.S5PV210時鐘系統

如圖1:

 

 

S5PV210中包含3大類時鐘domain:

1)       MSYS(主系統時鐘) 用來給cortex a8處理器,dram控制器,3D,IRAM,IROM,中斷控制器等提供時鐘。

2)       DSYS(顯示相關的時鐘) 用來給顯示相關的部件提供時鐘,包括FIMC, FIMD, JPEG, and multimedia IPs。

3)       PSYS(外圍設備的時鐘) 用來給外圍設備提供時鐘,如i2s, spi,i2c,uart等。

這三個區域都是AMBA總線,AMBA總線分為AHB和APB兩種總線每種總線都有不同的時鐘頻率。如下圖2:

 

AHB對應HCLK,APB對應PCLK,

FCLK   is used by ARM920T,內核時鐘,主頻。

HCLK   is used for AHB bus, which is used by the ARM920T, the memory controller, the interrupt controller, the LCD controller, the DMA and USB host block. 也就是總線時鐘,包括USB時鐘。

PCLK   is used for APB bus, which is used by the peripherals such as WDT, IIS, I2C, PWM timer, MMC interface, ADC, UART, GPIO, RTC and SPI.即IO接口時鐘,例如串口的時鐘設置就是從PCLK來的。

 

那么MSYS,DSYS,PSYS最少有6個時鐘(實際上不止6個):HCLK_MSYS/PCLK_MSYS、HCLK_DSYS/PCLK_DSYS、HCLK_PSYS/PCLK_PSYS,再外加一個CPU要用的時鐘ARMCLK,總共7個時鐘頻率。

 

由圖3可知最后,總共有13個CLK提供出來。

由圖4可以知道S5PV210共有4個倍頻器即PLL,包括APLL,MPLL,EPLL,VPLL.

 P448

 

void clock_init() 

    // 1 設置各種時鐘開關,暫時不使用PLL 
    CLK_SRC0 = 0x0; 
    // 2 設置鎖定時間,使用默認值即可 
    APLL_LOCK = 0x0000FFFF; 
    MPLL_LOCK = 0x0000FFFF; 
    // 3 設置分頻 
    CLK_DIV0 = 0x14131440; 
    // 4 設置PLL 
    APLL_CON0 = APLL_VAL;
    MPLL_CON = MPLL_VAL; 
    // 5 設置各種時鐘開關,使用PLL 
    CLK_SRC0 = 0x10001111; 

 

第一步 、設置各種時鐘開關,暫時不使用PLL。

首先我們需要選擇使用外接24MHz晶振,由時鐘系統圖可知,APLL和MPLL的時鐘源由“FINPLL”決定,在芯片手冊中搜索“FINPLL”,可知相關寄存器為CLK_SRC0,

如圖3

在未設置PLL和各種分頻系數之前,我們不能使用PLL,為了保險起見,暫時直接使用頻率較低的外接的24MHz晶振,待設置好PLL和分頻系數后再重新設置各種時鐘開關。所以設置為0x00。

 

第二步 、設置鎖定時間
設置PLL后,時鐘從Fin提升到目標頻率時,需要一定的時間,即鎖定時間。

第三步 、設置分頻
與分頻相關的寄存器是CLK_DIV0,見下圖4:

 

第四步 、設置PLL

PLL即倍頻器,用來放大運行頻率。設置好分頻后,我們就需要設置PLL了。APLL/MPLL的啟動是通過設置APLL_CON0/MPLL_CON寄存器,我們逐個來設置。

ALPP_CON0負責設置APLL,FINPLL=24MHz,經過APLL后,我們將輸 出FOUT=1000Mhz的時鐘頻率,FOUT的計算公式如下: FOUT=MDIV*FIN/(PDIV*2^(SDIV-1)) = 1000 MHz ,由于FIN=24MHz,FOUT=1000MHz,我們可以這樣取值: MDIV= 0x7d,PDIV= 0x3,SDIV=1。這3個值并不是固定死的,只要能使FOUT=1000Mhz,任意搭配都是可以的。

MPLL_CON寄存器負責設置MPLL,經過MPLL后,我們將輸出FOUT=667Mhz的時鐘頻率,FOUT的計算公式如下: FOUT=MDIV*FIN/(PDIV*2^SDIV) = 667 MHz 由于FIN=24MHz,FOUT=667MHz,我們可以這樣取值: MDIV=0x29B, PDIV= 0xC,SDIV=1。這3個值并不是固定死的,只要能使FOUT=667Mhz,任意搭配都是可以的。

第五步 設置各種時鐘開關

在時鐘系統圖中,所有的MUX都是用來選擇時鐘的,相關寄存器是CLK_SRC0

參考S5PV210時鐘設置參考圖,設置各種時鐘開關: 
APLL_SEL=1,使用FOUTAPLL 
MPLL_SEL=1,使用FOUTMPLL 
EPLL_SEL=1,使用FOUTEPLL 
VPLL_SEL=1,使用FOUTVPLL 
MUX_MSYS_SEL=0,使用SCLKAPLL 
MUX_DSYS_SEL=0,使用SCLKMPLL 
MUX_PSYS_SEL=0,使用SCLKMPLL 
ONENAND_SEL=1,使用HCLK_DSYS 
所以CLK_SRC0=0x10001111;


關鍵字:Tiny210  時鐘系統  倍頻器 引用地址:Tiny210---時鐘系統

上一篇:S5PV210 三個Camera Interface/CAMIF/FIMC的區別
下一篇:libnfc移植到ARM上

推薦閱讀最新更新時間:2025-04-17 10:09

STM32入門系列-STM32時鐘系統時鐘初始化配置函數
在前面推文的介紹中,我們知道STM32系統復位后首先進入SystemInit函數進行時鐘的設置,然后進入主函數main。那么我們就來看下SystemInit()函數到底做了哪些操作,首先打開我們前面使用庫函數編寫的LED程序,在system_stm32f10x.c文件中可以找到SystemInit()函數,SystemInit()代碼如下: void SystemInit (void) { /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ /* Set HSION bit */ RCC- CR |= (ui
[單片機]
MSP432P401R時鐘系統
MSP432P401R時鐘系統 MSP432的時鐘模塊(CS),個人理解msp432最特色的功能應該是超低功耗和高性能的組合。432系列的時鐘系統主要有三個方面: 1、硬件時鐘–時鐘源;    基礎 2、時鐘映射–控制轉換;   轉換 3、時鐘設置–軟件控制;   配置 一、時鐘源: 1.1 LFXTCLK:外部低頻時鐘源,一般為32.768kHz晶振或者外部時鐘 1.2 VLOCLK:內部低功耗低頻時鐘,9.4kHz 1.3 REFOCLK :內部低功耗低頻時鐘,32.768kHz或128kHz 1.4DCOCLK:內部可調數字時鐘, 典型值3MHz 1.5 MODCLK:內部低功耗時鐘,典型值25MHz 1.6 HFXTC
[單片機]
快速學Arm(22)--lpc2300系統時鐘
這些天又忙著一些活,沒有時間來看Arm.開發板要從2478改為2378,我就又開始翻看2378的資料.其實二者差不多,不過2478支持LCD,而2378不支持,其他的大同小異. 前面講過了一些關于時鐘,PLL之類的東西,不過我本人也在學習的過程中.如果拿開發板提供的C語言的模板直接寫程序,快速上手應該不是難事,索性沒有特別緊迫的活,學得細一點沒什么壞處.查看了一些資料,再來分析一下系統時鐘. 和前面講得很像,LPC2300系列ARM有3個時鐘源,分別是主振動器,內部RC振動器,RTC振動器,每個振動器可根據不同應用要求選擇使用.上面就是示意圖.其中:內部RC振動器頻率為4MHz,可用作看門狗定時器時鐘源,RTC時鐘源,
[單片機]
快速學Arm(22)--lpc2300<font color='red'>系統</font><font color='red'>時鐘</font>
MSP430F5529時鐘系統深究
1、為什么要進行時鐘管理?   時鐘系統是一個數字器件的命脈,對于普通的51單片機來說,它的時鐘來源只有外部晶振,然后每12個振蕩周期完成一個基本操作,所以也叫做12T單片機,但對于當前高級一點的單片機來說,比如MSP430F5529有5個時鐘來源,經過UCS(Unified Clock System,通用時鐘系統)模塊之后,產生MCLK(Master Clock),SMCLK(Subsystem master clock ),ACLK(Auxiliary clock)三個時鐘;對于更高端的單片機,比STM32F103ZET6里面有專門用來管理時鐘的RCC單元(Reset Clock Control),也就是通常所說的時鐘樹,
[單片機]
MSP430F5529<font color='red'>時鐘</font><font color='red'>系統</font>深究
【STM32F103攻城筆記】內部晶振HSI倍頻設置系統時鐘
首先說明,因為STM32芯片的型號不同,所以對于不同芯片有不同頻率的限制,比如某些時鐘頻率不能大于多少,這是根據手冊來設置的!但改變頻率的寄存器都一樣,只是我們設置頻率大小要受芯片的限制!下面我用的芯片型號是STM32F103VBT6!它就限制了內部晶振的倍頻不能大于64MHz(但其實我實驗出來是52MHz)! 本文是利用內部晶振(HSI)來倍頻,與外部晶振倍頻區分開! 第一步:打開system_STM32f10x.c,找到函數void SystemInit (void){},把原有的都注釋掉,將下面的代碼復制進去: /* 開啟HSI 即內部晶振時鐘 */ RCC- CR |= (uint32_t)0x
[單片機]
【STM32F103攻城筆記】內部晶振HSI倍頻設置<font color='red'>系統</font><font color='red'>時鐘</font>
STM32F03開發板--系統時鐘設置SysTick
首先我先分析下startup_stm32f0xx.s啟動代碼,其中 /* Call the clock system intitialization function.*/ bl SystemInit /* Call the application's entry point.*/ bl main 發現開發板上電啟動過程中,先調用了SystemInit()函數,再進入main()函數。 SystemInit()函數在文件system_stm32f0xx.c中,它的作用是設置系統時鐘SYSCLK。 下面是SystemInit()源碼: void SystemInit (void) { /* Set HSION bi
[單片機]
STM32F03開發板--<font color='red'>系統</font><font color='red'>時鐘</font>設置SysTick
ARM·系統時鐘(MPLL,UPLL)
【程序設計】 clock_int函數用于設置MPLL,2440A的輸入時鐘頻率Fin為12Mhz,將FCLK,HCLK,PCLK分別設為200MHz,100MHz,50MHz 思路:分頻就是2步 1):設置MPLL(把12MHz倍頻) 2):設置CLKDIVN(把MPLL分頻) 【代碼詳解】 #include s3c24xx.h void disable_watch_dog(void); void clock_init(void); void memsetup(void); void copy_steppingstone_to_sdram(void); void disable_wat
[單片機]
采用FPGA設計SDH光傳輸系統設備時鐘
  SDH設備時鐘(SEC)是SDH光傳輸系統的重要組成部分,是SDH設備構建同步網的基礎,也是同步數字體系(SDH)可靠工作的前提。SEC的核心部件由鎖相環構成。網元通過鎖相環跟蹤同步定時基準,并通過鎖相環的濾波特性對基準時鐘在傳輸過程中產生的抖動和漂移進行過濾。而當基準源不可用時,則由SEC提供本地的定時基準信息,實現高質量的時鐘輸出。   SEC需要滿足ITU-T G.813建議 中的相關指標要求。SEC可以工作在自由振蕩、跟蹤、保持三種模式下,并且能夠在三種模式之間進行平滑切換。由于ITU-T G.813建議規定的SEC帶寬較窄(-3db帶寬在1~10Hz內),且需要在三種工作模式下輸出穩定的時鐘,同時還要保證在三種模式
[嵌入式]
采用FPGA設計SDH光傳輸<font color='red'>系統</font>設備<font color='red'>時鐘</font>
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 日土县| 彭阳县| 航空| 南丰县| 天津市| 师宗县| 舞阳县| 双鸭山市| 安宁市| 海林市| 格尔木市| 龙岩市| 岗巴县| 时尚| 舟山市| 桂平市| 景泰县| 唐山市| 桐乡市| 滨州市| 大埔县| 宁强县| 贵南县| 卢龙县| 页游| 商南县| 奇台县| 广宗县| 肃宁县| 克拉玛依市| 五河县| 长治市| 隆德县| 陆川县| 定远县| 山东| 三穗县| 凤山县| 临澧县| 濮阳县| 新余市|