IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> zynq7020的arm A9核降频实录 -> 正文阅读

[嵌入式]zynq7020的arm A9核降频实录

zynq7020的arm cortex A9核降频实录

zynq7020的arm核默认配置下运行频率666.666Mhz;DDR3的默认频率为533.333Mhz。好端端的为啥要降频呢,答案是烫!对于只用到PL部分,或者PS部分用得少(不跑os,不做UI等)的情况,降频对于功耗、温度控制来说将是一个有效途径。

操作依据

  1. 数字芯片动态功耗 P 正比于 C*V^2 * f,C是开关等效电容、V电压、f 即开关频率,显然f降,功耗会降。

  2. zynq7000的降频相关教程目前比较少(至少我没有搜到),所以为数不多的参考依据只有看官方的英文手册了。
    手册又多又杂,首先从ug585着手,有一章节专门讲CLOCK的,大家可以去看下。这一章主要讲了PS部分的时钟逻辑树,时钟关系等,但全然没提降频或者变频一事,但反复提到要去datasheet看实际允许频率,还提到一个power management似乎和低功耗有些关联。
    在这里插入图片描述

  3. 承接ug585提到的datasheet,那么多datasheet,我想应该是指da/ac switch特性手册,我们又来到ds187-XC7Z010-XC7Z020-Data-Sheet。70多页翻上翻下,也就只有这个AC switching章节和cpu、ddr频率有点关系,但全是讲Maximum的,吹的全是极限上限频率。这仿佛在告诉我们没有下限?
    在这里插入图片描述

  4. 我们继续回到ug585,看看25.clock章节提到的24.power management,读上读下,没有太多具体操作,只是隐约告诉我们,可以进行一些操作(包括sleep mode,单CPU模式,PL关断等)来降低功耗,比较重要的两段话如下:
    在这里插入图片描述
    这告诉我们,在一些不需要极限性能的场合,可以降低APU、DDR频率来满足功耗需求。

降频操作实录

····上文,ug585的clock告诉我们了时钟关系,dc/ac开关特性高速了极限性能,power management 传达我们可以进行降频操作。但是面对下面的众多时钟具体怎么降一无所知,降了会有什么问题,也一无所知,所以我在这儿记录一下相关过程。

1. 时钟参数介绍

在这里插入图片描述
首先进入上述zynq核的advanced clocking配置界面,我们先认识一下这些参数,
Input Frequency: 输入频率,即PS部分的板载晶振频率,这里不能乱改,要根据实际晶振频率来。
CPU Clock Ratio: CPU时钟比例,有两个选项6:2:1和4:2:1, 参看ug585这是6:2:2:1,和4:2:2:1的简写,大概意思就是CPU频率和次级外设(总线等)以及外设(timer等)比例为6:2:2:1/ 4:2:2:1。ug585的原语是,一个系统性能的瓶颈可能并不总是在于APU部分,很可能在外设上,4:2:1下各级频率相比6:2:1更集中,也即CPU频率一定时(CPU_6x4x),4:2:1的cpu_1x比6:2:1的cpu_1x更高。
override clocks: 勾选了就允许自行配置,取消勾选恢复默认,这里我们勾选。
PLL Divisors :这一栏是3个时钟源的倍频因子,即33.33333M*40 = 1333.3333M

下面component栏即我们实际要操作的各项具体参数
第一列为类型没什么好说的,
第二列为clock source,一共有4个出现的源:ARM_PLL、DDR_PLL、IO PLL、External、 CPU 1X。前3个即手册上的3类clock源,External即外部源,CPU 1X为ARM_PLL的1/6或者1/4(取决于上面的CPU Clock Ratio)这一列我们也不动
第三列First Divisor,分频因子,这一列是我们操作的重点。
第四列即第二分频因子,少部分应用到,此处不动。
后两列显示实际频率和频率范围的。

2. 小试牛刀-------砍一半频率

懒得一个一个调,直接倍频因子集体砍半试试行不行。
在这里插入图片描述
导出hardware在vitis试试:
正常下载运行,flash固化成功,PL逻辑正常,即完成了只使用PL时的基本要求。
在这里插入图片描述
再加个hello world串口试试:
原设置115200下,接收乱码。
在这里插入图片描述
波特率换成一半57600串口接收正常。在这里插入图片描述
原来115200的串口速率变到57600才能匹配,应该是IO速率砍一半导致的。

当然最重要的温度,手摸感觉应该是没有那么烫了,20℃环境连续运行1小时,DDR手感微热,zynq散热盖手感比DDR略热,估摸着40摄氏度左右,但相比于600Mhz下烫手好了很多。

3.实际调节参数

····@ 1. 我的常识是CPU频率要略高于ddr频率,然后一般远高于其他外设频率.
····@ 2.上面串口波特率被砍半,可能其他外设也有这个问题,鉴于外设比较少,且一般外设频率都较低,故默认不降。
····@ 3.倍频因子不是越小越好,需要和分频因子配合出一套频率允许最低值,DDR最低允许200M,CPU应略高于200M。
如下,注意标红部分数值,其他均默认。

实际修改后,CPU频率222.222Mhz,ddr 213.333Mhz, 外设频率默认没变(qspi挺高的200M)。
在这里插入图片描述
结果,串口115200恢复正常:
在这里插入图片描述
固化到qspi-flash试试,功能正常:
在这里插入图片描述

上电一小时试试,
差不多也是温热

其他情况就不试了。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:59:30  更:2021-12-13 13:01:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/29 16:33:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码