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.

[参考译文] AFE4960:AFE4960 SPI 通信和 EEG 配置问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1464538/afe4960-afe4960-spi-communication-and-eeg-configuration-issues

器件型号:AFE4960

工具与软件:

您好!

我正致力于将 AFE4960集成到我们的设计中、但是会遇到 SPI 通信和 EEG 配置问题。 以下是到目前为止我所尝试的内容的详细信息:

遵循的步骤:

  1. SPI_REG_READCONFIG0寄存器中使能:
    根据数据表(第7.5节、SPI 编程)、我将SPI_REG_READCONFIG0寄存器中的位设置为1使用以下 SPI 事务:
txBuf[0] = regAddress;
txBuf[1] = (data >> 16) & 0xFF;
txBuf[2] = (data >> 8) & 0xFF;
txBuf[3] = data & 0xFF;
HAL_GPIO_WritePin(AFE_CS_GPIO_Port, AFE_CS_Pin, GPIO_PIN_RESET);  //CS low
HAL_SPI_Transmit(&hspi1, txBuf, 4, 100);  //Transmit 4 bytes
HAL_GPIO_WritePin(AFE_CS_GPIO_Port, AFE_CS_Pin, GPIO_PIN_SET); // CS high
  1. 读取DESIGN_ID寄存器0x28h():
    我尝试了DESIGN_ID通过发送地址、然后使用以下方法读取接下来的3个字节来读取寄存器:

选项1: 全双工交换

HAL_GPIO_WritePin(AFE_CS_GPIO_Port, AFE_CS_Pin, GPIO_PIN_RESET); // CS low
HAL_SPI_Transmit(&hspi1, txBuf, 4, 100);
HAL_SPI_Receive(&hspi1, rxBuf, 4, 100);
HAL_GPIO_WritePin(AFE_CS_GPIO_Port, AFE_CS_Pin, GPIO_PIN_SET); // CS high

选项2: 逐字节通信

HAL_GPIO_WritePin(AFE_CS_GPIO_Port, AFE_CS_Pin, GPIO_PIN_RESET); // CS low
HAL_SPI_Transmit(&hspi1, &txBuf[0], 1, 100);
HAL_SPI_Receive(&hspi1, &rxBuf[0], 1, 100);
HAL_SPI_Receive(&hspi1, &rxBuf[1], 1, 100);
HAL_SPI_Receive(&hspi1, &rxBuf[2], 1, 100);
HAL_GPIO_WritePin(AFE_CS_GPIO_Port, AFE_CS_Pin, GPIO_PIN_SET); // CS high

但是、我在响应中未收到有效数据。

数据表参考:初始化序列

数据表(第8.2.2.1节)提到了以下初始化步骤:

  1. 上电后等待1ms。
  2. 应用复位(软件或硬件)。
  3. 对所有寄存器进行编程1Dh、但必须最后写入的寄存器除外。
  4. 仅在对寄存器进行编程后启用 MCU 中断服务例程。
  5. 写入 register1Dh to setTIMER_ENABLERAC_COUNTER_ENABLE bits to1、这将启动计时引擎并初始化 FIFO。

问题:

  1. 寄存器读取过程:
    我读取DESIGN_ID寄存器的方法是否正确? 如果未成功、从 AFE4960中读取寄存器的正确顺序是什么?

  2. EEG 采集的配置:

    • 应如何配置 AFE4960以采集 EEG 数据(例如、使用内部差分、例如S1-S3S2-S3有偏置)?
    • 此模式是否需要任何特定设置或寄存器配置?

我遵循的是 可穿戴 EEG 参考设计 硬件实现的详细信息。 如果可能、我希望获得任何具体示例或指导以帮助我继续。

提前感谢您的帮助!

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

    我可以解决我的第一个问题、但仍在等待2个问题的建议。

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

    您好 Saurabh -由于此器件包含在 NDA 中、我们可以通过电子邮件继续离线讨论、然后关闭该主题。

    此致、

    Ryan