当前位置: 首页 > article >正文

MMCM DRP动态配置方法(超详细讲解)

一、MMCM 源语介绍

1、调用源语

2、调用Clocking Wizard IP

调用Clocking Wizard IP核选择使用MMCM资源时,IP内部也是调用的MMCM源语。

Clocking Wizard IP中启用MMCM  DRP接口方法:

在Clocking Wizard IP中设置分频倍频系数方法:

IP核中生成VCO的值,和使用公式计算的一致:

再看一下设置的输出时钟clkout1,clkout2,clkout3。和公式计算的一致。

二、MMCM 内部寄存器介绍

按照上面配置的MMCM只能生成一个固定的时钟频率,使用DRP接口能够在FPGA芯片工作中进行MMCM输出时钟的动态更改。

1、MMCM内部结构(XAPP888

2、分频参数介绍

关于edge参数举例:

3、相位参数介绍

4、小数分频参数介绍

5、寄存器表

三、MMCM 动态速率重配置(DRP)方法

1、VCO频率配置

VCO频率配置主要使用下面三个寄存器:

Clkreg1主要设置高电平和低电平计数。倍频系数M=HIGH TIME + LOW TIME。如:进行8倍频,50%占空比。设置HIGH TIME=4,LOW TIME=4。Clkreg2中edge和NO COUNT设为0。

Divreg主要设置分频系数D。D=1需设置NO COUNT=1,不进行分频。D=2需设置NO COUNT=0,

HIGH TIME=1,LOW TIME=1.

2、输出频率配置

每个输出端口都有2个配置寄存器,小数分频只有clkout0上具有。常用参数为HIGH TIME,LOW TIME,NO COUNT,EDGE。以clkout0为例:

①VCO=1000MHz,需输出100MHz,50%占空比的时钟,配置HIGH TIME=5,LOW TIME=5,NO COUNT=0,EDGE=0;

②VCO=1000MHz,输出200MHz,50%占空比的时钟,配置HIGH TIME=2,LOW TIME=3,NO COUNT=0,EDGE=1。

3、重配置流程

在重配置过程中需要对MMCM进行复位(rst=1),配置完成后清除复位(rst=0)。

①检验时钟是否锁定(lock=1);

②读取寄存器中的数据;

③修改对应bit位的数据;

④再次读取寄存器中值是否更改完成;

⑤所有寄存器配置完成后退出。


http://www.kler.cn/a/411169.html

相关文章:

  • 【JavaEE初阶】多线程初阶下部
  • 簡單易懂:如何在Windows系統中修改IP地址?
  • 滑动窗口最大值(java)
  • docker 容器运行Ruoyi-cloud
  • 论文阅读:A fast, scalable and versatile tool for analysis of single-cell omics data
  • 小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)
  • Spring Boot 3.4 正式发布,结构化日志!
  • 【Redis篇】String类型命令详讲以及它的使用场景
  • 互联网直播/点播EasyDSS视频推拉流平台视频点播有哪些技术特点?
  • 实战项目负载均衡式在线 OJ
  • Notepad++ 替换所有数字给数字加单引号
  • VITE+VUE3+TS环境搭建
  • TortoiseGit 将本地已有仓库推送到远程
  • 【RAG多模态】再看多模态RAG进行文档问答的方案
  • k8s rainbond centos7/win10 -20241124
  • java:拆箱和装箱,缓存池概念简单介绍
  • 基于springboot的HttpClient、OKhttp、RestTemplate对比
  • intellij idea控制台 visual stadio dev c++ keil pycharm python 输出乱码解决方案最终版 java
  • Springboot自带注解@Scheduled实现定时任务
  • 自动泊车“哐哐撞大墙”,小米SU7智驾功能bug缠身?
  • 组合模式详解及Java实现
  • 【环境搭建】更新Docker Compose到v2.x版本以支持--profile选项
  • HTML 常用标签属性汇总一〈body〉标签
  • Cocos编辑器
  • 【算法一周目】滑动窗口(2)
  • Linux宝塔部署wordpress网站更换服务器IP后无法访问管理后台和打开网站页面显示错乱