?
圖2.3 MAIN PLL框圖
下面以MainPLL的Main PLL clock 1輸出為例說明時鐘的配置方法,MAINPLL_FREQ1寄存器定義見表3,MAINPLL_DIV1寄存器定義見表4.
表3 MAINPLL_FREQ1寄存器
?
表4 MAINPLL_DIV1寄存器
?
Main PLL clock 1輸出頻率計算公式如下:
?
PLL_FREQ寄存器小數分頻系數MAIN_FRACFREQ1部分的計算方法是:
DecToHex(Fraction * 2 24),如0.5的16進制小數=(0.5*224)= 0x800000。
同時需要注意的是PLL_FREQ的整數系數INTFREQ必須大于或等于8。
SYSCLK1的時鐘輸出為:
?
E為PRCM的CM_SYSCLK1_CLKSEL[CLKSEL]分頻系數選擇。
2.電源,復位,控制模塊配置
PRCM(Power Reset Control Module)是系統控制的樞紐。一方面控制系統模塊的正常供電,一方面可以將不用的模塊關閉達到省電的目的。
2.1 電源管理
電源管理模塊控制電源域的使能與關閉,共有的四個電源域為: Always On,Default, Active,SGX,視頻協處理器電源域IVAHD0,IVAHD1,IVAHD2是DM816x特有的。Always On電源域不能關閉,其它電源域由相應的PRCM.PM__PWRSTCTRL[POWERSTAT]寄存器控制電源的開關:
● PM_ACTIVE_PWRSTCTRL控制GEM,HDMI,HDD_SS.
● PM_DEFAULT_PWRSTCTRL控制TPDMA,DMM,DDR0/1,USB0/1,SATA,PCI,TPPSS,M3.
● PM_SGX_PWRSTCTRL控制3D圖形模塊。
● 三個視頻協處理分別由PM_IVAHD0_PWRSTCTRL,PM_IVAHD1_PWRSTCTRL,PM_IVAHD2_PWRSTCTRL控制。
通常一個電源域下包含多個模塊,如果同一電源域的某模塊需要繼續使用,則只能關閉其它不用的模塊的時鐘來達到省電的目的,而不能關閉整個電源域。
為了進一步達到省電的目的,對于使能的模塊,可以通過_SYSCONFIG. MIDLEMODE 或者 >Module>_SYSCONFIG寄存器的STANDBYMODE設置將其配置為smart-standby模式,在其沒有操作的時候,模塊自動關閉時鐘進入省電狀態,在有操作的時候,自動打開時鐘。不是每個模塊都可配置STANDYMODE,需要檢查相應的模塊是否有上述兩個寄存器之一。
2.2復位管理
芯片的復位分為兩大類:系統級復位和模塊級Local Reset。
2.2.1 系統級復位
表5列出了系統級復位的不同復位信號源分類,以及對芯片的不同影響。
表5 系統級復位分類
?
芯片的硬件復位分為上電復位(POR)和熱復位(WARM Reset),區別是Warm Reset不會復位仿真器的狀態,如果仿真器處于連接狀態則不會斷連。這兩種硬件復位都會讓芯片重新Boot.
PRCM的PRM_RSTCTRL寄存器控制用來設置以下兩種軟件全局復位:
● 軟件全局冷復位(Software Cold Global Reset)。
●軟件全局熱復位(Software Warm Global Reset) .
這兩種復位都不會使芯片重新Boot,區別同樣是軟件全局熱復位不會復位仿真邏輯。
仿真器復位,看門狗復位與PRCM的Software Warm Global Reset的作用是一樣的。
TRST復位是通過仿真器對芯片JTAG電路的復位控制,不會復位芯片的狀態。
評論
查看更多