DRV8711 modo SPI

1

Tengo algunos problemas con el bus SPI de DRV8711 ( enlace ). Las lecturas repetitivas del mismo registro dan los mismos valores pero la comunicación no parece confiable.

Estoy usando dos tableros de desarrollo BOOST-DRV8711 ( enlace ) conectados en el mismo SPI de un xmega , con diferentes pines SS, por supuesto. Actualmente me conecté a través de los siguientes pines:

  • fuente de alimentación del motor (12V)
  • bus SPI (SCK, MISO, MOSI, SS)
  • RESTAURAR y DORMIR

La frecuencia del bus SPI se establece en 250 kHz y los bordes de las señales son buenos. Primera pregunta: no estoy seguro sobre el modo SPI a usar. Aquí los ejemplos comunes de los cuatro modos:

yesteeseldiagramaenlapágina26delahojadedatos:

Comprendo las muestras DRV8711 en el flanco ascendente de la señal de reloj provista que conduce a los modos SPI 0 o 3. En el modo 0, el flanco ascendente también es el primer borde del reloj, mientras que en el modo 3, el flanco ascendente es el segundo y último borde.

No entiendo si los números colocados en esos bordes representan el punto de muestras o los ciclos del reloj.

Por supuesto que ya he probado los dos modos pero ninguno funciona perfectamente. En el modo 0 parece que puedo leer correctamente, pero el DRV8711 no siempre comprende los escritos.

Y el comportamiento más extraño es que ambos módulos reciben los mismos comandos (es decir, microstepping) incluso si solo se activa el pin SS relacionado:

DRV8711_WakeUp();
DRV8711_Reset();
DRV8711_SetMode(&PORTA, PIN4_bm, DRV8711_REG_CTRL_MODE_128);
DRV8711_SetMode(&PORTA, PIN3_bm, DRV8711_REG_CTRL_MODE_2);
DRV8711_SetEnable(&PORTA, PIN4_bm, true);
DRV8711_SetEnable(&PORTA, PIN3_bm, true);

Bueno, ambos controladores están configurados con el modo 128 o 2 (en diferentes ejecuciones). Apuesto a que la comunicación SPI no es confiable debido a una configuración incorrecta.

    
pregunta Mark

0 respuestas

Lea otras preguntas en las etiquetas