This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS1262:无法捕获来自DOUT/DRDY引脚的串行数据

Guru**** 2394305 points
Other Parts Discussed in Thread: ADS1262

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/568850/ads1262-unable-to-capturing-serial-data-coming-dout-drdy-pin

在“线程:ADS1262”中讨论的其他部件

我一直在使用连接FPGA的ADS 1262。我在VHDL中编写了代码,通过检查引脚DOUT/DRDY可以看到数据对话,但无法捕获来自DOUT/DRDY引脚的串行数据。我已按照 数据表配置了所有模拟和数字电压。 我正在使用轮班登记方法更新数据(SIPO登记)。

下面将对我在VHDL中编写的代码进行编码

当start_adc_conv_st =>时
如果(start_i ='1'),则
启动<=高;
START_ADC_counter <= START_ADC_counter + 1;
如果(START_ADC_counter = 4),则
启动<=低;
ADC_1262 <= START_ADC_COV_ST1;
结束条件:
否则
启动<=低;
ADC_1262 <= START_ADC_COV_ST;
结束条件:
当start_adc_conv_st1 =>时
如果(START_ADC_counter =8),则
启动<=高;
start_adc_counter <= 0;
ADC_1262 <= drdy_detect1_st;
否则
START_ADC_counter <= START_ADC_counter + 1;
启动<=低;
ADC_1262 <= START_ADC_COV_ST1;
结束条件:
当drdy_detect1_st =>时
如果(drdy_i ='1'),则
ADC_1262 <= drdy_detect2_st;
否则
ADC_1262 <= drdy_detect1_st;
结束条件:

当drdy_detect2_st =>时
如果(drdy_i ='0')则
SCLK_enable_s <=高;
Bram_wr_cntr <= 06;
-- drdy_wait_cntr <= 0;
-- test_data <=(其他=>'0');
bram_wr_addr_s <=(其他=>'0');
ADC_1262 <= DATA_COLLECK_ST;
否则
ADC_1262 <= drdy_detect2_st;
结束条件:
当data_collect_st =>时
如果(CH1_cntr = low_cnt),则
SCLK_enable_s <=低;
bram_wr_en_s <=高;
ADC_1262 <= bram_write_data_st;
否则
如果(rd_EN1_I ='1'),则
received_data <= received_data(30 downto 0)和data_i;
CH1_cntr <= CH1_cntr - 1;
如果(CH1_cntr = 5),则
SCLK_enable_s <=低;
结束条件:
结束条件:
ADC_1262 <= DATA_COLLECK_ST;
结束条件:


当bram_write_data_st =>时
如果(bram_wr_cntr = low_cnt),则
Bram_wr_en_s <=低;
CH1_cntr <= 32;
CNTR <= 0;
received_data <=(其他=>'0');
ADC_1262 <= drdy_detect1_st;
否则
bram_wr_addr_s <= bram_wr_addr_s + 1;
Bram_wr_cntr <= bram_wr_cntr - 1;
ADC_1262 <= bram_write_data_st;
结束条件:
当其他人=>时
空;
结束案例;
结束条件:
结束流程;

