图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电路的复位控制,不会复位芯片的状态。
评论
查看更多