您的位置:首页 > 科技 > IT业 > 时钟分频流程

时钟分频流程

2024/12/22 11:43:18 来源:https://blog.csdn.net/gqpkf/article/details/141941555  浏览:    关键词:时钟分频流程

具体流程:

        外部晶振(XTIpll)和 外部时钟(EXTCLK)经过OM【3:2】选择进入时钟模块        

我们可以看到,在不同的模式下会选择不同的时钟源和状态。

时钟信号进入锁相环(PLL)后,会改变频率,输出时钟频率Mpll相关参考输入时钟频率Fin有如下等式:

通过PLL值选择表,我们就能大致确定我们的 M, P, S 的值:假设输入频率为12, 输出频率为400,那么M = 127, P = 2, S = 1, 这样,我们就能进行配置:

	// 配置Fclk为400MMPLLCON = (127 << 12) | (2 << 4) | (1 << 0);

之后,新的时钟信号会被分成三种不同的时钟信号:FCLK,HCLK和PCLK。

FCLK是提供给ARM920T的时钟。

HCLK是提供给用于ARM920T,存储器控制器,中断控制器,LCD控制器,DMA和USB主机模块的AHB 总线的时钟。

PCLK是提供给用于外设如WDT,IIS,I2C,PWM定时器,MMC/SD接口,ADC,UART,GPIO,RTC和 SPI的APB总线的时钟。

假设:我们需要的时钟信号值:F(400M)  ,  H(100M)  ,  P(50M)

这三个信号的分频比例:1:4:8

通过上面两个表我们就能确定我们需要的 HDIVN 与 PDIVN 对应的值,然后写入时钟分频控制寄存器对应位置,然后就可以配置:

	// 配置 F :H :P  = 1 : 4 : 8CLKDIVN = (2 << 1) | (1 << 0);

到此,我们的时钟分频控制器流程就完成了。

有一点我们需要注意,我们编码流程应该是从后往前,这样的目的是为了防止高频信号烧坏我们的芯片。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com