S3C2440的時鐘設置

    一個嵌入式系統中,晶振就像心臟。必須先確定晶振,設置好系統的時鐘,WDT,UART,PWM,TIMER等模塊才能正常工作。和51系列單片機相比,S3C2440的時鐘電路很複雜。首先通過引腳OM2,OM3來選擇時鐘源。點擊瀏覽下一頁

以TQ2440開發板爲例,OM2,OM3都接地,外接12M晶振,主時鐘源和USB時鐘源都是外部晶振。

S3C2440具有2個PLL(Phase Locked Loop:用來產生高頻的電路),一個是MPLL, 用於產生FCLK, HCLK, PCLK三種頻率, 這三種頻率分別有不同的用途:

FCLK是CPU提供的時鐘信號,如果提到CPU的主頻是400MHz,就是指的這個時鐘信號。


HCLK是爲AHB總線提供的時鐘信號, Advanced High-performance Bus,主要用於高速外設,比如內存控制器,中斷控制器,LCD控制器, DMA 以及USB host 。


PCLK是爲APB總線提供的時鐘信號,Advanced Peripherals Bus,主要用於低速外設,比如WATCHDOG,IIS, I2C, SDI/MMC, GPIO,RTC ,UART,PWM,ADC and SPI等等。


另外一個是UPLL,專門用於驅動USB host/Device。並且驅動USB host/Device的頻率必須爲48MHz。 

 

時鐘電路相關寄存器總共有7個,下面分別介紹。

MPLLCON(0X4C00 0004)和UPLLCON(0X4C00 0008)

這兩個寄存器用來設置主鎖相環產生的時鐘和USB鎖相環產生的時鐘。

MPLL=(2*m*Fin)/(p*2^s)    UPLL=(m*Fin)/(p*2^s)

其中m=(MDIV+8),p=(PDIV+2),s=SDIV
P,M範圍:1<=P<=62,1<=M<=248

注意:MDIV[19:12],PDIV[9:4],SDIV[1:0],當設置MPLL和UPLL值的時候,需要先設置UPLL再設置MPLL。

例如:MPLLCON = (92<<12) | (1<<4) |(1);//FCLK=400M
這裏MDIV=92,PDIV=1,SDIV=1,那麼m=100,p=3,s=1,且Fin=12M,所以FCLK=400M

 

CLKCON(0X4C00 000C) 控制各種模塊如SPI,IIC,UART等的時鐘電路開關以及系統的SLEEP,IDLE模式,以便降低系統功耗。默認值是全部時鐘電路打開,系統工作在正常模式。

 

CLKSLOW(0X4C00 0010)用來選擇系統是否進入慢模式,以及是否關閉MPLL或UPLL,和在慢模式下的分頻率。

 

CLKDIVN(0X4C00 0014)和CAMDIVN(0X4C00 0018照相機時鐘分割寄存器)兩個寄存器配合來確定FCLK,HCLK,PCLK的比例。

 

LOCKTIME(0X4C00 0000)設置MPLL,UPLL的鎖存時間,採用默認值0XFFFF FFFF,鎖存時間各爲300us。

說到鎖存時間,就要分析下S3C2440的時鐘工作過程。

在系統復位時,晶振起振穩定後,PLL開始按照默認值開始工作,但是在復位時,PLL工作是不穩定的,所以S3C2440用FIN(12M)作爲MPLL。只到一個新的值寫入MPLLCON,UPLLCON,即使用戶不想改變復位後PLLCON的默認值,仍然需要把這個默認值寫入PLLCON,寫入值之後,系統會自動插入一個PLL LOCK TIME,也就是LOCKTIME寄存器中設置的300us。300us後,PLL就開始正常工作。

在系統正常工作時,如果要改變FCLK,寫入新值到MPLLCON後,系統也會插入一個PLL LOCK TIME,300us後FCLK就變成新的頻率。

 

S3C2440文檔裏有個注意的地方:

如果HDIVN不爲0,根據如下指令,CPU總線模式從Fast Bus Mode 變爲Asynchronous(異步總線模式),2440沒有同步總線模式)

MMU_setAsyncBusMode

mrc p15,0,r0,c0,0

orr r0,r0,#R1_nF:OR:R1_iA

mcr P15,0,r0,c1,c0,0

如果HDIVN不爲0,且CPU總線模式爲Fast Bus mode,CPU的時鐘爲HCLK.,這種方式可以用在將CPU頻率降低,但是卻又不改變HCLK和PCLK.

 

查了些資料,ARM內核在啓動後工作在快速模式,改變HDIVN值後,就要進入異步模式。轉換的具體原因涉及到ARM內核。目前還沒辦法弄懂,ARM的學習就像走進一條不知道多長的隧道,難見光明。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章