SPI接口(二)FPGA异步采样,需要几倍的SPI_CLK的频率

文章探讨了在FPGA系统时钟为125MHz的情况下,SPI接口与单片机之间的最大兼容时钟速度。考虑到异步采样,分析了FPGA接收和发送数据时的时序要求,特别是FPGA返回数据时的建立时间t1。通过案例分析了不同采样时钟与数据边沿的关系,指出sys_clk与spi_clk的理想倍数关系为4:1作为极限值,而5:1是更安全的选择,以确保走线延迟和单片机的建立保持时间得到满足。
摘要由CSDN通过智能技术生成

1、概述

         如下图所示一个场景,FPGA系统工作时钟是125M,此时所能容忍的单片机与FPGA接口的SPI工作时钟最快是多少,本案例只考虑异步采样,后续有机会补充使用spi_clk采样的情况。

2、过程描述

        SPI接口的时序:

        FPGA接收单片的发送数据,此时,FPGA能够接收的spi_clk时钟是比较快的,发送端sys_clk的采样时序:

         没有考虑spi_clk,spi_cs,spi_mosi之间的偏移。

         FPGA返回数据,时序:

FPGA返回给单片机的建立时间为t1,会比较紧张


spi_clk_0:单片机(Soc)的管脚输出波形
spi_clk_1:fpga 逻辑处理段波形
sys_clk   :fpga内部处理时钟
       

        case1:采样时钟(sys_clk)和数据(spi_clk_1)边沿对齐,此时采集数据是亚稳态,经亚稳态处理后为0,spi_clk的延时较大;
       case2:采样时钟(sys_clk)和数据(spi_clk_1)间隔一个sys_clk的建立时间,此时采集数据是亚稳态,经亚稳态处理后为0,spi_clk的延时较大;
       显然case2的延时会更大

spi_clk_1_ff0:跨时钟域处理第一拍;


spi_clk_2      :为case2进入spi处理模块的波形(sys_clk打2拍跨时钟域处理在模块外部)
spi_clk_2_ff0:是spi_clk_2延时1拍,用来判断上升沿
spi_miso_0   :spi_clk_2的上升沿将数据打出波形,FPGA 逻辑资源输出波形
spi_miso_1   :spi_miso_0经过走线后在单片机端的波形

        

3、sys_clk倍数关系

        因此sys_clk一个周期能够覆盖 走线,以及单片机端建立保持时间,sys_clk/spi_clk(频率关系) =4,是一个极限值,5倍时钟关系是比较保险的策略。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值