- 微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(基础篇)
- 何宾编著
- 610字
- 2022-08-16 15:41:31
1.4.3 龙芯1B处理器的时钟系统
龙芯1B芯片中集成了时钟模块,该模块用于为芯片内的各个功能单元提供3个时钟,即CPU时钟(CPU_clk)、DDR时钟(DDR_clk)和显示控制器时钟(DC_clk)。该模块内部集成了一个可编程的相位锁相环(Phase Lock Loop,PLL)。当系统复位时,从外部引脚的状态获取其初始配置,产生高频时钟PLL_clk,然后对该高频时钟进行分配,以产生CPU_clk、DDR_clk和DC_clk。该时钟生成模块的结构如图1.6所示。
图1.6 时钟生成模块的结构
当系统处于复位状态时,通过外部引脚状态选择PLL的配置,以生成不同的PLL输出时钟(PLL_clk)频率。外部引脚的配置与PLL输出频率之间的关系如表1.2所示。
表1.2 外部引脚的配置置与PLL输出频率之间的关系
系统启动后,可以通过寄存器PLL_FREQ配置PLL的频率,该寄存器的基地址为0xBFE7 8030,PLL输出时钟的频率(单位:MHz)最终由下式确定:
(12+PLL_FREQ[5∶0]+PLL_FREQ[17∶8]/1024)×33/2
此外,可以通过寄存器PLL_DIV_PARAM对CPU_clk、DC_clk和DDR_clk进行单独设置,该寄存器的基地址为0xBFE7 8034,其格式如表1.3所示。
表1.3 寄存器PLL_DIV_PARAM的格式
(1)配置过程:对应时钟的BYPASS位置1,让其切换到33MHz的外部输入,然后对应逻辑RST,最后配置需要分频的倍数,以产生目标时钟。在配置过程中,使用去除毛刺的电路,确保系统能够稳定工作。
(2)恢复过程:将BYPASS位清零,让对应时钟恢复到分频的目标时钟。
前面一节提到,在龙芯处理器中集成了大量的外设控制器模块,如SPI、IIC、PWM、CAN、WATCHDOG、UART,这些模块也需要时钟,这些时钟用于实现计数或确定分频系数,它们工作在相同的工作频率,其中时钟频率均为DDR_clk时钟频率的1/2。