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.

[参考译文] ADS1248:从不准备数据

Guru**** 2540720 points
Other Parts Discussed in Thread: ADS1248

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/776612/ads1248-never-data-ready

器件型号:ADS1248

你好。

我使用 pic24EP64GP206通过 SPI 控制 ADC。

完成一些工作和验证后、SPI 看起来工作正常、但从未从 ADC 获得数据、我只是想不到任何数据。

这是我的 SPI 中的一张照片(只需发送0xAA 以确保其配置良好)

这里是我用于配置和数据采集的代码。 (代码中没有 CS 信号、但通过硬件固定为低电平)

void InicializaADC(){

DELAYADC (10);//延迟10ns
SPI1_SEND (0b00000110);//发送复位
DELAYADC (600);//延迟0.6ms
//SPI1_SEND (0b00000000);//发送唤醒
SPI1_SEND (0x16);//发送 SDATAC
DELAYADC (600);//延迟0.6ms
//SPI1_SEND (0b00010100);//发送 RDATAC

//发送 WREG

SPI1_SEND (0x43);//写入 SYS0以更改 SPS
SPI1_SEND (0x00);
SPI1_SEND (0x52);

SPI1_SEND (0x42);//写入 MUX1以设置内部基准
SPI1_SEND (0x00);
SPI1_SEND (0x30);

SPI1_SEND (0x40);//写入 MUX0寄存器以更改通道
SPI1_SEND (0x00);
SPI1_SEND (0x01);//+AIN0、-AIN1
//SPI1_SEND (0x13);//+AIN2、-AIN3
//SPI1_SEND (0x25);//+AIN4、-AIN5
//SPI1_SEND (0x37);//+AIN6、-AIN7

SPI1_SEND (0x04);//发送同步
SPI1_SEND (0x04);
DELAYADC (2);//延迟6ms
SPI1_SEND (0x14);//Send RDATAC
}

ulong getADCSample(){
FastTriggerSet (&timeoutADC、200000);//超时200ms

while (DREADY_ADC){//等待数据就绪或超时
if (FastTriggerActivado (&timeoutADC)))
返回99999;
}
DELAYADC (20); //延迟 tcsc.

SPI1_SEND (0x12);//发送 RDATA
SPI1_SEND (0xFF);//发送 NOP x3
SPI1_SEND (0xFF);
SPI1_SEND (0xFF);



DELAYADC (2); //延迟 tsccs

返回 SPI1_recive();
} 

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

    Josh、您好。

    感谢您的发帖、欢迎加入论坛!

    如果 START 引脚未保持高电平、ADS1248将不会启动转换或写入寄存器。

    我在这部分代码中看不到它、但在电源稳定后、器件需要16ms 才能与器件通信。 请参阅第10.1.8节了解详情。

    此外、检查您的 MCU 以确保引脚监控/DRDY 未保留或处于强制状态。

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


    另一行要检查的是/reset。 在该器件中、该引脚为低电平有效、应为高电平以远离复位。

    只看示波器照片、就会发现您使用的微控制器的 SPI 模式不正确。 数据应在 SCLK 的上升沿设置、数据应在 SCLK 的下降沿计时到器件中。

    如果您对齐边沿、看起来您在 SCLK 的下降边沿设置了数据、并且尝试在上升边沿计时数据。

    验证微控制器 SPI 模式是否为模式1 (如我所述),并检查您是否从设备获得响应。


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

    我昨天刚刚为其提供资金、请更正您的数据表、因为重置  可以使器件在低电平、而不是在高电平上运行、这使我浪费了1周的工作时间。