La FPGA permite distribuir la carga computacional del control y comunicaci´on entre el MMC y la dSPACE. Dado que se necesita controlar cada subm´odulo del MMC, s´olo con la dSPACE no ser´ıa posible el manejo de las se˜nales de comunicaci´on. En la etapa experimental de esta tesis, se utilizan dos FPGA en donde una se encarga de la comunicaci´on de los subm´odulos de las ramas positivas y otra de las ramas negativas del MMC, como se muestra en la figura 5.5. Adem´as, ambas se coordinan y se comunican entre s´ı para enviar los datos de medici´on de voltaje hacia la dSPACE en palabras de 8 bits, env´ıando 8 palabras para formar el arreglo completo de los 6 voltajes promedios de las ramas del MMC. La primera palabra son 8 bits de unos
5.2 Funciones de la FPGA 73
l´ogicos, mientras que la octava palabra son 8 bits de ceros l´ogicos. Para esto, una FPGA se programa en modo maestro, y la otra se programa en modo esclavo, cuya programaci´on var´ıa para lograr el objetivo de control.
Cada FPGA posee un modo de emergencia, que se activa manualmente y tambi´en en pleno funcionamiento cuando se detectan sobrevoltajes. La implementaci´on de la comunicaci´on entre ellas es de mucha importancia, con la cual se coordinan para el env´ıo de los voltajes promedios de las 6 ramas del MMC hacia la dSPACE. Para esto, cuando comienza el inicio del env´ıo de voltajes hacia la dSPACE enviado por las 8 salidas s´olo 1 l´ogicos, se intercambian los bits correspondientes entre s´ı.
Para llevar a cabo las labores descritas en la figura 5.5, cada FPGA presenta 3 m´odulos principales:
UART 8bit: M´odulo encargado de la lectura de la palabra de voltaje enviada por el micro controlador. Su frecuencia de muestreo es 8 veces el clock de la FPGA, con lo cual se logran adquirir las palabras basado en la generaci´on de un reloj interno que depende de los primeros bits de inicio que env´ıa el micro controlador.
main com master: M´odulo encargado de la comunicaci´on con la otra FPGA y env´ıo de datos hacia la dSPACE. Se env´ıan los 4 bits menos significativos (o los 4 m´as significativos en el caso de la otra FPGA) del promedio de voltajes por rama hacia la otra FPGA, para el env´ıo coordinado hacia la dSPACE por las 8 entradas digitales disponibles, en un env´ıo serializado de 8 bits por frecuencia de lectura de la dSPACE. El modo de operaci´on de env´ıo es como se detalla a continuaci´on:
1. Se env´ıan por las 8 salidas digitales hacia la hacia la dSPACE solo unos l´ogicos, lo cual si la dSPACE lo lee le indicar´a que se dar´a inicio al env´ıo de los voltajes promedios de las ramas.
2. Cada tiempo de lectura de voltajes se enviar´an las 6 palabras de voltaje co- rrespondientes aVcpaprom,Vcpbprom,Vcpcprom,Vcnaprom,VcnbpromyVcncprom en ese orden. Los 4 LSB son enviados por la FPGA maestra y los 4 MSB son enviados por la FPGA en modo esclavo. Esto se logra sincronizando los m´odulos de env´ıo de datos en ambas FPGAs para lo cual se disponen de 6 canales de comunicaci´on. Dos se usan para el intercambio de datos, llamadosfpga in yfpga out,y 1 canal para la sincronizaci´on entre ambas FPGAs que indica en que momento realizar el env´ıo y lectura de los datos. Las dem´as se˜nales se usan para un reset maestro y una se˜nal de emergencia
74 Cap´ıtulo 5 – Aplicaci´on y An´alisis Experimentales
que suspende los pulsos de disparo. El intercambio de bits entre las FPGA ocurre en el estado de inicio de comunicaci´on con la dSPACE al enviar s´olo 1 l´ogicos.
3. Finalmente, se env´ıan por los 8 canales hacia la dSPACE s´olo 0 l´ogicos, indicando la finalizaci´on del env´ıo de las 6 palabras de voltajes.
En la FPGA tambi´en se implementan los modulos LCD para la visualizaci´on de cada voltaje de los subm´odulos en la pantalla y los modos de emergencia a trav´es de los switchs y LEDS incorporados en la FPGA.
disparo: M´odulo encargado de enviar los pulsos de disparo a cada subm´odulo mediante fibra ´optica. Para saber el voltaje a generar por cada subm´odulo recibe el nivel de voltaje desde la dSPACE y genera los disparos de acuerdo al nivel de voltaje de los subm´odulos de cada rama, logrando un balance entre ellos. El m´odulo posee una frecuencia de conmutaci´on dada en el c´odigo. En esta tesis se utilizan 5[KHz] para la frecuencia de conmutaci´on de los subm´odulos. La forma en que se intercambian protocolos de lectura y env´ıo de se˜nales es a trav´es de una tarjeta de acople de se˜nales, con la cual se pasa de un nivel de voltaje de operaci´on a otro. Por ejemplo, la FPGA opera con se˜nales l´ogicas entre 0 y 3.3 [V] mientras que la dSPACE entre 0 y 5[V]. Adem´as, las se˜nales de fibra ´optica tambi´en se necesita la traducci´on de los niveles de voltaje para que operen de forma correcta. El esquema de conexi´on entre la FPGA, la tarjeta de acople de se˜nales y la dSPACE se muestra en la figura 5.4.
Debido a la extensa cantidad de c´odigos utilizados en la programaci´on de las FP- GA, y dado que ambas tienen una programaci´on diferente, los c´odigos utilizados se encuentran a disposici´on del lector en el repositoriohttps://github.com/Varritox/
FPGA_codigos.git. En el link se indica una carpeta para programaci´on de la FPGA
en modo maestro, y otra carpeta para la FPGA programada en modo esclavo, progra- madas utilizando Verilog. La mayor cantidad de m´odulos se implementan utilizando m´aquinas de estado.