0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA通过SPI对ADC配置简介(二)-4线SPI配置时序分析

FPGA之家 来源:FPGA之家 2023-12-11 09:05 次阅读

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

cf371e3e-97ba-11ee-8b88-92fbcf53809c.jpg     cf52032a-97ba-11ee-8b88-92fbcf53809c.jpg

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

SEN:SPI读写的使能信号;

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

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

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

首先介绍该ADC的SPI的写时序,datasheet给出的时序图如图1所示:我们首先大致看一下写时序图,能够了解到对于SDIN来说,需要先写入A7~A0的8bit的地址,接下来写入该地址下的16bit的寄存器数值D15~D0,也就是说每进行一次写操作需要不间断的写入24bit的数据。

对于SEN来说,在进行写操作时,其一直保持低电平,写之前和写完后都保持高电平。对于SCLK来说,其上升沿每次采集每1bit SDIN数据的中心位置,共需要采集24次,才能完成这24bit SDIN数据的写入。

cf5c6ffe-97ba-11ee-8b88-92fbcf53809c.jpg

图1:SPI写时序图

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

1,无论SPI进行读还是写操作,SEN必须拉低,否则SPI不工作(既不读也不写),读、写完成之后SEN必须拉高;

2,SDIN的数据每次在SCLK的上升沿写入SPI;

3,SDIN的数据组成一定是先写入配置寄存器地址,再连续写入配置寄存器数值;

cf6b6ae0-97ba-11ee-8b88-92fbcf53809c.jpg

图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的数据是非常合适的,在这个位置获取的数据最稳定。

cf869b9e-97ba-11ee-8b88-92fbcf53809c.jpg

图3:SPI读时序图

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

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

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

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

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







审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593194
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1615

    浏览量

    89600
  • 时序分析
    +关注

    关注

    2

    文章

    126

    浏览量

    22473
  • ADC芯片
    +关注

    关注

    3

    文章

    68

    浏览量

    20070

原文标题:FPGA通过SPI对ADC配置简介(二)--4线SPI配置时序分析

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于SPI FLASH的FPGA多重配置

    通过FPGA的多重配置可以有效地精简控制结构的设计,同时可以用逻辑资源较少的FPGA器件实现需要很大资源才能实现的程序。以Virtex5系列开发板和
    发表于 01-24 14:17 1.4w次阅读
    基于<b class='flag-5'>SPI</b> FLASH的<b class='flag-5'>FPGA</b>多重<b class='flag-5'>配置</b>

    FPGA通过SPIADC配置简介(三)3线SPI配置时序分析

    AD9249的SPI控制模块包含4根信号线,即CSB1、CSB2、SDIO以及SCLK。但CSB1、CSB2可以一起由CSB来控制,实际上就是3线SPI
    的头像 发表于 12-12 10:47 1048次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>通过</b><b class='flag-5'>SPI</b>对<b class='flag-5'>ADC</b><b class='flag-5'>配置</b><b class='flag-5'>简介</b>(三)3线<b class='flag-5'>SPI</b><b class='flag-5'>配置</b><b class='flag-5'>时序</b><b class='flag-5'>分析</b>

    FPGASPI复用配置的编程方法

    FPGASPI复用配置的编程方法SPI(Serial Peripheral InteRFace,串行外围设备接口)是一种高速、全 双工、同步的通信总线,在芯片的引脚上只占用
    发表于 08-12 11:56

    SPI配置与FLASH时序特点

    先行,一般采用模式0(初始低电平,采集第一个边沿)与模式3(初始高电平,采集第个边沿)的时钟,SPI采用的摩托罗拉的设计,所以我们将SPI配置如下
    发表于 08-13 06:34

    STM32中SPI配置过程简介

    SPI接口简介SPI内部结构SPI工作原理SPI特征SPI的四种工作方式
    发表于 02-17 07:42

    Gowin FPGA产品Slave SPI配置手册

    开始之前,请阅读 UG290,Gowin FPGA 产品编程配置手册 SSPI 部分。SSPI(Slave SPI配置模式,即 FPGA
    发表于 09-30 06:07

    FPGASPI复用配置的编程方法

    FPGASPI复用配置的编程方法  SPI(Serial Peripheral InteRFace,串行外围设备接口)是一种高速、全双工、同步的通信总线,在芯片的引脚上只占用4根线
    发表于 01-06 14:48 3097次阅读
    <b class='flag-5'>FPGA</b>中<b class='flag-5'>SPI</b>复用<b class='flag-5'>配置</b>的编程方法

    SPI方式FPGA配置SPI flash编程

    SPI方式FPGA配置SPI flash编程
    发表于 05-16 18:01 164次下载
    <b class='flag-5'>SPI</b>方式<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>和<b class='flag-5'>SPI</b> flash编程

    FPGA通过SPIADC配置简介-----什么是SPI

    SDIO—当进行读操作时,SDIO作为输出口SDO,串行数据从ADC输出,进入FPGA;当进行写操作时,SDIO作为输入口SDI,串行数据从FPGA输出,进入ADC
    的头像 发表于 09-07 17:07 4635次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>通过</b><b class='flag-5'>SPI</b>对<b class='flag-5'>ADC</b><b class='flag-5'>配置</b><b class='flag-5'>简介</b>-----什么是<b class='flag-5'>SPI</b>?

    ADC的4线SPI配置时序介绍与分析

    从ads52j90的数据手册我们不难发现,其SPI控制模块主要包含4根信号线SEN,SCLK,SDIN以及SDOUT。TI公司对其产品SPI配置信号的命名方式与通用的SPI信号命名方式
    的头像 发表于 09-07 17:09 5847次阅读

    ADC的3线SPI配置时序

    3线SPI与4线SPI配置的主要不同之处在传输的数据格式以及I/O转换上。其读写数据格式由控制命令+地址+数据组成,而上篇提到的4线配置只有地址+数据。
    的头像 发表于 09-07 17:12 5588次阅读
    <b class='flag-5'>ADC</b>的3线<b class='flag-5'>SPI</b><b class='flag-5'>配置</b><b class='flag-5'>时序</b>

    FPGA上编写通过SPI总线配置外部PLL芯片AD9518和ADC9268的程序

    本文档的主要内容详细介绍的是在FPGA上编写通过SPI总线配置外部PLL芯片AD9518和ADC9268的程序免费下载。
    发表于 03-10 15:50 50次下载

    FPGA上编写的通过SPI总线配置外部PLL芯片AD9518和ADC9268的程序

    FPGA上编写的通过SPI总线配置外部PLL芯片AD9518和ADC9268的程序(开关电源技术与设计潘永雄.pdf)-在
    发表于 09-16 11:37 61次下载
    在<b class='flag-5'>FPGA</b>上编写的<b class='flag-5'>通过</b><b class='flag-5'>SPI</b>总线<b class='flag-5'>配置</b>外部PLL芯片AD9518和<b class='flag-5'>ADC</b>9268的程序

    SPI配置要点

    SPI配置要点SPI_DeInit(SPI1);SPI_Init(SPI1,
    发表于 11-30 12:21 7次下载
    <b class='flag-5'>SPI</b><b class='flag-5'>配置</b>要点

    Gowin FPGA产品Slave SPI配置手册

    电子发烧友网站提供《Gowin FPGA产品Slave SPI配置手册.pdf》资料免费下载
    发表于 09-15 11:23 3次下载
    Gowin <b class='flag-5'>FPGA</b>产品Slave <b class='flag-5'>SPI</b><b class='flag-5'>配置</b>手册