xilinx zynq7000系列 sdio时钟超频详解

这篇具有很好参考价值的文章主要介绍了xilinx zynq7000系列 sdio时钟超频详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系统时钟概述

zynq7000的时钟系统很简单,首先是PS_CLK输入时钟,这是外部33.33333Mhz晶振时钟,直接输入到三路PLL(锁相环),分别是 ARM PLL、I/O PLL、DDR PLL;ARM PLL给 CPU核心、SCU(用来管理多核通信)、OCM、AXI总线提供时钟;I/O PLL给各类外设包括SDIO、USB、Ethernet等提供时钟;DDR PLL仅用来给DDR2/3提供时钟;而在每一路PLL时钟之后,通向每一个设备之前,会有一个6 bit的programmable Divider用来对PLL时钟分频,分频之后的频率就是每个设备的输入频率。

在PS_CLK与xxx PLL之间有xxx_PLL_CTRL寄存器用来控制PLL的倍频系数,以及控制旁路设置(设置PS_CLK是否直接绕过PLL给各类设备提供时钟)。

系统框图如下:

SDIO时钟系统超频

SDIO时钟源选择I/O PLL,通过寄存器 SDIO_CLK_CTRL[5:4]位控制,00是选择IO PLL;10选择ARM PLL; 11选择DDR PLL。当然也可以选择ARM/DDR PLL,只是xilinx官方不推荐。

上面提到的6 bit programmable Divider也在这个寄存器中,具体是SDIO_CLK_CTRL[13:8]位控制,可提供1~64分频值,超频要调整的就是这6个bit

接下来就是SDIO的controller,zynq7000的controller是IP解决方案提供商arasan提供的,在zynq-7000.dtsi中的兼容性定义为compatible = "arasan,sdhci-8.9a"; 因此寄存器层驱动也是arasan提供的统一驱动,具体文件在内核根目录下的 drivers/mmc/host/sdhci-of-arasan.c
在controller的寄存器组中也有一个寄存器用于SDIO内部分频,由于这个分频器太过粗糙,只能提供2/4/8/16/32/64/128分频值,因此基本不用。

根据ug585-Zynq-7000-TRM手册,可以知道SDIO_CLK_CTRL寄存器的地址为0XF8000150;
寄存器位定义如下:
 

Field Name bits Description
reserved 31:14 保留
DIVISOR 13:8 提供用来分频的分频值来得到需要的频率
reserved 7:6 保留
SRCSEL 5:4

选择PLL时钟源

0x:Select clock IO PLL

10:Select clock ARM PLL

11:Select clock DDR PLL

reserved 3:2 保留
CLKACT1 1 SDIO Controller 1 Clock enable
CLKACT0 0 SDIO Controller 0 Clock enable

对于reserved的位,直接给0即可

数据手册中表示SDIO controller输入频率不得高于63MHZ,但既然超频,那么我们就设定为100Mhz

PS_CLK=33.33333Mhz,读取IO_PLL_CTRL寄存器值可以知道,当前系统倍频值(FDIV)是36,那么IO_PLL时钟频率则是PS_CLK*FDIV=1199.9988MHZ=1200MHZ

我们想得到100Mhz频率,那么12分频即可,则DIVISOR[13:8]=0xC

时钟源选择IO PLL,SRCSEL[5:4]=0x0或者0x1

由于我使用的controller是SDIO0那么 CLKACT1=0x0 CLKACT0=0x1

那么寄存器SDIO_CLK_CTRL的值为:0x0000 0C01

SDIO_CLK_CTRL的地址为0XF8000150

在命令行键入:devmem 0xF8000150 32 0x0C01

此时频率已经为100Mhz

使用dd命令测试发现,现在的SD卡速度已经高达43MB/s,而超频前在50Mhz频率下运行时SD卡频率只有22M/s

经过多种分频测试后发现,在DIVISOR[13:8]=0x7,也就是频率=1200/7=171MHZ的时候,已经是zynq7z010芯片的极限稳定速度,此时速度达到69.7MB/s,已经是官网限定频率和速度的三倍还多,当然,想要达到这样高的信号稳定性,PCB的设计上也一定是非常完美的,此时就要着重吹捧一下我们的硬件工程师宇哥了,要知道我在上一家公司的时候,硬件工程师设计的频率仅1Mhz的can通信外部电路都经常出问题,波形也是差的无法直视。
当DIVISOR[13:8]=0x6,也就是频率=1200/6=200Mhz的时候,通信才出现问题,报I/O error。文章来源地址https://www.toymoban.com/news/detail-401637.html

