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试试,功能正常:

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

其他情况就不试了。

补充2022.4.10 找到一篇关于取消ddr进行固化的教程

知网论文网址
或者
网址
https://www.doc88.com/p-5029631643899.html

zynq7020的arm A9核降频实录相关推荐

  1. UT-Exynos4412 三星ARM四核旗舰开发平台android4.0体验-10HDMI功能调试支持

    经过2012年的等待,四核的开发平台终于跟广大嵌入从业人员见面了,下面让我们来看下UT-Exynos 4412 开发板的详细参数吧,共广大嵌入式开发人员参考. 一.UT-Exynos 4412开发板高 ...

  2. android 调整cpu频率,[IMX6DL][Android4.4] CPU频率调节模式以及降频方法

    Kernel branch: 3.0.35 CPU的频率调节模式: 1. Performance.  不考虑耗电,只用最高频率. 2. Interactive.  直接上最高频率,然后看CPU负荷慢慢 ...

  3. Linux:CPU频率调节模式以及降频方法简介

    概述 cpufreq的核心功能,是通过调整CPU的电压和频率,来兼顾系统的性能和功耗.在不需要高性能时,降低电压和频率,以降低功耗:在需要高性能时,提高电压和频率,以提高性能. cpufreq 是一个 ...

  4. android 避免cpu降频,[RK3288][Android6.0] 调试笔记 --- CPU温度降频控制

    rk3288平台关于温度调节cpu频率有个bug. 在rk3288.dtsi中,有: temp-limit-enable = <1>; target-temp = <80>; ...

  5. linux cpu降频怎么设置,Android系统修改CPU降频温度阈值、修改CPU关内核温度阈值的方法...

    1.关闭CPU降频温度: 目录:MSM8916.LA.1.1-PostCS-CT-CMCC-r113500.1srcLINUXandroidvendorqcomproprietarythermal-e ...

  6. CPU频率调节模式以及降频方法简介

    在kernel中实现了两个driver,一个负责控制开关CPU的核数,叫做hot-plug驱动,另一个负责调整CPU的频率,叫做DVFS驱动.kernel中的driver会根据系统的负载,自动调整使用 ...

  7. UT-Exynos4412 三星ARM四核旗舰开发平台android4.0体验-5联通3G功能调试支持

    经过2012年的等待,四核的开发平台终于跟广大嵌入从业人员见面了,下面让我们来看下UT-Exynos 4412 开发板的详细参数吧,共广大嵌入式开发人员参考. 一.UT-Exynos 4412开发板高 ...

  8. 4412开发板UT-Exynos4412三星ARM四核旗舰开发平台android4.0GPS功能

    经过2012年的等待,四核的开发平台终于跟广大嵌入从业人员见面了,下面让我们来看下UT-Exynos 4412 开发板的详细参数吧,共广大嵌入式开发人员参考. 一.UT-Exynos 4412开发板高 ...

  9. UT-Exynos4412开发板三星ARM四核旗舰开发平台android4.0体验-7GPS功能调试支持

    经过2012年的等待,四核的开发平台终于跟广大嵌入从业人员见面了,下面让我们来看下UT-Exynos 4412 开发板的详细参数吧,共广大嵌入式开发人员参考. 一.UT-Exynos 4412开发板高 ...

最新文章

  1. android中仿qq最新版抽屉,Android实现3种侧滑效果(仿qq侧滑、抽屉侧滑、普通侧滑)...
  2. java 对字符串中的数值排序
  3. 【算法入门漫画】:什么是字符串匹配算法?
  4. RocketMQ 使用及常见问题
  5. c得到当前时分秒 linux_Linuxc - Linux系统下的时间知识点
  6. pip 安装 rdkit
  7. Hadoop 源代码分析(二三)FSDirectory
  8. apache iotdb_高性能轻体量物联网数据库Apache IoTDB
  9. springboot+mybatis事务管理
  10. 什么是API、什么是SDK、他们有什么区别?
  11. 硬盘出现坏道以及处理方法
  12. [论链]ST-MGCN. Spatiotemporal Multi-Graph Convolution Network for Ride-Hailing Demand Forecasting
  13. caffe-ristretto:定点方案
  14. 【人体骨骼点】gt构建
  15. 人力资源激励与考核体系指定参考内容
  16. IAST技术进阶系列(五):共生进化,自适应云原生
  17. 暑假7月7日到7月17日任务一:电路板识别。
  18. 全国计算机等级考试二级教程——c语言程序设计》,格式为doc.,全国计算机等级考试二级笔试样卷C语言程序设计样本.doc...
  19. python opencv图像加密解密算法优化
  20. 51单片机定时器及其应用(2)(测量脉冲宽度)

热门文章

  1. 谷歌ai人工智能叫什么_用Google新的AI强大工具翻译古代象形文字
  2. Python爬虫系列:腾讯课堂Scrapy爬虫
  3. 风险热度地图(Risk heat map)
  4. 19、Jetson Xavier NX使用yolov5对比GPU模型下的pt、onnx、engine 、 DeepStream 加速性能
  5. Sencha Architect4.0破解教程
  6. 基于阿里云的API简介
  7. “物联网×”:“互联网+”的下一个风口
  8. 南京工资个税计算机,南京个税计算器_南京税后月薪|工资计算器_南京个人所得税查询 - Tax518...
  9. 【它山之玉】慎重选择博士后(或博士生)导师-科学网马臻
  10. 打字_盲打训练/打字训练网站(updating)/打字测速网站