SylixOS 基于ZYNQ的时钟频率修改详解
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,概述本文档以ZYNQ7000平台为例,详细介绍如何去修改ZYNQ的时钟频率。时钟频率修改流程ZYNQ7000的时钟频率修改流程,如图 2.1所示。具体步骤如下:步骤一:解除ZYNQ7000的寄存器写锁
千家信息网最后更新 2026年10月31日SylixOS 基于ZYNQ的时钟频率修改详解
概述
本文档以ZYNQ7000平台为例,详细介绍如何去修改ZYNQ的时钟频率。
时钟频率修改流程
ZYNQ7000的时钟频率修改流程,如图 2.1所示。具体步骤如下:
步骤一:解除ZYNQ7000的寄存器写锁定;
步骤二:向对应寄存器写入我们需要设置的PLL倍频值和PLL配置参数;
步骤三:进行PLL的旁路模式转换和软件重启,使我们刚刚设置的PLL倍频值和PLL配置参数生效;
步骤四:重新使寄存器处于写锁定状态。
图 2.1 ZYNQ7000的时钟频率修改流程图
ZYNQ7000的ARM_PLL_CLK时钟频率修改的具体的代码实现如程序清单 2.1所示。不同平台的解除和锁定写锁定的方式可能不同,对于ZYNQ7000平台,需要写入0xDF0D到SLCR_UNLOCK寄存器解除写锁定,写入0x767B到SLCR_LOCK寄存器可以使相关寄存器的写操作无效。
程序清单 21 ZYNQ7000的时钟频率修改代码
/*********************************************************************************************************** 函数名称: zynqPllFeedBackSet** 功能描述: zynq的ARM_PLL_CLK时钟倍频设置** 输 入 : NONE** 输 出 : NONE** 返 回 : NONE*********************************************************************************************************/VOID zynqPllFeedBackSet (VOID){ UINT32 uiClkCtrl; UINT32 uiFeedBackDiv; UINT32 uiNum; uiNum = read32(ZYNQ_SLCR + SLCR_LOCKSTA); if (0 != uiNum) { write32(SLCR_UNLOCK_MAGIC, ZYNQ_SLCR + SLCR_UNLOCK); /* 写入0xDF0D,解除写锁定 */ uiNum = 0; } /* * 设置ARM_PLL的倍频值 */ uiClkCtrl = read32(ZYNQ_SLCR + ARM_PLL_CTL); uiFeedBackDiv = uiClkCtrl &~ XZYNQ_SLCR_ARM_PLL_CTRL_PLL_FDIV_MASK; uiFeedBackDiv |= (SLCR_FEED_BACK_DIV_VALUE << XZYNQ_SLCR_ARM_PLL_CTRL_PLL_FDIV_OFFSET); write32(uiFeedBackDiv, ZYNQ_SLCR + ARM_PLL_CTL); /* * 设置ARM_PLL的配置参数 */ uiClkCtrl = read32(ZYNQ_SLCR + ARM_PLL_CTL); write32(SLCR_ARM_PLL_CFG, ZYNQ_SLCR + ARM_CLK_CFG); /* * 进行PLL的旁路模式转换和软件重启,使我们刚刚设置的PLL倍频值和PLL配置参数生效 */ write32(SLCR_ARM_PLL_CTRL_BYPASS_FORCE | uiClkCtrl, ZYNQ_SLCR + ARM_PLL_CTL); write32(SLCR_ARM_PLL_CTRL_RESET | uiClkCtrl, ZYNQ_SLCR + ARM_PLL_CTL); read32(ZYNQ_SLCR + PLL_STATUS); write32(uiClkCtrl &~ SLCR_ARM_PLL_CTRL_RESET, ZYNQ_SLCR + ARM_PLL_CTL); write32(uiClkCtrl &~ SLCR_ARM_PLL_CTRL_BYPASS_FORCE, ZYNQ_SLCR + ARM_PLL_CTL); if (0 == uiNum) { write32(SLCR_LOCK_MAGIC, ZYNQ_SLCR + SLCR_LOCK); /* 写入0x760B,打开写锁定 */ uiNum = 1; }}PLL的频率设置
ZYNQ7000的时钟频率设置的参数列表,如图 3.1所示。其中PLL_FDIV为PLL的倍频值,PLL CP、PLL RES、LOCK CNT为PLL的配置参数。
图 3.1 PLL频率的参数设置列表
免责声明
内部交流文档,仅针对ZNYQ相关平台,若发现相关错误或者建议,请及时联系文档创建者进行修订和更新。
频率
时钟
参数
寄存器
步骤
配置
平台
流程
不同
代码
文档
旁路
模式
清单
程序
软件
如图
函数
创建者
功能
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
瑰夏咖啡
广东万易互联网科技有限公司惠州分公司
互联网科技卖菜
狮子座互联网科技
互联网科技公司怎么样
唐信互联网科技
成都互联网科技公司
云电互联网科技
掌上梦互联网科技
互联网科技公司名称
江苏南京365互联网科技
深圳前海聚择互联网科技有限公司
互联网时代科技改变生活
互联网科技与管理
花神(南京)互联网科技有限公司
呼和浩特新华互联网科技学院
东营紫格互联网科技
版纳互联网科技选哪家
银川新华互联网科技学校是国营吗
互联网对科技影响
科技金融是不是互联网金融
友谊互联网络科技
润盈互联网科技
天扬科技互联网广告
汉立互联网科技有限公司联系电话
千方科技属于互联网企业吗
互联网数据科技专业
互联网公司属于科技吗
唐山双旺合互联网科技产业园
好易买互联网科技