Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
cenidet
SISTEMA DE CONTROL DIGITAL
PARA UN BANCO DE PRUEBAS
DE DISPOSITIVOS ELECTRÓNICOS DE POTENCIA.
T E S I S
PARA OBTENER EL GRADO DE:
MAESTRO EN CIENCIAS
EN INGENIERÍA ELECTRÓNICA
P R E S E N T A :
JAIME ADRIÁN OROZCO VALERA
DIRECTORES DE TESIS:
DRA. MARÍA COTOROGEA PFEIFER
DR. ABRAHAM CLAUDIO SÁNCHEZ
A mis asesores de tesis: Dra. María Cotorogea, Dr. Abraham Claudio Sánchez, y a
los revisores: M.C. Martín Gómez, Dr. Jaime Arau Roffiel, Dr. Rodolfo Echavarría, por sus
valiosas aportaciones y ayuda para completar esta tesis.
A Jesús Aguayo Alquicira y a Iván Alcalá por su ayuda para la realización de las
pruebas experimentales.
Contenido
Lista de figuras V
Lista de tablas IX
Capítulo 1 Introducción 1
1.1 Antecedentes 2
1.2 Esquemas de caracterización de semiconductores de potencia 3
1.3 Estado del arte en sistemas de prueba comerciales 5
1.4 Sistema de pruebas propuesto 7
I
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
II
Contenido
Referencias 121
III
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
IV
Lista de figuras
1.1. Esquema general del sistema de pruebas de DSEP 7
2.1. Circuito para la obtención de las curvas de salida de MOSFETs 10
2.2. Secuencia de disparo y transitorios en la obtención de las curvas de salida de
dispositivos MOS 11
2.3. Circuito de prueba de DSEP en conmutación dura y cortocircuito 12
2.4. Secuencia de disparo y transitorios de la prueba de DSEP en conmutación dura 13
2.5. Circuito para la prueba de DSEP en conmutación suave a voltaje cero 14
2.6. Secuencia de disparo y transitorios durante la prueba de DSEP en conmutación
suave a voltaje cero 15
2.7. Circuito para la prueba de DSEP en conmutación suave a corriente cero, modo
resonante 16
2.8. Secuencia de disparo y transitorios en la prueba de DSEP en conmutación suave a
corriente cero, modo resonante 17
2.9. Circuito para la prueba de DSEP en conmutación suave a corriente cero, modo
tiristor 18
2.10. Secuencia de disparo y transitorios en la prueba de DSEP en conmutación suave
a corriente cero, modo tiristor 18
2.11. Secuencia de disparo y transitorios durante la prueba de DSEP en cortocircuito
tipo I 20
2.12. Secuencia de disparo y transitorios en la prueba de DSEP en cortocircuito tipo II 21
2.13. Circuito 1 para la prueba de dispositivos MOS en avalancha 22
2.14. Secuencia de disparo y transitorios durante la prueba de avalancha en
dispositivos MOS 23
2.15. Circuito 2 para la prueba de dispositivos MOS en avalancha 24
2.16. Secuencia de disparo y transitorios en la prueba de avalancha de dispositivos
MOS 24
3.1. Control digital basado en PC 29
3.2. Control digital basado en PC y microcontrolador 30
3.3. Arquitectura del sistema de control digital implementado 31
3.4. Conexiones del sistema de control digital 33
3.5. Disposición física del conector DB9 34
3.6. Interfaz del microcontrolador al canal RS-232 35
3.7. Conexión entre el microcontrolador y la memoria FIFO de doble puerto 38
3.8. Conexión del DAC y los elementos de muestreo y retención 39
3.9. Configuración de los comparadores analógicos AD9698 41
3.10. Conexión de los comparadores analógicos 42
4.1. Transmisión serial de un byte de datos 46
4.2. Formato de comandos de la PC al control digital 46
4.3. Formato de respuestas del control digital 47
4.4. Mensaje de comando para generación de voltaje en DAC 48
4.5. Respuesta genérica de confirmación 49
4.6. Mensaje de comando sin datos 49
4.7. Mensaje de comando con un dato índice 49
V
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
VI
8.10. Circuito inversor monofásico puente completo 106
8.11. Señales de control y voltaje de salida en un inversor monofásico puente
completo 106
8.12. Señales de control en un inversor monofásico puente completo 107
8.13. Definición de la secuencia de control del inversor monofásico 108
8.14. Detalle de la sección final de la tabla de estados de control 108
8.15. Señales generadas por el sistema de control digital para las conmutaciones en el
inversor monofásico 109
8.16. Detalle del tiempo de espera entre las conmutaciones de dos dispositivos en una
misma rama del inversor 109
8.17. Voltajes en los extremos de la carga conectada al inversor: unión Q0-Q1, unión
Q2-Q3 y corriente en la carga 110
8.18. Circuito de prueba para control en lazo cerrado 111
8.19. Control en lazo abierto, Q0, Q1 y voltaje del condensador 112
8.20. Control en lazo cerrado, Q0, Q1 y voltaje del condensador 112
8.21. Señal de control Q1 y voltaje del condensador 113
VII
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
VIII
Lista de tablas
2.1. Resumen de secuencias de disparo de los diferentes modos de prueba de DSEP 26
3.1.Especificaciones principales del estándar EIA/TIA-232-E 34
3.2.Comparación de familias de microcontroladores 36
3.3. Asignación de recursos del PIC17C44 37
3.4. Terminales principales de la memoria SN74ACT72211 38
3.5. Terminales principales del SMP08 40
4.1. Códigos de comandos y respuestas 48
5.1. Códigos de comandos 56
5.2. Identificadores para manejo de puertos digitales de salida 57
5.3. Apuntadores y variables en la memoria RAM del microcontrolador 57
5.4. Organización de los datos dentro del vector para almacenamiento de mensajes
en memoria RAM 57
8.1. Resumen de estados para control del inversor monofásico 107
IX
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
X
CAPÍTULO 1
INTRODUCCIÓN
1.1 Antecedentes
1.2 Esquemas de caracterización de
semiconductores de potencia
1.3 Estado del arte en sistemas de prueba
comerciales
1.4 Sistema de pruebas propuesto
1
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
1.1 Antecedentes
Para la implementación de circuitos electrónicos de potencia se usan dispositivos
que no cumplen con las propiedades de un interruptor ideal: conmutación instantánea y
pérdidas nulas. Una gran parte del diseño y dimensionamiento de los convertidores de
potencia se basa en el estudio y la previsión del desempeño de los diferentes elementos que
los componen (particularmente los semiconductores), requiriéndose un análisis que
contemple las características funcionales del convertidor y su interacción con las
propiedades reales de los dispositivos semiconductores de potencia (DSEP), donde se
tomen en cuenta no sólo los parámetros estáticos de los semiconductores, como voltajes de
saturación o corrientes de fuga, sino también su respuesta ante los procesos de conmutación
que generan picos de disipación de energía durante los eventos transitorios.
Por lo anterior, es muy útil contar con una metodología para la caracterización
precisa de los elementos a emplear en aplicaciones prácticas, lo que hará posible la
especificación y selección adecuada de componentes, además de permitir la evaluación del
compromiso entre el funcionamiento del circuito y las características reales de los
dispositivos semiconductores de potencia utilizados en una situación particular. Una técnica
confiable de modelado de componentes por simulación numérica se debe apoyar en valores
obtenidos experimentalmente, por lo tanto, es justificable la implementación de un banco
de pruebas de dispositivos semiconductores de potencia, que permita distintas condiciones
de operación que conduzcan a cuantificar y analizar los parámetros necesarios para realizar
el modelado y caracterización de los componentes utilizados en electrónica de potencia.
Una plataforma de pruebas para DSEP debe además incorporar una serie de
características como operación automática, versatilidad, rapidez, capacidad de evolucionar
para adaptarse a nuevas necesidades y condiciones de operación, de modo que pueda cubrir
una amplia gama de aplicaciones. Una forma de lograr tal nivel de funcionalidad es la
utilización de las técnicas y herramientas de electrónica digital en la coordinación de las
distintas funciones de un banco de pruebas.
2
Introducción
3
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• Los circuitos de prueba son rígidos, esto es, las etapas de potencia y de control están
específicamente diseñadas para una aplicación, un tipo de componente, un rango de
potencia, de frecuencia o un modo de conmutación particular.
• En la mayoría de los casos el circuito de potencia usado para las pruebas opera en
modo repetitivo, lo que permite condiciones de operación cercanas a las de una
aplicación real, pero imponiendo la necesidad de sistemas de enfriamiento, un
consumo elevado de potencia en la fuente de poder y limitaciones en la frecuencia
de operación. Sólo en [6] y [7] se ha trabajado en el modo impulsional, que
comprende un solo ciclo de operación.
4
Introducción
• La serie de sistemas MT está integrada por una familia de equipos para la prueba y
medición de parámetros eléctricos. Está diseñada principalmente para cubrir
requerimientos de producción, pero también es adecuada para su uso en
laboratorios.
• Los parámetros eléctricos que típicamente se miden durante las pruebas son: voltaje
de bloqueo, caída de voltaje en conducción, fugas de corriente, aislamiento,
impulsos de voltaje inverso y parámetros de compuerta como la corriente mínima
para encendido, voltaje mínimo para encendido, corriente de sostenimiento, fugas
de corriente en la compuerta y voltaje umbral de aislamiento.
5
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• Los equipos son configurables hasta 3000 V y 1500 A, capaces de medir corrientes
de fuga del orden de pico y femto Amperes, con capacidad de prueba para análisis
paramétricos típicos en DC y AC, además de pruebas dinámicas como tiempos de
conmutación y de recuperación.
6
Introducción
7
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Para controlar adecuadamente el inicio y fin de cada ciclo de prueba, así como la
conmutación de cada uno de los interruptores del banco de pruebas, puede ser necesario que
en el control digital se haga el sensado de algunas variables de voltaje, corriente y
temperatura, para poderlas comparar con los valores de consigna que determinan las
acciones de control pertinentes para cada caso.
Para la adquisición de las señales que lleven a caracterizar el desempeño del DUT,
se eligió utilizar las capacidades de muestreo de un osciloscopio digital con la capacidad de
recibir comandos y transmitir datos. De este modo se puede utilizar la PC no sólo para la
configuración del control digital, sino también para el registro de las mediciones.
Una vez que se tienen los resultados de las pruebas en la PC, es posible hacer un
tratamiento básico de las señales muestreadas para compensar los errores de medición
inherentes al osciloscopio, como pueden ser el offset o los retardos producidos por las
puntas de medición, además del cálculo de la potencia y energía disipadas, la visualización
de las señales y la formación de archivos de datos que permitan la posterior reconstrucción
del comportamiento del DUT.
8
CAPÍTULO 2
9
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
En este circuito el inductor de carga (L) debe tener un valor pequeño para utilizar un
voltaje en Vo que no sea muy elevado. De este modo se tendrá una mejor resolución en la
medición del voltaje drenaje-fuente del DUT [11].
10
Modos básicos de conmutación y circuitos de prueba
En resumen, realizar una prueba para la obtención de las curvas de salida implica el
control de dos interruptores de potencia con cuatro combinaciones diferentes de encendido-
apagado, que para propósitos del control digital se consideran cuatro estados de salida con
un tiempo de activación específico para cada uno.
11
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Los eventos que se presentan durante las pruebas en conmutación dura se muestran
en la Figura 2.4. Las formas de onda marcadas como QAux1, QAux2 y DUT representan en
forma respectiva las señales que controlan el encendido y apagado de los interruptores
auxiliares y del IGBT bajo prueba, IL es la corriente en el inductor, IDUT y VDUT son la
corriente y el voltaje a través del componente a caracterizar.
12
Modos básicos de conmutación y circuitos de prueba
13
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Para reducir estas pérdidas, se han desarrollado estrategias que evitan el traslape de
corriente y voltaje durante las conmutaciones:
• Conmutación suave a voltaje cero (ZVS): Se tiene un voltaje cercano a cero en las
terminales del DSEP antes de que se inicie la circulación de corriente. Este modo de
conmutación se utiliza para reducir las pérdidas en el encendido.
• Conmutación suave a corriente cero (ZCS): Se anula la corriente antes del
aumento de voltaje entre las terminales del dispositivo por efecto del apagado,
reduciéndose las pérdidas en este transitorio.
Figura 2.5. Circuito para la prueba de DSEP en conmutación suave a voltaje cero
14
Modos básicos de conmutación y circuitos de prueba
15
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Los elementos críticos en el diseño de este circuito de prueba son los valores de Lr y
Cr. El diodo en antiparalelo con el DUT debe presentar una rápida recuperación inversa y
un valor mínimo de capacitancia y resistencia parásita.
16
Modos básicos de conmutación y circuitos de prueba
17
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
18
Modos básicos de conmutación y circuitos de prueba
• t1: Se enciende el DUT. La corriente que circula por el DUT crece linealmente. La
corriente no circula solo por L, sino también por el condensador de ayuda a la
conmutación Caux y la resistencia limitadora de corriente Rlim. Esta condición debe
mantenerse hasta que Caux llegue a su carga completa.
• t2: Se enciende QAux, el DUT permanece en conducción. Dado que el condensador
Caux tiene su carga máxima y el interruptor auxiliar une su extremo positivo a
tierra, la corriente que circula por el DUT decrece hasta alcanzar el valor cero.
• t3: Se apaga el DUT después que deja de conducir. QAux permanece encendido.
Rlim disipa la energía de la fuente y por lo tanto el valor de esta resistencia debe ser
grande para limitar la corriente que circula por ella.
• t4: Se apaga QAux. El DUT comienza a bloquear el voltaje de la fuente Vo. En esta
fase se da la conmutación suave a corriente cero y el DUT presenta una cola de
corriente que aumenta las pérdidas en este tipo de conmutación.
2.4 Cortocircuito
Durante la operación normal de los DSEP no es deseable que se presenten
condiciones de cortocircuito, sin embargo, con fines de caracterización y de diseño de
protecciones, este es un caso extremo que el circuito de prueba de la Figura 2.3 permite
reproducir de forma no destructiva [18].
19
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
En la Figura 2.11 se presentan las formas de onda que describen la operación del
circuito de prueba, nuevamente se muestran las señales de control de los DSEP además de
la corriente y voltaje en el DUT.
20
Modos básicos de conmutación y circuitos de prueba
21
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Un circuito de prueba utilizado para este caso es el troceador con carga inductiva de
la Figura 2.1 sin el diodo de libre circulación, como se presenta en la Figura 2.13.
22
Modos básicos de conmutación y circuitos de prueba
El circuito de prueba opera con base en dos interruptores auxiliares que permiten la
transferencia de energía a un inductor de carga, y un diodo D que tiene la función de cerrar
el circuito para la circulación de corriente cuando QAux1 se apaga, desconectando la fuente
de alimentación Vo del resto del circuito.
Con este esquema se evita el incremento brusco de VDUT y los valores grandes de
corriente en el apagado del DUT, reduciéndose el aumento de la temperatura de unión
durante la prueba.
23
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
24
Modos básicos de conmutación y circuitos de prueba
25
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Tabla 2.1. Resumen de secuencias de disparo de los diferentes modos de prueba de DSEP
Interruptores Estados de la
secuencia de Condiciones especiales de
Prueba * Encendido disparo conmutación
- Apagado 0 1 2 3 4 5
QAux * * -
• Avalancha con circuito 1 Estado 1 de duración menor a 1µs
DUT - * -
QAux - * * - Duración del estado 0 del orden de µs
• Curvas de salida
DUT * * - - para no sobrecalentar al DUT
• Conmutación dura
• Conmutación suave ZVS QAux * - - - Cambio del estado 0 al 1 por nivel de la
• Conmutación suave ZCS DUT - - * - corriente en la bobina de carga
en modo resonante
• Conmutación suave ZCS QAux - * * - Cambio del estado 1 al 2 después de
en modo tiristor DUT * * - - que la corriente en el DUT es cero
QAux * * * - Duración del estado 1 del orden de 5 a
• Cortocircuito tipo I
DUT - * - - 10 µs para no dañar al DUT
QAux1 - - - * * -
Cambio del estado 0 al 1 por nivel de la
• Cortocircuito tipo II QAux2 * - - - - -
corriente en la bobina de carga
DUT - - * * - -
QAux1 * - - - - - Cambio del estado 0 al 1 por nivel de la
corriente en la bobina de carga
• Avalancha con circuito 2 QAux2 * * - * * -
Duración del estado 2 del orden de µs
DUT - * * * * - para no dañar al DUT
26
CAPÍTULO 3
27
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Sin embargo, la ejecución múltiples tareas en las computadoras personales hace que
se divida el tiempo de procesamiento entre distintos recursos (atención los distintos
periféricos y canales de comunicación, ejecución automática de programas de monitoreo del
sistema, etc.) lo que limita la confiabilidad del sistema si se desea operación en tiempo real.
28
Diseño del control digital
• Memoria. Los datos binarios que corresponden a los estados encendido/ apagado
de las señales de control se pueden escribir en un arreglo de memoria independiente
de la memoria propia de la PC, con el fin de que los temporizadores controlen la
salida de los datos cuando expiren los tiempos previamente programados por la
computadora en cada uno de ellos.
29
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Una opción más flexible consiste en utilizar un microcontrolador que tenga recursos
internos de temporización, lo que permite definir un algoritmo para el conteo de intervalos
de tiempo en forma cíclica, condición necesaria para la operación en modo repetitivo.
30
Diseño del control digital
31
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
32
Diseño del control digital
Las salidas digitales de control, Q0 a Q7, son las que proveen las señales de disparo
para la activación de los DSEP. Las señales analógicas a monitorear se realimentan hacia el
control digital en sus entradas In0 a In7.
Aunque la función del DAC en el control digital (Figura 3.3) es generar voltajes
internos de referencia, como se describió en la Sección 3.3, el voltaje del convertidor está
disponible en la salida Vo del sistema de control para fines de prueba y posibles
ampliaciones futuras.
33
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Parámetro Valor
Tasa máxima de datos 20 kbps
Razón de cambio máxima ≤ 30 V/µs
Voltajes de salida en los drivers
≥ |5 V|
(con carga de 3kΩ)
Voltaje de salida en circuito abierto ≤ |25 V|
Corriente en cortocircuito ≤ |100 mA|
Resistencia de salida de los drivers ≥ 300 Ω
Resistencia de entrada en los receptores 3 kΩ a 7 k Ω
Máximo voltaje de entrada en los receptores ± 25 V
Umbral de recepción ±3V
Cableado entre transmisor y receptor 15 m ó 2500 pF
El conector DB9 contiene las 8 líneas necesarias para operar un módem típico, pero
en el caso más simple se pueden emplear sólo las señales de datos y la referencia sin ningún
arbitraje adicional. Para la comunicación entre la PC y el control digital (Figura 3.4) se
utilizan las siguientes líneas:
34
Diseño del control digital
35
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Frecuencia Líneas
Microcontrolador Temporizadores Puerto serial
máxima E/S
80C251 (Intel) 16 MHz 32 3 de 16 bits -
DS80C310/320
DS8xC520 (Dallas 33 MHz 32 3 de 16 bits 2 USART
Semiconductors)
68HC08
8 MHz 50 6 de 16 bits SCI / SPI
(Motorola)
TMS370 (Texas
5 MHz 22 a 55 2 de 16 bits SCI / SPI
Instruments)
PIC17C4x 2 de 8 bits
33 MHz 33 USART / SCI
(Microchip) 2 de 16 bits
36
Diseño del control digital
Las señales de control se codifican dentro de una memoria FIFO de doble puerto
porque es más eficiente generar las señales para la salida secuencial de datos de la FIFO
que extraer una a una las palabras de control de una tabla en la RAM interna del
microcontrolador. Se seleccionó la memoria SN74ACT72211 de Texas Instruments
principalmente por sus reducidos tiempos de lectura y escritura, las características
relevantes de este componente son:
37
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
La trayectoria que une los puertos de entrada y salida de la memoria tiene dos
funciones:
38
Diseño del control digital
39
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
La Tabla 3.5 describe las funciones de las principales líneas del SMP08.
Terminal Descripción
IN Entrada común de voltaje
Entradas digitales para la selección de un SH específico, A es el
A, B, C
bit menos significativo y C es el bit más significativo
Entrada de inhibición de muestreo, en 0 permite almacenar en
INH el SH seleccionado el valor presente en la terminal IN, en 1
inhibe la función de muestreo y los SH permanecen sin cambio
CH0-CH7 Salidas de voltaje
40
Diseño del control digital
41
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Así, el retardo resultante desde que una señal analógica alcanza su nivel de consigna
hasta que se genera el siguiente estado de salida es de aproximadamente 97.5 ns, esto es, la
suma de los tiempos de propagación en los comparadores analógicos (4.5 ns), el tiempo de
respuesta del comparador digital (53 ns), el retardo en la compuerta OR (25 ns) y el tiempo
de lectura de la memoria FIFO (15 ns).
42
Diseño del control digital
El rango de voltajes de entrada y salida del SMP08 depende del voltaje de su fuente
de alimentación, de acuerdo con la siguiente expresión:
43
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
44
CAPÍTULO 4
PROTOCOLO DE COMUNICACIONES
45
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
La comunicación se realiza en forma asíncrona a 9600 bps, cada bit tiene una
duración de 1/9600 bps = 104.16 µs. En el canal RS-232 el nivel "1" lógico es representado
por voltajes negativos, mientras que los voltajes positivos corresponden al "0" lógico.
Número Código de
Identificador Comando Datos
de datos comprobación
46
Protocolo de comunicaciones
• Datos. Información de los parámetros para las pruebas: estados encendido/ apagado
para las salidas, temporización de cada estado o valores de referencia.
Las respuestas que el control digital regresa hacia la PC sirven sólo para confirmar
la ejecución del comando solicitado, lo que permite utilizar una estructura más sencilla
como se muestra en la Figura 4.3.
Código de
Identificador
respuesta
Con el fin de verificar el estado del canal serial, se definió un caso en que el control
digital responde con un mensaje diferente al de la Figura 4.3, como se discutirá en la
siguiente sección.
47
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
En la Tabla 4.1 se resumen los comandos que reconoce el control digital, los
códigos asignados al identificador de mensajes y a cada comando, los bytes de datos que
contiene cada mensaje y los códigos de confirmación en las respuestas del control digital.
Los valores con terminación “h” están en formato hexadecimal.
Código Bytes
Código de
Comando de de
respuesta
comando datos
Prueba de comunicación serial 10h 1 a 255 10h
Generación de voltaje en DAC 11h 2
Generación de onda triangular para prueba de DAC 12h 0
55h
Habilitación de un elemento de muestreo y retención 13h 1
Habilitación de comparadores analógicos 14h 1
Escritura de una cadena de bytes en memoria FIFO 15h 1 a 255
Lectura de un byte de memoria FIFO 16h 0 -
Control de conmutación doble 17h 6 a 14 27h
Control de conmutación doble con interrupción externa 18h 6 a 14 28h
Secuencia genérica de control 19h 3 a 255 29h
Código de
73h 11h 02h LSB MSB comprobación
48
Protocolo de comunicaciones
En el control digital se construye un valor de 12 bits con los bytes de datos, donde
LSB representa el byte menos significativo y MSB es el byte más significativo. Los
12 bits son transmitidos al DAC para generar el voltaje analógico correspondiente.
73h 55h
• Generación de onda triangular. Función para prueba rápida del DAC. El mensaje
no lleva datos adicionales y tiene el formato mostrado en la Figura 4.6. El control
digital opera el DAC para formar un periodo de una forma de onda triangular y
transmite la respuesta de confirmación de la Figura 4.5.
Código de
73h Comando 00h
comprobación
Código de
73h Comando 01h Índice
comprobación
49
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Los bytes de datos mostrados en la Figura 4.8 contienen los siguientes parámetros:
50
Protocolo de comunicaciones
El dato en 0 actúa como separador, los siguientes bytes son la parte menos
significativa y más significativa del intervalo de tiempo.
Existen diversas técnicas para la detección de errores, desde el enfoque más simple
(y por lo tanto menos confiable) que consiste en agregar un bit de paridad al final de cada
byte de datos, hasta métodos eficientes y complejos como el Código de Redundancia
Cíclica (CRC) que se calcula dividiendo segmentos del mensaje entre polinomios binarios
predefinidos [23].
51
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
52
CAPÍTULO 5
53
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
54
Software del control digital
• Manejo del hardware del control digital. Comprende las rutinas operativas que
hacen uso de componentes específicos del control digital: escritura y lectura en
memoria FIFO, escritura al DAC para la generación de un voltaje de referencia,
selección de un elemento SH y habilitación de los comparadores analógicos.
55
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• SCDATS.PJT. Archivo que se debe crear en MPLAB para ligar a los archivos
anteriores en un solo proyecto y poder realizar la compilación, ensamblado y
simulación del programa.
Código de Valor
Descripción
comando hexadecimal
ID_TRM 73h Valor del identificador de inicio de trama
ECO 10h Prueba de comunicación serial
V_DAC 11h Generación de voltaje en DAC
ONDA_T 12h Generación de onda triangular para prueba de DAC
HAB_SH 13h Habilitación de un elemento de muestreo y retención
HAB_CM 14h Habilitación de comparadores analógicos
E_FIFO 15h Escritura de una cadena de bytes en memoria FIFO
L_FIFO 16h Lectura de un byte de memoria FIFO
CMDBt 17h Control de conmutación doble
CMDBx 18h Control de conmutación doble con interrupción externa
SECUG 19h Secuencia genérica de control
56
Software del control digital
Dirección
Variable Descripción
en RAM
LONG 120h Tamaño de la trama a enviar o recibir
RXPTR 121h Índice de datos dentro del vector de recepción
RECEP 122h Indicador de mensaje recibido
nEDOx 123h Contador de estados dentro de una secuencia de control
AP_TMP 124h Apuntador auxiliar a tabla de temporizaciones
AP_PRO 125h Apuntador auxiliar a tabla de procesos
D_RET 126h
AP_RINT 127h Almacenamiento de direcciones de retorno
AP_NINT 128h
TPROC 130h Apuntador a la tabla de procesos
57
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
58
Software del control digital
5.3.3 Inicialización
Esta categoría agrupa a las rutinas en las que se configuran los recursos de hardware
del microcontrolador y se define el estado inicial de las señales de salida.
59
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Las subrutinas de esta categoría se encargan de operar los elementos del hardware
del control digital. Son utilizadas por el programa principal, durante el modo de prueba o en
la generación de las señales de control
1. Inhibe las salidas de la memoria FIFO y la pone en estado de Reset para evitar una
colisión en el bus de datos.
2. Configura el puerto C como salida.
3. Escribe el valor de DATO_L en el puerto C.
4. Escribe el valor de DATO_H en el puerto D.
5. CS de DAC en nivel bajo para realizar la conversión.
6. Espera 125 ns.
7. CS en alto, DAC inhibido.
60
Software del control digital
1. Inhibe las salidas de la memoria FIFO y la pone en estado de reset para evitar una
colisión en el bus de datos.
2. Configura el puerto C como salida.
3. DATO_H-DATO_L=8800h
4. Ciclo V_ASC para ascenso inicial de la rampa
4.1. Llamada a la subrutina VSAL_DAC
4.2. Incremento de DATO_L y DATO_H y regreso a 4.1 hasta llegar a 8FFFh.
5. DATO_H-DATO_L=8FFEh
6. Ciclo V_DSC para descenso de la rampa de prueba.
6.1. Llamada a la subrutina VSAL_DAC
6.2. Decremento de DATO_L y DATO_H y regreso a 6.1 hasta llegar a 8000h.
7. Ciclo V_ASF de ascenso final de la rampa de prueba.
7.1. Llamada a la subrutina VSAL_DAC
7.2. Incremento de DATO_L y DATO_H y regreso a 7.1 hasta llegar a 8800h.
1. Inhibe las salidas de la memoria FIFO y la pone en estado de reset para evitar una
colisión en el bus de datos.
2. Puerto C como salida.
3. DATO_i contiene en 3 bits el índice del SH a habilitar.
4. Se escribe DATO_i al puerto C.
5. INH en nivel bajo.
6. Ciclo de espera para cubrir un tiempo de adquisición de 7 µs en el SH.
7. INH en nivel alto, SH inhibido.
• ESC_MF: Escritura de una trama de bytes a memoria FIFO. Los bytes a escribir se
encuentran como datos dentro del vector de mensajes en RAM.
61
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Estas rutinas se encargan de generar propiamente las señales de control hacia los
interruptores de potencia por conteo de tiempo.
62
Software del control digital
63
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
64
Software del control digital
1. Inhabilitación de Timer0.
2. Flanco ascendente en el latch de salida de los comparadores analógicos.
3. Se inhabilitan los comparadores analógicos.
4. Incremento de FSR1 para apuntar a la localidad de regreso de interrupción dentro
de la tabla de procesos.
5. Inhibe el latch de comparadores analógicos.
6. W =1 para forzar la finalización de la rutina de conteo de tiempo en 1 byte después
de la interrupción.
7. Retorno de interrupción.
65
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
66
CAPÍTULO 6
SOFTWARE DE LA
INTERFAZ DE USUARIO
67
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
68
Software de la interfaz de usuario
• Ventanas de diálogo. Con este término se designa a las ventanas donde el usuario
puede introducir distintos parámetros para la operación del sistema de pruebas. Cada
ventana de diálogo tiene asociado un procedimiento que gestiona la ejecución de las
subrutinas involucradas en cada función del sistema.
• Operación del control digital. Agrupa a todas las subrutinas necesarias para la
interacción con el control digital, encargadas de recibir los parámetros que el
usuario introduce en las ventanas de diálogo y traducirlos a la forma requerida por
el control digital.
69
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• Manejo de archivos. Etapa con las subrutinas para la creación de archivos de datos
con los valores reales de magnitud y tiempo de cada señal adquirida, así como para
la lectura de dichos archivos y la recuperación de vectores de datos para su
despliegue gráfico y/o tratamiento.
• SCDATS.IDE. Archivo que liga a los archivos anteriores en un solo proyecto para
compilar el código, depurarlo y generar el programa ejecutable.
Para incluir en el programa las funciones de comunicación por GPIB, se requiere de los
archivos de operación de la tarjeta HP82341A, desarrollados por Hewlett Packard y
contenidos en el software de instalación de la tarjeta de comunicaciones:
70
Software de la interfaz de usuario
• WinMain. Inicialización del programa, valor inicial para algunas variables globales
y especificación de las características de la ventana principal: estilo, título,
dimensiones y barra de menú de funciones.
71
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Esta etapa agrupa a los procedimientos para la transmisión y recepción de datos por
el puerto serial de la PC, construyendo los mensajes de comando e interpretando las
respuestas del control digital de acuerdo a lo especificado en el Capítulo 4.
• IniCom. Inicialización del puerto serial COM1 ó COM2 a 9600 bps, 8 bits de datos,
1 bit de paro, sin bit de paridad. Asignación de 1024 bytes de RAM de la PC para los
buffers de recepción y transmisión serial.
• Env_Mensaje. Envío de una trama de bytes al control digital para prueba del canal
de comunicaciones y espera de respuesta.
72
Software de la interfaz de usuario
• Iniciar. Inicialización del modo gráfico, definición del origen y área de despliegue.
• Retic. Creación de una retícula en pantalla con 10 divisiones horizontales y 8
verticales, con 50 pixeles por cada división.
73
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Los procedimientos de esta etapa permiten compensar errores producidos por las
puntas de prueba al momento de las mediciones, mediante el desplazamiento en amplitud o
en tiempo de las señales adquiridas. También se incluyen funciones para la estimación de
razones de cambio, cálculo de potencia instantánea y energía disipada, información de
utilidad en el análisis experimental de los DSEP.
Incluye a las funciones para crear archivos con los datos de las señales adquiridas en
la PC, así como la recuperación de las señales a partir de dichos archivos. De este modo, los
datos de las mediciones realizadas con el osciloscopio digital no sólo se pueden reconstruir
en el propio SCDATS, sino que pueden ser trasladados a otras herramientas de software
para realizar análisis más completos. Las subrutinas asociadas son:
74
Software de la interfaz de usuario
No se definió una extensión específica para los archivos de datos, el formato de los
mismos se ilustra con el ejemplo mostrado en la Figura 6.2.
Los datos están escritos en formato de texto ASCII. El valor en el primer renglón es
la escala de tiempo del osciloscopio al momento de la adquisición de la señal, el segundo
renglón contiene su escala de amplitud. En la columna de la izquierda se tienen los instantes
de tiempo y en la columna de la derecha la magnitud real de los 500 puntos que
corresponden a la señal muestreada. La longitud de los archivos creados en este formato es
de 14 kBytes.
El formato de los archivos permite que puedan abrirse con software que interprete
arreglos de valores en formato ASCII, como Excel, Matlab o PSpice, pero el usuario debe
editar manualmente la información al inicio del archivo para que sea compatible con los
encabezados particulares de cada sistema.
75
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
76
CAPÍTULO 7
OPERACIÓN DE LA INTERFAZ
DE USUARIO
77
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
El enlace entre la PC y el sistema de control digital se hace por defecto a través del
puerto serial COM1. La función Puerto Serie permite especificar cuál de los canales
seriales de la PC, COM1 ó COM2, se utilizará para la comunicación con el control digital.
El puerto seleccionado aparece indicado por una marca como se muestra en la Figura 7.2.
78
Operación de la interfaz de usuario
79
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• RESET. Botón para reinicio por hardware del sistema de control digital.
• CERRAR. Botón para salir del modo de prueba, el control digital queda en estado
inactivo al cerrar la ventana de diálogo.
80
Operación de la interfaz de usuario
81
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• Tiempo entre Ciclos. Tiempo de espera con los interruptores apagados antes de
reiniciar la secuencia de disparo de los DSEP cuando se seleccionan varios ciclos de
operación. Los valores permitidos están entre 2.5 µs y 8.15 ms.
82
Operación de la interfaz de usuario
• ACEPTAR. Botón para trasmitir los comandos y datos hacia el control digital para
iniciar la generación efectiva de las señales de control.
• CERRAR. Botón para salir del modo de control de conmutación doble, el control
digital queda en estado inactivo al cerrar la ventana de diálogo.
83
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
En la parte superior de la ventana de diálogo se tiene una tabla con los parámetros
de la secuencia de disparo que especifique el usuario, formada por los siguientes elementos:
• Q7-Q0. Combinación binaria que representa el estado de las ocho señales de control
que van hacia los DSEP, 1 representa encendido y 0 representa apagado.
• Consigna. Valor de referencia que deberá alcanzar una de las señales analógicas
retroalimentadas hacia el control digital para el cambio de estado de las salidas.
84
Operación de la interfaz de usuario
• Can. Canal de entrada del sistema de control digital en el que se aplica la señal
analógica de consigna.
• Q7 a Q0. Arreglo de botones para definir la condición individual de cada salida del
control digital durante la fase indicada en el recuadro Estado de Salida. Los
botones se activan o desactivan al presionarlos y representan el estado de encendido
cuando aparecen marcados.
• Valor de consigna. Magnitud que deberá alcanzar una de las señales analógicas
retroalimentadas hacia el control digital para el cambio de estado de las salidas.
• Incluir Estado. Botón para que los datos introducidos en los campos anteriores se
registren en la tabla de parámetros de la secuencia de disparo.
• ACEPTAR. Botón para trasmitir los comandos y datos hacia el control digital para
iniciar la generación efectiva de las señales de control.
• CERRAR. Botón para salir del modo de secuencia de control. El control digital
queda en estado inactivo al cerrar la ventana de diálogo.
85
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
86
Operación de la interfaz de usuario
• CH1 a CH4. Botones para seleccionar los canales del osciloscopio que se desea
habilitar y/o configurar. Los canales que no estén seleccionados no sufrirán
modificaciones en su estado actual.
• Escala en TDS. Valor en Volts/división para las escalas de amplitud de cada canal
del osciloscopio digital, en forma decimal o con notación científica. En caso de que
el valor introducido no coincida con alguna de las escalas disponibles, el
osciloscopio se ajusta a la escala más cercana.
87
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• Posición. Ubicación del origen de cada una de las señales con respecto al eje
horizontal en el centro de la pantalla del osciloscopio. Los valores permitidos van de
–4 a 4 divisiones en formato entero o decimal.
88
Operación de la interfaz de usuario
89
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• Punto Inicial de Registro. Índice del primer dato en el grupo de 500 muestras que
se transmitirá hacia la PC, en el caso de que el osciloscopio digital haya almacenado
más de 500 puntos.
90
Operación de la interfaz de usuario
91
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Los nombres de las señales que no hayan sido adquiridas o calculadas se mostrarán
en letras grises para indicar que no están disponibles.
92
Operación de la interfaz de usuario
93
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Dado que las funciones en esta categoría se aplican sobre señales adquiridas, si no se
tiene al menos una señal, todas las opciones aparecerán en texto gris para indicar que están
inhabilitadas.
94
Operación de la interfaz de usuario
Por defecto la ventana de diálogo muestra las posiciones originales de las señales al
momento de la adquisición (los valores en la Figura 7.23 corresponden a las señales de la
Figura 7.20).
Dentro del submenú de la Figura 7.21 se tienen funciones para modificar los datos
en los vectores que representan a cada señal.
95
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
96
Operación de la interfaz de usuario
Cuando el usuario ha seleccionado una señal, aparecen sobre ella dos marcadores
con forma de cruz (Figura 7.20) y el usuario puede desplazar los marcadores utilizando el
mouse: al presionar el botón derecho dentro de la región de despliegue de las señales, se
relaciona la posición del apuntador del mouse con un instante de tiempo en la gráfica y se
mueve automáticamente uno de los marcadores al punto de la señal que corresponda a ese
mismo instante. El tiempo y amplitud de la señal en ese punto se muestran en la parte
superior del recuadro de los valores instantáneos.
La misma operación con el botón izquierdo del mouse mueve el otro marcador. El
tiempo y amplitud de la señal en ese punto aparecen en la parte media del recuadro de los
valores instantáneos.
97
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
98
CAPÍTULO 8
RESULTADOS EXPERIMENTALES
99
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
100
Resultados experimentales
101
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
En las Figuras 8.7 y 8.9 se muestran las curvas de potencia y energía disipadas
calculadas a partir de los datos transferidos por el osciloscopio (Sección 7.3.2), información
útil para la estimación del esfuerzo al que se ve sometido el dispositivo bajo prueba o en el
diseño de disipadores de calor.
102
Resultados experimentales
103
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
104
Resultados experimentales
105
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Por simplicidad no se muestran en la figura los impulsores que son necesarios para
activar correctamente cada interruptor (IGBTs CM100DU-12H en esta prueba). La
nomenclatura utilizada para los interruptores corresponde con las salidas Q0 a Q3 del
sistema de control digital.
Para generar en la carga RL una corriente alterna, los interruptores deben activarse
según la secuencia mostrada en la Figura 8.11, donde se indican las formas de onda de
salida y los interruptores de potencia activos en cada una de las cinco fases que forman un
período de funcionamiento.
106
Resultados experimentales
Estas consideraciones son idénticas para Q2 y Q3, de modo que la secuencia real de
conmutación comprende nueve estados diferentes en cada período de operación, como se
muestra en la Figura 8.12.
107
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Para enviar los parámetros de prueba hacia el sistema de control digital se utilizó la
función Definir Secuencia descrita en la Sección 7.1.1. En la Figura 8.13 se presenta la
ventana de diálogo con los parámetros de los estados 0 a 4 de la Tabla 8.1. En la Figura
8.14 se muestra el detalle de la tabla con los estados restantes de la secuencia de disparo.
108
Resultados experimentales
109
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
Los resultados son consistentes con lo mostrado en la Figura 8.11. Esta prueba se
realizó repitiendo la secuencia de control desde 5 hasta 60 ciclos de operación, sin que se
observara desviación en el comportamiento del sistema.
110
Resultados experimentales
111
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
112
Resultados experimentales
113
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
114
CAPÍTULO 9
CONCLUSIONES
115
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
116
Conclusiones
• Capacidad para generar distintas secuencias de disparo con tiempos del orden de
microsegundos hasta milisegundos, en modo impulsional o repetitivo.
• Facilidad para definir parámetros de prueba y modificarlos sin tener que elaborar o
ajustar circuitos de control específicos.
• Flexibilidad para adaptarse a una amplia variedad de condiciones de prueba. En el
modo de operación genérico se pueden especificar secuencias de disparo arbitrarias
hasta para ocho dispositivos de potencia.
• Independencia de las características eléctricas específicas de los DSEP en el banco
de pruebas, asumiendo un acondicionamiento adecuado de las salidas digitales y de
las entradas analógicas.
• Operación robusta al tener un microcontrolador dedicado al secuenciamiento de las
señales de control, minimizando la posibilidad de fallas de operación por
alteraciones en el orden o en la duración de las secuencias de disparo que pudieran
tener efectos graves en los circuitos de potencia.
117
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
• Facilidad para definir las condiciones de prueba por medio de una interfaz gráfica
• Disminución del tiempo requerido para obtener los datos para la caracterización de
DSEP, gracias a la capacidad de adquisición y tratamiento de las mediciones
realizadas con un osciloscopio digital
• Las funciones de adquisición y tratamiento de señales son independientes de las
funciones del control digital.
• Complementa al sistema de control digital como herramienta para el análisis del
comportamiento de DSEP
118
Conclusiones
119
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
120
Referencias
[1] A. Claudio, M. Cotorogea, "Caracterización y Modelado de Dispositivos
Semiconductores de Potencia", 1er Seminario de Electrónica del CENIDET, Memoria
Técnica. Cuernavaca Morelos, México, 1998. pp 27 a 34.
[3] H. Giessibl, "Power Testing, Static and Dynamic Parameter in One Handling",
Europe Official Proceedings of the 26th International Power Conversion Conference,
junio 1993.
[11] J. Macedonio, "Análisis del Super Junction MOSFET Enfocado al Diseño de Fuentes
de Alimentación Altamente Eficientes", tesis de maestría, Centro Nacional de
Investigación y Desarrollo Tecnológico. Cuernavaca, Morelos, México, julio 2002.
121
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
[14] CREA Semiconductor Test Equipment, "DTS 2012T Semiconductor Test System
Product Description", www.crea-test.com
[20] D. Lafore, A. Claudio, J.P. Keradec, "Testing Power Components Soft and Hard
Switching", ESREF 93.
[22] J. Goldie, "Summary of Well Known Interface Standards" nota de aplicación 216 de
National Semiconductor. Enero 1996.
122
Apéndice 1
123
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
124
Apéndice 1
125
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
126
Apéndice 1
127
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
128
Apéndice 1
129
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
130
Apéndice 2
131
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
;*******************************************************************************************
; SCDATS.ASM SISTEMA DE CONTROL DIGITAL
;
; MANEJO BÁSICO DEL DAC, S&H y FIFO.
; CONTROL DE CONMUTACIÓN DOBLE.
; SECUENCIA GENÉRICA DE CONMUTACIÓN.
; ATENCIÓN A INTERRUPCIÓN DE COMPARADORES EN RA0.
; RECEPCIÓN DE COMANDOS VÍA SERIAL, 9600 bauds @32 MHz
; CADENAS DE COMANDOS:
; IDENTIFICADOR/COMANDO/OOH/CHKSUM
; IDENTIFICADOR/COMANDO/N_DAT/DATO_H/DATO_L/.../CHKSUM
;
;*******************************************************************************************
PROCESSOR 17C44
INCLUDE <P17C44.INC>
INCLUDE <SCDATS.INC>
ORG 0
GOTO INICIO
; VECTOR DE INTERRUPCIONES:
ORG 0030h
RESP_OK
DATA 0x7355 ; Respuesta de confirmación.
INICIO
MOVLR 1 ; Banco de RAM 1.
132
Apéndice 2
LAZO0
MOVLW LOW RESP_OK ; Carga el apuntador al mensaje
MOVWF TBLPTRL
MOVLW HIGH RESP_OK
MOVWF TBLPTRH
MOVLW 2
MOVWF LONG
CALL INI_XMT ; Transmite 2 bytes de mensaje inicial.
LAZO1
CALL PREP_RECEP ; Prepara la recepción.
MOVLB 0
LAZO2
TSTFSZ RECEP ; Espera hasta recibir un comando.
GOTO LAZO2
MOVLW ECO
CPFSEQ COMND
GOTO SIG_COM0
CALL TXM_RESP
GOTO LAZO1
SIG_COM0
MOVLW V_DAC ; Salida de voltaje en DAC.
CPFSEQ COMND
GOTO SIG_COM1
CALL VSAL_DAC
GOTO LAZO0
SIG_COM1
MOVLW ONDA_T ; Onda triangular de salida.
CPFSEQ COMND
GOTO SIG_COM2
CALL PBA_DAC
GOTO LAZO0
SIG_COM2
MOVLW HAB_SH ; Habilitación de S&H.
CPFSEQ COMND
GOTO SIG_COM3
CALL SEL_SH
GOTO LAZO0
SIG_COM3
MOVLW HAB_CM ; Habilitación de comparadores analógicos.
CPFSEQ COMND
GOTO SIG_COM4
CALL SEL_CMP
GOTO LAZO0
133
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
SIG_COM4
MOVLW E_FIFO ; Escritura de una trama a FIFO.
CPFSEQ COMND
GOTO SIG_COM5
CALL ESC_MF
GOTO LAZO0
SIG_COM5
MOVLW L_FIFO ; Lectura de un byte de FIFO.
CPFSEQ COMND
GOTO SIG_COM6
CALL LEC_MF
CALL TXM_RESP ; Regresa el valor leído de FIFO.
GOTO LAZO1
SIG_COM6
MOVLW CMDBt ; Conmutación doble.
CPFSEQ COMND
GOTO SIG_COM7
GOTO COM_DB
SIG_COM7
MOVLW CMDBx ; Conmutación doble con interrupción.
CPFSEQ COMND
GOTO SIG_COM8
COM_DB
MOVLW 0x0A
MOVWF IDENT
MOVLW COMND
MOVWF RXPTR
CALL TXM_RESP ; Responde con el número de datos recibidos.
CALL RuDOBt
GOTO LAZO1
SIG_COM8
MOVLW SECUG ; Secuencia genérica de conmutación.
CPFSEQ COMND
GOTO SIG_COMF
MOVLW 0x73
MOVWF IDENT
MOVLW COMND
MOVWF RXPTR
CALL TXM_RESP
CALL RuSECU
SIG_COMF
GOTO LAZO1 ; Regreso.
134
Apéndice 2
;-----------------------------------------------------------------------
; SUBRUTINAS
;-----------------------------------------------------------------------
INI_PUERTOS
MOVLW 0x0FF
MOVWF PORTB ; Todos los comparadores bloqueados.
CLRF DDRB ; Puerto B como salida.
MOVLW 0x03
MOVWF PORTE ; Puerto E: Selectores de DAC, S&H en 1, latch de comparadores en 0.
CLRF DDRD
NOP ; Se activa primero el puerto de control de FIFO,
NOP
CLRF DDRE
NOP ; para evitar colisión con los datos.
NOP
CLRF DDRC
RETURN
;--------------------------------------------------------------
INI_SERIE
135
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
RETURN
;---------------------------------------------------------------
PREP_RECEP
MOVLB 0
BSF RECEP,1
MOVLW 0x04
ADDLW VECTOR
MOVWF LONG ; Espera 4 bytes como trama mínima.
BCF CPUSTA,GLINTD
RETURN
;-------------------------------------------------------------------------
LAZO_XMT
TABLRD 1,1,WREG ; Carga el registro
TLRD 1,TXREG ; Carga el byte alto
BUF_VAC
BTFSS TXSTA,TRMT ; ¿TXBUF vacío?
GOTO BUF_VAC
136
Apéndice 2
BUFVAC
BTFSS TXSTA,TRMT ; ¿TXBUF vacío?
GOTO BUFVAC
DECFSZ LONG
GOTO LAZO_XMT
RETURN
;-----------------------------------------------------------------------------
TXM_RESP
MOVLB 0
BCF ALUSTA,FS1
BSF ALUSTA,FS0 ; Incremento después de cada acceso.
TX_BYTE
MOVFP INDF0,TXREG ; Carga el byte a transmitir.
REGVAC
BTFSS TXSTA,TRMT ; ¿TXBUF vacío?
GOTO REGVAC
CPFSEQ FSR0
GOTO TX_BYTE
RETURN
;-----------------------------------------------------------------------------
VSAL_DAC
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.
137
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
MOVLW 0x0F
ANDWF DATO_H,F ; Enmascara el nibble más significativo.
BSF DATO_H,OE_FIFO ; Sigue inhabilitando las salidas de la FIFO.
NOP
BCF PORTE,CS_DAC ; CS de DAC en nivel bajo.
NOP
BSF PORTE,CS_DAC ; CS en alto, DAC inhibido.
RETURN
;-----------------------------------------------------------------------------
PBA_DAC
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.
V_ASC
CALL VSAL_DAC
V_DSC
CALL VSAL_DAC
DECFSZ DATO_L,F ;Decrementa el LSB.
GOTO V_DSC
138
Apéndice 2
RETURN
;-----------------------------------------------------------------------------
SEL_SH
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.
MOVLW 0x07
ANDWF DATO_i,F ; Enmascara para dejar sólo 3 bits.
RETURN
139
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
SEL_CMP
MOVLB 0
MOVFP DATO_i,PORTB ; Habilita los comparadores.
NOP
MOVLB 1
BSF PORTE,COMPS ; Activa el latch?
MOVLW 0x16
ESP_CM
DECFSZ WREG
GOTO ESP_CM
RETURN
;-----------------------------------------------------------------------------
ESC_MF
BSF CPUSTA,GLINTD ; Inhibe las interrupciones durante la escritura.
MOVLB 1
BCF PORTD,RS_FIFO
NOP
NOP
NOP
BSF PORTD,OE_FIFO ; Inhibir las salidas de la FIFO.
NOP
BSF PORTD,RS_FIFO ; Saca a la FIFO del estado de Reset.
BCF ALUSTA,FS1
BSF ALUSTA,FS0 ; Incremento después de cada acceso.
E_DATO
MOVFP INDF0,PORTC ; Escribe el byte al bus de datos.
CPFSEQ FSR0
GOTO E_DATO
140
Apéndice 2
MOVLB 0
RETURN
;-----------------------------------------------------------------------------
LEC_MF
MOVLB 1
MOVLW 0xFF
MOVWF DDRC ; Puerto C como entrada.
NOP
NOP
MOVLW 0x0A
MOVWF IDENT
MOVLW COMND ; Transmite hasta el campo de comando
MOVWF RXPTR
RETURN
;--------------------------------------------------------------------------
; IDENTIFICADOR/COMANDO/N_DAT/nEDOS/nCICS/DATO_H/DATO_L/.../CHKSUM
RuDOBt
BSF CPUSTA,GLINTD ; Inhabilitación general de interrupciones.
MOVLB 1
MOVLW 0xFF
MOVWF DDRC ; Puerto C como entrada.
NOP
NOP
141
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
CLRF TMR0L
CLRF TMR0H ; Timer 0 inicializado en 00.
SIG_CIC
BCF CPUSTA,GLINTD ; Habilitación general de interrupciones.
BCF ALUSTA,Z ; Bandera de Cero en X!=0.
MOVLB 1
BSF PORTD,OE_FIFO ; Inactiva las salidas de la FIFO.
RETURN
142
Apéndice 2
MOVLW FASE1
MOVWF INDF1
MOVLW R_INTX
MOVWF INDF1
MOVLW FASE2
MOVWF INDF1
MOVLW FASE3
MOVWF INDF1
MOVLW FASE4
MOVWF INDF1
FASE0
BSF PORTD,RC_FIFO ; Flanco ascendente en RCLK.
BSF PORTD,WC_FIFO ; Flanco ascendente en WCLK para autoescritura.
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO ; Regreso de RCLK y WCLK al estado inactivo.
BTFSC ALUSTA,Z
GOTO LTEMP0
MOVFP INDF1,PCL
FASE1
BSF PORTD,RC_FIFO
BSF PORTD,WC_FIFO
143
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO
R_INTX
BCF INTSTA,INTE ; Inhibe la interrupción externa en RA0.
BTFSC ALUSTA,Z
GOTO LTEMP0
MOVFP INDF1,PCL
FASE2
BSF PORTD,RC_FIFO
BSF PORTD,WC_FIFO
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO
BTFSC ALUSTA,Z
GOTO LTEMP0
MOVFP INDF1,PCL
FASE3
BSF PORTD,RC_FIFO
BSF PORTD,WC_FIFO
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO
BTFSC ALUSTA,Z
GOTO LTEMP0
MOVFP INDF1,PCL
144
Apéndice 2
FASE4
MOVLW 0x00
CPFSEQ nCICS ; Verifica los ciclos pendientes.
DECFSZ nCICS
GOTO IniCi
RETURN
LTEMP0
MOVPF INDF0,TMR0L ; Para salir de siguientes estados
MOVPF INDF0,TMR0H
;-------------------------------------------------------------------------------
RuSECU
BSF CPUSTA,GLINTD ; Inhabilitación general de interrupciones.
MOVLB 1
MOVLW 0xFF
MOVWF DDRC ; Puerto C como entrada.
NOP
NOP
CLRF TMR0L
CLRF TMR0H ; Timer 0 inicializado en 00.
145
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
SIG_CCL
BCF CPUSTA,GLINTD ; Habilitación general de interrupciones.
CISAL
MOVFP nEDOS,WREG ; Respalda el número de estados.
MOVWF nEDOx ; en el contador auxiliar.
; Estado inicial.
BSF PORTD,RC_FIFO ; Flanco ascendente en RCLK.
BSF PORTD,WC_FIFO ; Flanco ascendente en WCLK para autoescritura.
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO
CICLO
MOVFP AP_PRO,FSR1 ; Se carga el Apuntador a Procesos
; en el incio de la tabla.
146
Apéndice 2
MOVPF INDF0,WREG
BTFSC ALUSTA,Z
GOTO LTEMP0
DECR1
DECFSZ WREG,F
GOTO DECR1
MOVFP INDF1,PCL
CMB_EDO
BSF PORTD,RC_FIFO ; Cambio de estado
BSF PORTD,WC_FIFO
BCF PORTD,RC_FIFO
BCF PORTD,WC_FIFO
RSTTR
MOVLB 1
BSF PORTD,OE_FIFO ; Inhibe las salidas de la FIFO.
NOP
BCF PORTD,RS_FIFO ; FIFO en estado de Reset.
RETURN
LTEMPG
MOVPF INDF0,TMR0L
MOVPF INDF0,TMR0H
147
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
RUT_INT0
BCF T0STA,T0CS ; Inhabilitación de Timer0.
RETFIE
;-------------------------------------------------------------------------
; RECEPCIÓN SERIAL:
RUT_INTPER
MOVLB 0 ; Banco 0
MOVLW IDENT
CPFSEQ RXPTR ; Si es el primer dato,
GOTO V_NDAT
V_NDAT
MOVLW N_DAT ; Verifica si es el campo de longitud,
CPFSEQ RXPTR
GOTO REG_DREC ; si no es así, almacena el dato.
REG_DREC
BSF ALUSTA,FS1 ; FSR no cambia al accesarlo.
148
Apéndice 2
MOVPF FSR0,RXPTR
MOVFP LONG,WREG
CPFSEQ RXPTR ; Se recibieron todos los datos?
GOTO FIN_RUT
FIN_RECEP
CLRF RECEP
CLRF INTSTA, F
MOVLB 1
BCF PIE,RCIE
FIN_RUT
RETFIE
;
;----------------------------------------------------------------------------------------------------------------------------------
END
;*******************************************************************************************
; SCDATS.INC
;
;IDENTIFICADORES PARA SCDATS.ASM
;
;*******************************************************************************************
; CONSTANTES:
; Comandos:
149
Sistema de control digital para un banco de pruebas de dispositivos electrónicos de potencia
; PUERTO D:
RC_FIFO EQU 4
WC_FIFO EQU 5
RS_FIFO EQU 6
OE_FIFO EQU 7
; PUERTO E:
CS_DAC EQU 0
INH_SH EQU 1
COMPS EQU 2
;--------------------------------------------------------------------
; Buffer de comunicaciones:
150