原创 VPB 时钟分频器 pclk cclk

2011-4-6 16:51 4550 5 5 分类: MCU/ 嵌入式
还有个问题,在LPC2100中的config.h中有: /* 系统设置, Fosc、Fcclk、Fcco、Fpclk必须定义*/ #define Fosc 11059200 //晶振频率,10MHz~25MHz,应当与实际一至 #define Fcclk (Fosc * 4) //系统频率,必须为Fosc的整数倍(1~32),且<=60MHZ #define Fcco (Fcclk * 4) //CCO频率,必须为Fcclk的2、4、8、16倍,范围为156MHz~320MHz #define Fpclk (Fcclk / 4) * 1 //VPB时钟频率,只能为(Fcclk / 4)的1、2、4 是不是只要改以上的数字就可以改系统频率、CCO频率、VPB频率 我怎么觉得target.c中与PLL有关的代码也要改呀, #define Fosc 11059200 //晶振频率11。0592M #define Fcclk (Fosc * 5) //系统频率55。296M #define Fcco (Fcclk * 4) //CCO频率221.184 #define Fpclk (Fcclk / 4) * 4 这样改是正确的吗?? 答:1、VPB总线频率可以和ARM处理器时钟相同; 2、您上面的配置是对的。 您的这句话也是对的“有些外设可以在ARM的最高频率下工作,而有些外设(比如说是低速的外设)不能直接在ARM处理器的最高频率下工作,而ARM为了为了弥补这一点,就通过这个分频器来降低VPB总线的频率..” 如果您需要使用高速外设的话,是可以将VPBDIV配置为01。 在ARM后来的产品中甚至可以为每一个外设单独配置VPB时钟分频,这样就弥补了高速外设将就低速外设的情况,例如LPC2300系列。 VPB 分频器决定处理器时钟(cclk)和外设时钟(pclk)之间的关系。 VPB 分频器有两个用途。第一 通过VPB总线为外设提供需要的PCLK时钟,以便外设能在选择的ARM处理器速度下操作。为了实现该特性,VPB 总线频率可以降低为处理器时钟频率的 1/2 或 1/4。由于上电后 VPB 总线必须正常工作(如果它由于VPB 总线的 VPB 分频器控制寄存器的原因而不能工作,则 VPB 总线的时序不能改变),因此,VPB 总线在复位后的默认状态是以 1/4 速率运行。 VPB 分频器的第二个用途是当所有外设都不必在全速率下运行时降频以降低功耗。由于VPB分频器连接到PLL的输出,PLL(如果正在运行)在空闲模式时保持有效 寄存器:VPBDIV 作用:决定处理器时钟cclk与外设器件所使用的时钟pclk之间的关系。 l 通过VPB总线为外设提供所需的pclk时钟,以便外设在为满足ARM处理器而调整的速度下工作 l 应用在不需要任何外设全速运行时使功耗降低 VPBDIV[1:0]: l 00:VPB总线时钟为处理器时钟的1/4 l 01:相同 l 10:1/2 l 11:保留
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条