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

    文章

    1351

    浏览量

    110139
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1707

    浏览量

    91696
  • ADC芯片
    +关注

    关注

    3

    文章

    78

    浏览量

    20316

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

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

收藏 人收藏

    评论

    相关推荐

    DAC7568按数据手册上要求的SPI时序不能配置,内部参考是否也没有输出,为什么?

    按数据手册上要求的SPI时序不能配置,内部参考是否也没有输出,手册上面介绍的操作有没有顺序要求,没有给出来。试了上面所有写操作也没有输出输入您的问题
    发表于 12-31 06:21

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    指南: Verilog测试平台设计方法 选择仿真工具 : 选择一款强大的仿真工具,如ModelSim、Xilinx ISE等。这些工具提供了丰富的功能,包括波形查看、调试功能、时序分析等,能够满足
    的头像 发表于 12-17 09:50 243次阅读

    KeyStone架构串行外设接口(SPI)手册

    )、MOSI(主设备输出从设备输入线)、MISO(主设备输入从设备输出线)和CS/SS(片选线)。SPI协议支持主从模式,其中主设备生成时钟信号并控制数据传输的时序,而从设备响应主设备的请求。这种协议广泛应用于嵌入式系统中,因为
    发表于 12-16 10:33 0次下载

    能否在纯fpga上通过verilog实现SPI控制器去配置adc12dj3200?

    ti工程师,您好,我最近想用adc12dj3200实现L波段信号采样,可以问一下上图中的FPGA可以是支持jesd204b总线的任何FPGA芯片吗?是否可以通过verilog实现SPI
    发表于 11-18 07:28

    ADS127L11配置ADC使用外部时钟以及FILTER[4:0]都不成功,为什么?

    配置ADC使用外部时钟以及FILTER[4:0]都不成功,spi时序都是正常的,使用的是4线
    发表于 11-13 08:03

    ADS127L11使用4线spi不管怎么配置寄存器,示波器看到ADC的drdy脉冲周期始终是400K,怎么回事?

    我使用4线spi不管怎么配置寄存器,示波器看到ADC的drdy脉冲周期始终是400K,不知道怎么回事?我检查时序也都是符合要求的正常操作。
    发表于 11-13 06:36

    TPS65910x时序配置

    电子发烧友网站提供《TPS65910x时序配置.pdf》资料免费下载
    发表于 10-25 09:57 0次下载
    TPS65910x<b class='flag-5'>时序</b><b class='flag-5'>配置</b>

    瀚海微SD NAND之SD 协议(42)SPI总线时序

    -卡已准备好 下面的时序图描述了基本的命令响应(无数据)SPI事务。 主机命令到卡响应卡忙 下面的时序图描述了R1b响应的命令响应事务(例如SET_WRITE_PROT和ERASE)。 当卡信号繁忙时,主机可以在任何时候取消选择
    的头像 发表于 10-21 10:19 293次阅读
    瀚海微SD NAND之SD 协议(42)<b class='flag-5'>SPI</b>总线<b class='flag-5'>时序</b>

    如何利用Verilog-A开发器件模型

    Verilog-A对紧凑型模型的支持逐步完善,在模型的实现上扮演越来越重要的角色,已经成为紧凑模型开发的新标准。而且Verilog-A能够在抽象级别和应用领域中扩展SPICE建模和仿真功能,因此学会
    的头像 发表于 10-18 14:16 505次阅读
    如何<b class='flag-5'>利用</b><b class='flag-5'>Verilog</b>-A开发器件模型

    怎么样提高verilog代码编写水平?

    是全0。于是将SPI通信的4个信号从额外的IO引出通过逻辑分析仪观察SPI通信,其他代码都没动,此时UART又能收到正确的SPI数据了。 猜测是原来的代码中出现了
    发表于 09-25 20:05

    利用Tl的智能高端开关实现SPI通信

    电子发烧友网站提供《利用Tl的智能高端开关实现SPI通信.pdf》资料免费下载
    发表于 09-24 09:28 0次下载
    <b class='flag-5'>利用</b>Tl的智能高端开关<b class='flag-5'>实现</b><b class='flag-5'>SPI</b>通信

    使用IO-link主帧处理程序实现灵活的时序配置

    电子发烧友网站提供《使用IO-link主帧处理程序实现灵活的时序配置.pdf》资料免费下载
    发表于 09-19 11:28 0次下载
    使用IO-link主帧处理程序<b class='flag-5'>实现</b>灵活的<b class='flag-5'>时序</b><b class='flag-5'>配置</b>

    FPGA Verilog HDL有什么奇技巧?

    不同的代码段,方便进行代码的调试和不同配置实现利用 always_ff 、 always_latch 等新的语法特性:在特定的场景下更清晰地表达电路的行为。 利用系统任务和函数:
    发表于 09-12 19:10

    DDR4时序参数介绍

    DDR4(Double Data Rate 4时序参数是描述DDR4内存模块在执行读写操作时所需时间的一组关键参数,它们直接影响到内存的性能和稳定性。以下是对DDR
    的头像 发表于 09-04 14:18 2682次阅读

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

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