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.

[参考译文] ADS1298RECGFE-PDK:SPI 配置

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/670529/ads1298recgfe-pdk-spi-configuration

器件型号:ADS1298RECGFE-PDK
主题中讨论的其他器件:ADS1298RADS1298

尊敬的 TI 支持:  

我正在尝试使用 SPI 外设将 ADS1298R ECGFE 与 STM32 microcontrôleur 相连。  

遗憾的是、在发送0b0010 0000 0b0000 0000作为命令后、我无法读取器件 ID。  

我始终不接收任何内容、下面是我的 SPI 配置:  

/*初始化所有已配置的外设*/
hSpi->instance = SPI1;
hSpi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;//获得20MHz 频率  
hSpi->Init.Direction = SPI_Directure_2LINES;
hSpi->Init.CLKPhase = SPI_PHASE_2EDGE;// CPHA 高电平
hSpi->Init.CLKPolarity = SPI_POLICE_LOW;// CPOL 低电平  
hSpi->Init.DataSize = SPI_DATASIZE_8位;
hSpi->Init.FirstBit = SPI_FIRSTBIT_MSB;
hSpi->Init.TIMode = SPI_TIMDE_DISABLE;
hSpi->Init.CRCCalcincation= SPI_CRCALCULATION_DISABLE;
hSpi->Init.CRCPolynomial = 7;
hSpi->Init.CRCLength = SPI_CRC_LENGTH_8位;
hSpi->Init.NSS = SPI_NSS_Soft;
hSpi->Init.NSSPMode = SPI_NSS_PULSE_DISABLE;
hSpi->Init.Mode = SPI_MODE_MASTER;  

我的 GPIO 引脚配置如下:  

/*启用外设和 GPIO 时钟*/

CONF_SPI1_PIN_MOSI_GPIO_CLK_ENABLE ();
CONF_SPI1_PIN_MISO GPIO_CLK_ENABLE ();
CONF_SPI1_PIN_SCK_GPIO_CLK_ENABLE ();
CONF_SPI1_PIN_SSN_GPIO_CLK_ENABLE ();

/*配置外设 GPIO */
/* SPI SCK GPIO 引脚配置*/
GPIO_InitStruct.Pin = CONF_SPI1_PIN_SCK;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUDOWN;
GPIO_InitStruct.Speed = GPIO_SPED_FREQ_Very 高电平;
GPIO_InitStruct.Alternate = CONF_SPI1_PIN_SCK_ALTERNATE;
HAL_GPIO_Init (CONF_SPI1_PIN_SCK_GPIO、&GPIO_InitStructt);

/* SPI MISO GPIO 引脚配置*/
GPIO_InitStruct.Pin = CONF_SPI1_PIN_MISO;
GPIO_InitStruct.Pull = GPIO_PULLUDOWN;
GPIO_InitStruct.Alternate = CONF_SPI1_PIN_MSO_ALTERNATE;
HAL_GPIO_Init (CONF_SPI1_PIN_MSO_GPIO、&GPIO_InitStructt);

/* SPI MOSI GPIO 引脚配置*/
GPIO_InitStruct.Pin = CONF_SPI1_PIN_MOSI;
GPIO_InitStruct.Pull = GPIO_PULLUDOWN;
GPIO_InitStruct.Alternate = CONF_SPI1_PIN_MOSI_ALTERNATE;
HAL_GPIO_Init (CONF_SPI1_PIN_MOSI_GPIO、&GPIO_InitStructt);

GPIO_InitStruct.Pin = CONF_SPI1_PIN_SSN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPSI_PP;
HAL_GPIO_Init (CONF_SPI1_PIN_SSN_GPIO、&GPIO_InitStructt);

HAL_GPIO_WritePin (CONF_SPI1_PIN_SSN_GPIO、CONF_SPI1_PIN_SSN、GPIO_PIN_SET);

 我必须提到、我只使用 J3连接器对 SPI 引脚(SCK、NSS、MISO、MOSI)进行布线。 我保持了 与《ADS1298RECG-FE 用户指南》中所述相同的跳线位置。  

我的 SPI 配置是否正确?  

BR。  

Ghada。  

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

    很遗憾听到您在使用 ADS1298时遇到问题! 您能否提供 SPI 通信线路的屏幕截图、以便我们能够帮助确定您的系统中发生的情况? 遇到问题时、您是否在微控制器中使用了我们的 EVM? 将 ADS1298ECGFE-EVM 与 MMB0配合使用时、您是否遇到任何问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tom、

    感谢您的回复、但我的办公室现在没有示波器、我将尽快包括 SPI 屏幕截图。

    现在,我将 EVM 与微控制器(STM32L4)一起使用,它与 MMB0 (使用桌面应用程序)一起工作正常。

    但我还有其他问题;在 SPI 初始化之后询问器件 ID 是否正确? 在它之前是否有复位/唤醒配置要做?

    您是否拥有 EVM 板的驱动程序? 使用 MMB0微控制器?

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

    我最终可以读取 ADS1298R 寄存器、但只能在执行以下步骤时读取:
    1.使用 J3连接器将 EVM 与 MMB0仅连接 SPI 引脚(SCK、NSS、MISO、MOSI)。
    2.运行 ADS1298R EVM 评估软件(桌面应用)
    3.读取(使用桌面应用程序)设备寄存器(以检查是否正确)
    4.从 MMB0上移除 SPI 线路并将其连接到我的微控制器(STM32L4)。
    5.运行 STM32程序并开始读取寄存器(器件 ID 寄存器)
    6:器件 ID 已成功读取。

    请注意、仅当使用 SPI_AUDRATEPRESCALER_16 (i.e:5MHz)时、SPI 通信才会稳定

    您能解释一下 MMB0在读取 ADS 寄存器之前的作用吗?
    我错过了什么?

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

    您好、Ghada、

    ADS1298数据表的第10.1.1节(请参阅图93)和11.1节(请参阅图105)中没有介绍 MMB0启动序列的任何特殊情况。 一旦电源电压斜升并且建立了 ADC CLK 信号(内部或外部)、您只需发出/RESET 脉冲即可开始使用器件。

    此致、