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.

[参考译文] ADS131E08:SPI_DOUT没有数据输出

Guru**** 2593990 points
Other Parts Discussed in Thread: ADS131E08, ADS131E08EVM-PDK

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/658061/ads131e08-spi_dout-have-no-data-output

部件号:ADS131E08

我们 始终  设置SPI_CS Low,  SPI_CLK和SPI_DIN有来自CPU的信号。 但是 ADS131E08 SPI_DOUT有 数据输出,我们不知道 是什么原因造成的?  

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

    大约一个月前,您使用的是ADS131E08EVM-PDK。 您当时是否获得了合适的DOUT? 您现在是否有了自己的主板,并且在使用新硬件时遇到了此问题? 您能否提供有关如何配置设备的示意图和详细信息?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1、CPU组成4 线SPI, CPU可以  读取ads131e08  id寄存器;

    2、CPU包含三 线SPI,    ,131e08的CS连接GND,ADs131e08的DOUT目前没有数据输出,CAN ADs131e08的CLK和RX 从 CPU。接收信号

    静态int ads131e08_init(struct ads131e08 *ads131e08)


    Int ret = 0,I = 0;
    u8 buf = 0;

    RET = ads131e08_cmd_control (ads131e08,ADS131E08_CMD_SDATAC,0,0);
    RET = ads131e08_sendreset (ads131e08);
    如果(ret){
    dev_err(ads131e08->dev," write reset error\n");
    返回台;
    }
    RET = ads131e08_cmd_control (ads131e08,ADS131E08_CMD_WAKEUP,0,0);

    RET = ads131e08_cmd_control (ads131e08,ADS131E08_CMD_SDATAC,0,0);
    如果(ret){
    dev_err(ads131e08->dev," write sdatac error\n");
    返回台;
    }
    usleep_range (2,3);
    RET = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_STOP, 0, 0);

    RET = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
    ADS131E08_CFG1,(void *)&reg_init.cfg1);

    usleep_range (2,3);
    RET = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
    ADS131E08_CFG2,(void *)&reg_init.cfg2);

    usleep_range (2,3);
    RET = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
    ADS131E08_CFG3,(void *)&reg_init.cfg3);

    usleep_range (2,3);
    对于(i = 0;i < 8;I++){
    RET = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_WREG,
    ADS131E08_CH1SET+I,(void *)&reg_init.chnset);
    如果(ret){
    dev_err(ads131e08->dev," init CH%DSET error\n",i+1);
    返回台;
    }
    }

    usleep_range (2,3);
    RET = ads131e08_cmd_control(ads131e08, ADS131E08_CMD_REG,
    ADS131E08_ID,(void *)&buf);
    如果(ret < 0){
    dev_err(ads131e08->dev,"读取ID寄存器错误\n");
    返回台;
    其他{
    dev_info (ads131e08->dev," devd is = 0x%2.2x\n",buf);
    如果(buf == 0){
    返回-1;
    }
    }

    ads131e08_reg_dump (ads131e08);

    RET = gPIO_Direction_OUTPUT (ads131e08->pdata->adc_start_gPIO,1);
    如果(ret < 0){
    dev_err(ads131e08->dev,"无法断言ADC_START_GPIO %d\n", ret);
    返回台;
    }

    返回台;
    }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ads131e08是否支持三行SPI?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    陈琳,您好!

    ADS131E08上的串行接口具有复位功能,该功能在/CS被设置为高电压时激活,因此它不是真正的3线SPI器件。 有关详细信息,请参阅9.5 .2.1 和9.5 .2.2 部分。