提前感谢您

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shambhu,您好!

    欢迎来到TI E2E论坛!

    您是否可以共享SPI通信的一些示波器或逻辑分析仪屏幕截图?
    您一定要原谅我,但我对VDHL并不是很熟悉...此外,通常我会发现查看实际沟通更有用,因为代码并不总是显示问题。

    您是否在DOUT引脚上看到来自ADS1262的任何响应?

    此外,是否可以查看您的电路示意图?

     

    谢谢,此致,
    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Christopher Hall  

    感谢您的重播。

    我一直在使用ADS 1262连接FPGA。我的终端应用程序将从称重传感器获取数据。我 已按照 数据表配置了所有模拟和数字电压。 我在默认配置模式下使用ADS 1262。我面临的另一个问题是 ,将 数据写入寄存器进行编程时, DRDY引脚 总是高的。根据数据表,我们已经读取了DRDY引脚从高到低的转换,通过DIN引脚直接转换输入,在第一个时钟之后,DRDY引脚总是高的(在串行输出中使用并行)。 我正在从  DOUT/DRDY中读取数据,它是以 并行输出方式串行的。

    根据默认配置模式,以下将是规格

    1. ADS 1262使用连续 转换模式。

    2.默认配置设置中使用的所有寄存器。

    3.我正在使用单端连接。

    4. Ain 0引脚I正在应用(0 2.5 V)直流电压,使用电位计(可变电阻器)改变输入电压范围(0- 2.5 V),AIN 1接地。

    5.注册设置-默认设置

    6. 输入信号- (0 2.5 V)直流电压(针脚编号21 -- Ain 0)

    7.电源电压-(AVDD - 5V),(AVSS - GND),(DVDD-3.3V),(DGND - GND)

    ADS 1262的DIN和CS引脚通过 FPGA的GPIO引脚绑定为低电平。

    9.启动和重置/PWDN通过  FPGA的GPIO引脚绑定到较高位置。

    10.XTAL 1/CLKIN1通过50欧姆电阻器连接至6 MHz时钟。

    11..XTAL 2打开(浮动连接)

     

     

                        

    这些在所附FPGA和ADS 1262图像之间的连接图中显示。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shambhu,您好!

    感谢您分享更多信息和屏幕截图!

    从我的角度来看,它似乎是ADS1262正确响应的。 因此,FPGA读取的数据与示波器上看到的数据不相同,或者该数据是否有意义? 很抱歉,我不太确定我是否理解问题所在。

     

    我注意到一件事,您在读取数据时似乎只发送了32个SCLK。 但是,使用默认寄存器设置时,您总共需要发送48个SCLK来对状态,数据和CRC字节进行计时(如下所示)。  此时,您可能只能获得状态Data1,DATA2和DATA3 bytes...

    另一个要检查的是您使用的SPI模式。 ADS1262使用SPI模式1 (CPOL=0,CPHA=1);因此,请确保正在读取SCLK的下降沿上的数据。

    /DRDY行为看起来也是正确的...它通常在转换完成后变为低电平,然后在第一个SCLK之后返回。 所以我看不出来有什么问题。

    放在一边:从示波器屏幕截图中,ADS1262返回的第一个字节是状态字节,其值似乎为0x69。 这表明转换数据是新的,您使用的是外部时钟,输入电压违反了PGA的共模电压(低侧)。 这是有意义的,因为您已将负极输入连接到接地。 为确保线性PGA操作,您需要为AIN1施加更高的电压或绕过PGA。

     

    此致,
    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Christopher Hall

    感谢您的回复。

    数据 读取问题解决了。我面临的另一个问题是 将 数据写入寄存器进行编程, DRDY引脚 总是高的。根据数据表,我们已经读取了DRDY引脚高到低的转换,然后通过  DIN引脚转换串行输入,在第一个时钟之后,DRDY引脚总是高的(在串行输出中使用并行),因为我想提高我编程的ADS 1262 IC的采样率 。

    1.选择数据 速率,PGA启用和 增益[2:0]

    为此,请使用Mode2寄存器(地址=05h)

    Opcode 1 = 45H, opcode 2 = 00h,REG Data1 = 5Dh,REG DATA2=00h,我已选择以下项

    位7是'0' ,表示PGA启用

    Bit6:4 是'101' 的 增益[2:0]---- 32V/V

    对于   数据速率--1.44万 SPS,BIT3:0为'1101'

    位7位6:4 位3:0 ='101.1101万'= 5Dh

    提前感谢 您的回复。

    此致,

    Shambhu Hosamani

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shambhu,您好!

    Shambhu hostamani 说:
    操作码1 = 45H, 操作码2 = 00h,REG Data1= 5Dh,REG DATA2=00h,我已选择以下选项[/QUOT]

    在这种情况下,您只需写入单个寄存器;因此,您不需要在“REG DATA2”字节中进行时钟处理。 您只需在此处提供一个数据字节!

    发送上述WREG命令后,您是否尝试使用RREG回读注册表配置以进行验证?

    此致,
    Chris