AN 661: 使用Altera PLL和Altera PLL Reconfig IP内核实现小数分频PLL重配置

ID 683640
日期 10/14/2019
Public
文档目录

1.1.1.5. 使用Avalon-MM接口重配置小数分频PLL设置

可以使用Avalon®-MM接口动态地重配置fPLL。要进行动态重配置,请执行下列步骤:

  1. 通过Avalon写操作,在Altera PLL Reconfig IP内核的启动处将01值写入到模式寄存器。该模式寄存器确定Altera PLL Reconfig IP内核是在waitrequest或轮询模式下进行操作。
  2. 通过Avalon写操作指定元件及其新的值。
    有关每种重配置元件的地址的更多信息,请参考小数分频PLL动态重配置寄存器和设置、动态相移计数器和cnt_select (Dynamic_Phase_Shift[20:16])位设置表。
  3. 对所要更改的所有可重配置的元件(NMC计数器,MFRAC值及其他)重复进行步骤2。
  4. 通过Avalon写操作,写入01到开始寄存器。写入到开始寄存器触发了动态重配置、动态相移或两者:
    • 如果在步骤1中将模式寄存器设置为0 (waitrequest模式),那么Altera PLL Reconfig IP内核置位mgmt_waitrequest信号,直到重配置完成后。只有在Altera PLL Reconfig IP内核置低mgmt_waitrequest信号后,才能执行另一个Avalon读或写操作。
    • 如果在步骤1中将模式寄存器设置为1 (轮询模式),那么Altera PLL Reconfig IP内核将0 (busy)写入到状态寄存器。通过执行Avalon读操作,可以对状态寄存器的位0进行定期轮询,从而确保重配置的完成。Altera PLL Reconfig IP内核忽略任何新的重配置指示(Avalon写操作),直到从状态寄存器中读取值1
    在执行动态重配置或者动态相移之前,将小数分频PLL锁定到参考时钟。