FPGA配置高速ADC篇(2)_4线SPI配置时序分析

这篇具有很好参考价值的文章主要介绍了FPGA配置高速ADC篇(2)_4线SPI配置时序分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

​ 注:扫码关注小青菜哥哥的weixin公众号,免费获得更多优质的核探测器与电子学资讯~

FPGA配置高速ADC篇(2)_4线SPI配置时序分析,FPGA配置高速ADC,笔记

本篇将以德州仪器(TI)的高速ADC芯片——ads52j90为例,进行ADC的4线SPI配置时序介绍与分析。

从ads52j90的数据手册我们不难发现,其SPI控制模块主要包含4根信号线,即SEN、SCLK、SDIN以及SDOUT。TI公司对其产品SPI配置信号的命名方式与通用的SPI信号命名方式不一样,但实际上SEN对应CSB、SDIN对应SDI、SDOUT对应SDO、SCLK不变。

1,SEN:控制ADC的SPI读写的使能信号;

2,SDIN:FPGA写入ADC的配置数据(寄存器地址和对应地址的数据);

3,SDOUT:ADC对应地址输出的配置寄存器数据;

4,SCLK:FPGA提供给ADC的SPI接口时钟。

首先介绍该ADC的SPI的写功能,datasheet给出的时序图如图1所示:我们首先大致看一下写时序图,能够了解到对于SDIN来说,需要先写入A7~A0的8bit的地址,接下来写入该地址下的16bit的寄存器数值D15~D0,也就是说每进行一次写操作需要不间断的写入24bit 的数据。对于SEN来说,在进行写操作时,其一直保持低电平,写之前和写完后都保持高电平。对于SCLK来说,其上升沿每次采集每1bit SDIN数据的中心位置,共需要采集24次,才能完成这24bit SDIN数据的写入。

FPGA配置高速ADC篇(2)_4线SPI配置时序分析,FPGA配置高速ADC,笔记

图1:SPI写时序图

上面三点就是我们初步看这个时序图所得到的结论。对于该ADC,按照这种方式进行写操作就不会有问题。实际上所有ADC的SPI写操作都有类似于上面介绍的共同准则,这里归纳如下:

  1. 无论SPI进行读还是写操作,SEN必须拉低,否则SPI不工作(既不读也不写),读、写完成之后SEN必须拉高;
  2. SDIN的数据每次在SCLK的上升沿写入SPI;
  3. SDIN的数据组成一定是先写入配置寄存器地址,再连续写入配置寄存器数值;

FPGA配置高速ADC篇(2)_4线SPI配置时序分析,FPGA配置高速ADC,笔记

图2:SPI时序要求

另外,我们看到时序图上有许多时间参数,我们在写代码时不仅要遵守以上的共同准则,还要满足这些参数的时序关系,并保留一定的时间裕量。datasheet都提供了这些参数的大小,如图2所示。比如tSCLK的最小值是50ns,也就意味着SPI的时钟最高只能到20MHz。tSEN_SU 的最小值为8ns,就表示SEN下降沿至少提前第一个SCLK的上升沿时间8ns。tDSU 则表示SDIN的数据必须至少提前SCLK的上升沿5ns准备好,等等。只要遵守了相关的SPI准则以及datasheet里的SPI时序参数,SPI的写操作就不会有问题了。

现在我们介绍该ADC的SPI读操作,如图3所示。读操作的主要目的是监测ADC内部寄存器状态,从而判断ADC的配置状态是否符合用户的需求。从图上我们可以看到,SPI的读操作可以分解为两个部分:第一个部分是先写入A7~A0 8bit的寄存器地址到SDIN,然后SDOUT输出对应地址的16bit的寄存器数值。

这里重点强调一下:理论上来说,在上升沿锁存写入的地址最后1bit后,在接下来的每次SCLK下降沿,SDOUT输出1bit寄存器值,直到16bit寄存器数值完全输出。但实际上每次SCLK下降沿输出的数据只有经过tOUT_DV (12ns ~28ns)后才稳定,后端FPGA才能正确接收。从图上我们不难发现,FPGA在SCLK的上升沿附近获取SDOUT的数据是非常合适的,在这个位置获取的数据最稳定。

FPGA配置高速ADC篇(2)_4线SPI配置时序分析,FPGA配置高速ADC,笔记

图3:SPI读时序图

4线SPI的读写时序分析就到这里了,再次强调几个关键点:

关键点1:SEN在读写操作时,必须拉低。读写完成之后,必须拉高。

关键点2:SDIN的数据每次必须在SCLK的上升沿写入SPI。对应的数据格式一定是寄存器地址+要写入的寄存器数值。

关键点3:SOUT的数据总是在SCLK的下降沿输出,因此选择FPGA在SCLK的上升沿获取SDOUT数据最稳定。

关键点4:一定要满足datasheet给出的SPI的时序参数,并在代码实现时要留有适当的时序裕量。

