5,ADC的SPI实战篇——ADS528X

编程入门 行业动态 更新时间:2024-10-26 17:31:21

5,ADC的SPI<a href=https://www.elefans.com/category/jswz/34/1769979.html style=实战篇——ADS528X"/>

5,ADC的SPI实战篇——ADS528X

注:学习、交流就加博主weixin “fpga_start” 私信~

若需要完整、实用的veilog代码工程,请点击(博主1对1技术支持,包学会):

.htm?ft=t&id=683887211432

 前几篇咱们分别以ADI公司和TI公司的高速ADC为实例(AD9429、AD9639、ADS52J90),向大家演示FPGA是如何通过SPI协议向该ADC读写寄存器配置数据的,所述的方法都是通用型的SPI读写操作,适用于任何FPGA与ADC的SPI配置。

本篇咱们再介绍一种更简单的SPI写操作方式。大家可能已经发现,ADI和TI的某些高速ADC只有SPI写的功能,也就是说只能往ADC里配置寄存器参数,而不能把参数再读出来。这样的话,FPGA设计SPI代码时就没必要考虑读寄存器参数这个功能了,而如果只是往ADC里写配置数据,那么就有更为简单的实现方式,理解起来也非常容易。

比如TI公司的ADS5281和ADS5282这两款芯片,就是8通道、50MSPS/65MSPS、12bit采样精度的高速串行ADC,使用的非常广泛,而其只有写寄存器的功能,而没有读寄存器的功能。如下图所示为ADS5282的功能框图,且配置接口包含4个信号:低电平有效的reset、SPI的Cs、SPI的SCLK以及SPI的SDATA,其中SDATA只作为配置数据输入接口,相当于sdin。

本篇实例操作方式采用的是virtex5系列的FPGA,操作软件为ISE14.7。如下图所示为本人设计过的基于该系列ADC的多通道数据采集板卡:

TI的该款ADC的SPI写配置时序图如下所示:

简单来说,就是在在CS_n低电平期间,SCLK上升沿时,SDATA写入8bit的地址(A7-A0)和16bit配置数据(D15-D0),共24个SCLK周期完成写寄存器操作,另外该芯片无读寄存器功能。

本例程以3个寄存器的写操作为例,介绍一种简单的SPI写配置方式,如下图所示为定义的3个24bit寄存器参数,高8位是地址,低16位是数据:

如下图所示为写操作的逻辑,状态0初始化,状态1不断发送24bit寄存器参数,状态2为配置完一个寄存器参数,等待5个时钟周期,再进行下一个寄存器参数的配置,这里的操作只显示了第一个寄存器配置,其余两个与这里是完全一样的。这种写操作方式和前面多篇介绍的写操作也是类似,大家可以相互对比一下~

下图所示为写C_AcfgReg1=24'h14_00_ff 的实际时序:

 下图所示为写C_AcfgReg2= 24'h25_00_00的实际时序:

下图所示为写C_AcfgReg3= 24'h2A_00_00的实际时序:

本篇作为附加篇,主要是想告诉大家,咱们很多时候不需要读配置寄存器的数据,只需配置好ADC让其正常工作就可以了。

更多推荐

5,ADC的SPI实战篇——ADS528X

本文发布于:2024-02-25 01:50:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1697387.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:实战篇   ADC   SPI   ADS528X

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!