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.

[参考译文] ADS1294:RDATA 仅在寄存器读取工作时通过 SPI 提供常量值

Guru**** 2529560 points
Other Parts Discussed in Thread: ADS1294

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/899652/ads1294-rdata-only-gives-constant-values-over-spi-while-register-reading-is-working

器件型号:ADS1294

您好!

我设置 ADS1294以与 STM322l433RCT 配合使用。 我可以读取 ADS 的注册表项、在 RDATAC 模式下、我可以获得(非常受干扰) ECG 信号。

现在、我想在 RDATA 模式下运行。 只要 DRDY 处于低电平、IRQ 就会启动以下功能:

ads_read_data(){
   ADS_DATA_Transmit [0]= 0x12;
   HAL_GPIO_WritePin (ADS_SELECT_GPIO_Port、ADS_SELECT_Pin、GPIO_PIN_RESET);// CS 低电平

   HAL_SPI_transmit (&hspi1、ADS_DATA_transmit、1、100);//发送 RDATA OP 命令
   HAL_SPI_Receive (&hspi1、ADS_DATA_rec、16、100);//接收 DOUT 流

   HAL_GPIO_WritePin (ADS_SELECT_GPIO_Port、ADS_SELECT_Pin、GPIO_PIN_SET);// CS 高电平


遗憾的是、我只能从该块获得恒定值。 使用这种方法可以很好地读取寄存器条目。

我的寄存器设置为:

00:0xxx
01:0x06
02:0x00
03:0xC0
04:0x00
05:0x00
06:0x00
07:0x00
08:0x00
09:0x00
0A:0x00
0b:0x00
0C:0x00
0D:0x00
0E:0x00
0f:0x00
10:0x00
11:0x00
12:0x00
13:0x00
14:0x0F
15:0x00
16:0x00
17:0x00
18:0x00
19:0x00

我是否必须以任何方式设置 RDATA、以便其正常工作?

我通过 OP 命令在我的 Ads_init 中启动了转换。

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

    您好、Philipp、  

    我建议从 BIOS 常见问题解答开始、它有几个有关 SPI 通信的帖子、这些帖子可能会有所帮助。  https://e2e.ti.com/support/data-converters/f/73/p/772058/2855202

    如果您测量已知的值、例如25Hz 正弦波、它看起来是否正常或受到干扰?

    返回的常量值是多少、是满量程、中量程、0V?  

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

    Alex、您好、感谢您的回复。

    我现在可以成功地在 RDATA 模式下进行通信、但只能在某些周期内进行通信。 在调试模式下、我可以通过发送 RDATA OP 命令来访问前几个数据点。 这些似乎是正确的数据,从1100开始…

    但现在我有一个新问题:在捕获了几个数据点之后、DRDY 永远不会再次变为0。 前几个10-100数据点完全正常、但在某些情况下 DRDY 不会再变为低电平。 为什么会这样呢?

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

    您好、Phillip、

    您能否发布原理图? 您的数字通信线路上是否有上拉电阻器、例如 START?

    显示 SCLK、CS、START 和 DOUT 的示波器截图也很有用。  

    通信中的某个位置可能存在争用问题、导致数据锁存。  

    论坛上有许多主题帖、客户已调试类似问题、例如: https://e2e.ti.com/support/data-converters/f/73/t/524933?ADS124S08-DRDY-does-not-go-low-consistently