Documente Academic
Documente Profesional
Documente Cultură
Resumen
La presente guı́a muestra las condiciones para el desarrollo del proyecto final del módulo Procesamiento Digital
de Señales y Lógica Programable, en donde los estudiantes deberán construir y poner en marcha un convertidor de
potencia controlado por un procesador de señales DSP 28335 y una FPGA.
Para la realización del laboratorio, los estudiantes deberán hacer un estudio de los equipos a utilizar y realizar la
programación necesaria para cumplir con los objetivos de la guı́a.
I. I NTRODUCCI ÓN
Con el objeto de introducir al funcionamiento de las tarjetas procesadoras de señales, DSP 28335 y FPGA, se
realizará un proyecto el cual tendrá como objetivo final realizar la implementación de un convertidor dc/ac como
el que se muestra en la Fig. 1.
S1 S3 S5
ia L R
a
vdc b n
vaN c
vbN
S4 S6 S2
vcN
El convertidor mostrado cuenta con 6 switches (S1 , S2 , S3 , S4 , S5 y S6 ), los cuales se abren o cierran según el
voltaje del gate del IGBT. Si las señales de control se realizan de forma correcta, es posible obtener una tensión
alterna trifásica a la salida del equipo.
2
Tabla I
E STADOS V ÁLIDOS DE C ONMUTACI ÓN DEL VSI
Estado S1 S2 S3 S4 S5 S6
1 1 1 0 0 0 1
2 1 1 1 0 0 0
3 0 1 1 1 0 0
4 0 0 1 1 1 0
5 0 0 0 1 1 1
6 1 0 0 0 1 1
7 1 0 1 0 1 0
8 0 1 0 1 0 1
DSP 28335
Descripción:
- Datasheet DSP TMS320F28335.
BASYS 2
Descripción:
- Datasheet Basys 2.
BASYS 3
Descripción:
- Datasheet Basys 3.
4
NEXYS 4
Descripción:
- Datasheet Nexys 4.
Osciloscopio digital
Descripción:
- Datasheet Osciloscopio KEYSIGHT InfiniiVision X3024T.
5
Puntas digitales
Descripción:
- Corresponde a un cable con 16 puntas que permiten leer señales digitales, en el Datasheet del osciloscopio se
encuentran las especificaciones de las señales permitidas.
Puntas diferenciales
Descripción:
- Datasheet Puntas diferenciales.
Sonda de corriente
Descripción:
- Datasheet Sonda de corriente.
6
Tarjeta de IGBT
Descripción:
- Tarjeta acondicionadora de señales, la cual recibe la señal óptica de la “Tarjeta de disparo IGBT”, adaptando
esta señal óptica a un señal digital que permite cambiar el estado del IGBT.
7
• Ir al enlace .NET framework 4.0 → Descargar software → Instalar (en caso de tener una versión superior a
la 4.0, desinstalar y luego instalar versión 4.0).
• Ir al enlace SDK 7.1 → Descargar → Instalar.
• Instalar Visual Basic 2010.
• Instalar Matlab 2015a.
• En Command Window de Matlab ingresar mex -setup y seleccionar mex -setup C++.
• Ir al enlace CCSv6 → Descargar Code Composer Studio versión 6.2.0.00050 (CCSv6).
• Ubicar el instalador de CCSv6 en la dirección C:\.
• Instalar CCSv6 en la dirección C:\ti (Instalar todos los programas y complementos).
• Abrir CCSv6, ir a View → Target Configuration → Click derecho sobre User Defined (columna a mano
derecha) → Seleccionar New Target Configuration.
• Generar el nombre de nuestra configuración con la extensión .ccmxl → Finish.
• En la ventana desplegada seleccionar “Texas Instruments XD100v1 USB Debug Probe”.
• Seleccionar en “Board Device” TMS320F28335 → click en save.
• En Command Window de Matlab ingresar xmakefilesetup.
• En la ventana desplegada ir a configuración → Seleccionar “ticcs c2000 ccsv5” → Click sobre “New” →
Elegir el nombre “ticcs c2000 ccsv5 clone” → Ok.
• En la pestaña Compiler cambiar el directorio a C:\ti\ccsv6\tools\compiler\c2000 15.12.3.LTS\bin\cl2000.exe.
• En arguments ingresar
-I“C:\ti\ccsv6\tools\compiler\c2000 15.12.3.LTS\include” −fr “[|||MW XMK DERIVED PATH REF|||]”.
• En la pestaña Linker en linker ingresar “C:\ti\ccsv6\tools\compiler\c2000 15.12.3.LTS\bin\cl2000.exe”.
• En la pestaña Archiver en archiver ingresar “C:\ti\ccsv6\tools\compiler\c2000 15.12.3.LTS\bin\ar2000.exe”.
• Apply y Ok.
• Ir al enlace Control Suite → Click en descargar Control Suite → Registrarse → Instalar software.
• Ir al enlace DSPbios → Click sobre 5.41.04.18 Windows CCSv4 installer → Instalar en el directorio
“C:\ti\bios 5 41 04 18”.
• Ir a equipo → Click derecho → Propiedades → En la ventana desplegada seleccionar “Configuración avanzada
del sistema” → Click en variables del entorno → Click en “nueva” → En nombre de la variable ingresar
“XDCROOT” y en valor de la variable “C:\ti\xdctools 3 32 01 22 core”.
• En Command Window de Matlab ingresar checkEnvSetup(‘ccsv5‘,‘f28335‘,‘setup‘).
• Primera dirección de directorio requerida “C:\ti\ccsv6”
• Segunda dirección de directorio requerida “C:\ti\ccsv6\tools\compiler\c2000 15.12.3.LT”.
• Tercera dirección de directorio requerida “C:\ti\bios 5 41 04 18”.
• Cuarta dirección de directorio requerida “C:\ti\controlSUITE\libs\utilities\flash api\2833x\28335\v210”.
8
• En Matlab hacer click en Add-Ons → Seleccionar Get Hardware Support Package → Seleccionar Install from
internet → Next → Seleccionar Support for: Texas Instruments C2000 → Seleccionar todo → Next → Log
In → Aceptar los terminos → Next → Next → Support package for: Texas Instruments C2000 (Embedded
Coder) → Next → Toolchain: Texas Instruments Code Composer Studio v6 (C2000) → Next → Next →
Seleccionar dirección “C:\ti\ccsv6\tools\compiler\c2000 15.12.3.LTS” → Validate → Seleccionar dirección
“C:\ti\controlSUITE” → Validate → Ok a todo.
C. Aprender Pasos para Generar Código DSP desde Simulink (Grupo DSP)
• Descargar Archivo Simulink (este archivo cuenta con la configuración necesaria para que el código se genere
sin problemas).
• Ingresar los bloques necesarios para la programación. En la Fig. 2, se muestran los principales bloques que se
utilizarán para generar el código sinusoidal para DSP, GPIO DI (Digital Input), GPIO DO (Digital Output),
ADC (conversor análogo digital) y ePWM (notar que todos deben pertenecer a la librerı́a C2833x).
• Para generar el código hacer click donde se indica en la Fig. 3, esto generará un archivo .out en el mismo
directorio donde se encuentra el archivo base. El archivo .out está listo para ser cargado a la DSP a través de
Code Composer Studio.
1) Realizar simulaciones en Matlab & Simulink del convertidor mostrado en la Fig. 1 utilizando modulación
PWM. El convertidor contará con una fuente de voltaje dc de 30 [V] y al lado ac una carga RL trifásica
con valores de resistencia 10 [Ω] e inductancia 10 [mH]. Se pide obtener corriente del lado dc, corrientes ac,
voltajes de lı́nea, voltajes de fase y moduladora. Para las simulaciones utilizar moduladoras de amplitud 0.5,
0.8 y 1.
2) Generar un código para la DSP logrando que se enciendan y apaguen de forma alternada los LEDs de prueba
de la tarjeta con un intervalo de 2 [s].
3) Generar un código para la DSP que permita recorrer los estados mostrados en la Tabla. I de manera secuencial
utilizando una señal digital externa que indique cuándo cambiar de estado. Esta señal externa corresponde a
la señal de interrupción generada desde la FPGA.
4) Generar un código para la DSP que permita enviar los estados mostrados en la Tabla. I de manera codificada
a la FPGA utilizando una señal digital externa que indique cuándo cambiar de estado. Esta señal externa
corresponde a la señal de interrupción generada desde la FPGA.
5) Generar un código para la DSP que permita obtener modulación PWM entregando los vectores de los switches
1, 3 y 5 con una modulación de 0.8. Utilizar bloque ePWM de Simulink.
1) Realizar simulaciones en Matlab & Simulink del convertidor mostrado en la Fig. 1 utilizando modulación
PWM. El convertidor contará con una fuente de voltaje dc de 30 [V] y al lado ac una carga RL trifásica
con valores de resistencia 10 [Ω] e inductancia 10 [mH]. Se pide obtener corriente del lado dc, corrientes ac,
voltajes de lı́nea, voltajes de fase y moduladora. Para las simulaciones utilizar moduladoras de amplitud 0.5,
0.8 y 1.
2) Realizar un código para la FPGA que genere divisores de reloj en la salida con periodos 1 [s], 0.1 [s] y 0.01[s].
3) Realizar un código para la FPGA que reciba como entrada los estados mostrados en la Tabla. I de manera
secuencial por cada señal de interrupción. Para la implementacı́ón considerar el tiempo muerto considerando
2 [µs].
4) Realizar un código para la FPGA que reciba como entrada los valores de los vectores de S1 , S3 , S5 y se
obtenga a la salida los vectores de los 6 switches del convertidor mostrado en la Fig. 1. Para la implementación
considerar el tiempo muerto considerando 2 [µs].
5) Realizar un código para la FPGA en donde por cada lı́nea de un IGBT se permita visualizar el tiempo muerto
al negado en donde S1 , S3 y S5 sean los switches de la placa, mostrar los cambios en el osciloscopio.
11
Para escribir los informes, usar el formato de informe indicado en el material de apoyo, junto con el informe
se deben entregar todos los códigos, simulaciones, diagramas utilizados, mediciones (corrientes de lı́nea, voltajes
de lı́nea y voltajes de fase), fotografı́as y videos de la experiencia en el laboratorio. Todo lo antes mencionado se
debe enviar al e-mail marcoesteban@gmail.com con el siguiente asunto: Lógica − Nombre Apellido ProyectoFinal
o DSP − Nombre Apellido ProyectoFinal dependiendo del curso al que pertenezcan. Los emails que no vengan
con este asunto no serán considerados y tendrán nota 1. Si tiene problemas al enviar el e-mail enviar el link de
Dropbox.
V. C ONTACTO