今天的博文就到这里了,有问题请在小青菜哥哥的公众号留言,谢谢!文章来源地址https://www.toymoban.com/news/detail-821984.html

到了这里,关于FPGA配置高速ADC篇(2)_4线SPI配置时序分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • FPGA对高速采集ADC(8路并行数据)进行峰值检测,并记录峰值位置

              本模块主要是ADC(2Gsps)采集信号波形进行峰值检测,主要是检测单音信号或者脉冲信号中的所有峰峰值信号(对噪声大信号适用性不是很好),并记录峰值点的位置。         1. 峰值检测8路并行数据端口 2.连续3点检测峰值,被例化8次,                

    2024年02月16日
    浏览(54)
  • FPGA实现SPI协议基于ADC128S022进行模拟信号采集

    使用vivado联合modelsim实现SPI协议基于ADC128S022进行模拟信号连续采集。 SPI是串行外设接口,是一种同步/全双工/主从式接口。通常由四根信号线构成: CS_N :片选信号,主从式接口,可以有多个从机,用片选信号进行从机选择; SCLK :串行时钟线,由主机提供给从机; MISO :主机

    2024年02月14日
    浏览(35)
  • 【接口协议】FPGA实现SPI协议基于ADC128S022进行模拟信号采集

    使用vivado联合modelsim实现SPI协议基于ADC128S022进行模拟信号连续采集。 SPI是串行外设接口,是一种同步/全双工/主从式接口。通常由四根信号线构成: CS_N :片选信号,主从式接口,可以有多个从机,用片选信号进行从机选择; SCLK :串行时钟线,由主机提供给从机; MISO :主机

    2024年02月07日
    浏览(37)
  • STM32的HAL库SPI操作(master 模式)-根据时序图配置SPI

    SPI基本概念请自行百度,参考:百度百科SPI简介.我们讲重点和要注意的地方。 接线一一对应 也就是说主控的MISO,MOSI,SCLK,[CSn]分别和设备的MISO,MOSI,SCLK,[CSn]一一对应相连,不交叉,不交叉,不交叉…(重要的事情说三遍)。 这是无线模块CC2500的SPI接口时序,这里可以看到,从

    2024年02月06日
    浏览(31)
  • FPGA时序分析与约束(2)——时序电路时序

            在之前的内容中,我们介绍了组合电路的时序问题和可能导致的毛刺,强烈推荐在阅读前文的基础上再继续阅读本文, 前文链接:FPGA时序分析与约束(1)——组合电路时序         这篇文章中,我们将继续介绍FPGA时序分析相关内容,本文介绍的是时序电路的时序

    2024年02月10日
    浏览(31)
  • STM32F407 SPI配置和时序图讲解(二)

    上节讲了SPI的基本配置,这节主要讲解 如何看时序图 ,SPI数据到底是如何传输的。 SPI初始化后,就可以开始向对象发送数据了,但是要发送数据给W25Q128模块,需要按照它的时序图来发送( 个人用的是W25Q128模块 ) W25Q128模块简介 W25Q128是一款常见的串行闪存存储器模块,属

    2024年02月06日
    浏览(29)
  • FPGA时序分析与时序约束(四)——时序例外约束

    目录 一、时序例外约束 1.1 为什么需要时序例外约束 1.2 时序例外约束分类 二、多周期约束 2.1 多周期约束语法 2.2 同频同相时钟的多周期约束 2.3 同频异相时钟的多周期约束 2.4 慢时钟域到快时钟域的多周期约束 2.5 快时钟域到慢时钟域的多周期约束 三、虚假路径约束 四、最

    2024年01月20日
    浏览(34)
  • FPGA时序分析与约束(8)——时序引擎

            要想进行时序分析和约束,我们需要理解时序引擎究竟是如何进行时序分析的,包括时序引擎如何进行建立分析(setup),保持分析(hold),恢复时间分析(recovery)和移除时间分析(removal)。         发起沿(launch edge,源时钟产生数据的有效时钟沿),捕获沿(capture

    2024年02月07日
    浏览(30)
  • FPGA时序分析与时序约束(Vivado)

    后缀L的这个单元中,会生成锁存器 查看布线 定位线路 时间分析,还要考虑数据变化的建立时间与保持时间 经过图上计算可得公式 : Tsu裕量 = (Tskew + 时钟周期 - Tsu) - (Tco + Tdelay) Thd裕量 = Tco + Tdelay - Thd 两个时间都大于0,才能保证系统不产生亚稳态。 建立时间裕量、组

    2024年01月19日
    浏览(30)
  • FPGA时序分析与约束(5)——时序路径

            在之前的文章中我们分别介绍了组合电路的时序,时序电路的时序和时钟的时序问题,我们也对于时序分析,时序约束和时序收敛几个基本概念进行了区分,在这篇文章中,我们将介绍时序约束相关的最后一部分基本概念,带领大家了解什么是时序路径。       

    2024年02月09日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包