天天看點

Part7-時鐘初始化_lesson1

1、概念解析

1.1時鐘脈沖信号

Part7-時鐘初始化_lesson1

1.2時鐘脈沖頻率

Part7-時鐘初始化_lesson1

1.3時鐘源(提供時鐘脈沖信号)

a、晶振

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

b、鎖相環PLL

Part7-時鐘初始化_lesson1

2、時鐘體系

2440:

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

晶振的頻率、時鐘體系有多少個PLL、這些PLL分别産生了哪些時鐘、産生的時鐘用來做什麼的。

采用的是12MHZ,總共有2個PLL分别是MPLL、UPLL,MPLL産生了FCLK、HCLK、PCLK,UPLL産生了UCLK。

Part7-時鐘初始化_lesson1

6410:

12MHZ晶振,有三個PLL:APLL(産生ARMCLK)、MPLL(産生HCLK、PCLK)、EPLL(産生SCLK);

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

3、思維導圖設計

1)、時鐘初始化流程圖

2440與6410:

Part7-時鐘初始化_lesson1

一上電cpu以晶振頻率運作,是以要利用軟體對PLL進行配置,使cpu工作在高頻,配置完鎖相環之後,有一段lock time時間,處理器是不工作的,經過這個lock time時間後,cpu就會按照配置的高頻運作了。

配置:

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

4、代碼編寫

1)設定lock time一般我們選擇預設值,

2)設定分頻系數(FCLK、HCLK以及PCLK的比例關系)

初學者不知道怎麼選擇這個稀疏,一般參考uboot(選擇的是1:4:8)。

Part7-時鐘初始化_lesson1

3)設定異步模式

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

因為讓最高兩位做或的操作,就是讓他們都為1.

5、設定ARM核的頻率

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

6410:

1、lock time的設定

Part7-時鐘初始化_lesson1

2、配置分頻系數

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

3、設定CPU工作在異步模式

Part7-時鐘初始化_lesson1

OTHERS寄存器的第六位也要為0,因為

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

4、設定APLL以及MPLL的輸出頻率

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

5、選擇後續時鐘源

Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1
Part7-時鐘初始化_lesson1

6、代碼如下:

Part7-時鐘初始化_lesson1

補充:時鐘源的選擇---當外部複位信号被聲明時,OM[4:0]引腳決定了S3C6410的操作模式。OM[0]引腳選擇外部時鐘源,例如,如果OM[0]是0,則XXTIPll(外部晶體)被選擇。否則,XEXTCLK被選擇。友善之臂的電路圖如下:

Part7-時鐘初始化_lesson1

它的啟動模式選擇電路圖如下:

Part7-時鐘初始化_lesson1