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

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

3天内不再提示

如何利用verilog实现4线SPI配置时序

FPGA之家 来源:FPGA之家 2020-09-07 17:15 次阅读

第二篇以德州仪器(TI)的高速ADC芯片——ads52j90为例,介绍完了4线SPI配置时序。本篇将以该芯片SPI结构为例,具体介绍如何利用verilog实现4线SPI配置时序。

无论实现读还是写功能,都先要提供SCLK。假如FPGA系统工作时钟40MHz,我们可以利用计数器产生一个n分频的时钟作为SCLK,本例中n取8,SCLK频率5MHz。SCLK产生的代码如下:

SCLK时钟有了,接下来我们建立一个状态机实现读和写功能:

初始化状态的下一个状态就是写寄存器操作了,每次SCLK的上升沿写入数据:

写完一个寄存器参数,CSB先拉高。接下来在进入下一个状态,本篇例子下一个状态的操作是读取对应寄存器地址的数据。我们首先需在SCLK的上升沿写入8bit的寄存器地址,接下来在SCLK的下降沿读取16bit的数据。

到此,读写操作都完成了。代码上的注释可以便于大家理解,大家还可以仿真看一下波形加深理解。

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

    关注

    28

    文章

    1325

    浏览量

    109297
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1613

    浏览量

    89585
  • ADC芯片
    +关注

    关注

    3

    文章

    68

    浏览量

    20070

原文标题:FPGA通过SPI对ADC配置简介(四)---Verilog实现4线SPI配置

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

收藏 人收藏

    评论

    相关推荐

    STM32F030F4使用HAL_SPI_Transmit发送函数,执行到数据写入DR时就进硬件错误中断怎么解决?

    大家好,我最近用STM32F030F4SPI驱动一块3.5寸LCD,是三线的,LCD要求时序如下 于是我配置
    发表于 03-28 07:11

    基于TI AM62x的SPI接口配置

    SPI(Serial Peripheral Interface)通信总线以其高速、全双工、同步的特性而被广泛应用,它只需要四根线就能实现数据传输,有效地节约了芯片管脚的数量,同时为PCB布局带来
    发表于 03-22 15:52

    关于LTC6804芯片SPI唤醒的问题求解

    你好,我想咨询下LTC6804芯片SPI唤醒的问题,初步打算采用4线SPI(ISOMODE=V-)。VREG的输入由LT3990芯片提供,芯片的EN/VVLO通过DRIVE驱动
    发表于 01-04 08:09

    想要ad9211-300输出共模电压,按照手册spi接口发送命令是0x000f02,为什么配置不进去数据呢?

    我想要ad9211-300输出共模电压,按照手册spi接口发送命令是0x000f02,但是就是配置不进去数据。(配置完读出一直是0x00这个默认值) 我的spi的主控器是用fpga逻
    发表于 12-22 08:20

    AD7193如何通过spi时序图来进行模拟spi的通信编程?

    本人准备应用AD7193,现在一直无法实现AD7193 的spi通信,请问如何通过spi时序图来进行模拟spi的通信编程?
    发表于 12-21 07:36

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

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

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

    本篇将以德州仪器(TI)的高速ADC芯片—ads52j90为例,进行ADC的4线SPI配置时序介绍与分析。
    的头像 发表于 12-11 09:05 786次阅读
    FPGA通过<b class='flag-5'>SPI</b>对ADC<b class='flag-5'>配置</b>简介(二)-4线<b class='flag-5'>SPI</b><b class='flag-5'>配置</b><b class='flag-5'>时序</b>分析

    AD5412非标的三线SPI如何与标准的四线SPI通信?

    AD5412非标的三线SPI如何与标准的四线SPI通信,芯片手册中的时序不是标准的SPI
    发表于 12-01 06:31

    利用单片机430_5324的SPI配置AD9517,配置不成功的原因?

    各位专家好: 我使用AD9517-4时钟芯片产生LVDS差分时钟以供AD9653使用,现在AD9517-4使用外部采样时钟80M,通过使用AD9517软件得到AD9517寄存器的配置表,利用
    发表于 11-16 07:42

    单片机spi接口的使用方法有哪些(spi接口和串口的区别)

    如果单片机没有硬件SPI模块,或者需要额外的IO引脚来实现多个SPI设备的通信,可以使用软件SPI模拟。软件SPI通常使用GPIO口模拟
    的头像 发表于 11-10 16:38 1601次阅读

    SPI总线的原理与Verilog设计实现

     SPI(Serial Peripheral Interface,串行外围设备接口),是Motorola公司提出的一种同步串行接口技术
    发表于 08-14 09:00 930次阅读
    <b class='flag-5'>SPI</b>总线的原理与<b class='flag-5'>Verilog</b>设计<b class='flag-5'>实现</b>

    Verilog设计寄存器

    现代逻辑设计中,时序逻辑设计是核心,而寄存器又是时序逻辑的基础,下面将介绍几种常见的寄存器的Verilog设计代码供初学者进行学习理解。
    的头像 发表于 07-27 09:03 2085次阅读
    <b class='flag-5'>Verilog</b>设计寄存器

    配置芯片寄存器的SPI通信协议的verilog实现

    最近正在调试一个芯片的评估板,其中配置寄存器使用的是SPI通信协议。其实很多芯片寄存器的配置都用到了SPI通信协议,我们今天就需要实现这个
    的头像 发表于 06-16 09:50 1258次阅读
    <b class='flag-5'>配置</b>芯片寄存器的<b class='flag-5'>SPI</b>通信协议的<b class='flag-5'>verilog</b><b class='flag-5'>实现</b>

    Verilog中Pmod ALS的SPI接口代码

    电子发烧友网站提供《Verilog中Pmod ALS的SPI接口代码.zip》资料免费下载
    发表于 06-15 09:32 0次下载
    <b class='flag-5'>Verilog</b>中Pmod ALS的<b class='flag-5'>SPI</b>接口代码

    介绍Verilog的2大类时序控制方法

    Verilog 提供了 2 大类时序控制方法:时延控制和事件控制。事件控制主要分为边沿触发事件控制与电平敏感事件控制。
    的头像 发表于 06-02 11:44 675次阅读
    介绍<b class='flag-5'>Verilog</b>的2大类<b class='flag-5'>时序</b>控制方法