El diseño del FPGA fue realizado en el lenguaje VHDL sintetizable [2], el programa tiene dos interfaces, con los periféricos y con
FIGURA 6 - BLOQUES INTERNOS CONFIGURADOS EN EL FPGA
La interfaz con los periféricos permite la programación de los mismos y la lectura de sus valores. Los periféricos más importantes son los lectores de encoders y sus contadores, los convertidores analógicos y las entradas y salidas digitales.
La interfaz con
- Contadores de los encoders.
- Entradas y salidas digitales.
- Registros de control.
- Memoria de puerto doble con las entradas analógicas.
- Fifo con los valores para monitorización (entradas analógicas antes y después del filtro, salidas analógicas y señales digitales).
Dentro del FPGA se implemento un core que ejecuta el algoritmo de control para un PID configurable. El lazo de control formado es único para los cinco cojinetes y va ejecutándose de forma sucesiva sobre las señales de entrada disponibles desde los conversores A/D a una frecuencia de 100 Khz. Los valores son procesados por el bloque PID implementado, que devuelve los valores a las salidas a través de los conversores D/A, cada vez que se procesa un cojinete, el sistema carga al lazo de control el valor del siguiente cojinete. Al terminar espera a que se obtengan nuevos valores en las entradas para volver a iniciar el ciclo.