到了这里,关于xilinx zynq7000系列 sdio时钟超频详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Xilinx ZYNQ 7000学习笔记一(复位和启动)

    参考文献:Zynq-7000 SoC Technical Reference Manual (UG585)-ch26 Reset System zynq7000复位信号源包括硬件复位、看门狗定时器、JTAG控制器复位信号和软件复位信号。其中,硬件复位引脚由上电复位信号PS_POR_B和系统复位信号PS_SRST_B驱动。在PS中,有3个看门狗定时器可用来产生复位信号;JTA

    2024年02月06日
    浏览(88)
  • Xilinx Zynq-7000系列XC7Z035/XC7Z045高性能SoC处理器评估板PS端ETH RJ45接口

    (数据手册见Datasheet目录) ZYNQ7035 PS端ETH RJ45接口 评估板XQ6657Z35-EVM ,ZYNQ XC7Z035/45的PS端 引出了1路千兆网口,其引脚定义如下图:

    2024年02月12日
    浏览(42)
  • zynq7000系列芯片介绍

    ZYNQ从架构上可以划分为两大模块,一个是PS(处理器系统),另一个是PL(可编程逻辑) PS由APU、内存接口、IO外设、互连线4大模块组成。 1、APU(Application Processor Unit)应用处理单元 即PS【可编程逻辑里面最最核心的东西】,它由两个双核心的Cortex-ARM A9、一些缓存和存储组成

    2024年02月06日
    浏览(57)
  • FPGA解码MIPI视频:Xilinx Zynq7000中端FPGA,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持

    FPGA解码MIPI视频:Xilinx Zynq7000高端FPGA,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端

    2024年02月22日
    浏览(42)
  • Zynq-7000系列FPGA使用 Video Processing Subsystem 实现图像缩放,提供工程源码和技术支持

    Zynq-7000系列FPGA使用 Video Processing Subsystem 实现图像缩放,提供工程源码和技术支持 没玩过图像缩放都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 目前市面上主流的FPGA图像缩放方案如下: 1:Xilinx的HLS方案,该方案简单,易于实现,但只能用

    2024年02月05日
    浏览(48)
  • xilinx zynq7系列加载器无法连接的原因&测试xilinx Zynq7开发板的加载器和芯片是否正常的快速方法

    1.硬件部分 首先将加载器与PC机和开发板的连接好 pc端直接插在usb接口上即可 1.1开发板侧,连接如下图 1.2连接Jtag 绿色写的是JTAG的标识,连接线有凹槽的方向朝内,红色圈出部分 这些加载线在买开发板的时候都是有附带的,如果没有的话,去某宝上买也很方便。 2.软件测试

    2024年02月12日
    浏览(43)
  • xilinx 7系列FPGA时钟布线资源

    7系列FPGA拥有多种时钟路由资源,以支持各种时钟方案和需求,包括高扇出、短传播延迟以及极低的偏斜。为了最佳地利用时钟路由资源,需要了解如何将用户时钟从PCB传递到FPGA,确定哪种时钟路由资源最优,然后通过利用适当的I/O和时钟缓冲器来访问这些时钟路由资源。

    2024年04月22日
    浏览(62)
  • Xilinx 7系列FPGA局部时钟资源

    局部时钟网络是玩去哪独立于全局时钟网络的。与全局时钟不同,局部时钟信号(BUFR)的覆盖范围仅限于一个时钟区域。一个I/O时钟信号驱动单个时钟区域。这些网络对于源同步接口设计特别有用。在7系列器件中,I/O bank与局部时钟域的大小相同。 在7系列器件中,局部时钟

    2024年04月29日
    浏览(58)
  • Xilinx 7系列FPGA的时钟管理

    在7系列FPGA中,时钟管理单元(CMT)包含了混合模式时钟管理器(MMCM)和锁相环(PLL)。PLL是包含了MMCM功能的一个子集。CMT骨干网可用于链接CMT的时钟功能。CMT图(图3-1)展示了各种时钟输入源与MMCM/PLL之间连接的高级视图,时钟输入连接允许多个资源为MMCM/PLL提供参考时钟

    2024年04月26日
    浏览(41)
  • xilinx GTX 时钟详解

    一、用户接口信号的时钟( GTREFCLK_PAD_N_IN 、 DRP_CLK_IN_P 、 SYSCLK 、 PLLLOCKDETCLK ) 二、TX/RXUSRCLK and TX/RXUSRCLK2、TXOUTCLK 三、mmcm时钟(两个用户时钟不匹配,以及分不出来速率,需要启用) 专业俗语: TX External Data Width :外部宽度大,时钟大而慢。 TXOUTCLK 这个时钟。 TX Internal D

    2024年02月05日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包