Tengo la siguiente configuración para controlar 256 motores paso a paso bipolares desde un flujo de datos a través de SPI.
Estoy decidiendo entre un MCU (teensy 3.6) o un FPGA.
Cada motor (cuatro cables) es impulsado por un controlador que requiere 2 GPIO (A4988).
Uso 32 registros de desplazamiento de 16 bits para hablar con los 256 controladores de alrededor de 36 GPIO en el MCU / FPGA.
Quiero que cada motor responda al unísono cuando emito comandos, esencialmente deben controlarse en paralelo. Un FPGA debería hacer esto bien, pero la codificación en uno no es tan trivial.
Usando un Teensy 3.6 para el enfoque de MCU, me gustaría saber qué tan paralelo sería el control.
I.E. Tengo 32 líneas de datos que van desde 32 GPIO a 32 registros Shift de 16 bits; Quiero activar todos los motores paso a paso completamente en la misma dirección: ¿cuánto tiempo dura la latencia entre la salida del comando de GPIO 1 a GPIO 32?
Aquí hay un diagrama de bloques para ayudar a la configuración.
Probablemente optaría por el enfoque de MCU si la latencia es despreciable, pero me gustaría saber sus pensamientos. Me imagino que cualquier latencia es un problema ya que puenteo todos los otros pines de control de registro de desplazamiento (pestillo, reloj, etc.).
Gracias