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.

[参考译文] ADS1299:数据采集和 SPI 存在问题

Guru**** 2581345 points
Other Parts Discussed in Thread: ADS1299

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/910660/ads1299-problem-with-data-acquisition-and-spi

器件型号:ADS1299

你好

我在一个项目中工作、我正在使用连接到微控制器 STM32WB55的 ADS1299。数据是通过 ADS1299获取的、数据通过 SPI 总线发送到微控制器、然后微控制器通过 UART 总线将数据发送到计算机。 为了测试 ADS1299、我在从电极获取数据之前使用300mV 10Hz 正弦波。 问题是、在捕获数据时、有些数据的值不是正确的值、其余数据的值是正确的。 因此、当我像下面的图像那样打印采集的数据结果时:

此外、当我使用 ADS1299的内部测试信号时、采集的数据似乎也是正常的。

我还检查了与逻辑分析仪的 SPI 通信、通信似乎正常、因此我不知道问题是来自通信还是来自数据采集。 这是 SPI 通信的屏幕截图。 UART 总线工作正常。 它已经过独立测试。

ADS1299的配置方式如下:

CONFIG1 = 0xD6

CONFIG2 = 0xD5

CONFIG3 = 0xE0

CHnSET = 0x00

其他寄存器具有复位值。

我要读取 de miso 行的 c 代码是下面的代码。 lectura 是一个用于存储接收到的数据的数组。

LL_SPI_Enable (SPI1);

HAL_GPIO_WritePin (GPIOA、CHIP_SELECT_Pin、 GPIO_PIN_RESET);

对于 (unsigned  int j=0;j<27;j+=4){

LL_SPI_TransmitData8 (SPI1、0x00);

LL_SPI_TransmitData8 (SPI1、0x00);

LL_SPI_TransmitData8 (SPI1、0x00);

LL_SPI_TransmitData8 (SPI1、0x00);

lectura j]= SPI1->DR;

lectura j+1]= SPI1->DR;

lectura [j+2]= SPI1->DR;

lectura [j+3]= SPI1->DR;

HAL_GPIO_WritePin (GPIOA、CHIP_SELECT_Pin、 GPIO_PIN_SET);

LL_SPI_Disable (SPI1);

 

有人知道为什么会发生 ADS1299行为? 这种行为与 ADS1299和 SPI 通信是否相关、还是微控制器的问题以及数据的存储方式?

如果有人需要有关该项目的更多信息、请告诉我、我将发布它。

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

    SPI 通信的屏幕截图。

    所获得的正弦波以及所述问题。

    获得的 ADS1299测试信号

    很抱歉、我没有习惯在论坛上发布任何内容。

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

    您好!  

    对我来说、这看起来像是一个代码到电压转换问题。 有关其它信息,请参阅 BIOS 常见问题解答: https://e2e.ti.com/support/data-converters/f/73/p/772058/2855202

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

    感谢您的回答。 我将检查我的电压转换。 但是、为什么测试信号看起来是正确的? 我完成了相同的电压转换。

    此致。