zynq更换ps的输入时钟频率

5 篇文章 0 订阅

一般使用的zynq的ps时钟为33.333333MHz,如下图:

 但有时候也会遇到其他频率的,如下图:

 虽然不知道为啥要换来换去,但是人家设计没毛病啊,官方要求只要在30M~60M之间都行,如下图:

 既然如此,就得修改吧。

在uboot中,主要修改设备树有两个地方,cpu的修改完全是因为ps-clk被修改,因为锁相环是倍频再分频,不一定能达到33M的主频。

 

 修改完成后编译uboot,烧录再启动,发现串口全是乱码,把fsbl的打印打开,发现是正常的,所以肯定是uboot的修改不彻底。然后翻看uboot源码中的arch\arm\mach-zynq\clk.c,最开头就有一句话:

 再翻看include\configs\zynq-common.h,发现没有CONFIG_ZYNQ_PS_CLK_FREQ定义,所以果断定义为40M。(当然了有的版本的uboot是有这个定义的,但是数值默认的也是33.333333M)

再次编译uboot,下载,启动成功!!!

Zynq PS (Processing System) DDR 配置通常涉及到基于Xilinx Zynq SoC (System on Chip) 设计的 FPGA 系统中处理器部分如何访问动态随机存取内存(DDR)。Zynq系列器件结合了 ARM CPU 和 FPGA 的优势,使得设计者能够在单一芯片上同时处理实时硬件加速任务以及需要复杂控制流程的应用程序。 ### DDR配置概述 1. **选择DDR控制器**:在设计阶段,首先需要确定使用的DDR类型(例如DDR3、DDR4等),然后选择合适的控制器IP核来适配所选的DDR标准。Xilinx提供了一系列经过优化的DDR控制器IP,如DDR3和DDR4控制器,用于无缝集成到Zynq PS系统中。 2. **时序约束**:配置DDR之前,需要了解并满足DDR的数据速率、时钟频率、信号延迟等关键时序参数。这包括建立时间(Setup Time)、保持时间(Hold Time)、读时钟周期(Read Clock Cycle)、写时钟周期(Write Clock Cycle)等。Xilinx的工具可以帮助设计者验证时序约束是否得到满足,并调整设计以适应实际的DDR模块。 3. **地址空间映射**:通过软件或硬件配置文件设定DDR的起始地址和大小,将Zynq PS中的内存映射到DDR上。这决定了哪些内存区域可以由ARM内核或FPGA逻辑访问。 4. **电源管理**:合理配置DDR的电源模式(如低功耗模式)和电压设置,以平衡性能和能效需求。在某些应用中,这可能是非常重要的考虑因素。 5. **初始化序列**:在系统启动过程中,执行特定的初始化序列来预设DDR的状态,例如进入正常操作模式、校准内存条等。 6. **错误检测与纠正**:配置必要的错误检测和纠正机制,以增强数据完整性和系统的可靠性。 7. **调试与监控**:为了确保DDR配置正确并且稳定运行,在设计中加入相应的调试和监控功能,比如使用JTAG接口或通过调试工具监视内存访问行为。 ### 实现过程 在具体的硬件实现中,会使用到Xilinx提供的SDKs(Software Development Kits)和综合工具(如Vivado),它们包含了构建、仿真和测试DDR配置所需的资源和环境。设计者可以根据项目的需求,从Xilinx提供的模板开始,逐步定制和优化DDR相关的配置和逻辑。 ### 相关问题: 1. 在Zynq PS中配置DDR时,如何确保所有必需的时序约束都得到满足? 2. 当遇到DDR兼容性问题时,如何进行故障排查和解决? 3. 对于能源效率敏感的应用,如何最佳地管理Zynq PS中的DDR电源模式和电压设置?
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值