系统控制模块概述
系统控制模块包括一些系统构件和控制寄存器,它们具有众多与芯片内其它外设无关的功能。系统控制模块包括:系统时钟单元、复位、外部中断输入、存储器映射控制、功率控制和唤醒定时器。
系统时钟
系统时钟概述
cpu正常工作需要有合适的时钟信号,包括arm7内核使用的cclk时钟,和芯片外设使用的pclk时钟。
通过lpc2000系列微控制器的时钟产生单元产生arm7内核和芯片外设正常工作所需要的时钟节拍。
晶体振荡器
lpc2000微控制器可以使用内部的晶体振荡器产生时钟信号,也可以从外部引入时钟信号。
使用从属模式时,时钟信号通过x1引脚从外部输入,输入频率范围:1~50(mhz),其幅度不小于200m vrms。
使用振荡模式时,时钟信号由内部晶体振荡器和外部连接的晶体振荡产生,振荡频率范围:1~30(mhz)。
注意:如果使用了isp下载功能或者连接pll提高频率,则输入的时钟频率范围必须在10~25(mhz)之间。
锁相环(pll)
由晶体振荡器输出的时钟信号,通过pll升频,可以获得更高的系统时钟(cclk)。
pll接受的输入时钟频率范围为10~25mhz,通过一个电流控制振荡器(cco)倍增到10~60mhz。
pll内部结构
pll相关寄存器
回路锁定后:fosc = fcco / (2p × m)
fclk = fosc × m
fosc:晶振频率; fcco :cco振荡器输出频率fcclk:处理器时钟频率; m:pll倍频值 p:pll分频值
必须满足的条件:
fosc范围:10mhz~25mhz; fcclk范围:10mhz~60mhz; fcco范围:156mhz~320mhz;
锁相环(pll)计算流程
(1)、根据处理器的整体要求、uart波特率的支持等因素来决定。外围器件的时钟频率可以低于处理器频率
(2)、cclk 必须为fosc的整数倍。
(3)、m = cclk / fosc,取值范围1~32。写入msel的值为(m-1)。
(4)、选择合适的p值,使fcco在限制范围内。p只能取1、2、4或8。写入psel的值为p。
锁相环(pll)计算实例
系统要求:fosc=10mhz、cclk= 60mhz
1.计算m值:m= cclk / fosc =6 ;
2.设置msel位:写入值为(m-1)=5;
3. 设置psel位:p=fcco/(cclk×2)
=(156~320)/120=1.3~2.67
所以p取整数2,psel写入值为2。
锁相环(pll)注意要点
(1)pll在芯片复位或进入掉电模式时被关闭并旁路,在掉电唤醒后不会自动恢复pll的设定;
(2)pll只能通过软件使能;
(3)pll在激活后必须等待其锁定,然后才能连接;
(4)pll如果设置不当将会导致芯片的错误操作。
vpb分频器
vpb分频器将pll输出的时钟信号分频后作为芯片外设的时钟。
vpb分频器决定处理器时钟(cclk)与外设器件所使用的时钟(pclk)之间的关系。
下面讲一下,的vpb用途:
(1)vpb用途1:通过vpb总线为外设提供所需的pclk时钟,以便外设在合适的速度下工作;
(2)vpb用途2:在应用不需要任何外设全速运行时使功耗降低。