Problemas de comunicación por SPI desde la placa STM32F429 y ADE7878

0

Estoy intentando cambiar el microcontrolador que viene con ADE7878 por el STM32F429i . La documentación de Analog Devices muestra cómo hacerlo usando SPI. Lo estoy intentando pero no recibo respuesta de ADE7878. Pongo algunas imágenes para ilustrar la pregunta:

Yfinalmenteelproblema:

Como se puede ver, el MISO está oscilando en fase con el reloj, pero parece ser solo un ruido y todo lo que envía es 0xFF .

Estoy configurando SPI con estos parámetros:

SpiHandle.Instance               = SPIx;
SpiHandle.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128;
SpiHandle.Init.Direction         = SPI_DIRECTION_2LINES;
SpiHandle.Init.CLKPhase          = SPI_PHASE_2EDGE;
SpiHandle.Init.CLKPolarity       = SPI_POLARITY_HIGH;
SpiHandle.Init.CRCCalculation    = SPI_CRCCALCULATION_DISABLE;
SpiHandle.Init.CRCPolynomial     = 7;
SpiHandle.Init.DataSize          = SPI_DATASIZE_8BIT;
SpiHandle.Init.FirstBit          = SPI_FIRSTBIT_MSB;
SpiHandle.Init.NSS               = SPI_NSS_SOFT;
SpiHandle.Init.TIMode            = SPI_TIMODE_DISABLE;

El reloj del STM32F429i es 180MHz.

Probé esta comunicación STM32F429i SPI con otra placa STM32F4 y fue correcta, sin ningún problema, usando esta misma configuración.

Por favor, cualquier pregunta, cualquier duda, hágamelo saber. Será un placer ayudarte a ayudarme ... :)

¡Gracias!

    
pregunta Leandro Lima

2 respuestas

1

He encontrado que un aislador digital fue quemado. Exactamente el que envía la señal de reloj al ADE7878.

    
respondido por el Leandro Lima
0

enlace

Si usas Ethernet y no SPI Mantenga su tablero con la configuración por defecto. Si usas SPI y no Ethernet Debes quitar el puente JP6 en la parte frontal del tablero. Si usas tanto SPI como Ethernet Debe colocar la placa NUCLEO en la parte posterior: retire el SB121 y cierre los puentes de soldadura SB122. Esto conectará PB_5 a D11 en lugar de PA_7.

    
respondido por el deniz

Lea otras preguntas en las etiquetas