Top Banner

of 43

Grabador GAL22V10

Jul 07, 2018

Download

Documents

Ariel Anza
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/18/2019 Grabador GAL22V10

    1/43

    ARIEL AUGUSTO ANZA MORALES 1

    UNIVERSIDAD MAYOR DE SAN ANDRES

    FACULTAD DE INGENIERA

    CARRERA DE INGENIERIA ELECTRONICA

    GRABADOR USB PARA DISPOSITIVO DE

    LOGICA PROGRAMABLE GAL22V10 ARIEL AUGUSTO ANZA MORALES

    GESTION 2015

  • 8/18/2019 Grabador GAL22V10

    2/43

  • 8/18/2019 Grabador GAL22V10

    3/43

  • 8/18/2019 Grabador GAL22V10

    4/43

    ARIEL AUGUSTO ANZA MORALES 4

    EL transistor Q1 trabaja en zona de corte y saturación, haciendo que la bobina L1 conduzcauna corriente IL figura 3.5a en zona de saturación, que es conducida hacia el capacitor C1para cargarlo, cuando el transistor Q1 se pone en zona de corte figura 3.5b.

    Figura 3.5 zona de saturación (izquierda) y corte (derecha) del circuito elevador de tensión(fuente: elaboración propia).

    1.4 CIRCUITO REGULADOR DE TENSIÓNComo el circuito de elevador de tensión (figura 3.4) puede proporcionar una tensión conmoderado nivel de ruido y rizado, se opta por acoplar un el circuito de regulación paralelo

    con diodo zener D3 (1N4742) de 12V figura 3.6. Que es el valor de tensión requerido (VPP)para habilitar el estado de programación en el l PLD.

    Figura 3.6 regulador paralelo con diodo zener (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    5/43

    ARIEL AUGUSTO ANZA MORALES 5

    1.5 CIRCUITO HABILITACIÓN VPP Este circuito está compuesto de un par de transistores complementarios Q2 (BC548) y Q3(BC558) figura 3.7, que cumplen la función de conectar o desconectar la salida VPP delcircuito regulador hacia el pin de control EDIT_GAL del PLD.

    Figura 3.7 Circuito habilitador voltaje de programación VPP (fuente: elaboración propia).

    La etapa final del circuito se muestra en la figura 3.8 donde se puede apreciar que el circuitoelevador de tensión requiere de dos líneas de control PWM y EDIT_GAL_EN.

    Figura 3.8 Circuito generador tensión de programación (fuente: elaboración propia).

    El circuito contempla el uso del modulador PWM1 del PIC18F2550 para el circuito elevadorde tensión y una salida digital EDIT_GAL_EN para la habilitación de VPP hacia el pin deprogramación de la GAL (EDIT_GAL).

  • 8/18/2019 Grabador GAL22V10

    6/43

    ARIEL AUGUSTO ANZA MORALES 6

    En la figura 3.9 se dispuso una entrada opcional de tensión externa VCC_EXT y unaderivación de tensión VADC mediante un divisor de tensión paralelo al diodo zener, quehará la función de realimentación para lectura ADC hacia el microcontrolador, esto últimopara el control de la salida del circuito regulador. Las modificaciones adicionales semuestran en la figura 3.9 el jumper JMP1 habilita la salida VPP del regulador o la entradaVCC_EXT mientras que el jumper JMP2 habilita el divisor de tensión para VADC o el diodozener D3 de regulación.

    Figura 3.9 Circuito elevador de tensión expandido (fuente: elaboración propia).

    1.6 INTERFAZ GRABADOR-PC La interfaz del grabador con la PC se realiza mediante el uso del microcontroladorPIC18F2550, en cuya arquitectura se cuenta con un módulo USB para la comunicaciónmediante este bus.

    Figura 3.10 Microcontrolador PIC18F2550 con conexión USB (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    7/43

    ARIEL AUGUSTO ANZA MORALES 7

    La descripción de los pines del PLD (tabla 3.1) para el proceso grabación y funcionamientonormal. Son las mismas asignaciones que muestra en la figura 3.10 del lado delmicrocontrolador y en la figura 3.11 del lado del PLD.

    GRABACIÓN FUNCIONAMIENTO1 - VCC 24 1 IO/CLK VCC 242 EDIT - 23 2 I1 IO0 233 P/¬V - 22 3 I2 IO1 224 COM0 - 21 4 I3 IO2 215 COM1 - 20 5 I4 IO3 206 COM2 - 19 6 I5 IO4 197 COM3 - 18 7 I6 IO5 188 COM4 - 17 8 I7 IO6 179 COM5 - 16 9 I8 IO7 1610 SCLK - 15 10 I9 IO8 1511 DIN DOUT 14 11 I10 IO9 1412 GND ¬STR 13 12 GND I11 13

    Tabla 3.1 Descripción pines GAL22V10 en estados de grabación y funcionamiento (fuente:elaboración propia).

    Figura 3.11 Disposición de pines grabador ETN-AI lado del PLD (fuente: elaboración propia).

    En la figura 3.11 se aprecia el LED1 que cumple la función de señalización, indicando que elgrabador ha sido correctamente inicializado y se encuentra en estado de encendido (LED-

  • 8/18/2019 Grabador GAL22V10

    8/43

    ARIEL AUGUSTO ANZA MORALES 8

    ON), similar función cumple el LED2 que indica que el estado de grabación del PLD está enejecución (LED-PROG).

    Los paquetes resistencias RP1 y RP2de 1KΩ que se muestran en la figura 3.11 derivan atierra los pines del PLD para evitar valores lógicos erróneos en el proceso de grabación.

    La descripción de la función que cumplen los pines del PLD en estado de grabación semuestra en la tabla 3.2

    EDIT 12V (VPP) para colocar el PLD en estado de grabaciónP/¬V 0=estado de lectura; 1=estado de escritura

    COM[0:5] Direccionamiento de línea de fusiblesSCLK Clock serialDIN Dato de entrada serial

    DOUT Dato de salida serial

    ¬STR Entrada pulso de grabaciónTabla 3.2 Función de los pines en estado de programación (fuente: elaboración propia).

    1.7 DISEÑO PCB DEL GRABADOR ETN-AI Una vez realizado el diseño esquemático del circuito de grabación, se puede migrar elmismo hacia su diseño en PCB, mediante el software PROTEUS 8 cuyo modulo ISIS estáorientado al diseño esquemático de circuitos. Su módulo ARES tiene el fin del desarrollo dePCB´s de los circuitos diseñados en el módulo ISIS. Siendo esta una gran ventaja a la horadel diseño de circuitos electrónicos que contemplen la parte de simulación e

    implementación en tarjeta de circuito impreso. Las figuras 3.12 a la 3.16 muestran elproceso de diseño PCB del grabador ETN-AI.

    Figura 3.12 Toma de medidas para el dimensionamiento de la placa (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    9/43

    ARIEL AUGUSTO ANZA MORALES 9

    Figura 3.13 Dimensionamiento y localización de los componentes (fuente: elaboración propia).

    Figura 3.14 Asignación de reglas de conectividad de componentes (fuente: elaboración propia).

    Figura 3.15 Inicio de conexión de componentes en placa (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    10/43

    ARIEL AUGUSTO ANZA MORALES 10

    Figura 3.16 Conexión de componentes en el grabador finalizado (fuente: elaboración propia).

    1.8 MONTAJE DEL GRABADOR ETN-AI Desde la figura 3.17 hasta figura 3.28 se muestra el procedimiento que se siguió para elmontaje final del grabador ETN-AI para el PLD GAL22V10.

    Figura 3.17 Corte de placa base (fuente: elaboración propia).

    Figura 3.18 impresión del negativo a ser transferido (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    11/43

    ARIEL AUGUSTO ANZA MORALES 11

    Figura 3.19 Transferencia del diseño a la placa base (fuente: elaboración propia).

    Figura 3.20 Ataque químico para la revelación de las pistas (fuente: elaboración propia).

    Figura 3.21 Perforado de placa (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    12/43

    ARIEL AUGUSTO ANZA MORALES 12

    Figura 3.22 Transferencia de diseño de componentes (fuente: elaboración propia).

    Figura 3.23 Componentes y placa finalizada para soldadura (fuente: elaboración propia).

    Figura 3.24 Corte de caja para el montaje de la placa (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    13/43

    ARIEL AUGUSTO ANZA MORALES 13

    Figura 3.25 placa inferior finalizada (fuente: elaboración propia).

    Figura 3.26 placa superior finalizada (fuente: elaboración propia).

    Figura 3.27 Ensamblado del grabador ETN-AI (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    14/43

    ARIEL AUGUSTO ANZA MORALES 14

    2 FIRMWARE

    2.1 DISEÑO DE CIRCUITOS DIGITALES ASISTIDO POR COMPUTADORAPara que sea útil, la lógica programable debe permitir combinar componentes tantohardware como software en una misma unidad funcional. Todos los fabricantes dedispositivos SPLD, CPLD y FPGA proporcionan soporte software para cada dispositivohardware. Estos paquetes de software se encuentran dentro una categoría de software quese conoce con el nombre de CAD (Computer Aided Design , Diseño Asistido porComputadora).

    Especificación formal-Diagrama de bloque-Tabla de verdad-Funciona lógicas-Circuito

    MAL

    EDICION DEARCHIVO

    FUENTE

    ARCHIVOJEDEC

    SIMULACION

    COMPILACION

    GRABADOR

    PC

    ARCHIVOFUENTEDESCRIPCIÓNUTILIZANDO HDL

    BIEN

    Figura 4.1 Procedimiento para diseño de circuitos digitales asistido por computadora (fuente:elaboración propia).

    Los CADs propuestos para el diseño de circuitos digitales en el PLD GAL22V10 son: WINCULP® del empresa ATMEL y Warp® Release 6.3 de CYPRESS, este último posibilita la descripciónde los circuitos digitales en lenguaje VHDL, que es el lenguaje de descripción de hardwareque se está implementando en la cátedra de sistemas digitales.

  • 8/18/2019 Grabador GAL22V10

    15/43

    ARIEL AUGUSTO ANZA MORALES 15

    2.2 DESCRIPCIÓN FUSIBLES GAL22V10En el proceso de grabación de los fusibles de un PLD, se requiere conocer la distribución delos mismos, tal como se muestra en la figura 4.2.

    Figura 4.2 Diagrama lógico/Mapa de fusibles JEDEC de una GAL22V10 (fuente: DatasheetGAL22V10).

  • 8/18/2019 Grabador GAL22V10

    16/43

    ARIEL AUGUSTO ANZA MORALES 16

    Como se puede apreciar en la figura anterior, la distribución de los fusibles está conformadaen una arreglo matricial cuyas filas corresponden a las conexiones a compuertas AND ycolumnas son la totalidad de entradas y salidas tanto la entrada directa como la negada.

    Las columnas del mapa de fusibles, contempla la existencia de:

    12 entradas directas. 12 entradas negadas. 10 entradas (macroceldas) de realimentación directas. 10 entradas (macroceldas) de realimentación negadas.

    Dando un total de 44 columnas dentro del arreglo matricial de la figura 4.2. Ahora, si bienla distribución de los fusibles se aprecia como matricial, su direccionamiento es lineal, talcomo se muestra en la tabla 4.1. En el cual se puede apreciar que contamos con 132 filaspor 44 columnas danto un total de 5808 fusibles enumerados de 0 a 5807.

    COLUMNAS DE INTERCONEXION0 1 2 ….. 41 42 43 44 58

    FILASDEMATRIZAND (0A 131)1

    32 ANDS

    0 0 1 2 ….. 41 42 43 5808

    CFG (20 BITS,

    10 ACROCELDAS)

    b0

    PES(80BITS)

    1 44 45 46 ….. 85 86 87 5809 b12 88 89 90 ….. 129 130 131 5810 b2

    ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. b3….. ….. ….. ….. ….. ….. ….. ….. 5825 b4….. ….. ….. ….. ….. ….. ….. ….. 5826 ….. 82 3608 3609 3610 ….. 3649 3650 3651 5827 ….. 83 3652 3653 3654 ….. 3693 3694 3695 5828

    UES(64 BITS, 8 BYTES) …..

    84 3696 3697 3698 ….. 3737 3738 3739 5829 ….. ….. ….. ….. ….. ….. ….. ….. ….. 5830 b77….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. ….. b78….. ….. ….. ….. ….. ….. ….. ….. 5889 b79….. ….. ….. ….. ….. ….. ….. ….. 5890 0….. ….. ….. ….. ….. ….. ….. ….. 5891 0….. ….. ….. ….. ….. ….. ….. ….. XXXX ….. 129 5676 5677 5678 ….. 5717 5718 5719 XXXX 0130 5720 5721 5722 ….. 5761 5762 5763 XXXX 0131 5764 5765 5766 ….. 5805 5806 5807 XXXX 0

    Tabla 4.1 Direccionamiento fusibles GAL22V10 (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    17/43

  • 8/18/2019 Grabador GAL22V10

    18/43

  • 8/18/2019 Grabador GAL22V10

    19/43

    ARIEL AUGUSTO ANZA MORALES 19

    Los archivos .jed generados por WINCULP ® del empresa ATMEL y Warp® Release 6.3 deCYPRESS siguen el estándar del formato mostrado en la siguiente figura.

    N° DE PINES

    N° FUSIBLES

    F. SEGURIDAD

    LOGICA FUS.

    CHECKSUM

    LINEA FUS.

    MAPA DE

    FUSIBLES

    DATOS

    DESCRIPTIVOS

    Figura 4.3 Descripción archivo JEDEC (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    20/43

    ARIEL AUGUSTO ANZA MORALES 20

    2.4 DIAGRAMA FIRMWARE GRABADOR ETN-AIEn la figura 4.4 se muestra el diagrama de flujo que describe el firmware desarrollado parael grabador ETN-AI.

    RESET

    ACONDICIONAMIENTOPARAMETROS INICIALES

    COMANDO?LEER

    COLUMNA?

    si

    ESCRIBIRCOLUMNA?

    no

    BORRARFUSES?

    no

    BORRADOCOMPLETO?

    no

    LEERCFG?

    no

    ACTIVARPWM?

    no

    MODULARPWM?

    HABILITAR VPP?

    no

    STX?no

    INICIO DELINEA?

    RECIBIRDIRECCION

    FUSES

    si

    RECIBIR RANGODE FUSIBLESEN BUFFER

    no

    ETX?

    BORRADO DEPLD

    no

    si

    PROCESO DEGRABACION

    VERIFICACION

    CHECKSUMOK?

    GRABACIONEXITOSA

    MENSAJE DEERROR

    nosi

    no

    LEERCOLUMNA DEFUSIBLES ENDIRECCION

    si

    ESCRIBIRCOLUMNA DEFUSIBLES ENDIRECCION

    si

    BORRARFUSIBLES YBUFFER DE

    FUSES

    si

    BORRADO DEFUSIBLES,

    BUFFER, CFG YPES

    si

    LEER FUSIBLESCONFIGURACIONMACROCELDAS

    si

    MODULOPWM

    ELEVADOR DETENSON

    si

    INCREMENTODECREMENTO

    VPPsi

    ACTIVARSALIDA VPPHACIA PLD

    si

    2

    no

    1

    Figura 4.4 (a) Diagrama de flujo Firmware GRABADOR ETN-AI (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    21/43

    ARIEL AUGUSTO ANZA MORALES 21

    LEERBUFFER?

    ACTIVARSEÑALIZACION?

    no

    LEER BUFFERDE FUSES A

    GRABARsi

    LED ON?

    si

    LED PROG?

    no

    ACTIVAR ODESACTIVAR

    LED ONsi

    ACTIVAR ODESACTIVAR

    LED PROG

    si

    21

    no

    no

    Figura 4.4 (b) Diagrama de flujo Firmware GRABADOR ETN-AI (fuente: elaboración propia).

    El firmware del dispositivo contempla en primera instancia el reconocimiento de comandosque se ejecutan para:

    -Lectura de columnas dentro del arreglo matricial de fusibles. Las columnascontemplas los fusibles propiamente dichos como CFG, UES y PES.

    -Escritura de columnas dentro del arreglo matricial de fusibles de la GAL. En estecaso solo se pueden escribir los fusibles propiamente dichos como CFG y UES.

    -Borrado de fusibles del arreglo lógico programable.

    -Borrado completo tanto de arreglo lógico programable como CFG, UES.

    -Lectura de los fusibles de configuración de las macroceldas.

    -Calibración del voltaje de programación y edición (VPP)

    -Activación del circuito que habilita el voltaje de programación (VPP) para colocar alPLD en estado de edición o programación.

    -Lectura del buffer interno para verificación del checksum.

    -Activar leds que indican estado de encendido y estado de programación.

  • 8/18/2019 Grabador GAL22V10

    22/43

    ARIEL AUGUSTO ANZA MORALES 22

    En segunda instancia se contempla el desarrollo de los procesos de grabación, que hace usode los comandos anteriormente descritos, el uso de comandos genéricos resulta útil cuandoel programador se conecte al software desarrollado para tal fin.

    La siguiente tabla 4.5, muestra los comandos en formato ascii, genéricos que se consideran

    para el desarrollo del firmware:

    COMANDO SIGNIFICADO EJEMPLO

    %r(DIR_COL) LEER FUSIBLES DE COLUMNA DIR_COL (ENTRE 0Y 43) INCLUIDOS 44 (CFG, UES) Y 58 (PES) %r41

    %w(DIR_COL)(DATOS)ESCRIBIR FUSIBLES DE COLUMNA DIR_COL YVALOR DE FUSES (132 DATOS) %w320010000…00011

    %b BORRAR GAL %b

    %t BORRADO COMPLETO INCLUIDO PES %t

    %v LEER FUSIBLES DEL CFG (CONFIGURACION DELLAS 10 MACROCELDAS 20 BITS) %v

    %f(DIR_COL) LEER COLUMNA DE FUSIBLES EN BUFFER %f30

    %m(DUTY) SET DE CICLO UTIL (DUTY ENTRE 0 Y 100%) DELPWM EN CCP1 %m65

    %p(BIT) ACTIVA(BIT=1) O DESACTIVAR (BIT=0) PWM ENCCP1 %p1 (activar)

    %e(BIT) ACTIVAR(BIT=1) O DESACTIVAR (BIT=0) VCC=12V %e0 (desactivar)

    %le(BIT) ACTIVAR(BIT=1) O DESACTIVAR (BIT=0) LEDSEÑALIZACION ENCENDIDO%le1 (LED ONencendido)

    %lp(BIT) ACTIVAR(BIT=1) O DESACTIVAR (BIT=0) LEDSEÑALIZACION PROGRAMACION%lp0 (LED PROGapagado)

    0x02=STX VALOR HEXADECIMAL DE INICIO DE ARCHIVO(PARA INICIAR GRABACION)

    0x03=ETX VALOR HEXADECIMAL DE FIN DE ARCHIVO(PARA FINALIZAR GRABACION)

    L VALOR ASCII PARA RECEPCION DE 6 ASCII DEDIRECCION DE COLUMNA

    C VALOR ASCCI QUE SEÑALIZA FINALIZACIÓN DELINEAS DE FUSIBLES E INICIO DEL CHEKSUM

    Tabla 4.5 Comandos desarrollados para el Firmware (fuente: elaboración propia)

  • 8/18/2019 Grabador GAL22V10

    23/43

    ARIEL AUGUSTO ANZA MORALES 23

    La flexibilidad del firmware radica en la modificación del o los comandos que se requieran,añadiendo o retirando comandos dentro del bucle while del código C que corresponde aldiagrama de flujo de la figura 4.4 y se aprecia entre las líneas 53 y 370 del código mostradoen la figura 4.5.

    A continuación se muestra en la figura 4.5 parte del código que contempla los comandosque conforman en el firmware, cuya descripción detallada se realiza más adelante.

    Figura 4.5 Parte del código que conforma el firmware del GRABADOR ETN-AI (fuente: elaboraciónpropia).

  • 8/18/2019 Grabador GAL22V10

    24/43

    ARIEL AUGUSTO ANZA MORALES 24

    2.5 ALGORITMO PARA GRABACIÓN DEL PLD GAL22V10El algoritmo para la grabación de una GAL22V10 requiere el conocimiento tanto de laarquitectura interna del mismo como de los protocolos de borrado, verificación, acceso,etcétera. Considerando las distintas señales que contemplan los mismos.

    Antes de describir los protocolos que conforman el conjunto de funciones delectura/escritura de la GAL, es menester conocer las tramas de datos que conforman elconjunto de datos a ser enviados y/o recibidos por parte de la GAL.

    Tabla 4.6 Las 44 tramas de 132 fusibles por columna (fuente: elaboración propia).

    La tabla 4.6 muestra el total de las 44 tramas conformadas tanto por el estado de los 132fusibles y la dirección 6 bits (un total de 138 bits por trama) de cada una de las 44 columnasque conforman el arreglo de fusibles de la GAL. Debe notarse que el orden de los bits quedireccionan la columna D[5:0] están en orden creciente dentro de la trama.

    Tabla 4.7 trama para lectura/escritura de UES (fuente: elaboración propia).

    LSB MSB LSB MSB

    F0 F1 F2 F3 …. F129 F130 F131 D0 D1 D2 D3 D4 D5

    0 44 88 132 …. 5762 5763 5764 0 0 0 0 0 0 01 45 89 133 …. 5763 5764 5765 1 0 0 0 0 0 12 46 90 134 …. 5764 5765 5766 0 1 0 0 0 0 23 47 91 135 …. 5765 5766 5767 1 1 0 0 0 0 3

    …. …. …. …. …. …. …. …. …. …. …. …. …. …. ….…. …. …. …. …. …. …. …. …. …. …. …. …. …. ….…. …. …. …. …. …. …. …. …. …. …. …. …. …. ….

    40 84 128 172 …. 5802 5803 5804 0 0 0 1 0 1 4041 85 129 173 …. 5803 5804 5805 1 0 0 1 0 1 4142 86 130 174 …. 5804 5805 5806 0 1 0 1 0 1 4243 87 131 175 …. 5805 5806 5807 1 1 0 1 0 1 43

    TRAMA DEGRABACION PORCOLUMNAS

    COM_GAL=0 (FUSES)

    MAPA DE BITS POR COLUMNA 132 BITS DIRECCION DE COLUMNA 6 BITS

    TRAMA DE 138 BITS

    F0 F1 … F62 F63 F64 …. F131 D0 D1 D2 D3 D4 D5

    5828 5829 …. 5890 5891 0 0…0 0 0 0 1 1 0 1 44

    COM_GAL=0 (UES)

    UES (8 BYTES = 64 BITS) 0 (68 BITS) DIRECCION (6 BITS)TRAMA DE 138 BITS

  • 8/18/2019 Grabador GAL22V10

    25/43

    ARIEL AUGUSTO ANZA MORALES 25

    Al igual que las tramas de fusibles del array, la trama de la firma electrónica del usuario(UES) tabla 4.7 se conforma de los 132 bits, de los cuales 64 bits (8 Bytes) corresponden alUES y los restantes 68 son indefinidos, añadidos a los 6 bits de dirección que corresponde ala columna 44 (columna no contemplada en el array).

    Tabla 4.8 trama para lectura de PES (fuente: elaboración propia).

    La tabla 4.8 corresponde a la lectura de los fusibles PES, que corresponde a la dirección dela columna 58, conformada por 80 bits descriptivos, 52 bits nulos y los 6 bis de dirección.

    Tabla 4.9 trama de fusibles de seguridad (fuente: elaboración propia).

    La trama de fusibles de seguridad especifica valores de nulos en los 132 bits y correspondea la dirección 61 del array, tabla 4.9.

    Tabla 4.10 trama para lectura de CFG (fuente: elaboración propia).

    En la tabla 4.10 se contempla la trama de lectura de los 20 bits correspondientes a los bitsS1 Y S0 de configuración de las 10 macroceldas. Se debe considerar que para la escritura delos mencionados bits, estos son incluidos en las tramas de fusibles de la tabla 4.5 con ladirección de columna 44. Los bits S1 y S0 deben ser invertidos a partir del archivo JEDEC quelos generó.

    F0 F1 … F78 F79 F80 …. F131 D0 D1 D2 D3 D4 D5

    b0 b1 …. b78 b79 0 0…0 0 0 1 0 1 1 1 58

    COM_GAL=0 (PES)

    0 (52 BITS) DIRECCION (6 BITS)TRAMA DE 138 BITS

    PES (80 BITS)

    F0 F1 … F78 F79 F80 …. F131 D0 D1 D2 D3 D4 D5

    0 0 …. 0 0 0 …. 0 1 0 1 1 1 1 61

    COM_GAL=0 (SEGURITY)

    TRAMA DE 138 BITSDIRECCION (6 BITS)0 (132 BITS)

    F0 F1 F2 F3 …. F17 F18 F19

    5809 5808 5811 5810 …. 5825 5827 5826

    COM_GAL=16 (CFG)

    NOTAR QUE LOS BITS DELCFG ESTAN INVERTIDOS

    CFG (20 BITS)TRAMA DE 20 BITS

  • 8/18/2019 Grabador GAL22V10

    26/43

    ARIEL AUGUSTO ANZA MORALES 26

    Tabla 4.11 trama borrado de fusibles (fuente: elaboración propia).

    Finalmente se describe la trama para el borrado y borrado completo de la GAL (tabla 4.11),notar que no contempla ninguna serie de datos, sino un valor lógico cero.

    En los siguientes acápites se describen tanto las señales como los diagramas de flujo que sediseñaron para la descripción de los mismos.

    2.6 PROTOCOLO DE LECTURA DE FUSIBLES GAL22V10Antes de la descripción de los diagramas de tiempo que corresponde a la comunicación queestablece el microcontrolador para la lectura de la GAL, se debe recordar la definición quetoman cada uno de los pines al momento de establecer su estado de edición (lectura ograbación) figura 4.6.

    VPP/EDIT (IN)

    P/¬V (IN)

    COM0 (IN)COM1 (IN)

    COM2 (IN)

    COM3 (IN)

    COM4 (IN)

    COM5 (IN)

    SCLK (IN)

    DIN (IN) DOUT (OUT)

    ¬STR (IN)

    Figura 4.6 descripción de pines GAL en estado de edición (fuente: elaboración propia).

    En la tabla 3.2 se describe la función de cada uno de pines de la figura 4.6.

    Los protocoles que se describen a continuación fueron extraídos del grabador GALblast v1.6de la pagina web http://www.a rmony.com/~rstevew/Public/Pgmrs/GAL/_ClikMe1st.htm

    COM_GAL=61 (CLEAR)

    COM_GAL=57 (CLEAR ALL)

    TRAMA DE 0 BITS

    TRAMA DE 0 BITS

    http://www.repairfaq.org/filipg/HTML/LINK/F_pal_gal.htmlhttp://www.repairfaq.org/filipg/HTML/LINK/F_pal_gal.htmlhttp://www.repairfaq.org/filipg/HTML/LINK/F_pal_gal.html

  • 8/18/2019 Grabador GAL22V10

    27/43

    ARIEL AUGUSTO ANZA MORALES 27

    READ GAL

    ACTIVAR 12V

    OBTENERDIRECCION DE

    COLUMNA

    BAJAR P/Ṽ

    COM_GAL=000000B

    i=0 a 5

    Enviar bit dedirección

    Pulso de reloj

    Pulso negativo deSTR

    i=0 a 138

    Leer bit de fusible [0:132]Leer bit de dirección [0:6]

    Pulso de reloj

    DESACTIVAR 12V

    BREAK

    Figura 4.7 diagrama de flujo para lectura de fusibles GAL22V10 (fuente: elaboración propia).

    En la figura 4.7 se describe el diagrama de flujo para la lectura de fusibles de la GAL22V10 yla figura 4.8 describe dicho proceso como diagrama de tiempos que se describe acontinuación.

    Para el estado de lectura de fusibles se debe establecer P/¬V a 0, estableciendo el patrón

    000000b en COM[5:0], bit puesto 0 o a 1 que requieren los 6 bits de dirección en DIN, tomarSCLK por un tiempo corto (1-10uS) a 0 y de vuelta a 1 y transferir el siguiente bit hasta quese transfieren todos los bits de la dirección de columna (línea de trama). Llevar ¬STB por uncorto tiempo a 0 y otra vez hasta 1, leer el pin de DOUT, llevar SCLK a 0 y de vuelta a 1 y leerel siguiente bit hasta que se leen todos los bits de esta línea (138 en total).

  • 8/18/2019 Grabador GAL22V10

    28/43

    ARIEL AUGUSTO ANZA MORALES 28

    VCC

    EDIT

    P/¬V

    COM[5:0]

    DIN

    SCLK

    ¬STR

    DOUT

    000000b=0d

    Dirección[0:5]

    FUSES[0:131] DIR[0:5]

    138 Clocks10us

    100us

    Figura 4.8 diagrama de tiempo para lectura de fusibles GAL22V10 (fuente: elaboración propia).

    2.7 PROTOCOLO DE ESCRITURA DE FUSIBLES GAL22V10La figura 4.9 muestra el diagrama de tiempos que describe el estado de escritura del PLD.

    WRITE GAL

    ACTIVAR 12V

    OBTENERDIRECCION DE

    COLUMNA

    SUBIR P/Ṽ

    COM_GAL=000000B

    i=0 a 5

    Enviar bit dedirección

    Pulso de reloj

    i=0 a 131

    Escribir bit de fusible[0:131]

    Pulso de reloj

    ACTIVAR 12V

    BREAK

    Pulso de grabación

    BAJAR P/Ṽ

    Figura 4.9 diagrama de flujo para escritura de fusibles GAL22V10 (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    29/43

  • 8/18/2019 Grabador GAL22V10

    30/43

    ARIEL AUGUSTO ANZA MORALES 30

    BORRAR GAL

    ACTIVAR 12V

    OBTENERDIRECCION DE

    COLUMNA

    SUBIR P/Ṽ

    COM_GAL=111101B

    BAJAR DIN

    Pulso de reloj

    DESACTIVAR 12V

    BREAK

    Pulso de borrado

    BAJAR P/Ṽ

    Figura 4.11 diagrama de flujo para borrando parcial/total de fusibles GAL22V10 (fuente:elaboración propia).

    VCC

    VPP/EDIT

    P/¬V

    COM[5:0]

    DIN

    SCLK

    ¬STR

    111101b=61d(parcial);111010b=58d (total)

    10us

    100ms

    Figura 4.12 diagrama de tiempo borrando parcial/total de fusibles GAL22V10 (fuente: elaboraciónpropia).

  • 8/18/2019 Grabador GAL22V10

    31/43

    ARIEL AUGUSTO ANZA MORALES 31

    2.9 PROTOCOLO DE LECTURA CFGsPara el proceso lectura de los fusibles de configuración de compuertas (CFGs) se debecolocar P/¬V a 0, establecer COM[5:0] a 16, colocar el bit de DIN a 0, llevar SCLK a 1 y devuelta a 0 (pulso de reloj), llevar ¬STB a 0 y esperar a que el tiempo de pulso de lectura

    (100ms) antes de tomar de nuevo a 1 lógico. Leer el pin DOUT y pulso de reloj, se completala operación después de obtener los 20 bits del CFG. Todo este procedimiento se describeen la figura 4.13 como diagrama de flujo y como diagrama de tiempos en la figura 4.14.

    READ CFG

    ACTIVAR 12V

    BAJAR P/Ṽ

    COM_GAL=010000B

    BAJAR DIN

    Pulso de reloj

    Pulso negativo deSTR

    i=0 a 19

    Leer bit de CFG [0:19]

    Pulso de reloj

    DESACTIVAR 12V

    BREAK

    Figura 4.13 diagrama de flujo que describen la lectura CFGs de la GAL (fuente: elaboraciónpropia).

  • 8/18/2019 Grabador GAL22V10

    32/43

    ARIEL AUGUSTO ANZA MORALES 32

    VCC

    VPP/EDIT

    P/¬V

    COM[5:0]

    DIN

    SCLK

    ¬STR

    DOUT

    010000b=16d

    CFG[0:19]

    20 pulsos10us

    100us

    Figura 4.14 diagramas de tiempos que describen la lectura CFGs de la GAL (fuente: elaboraciónpropia).

    2.10 PROTOCOLO DE ESCRITURA CFGs

    El diagrama de flujo que corresponde a la escritura de los CFGs, es el mismo que se describeen la figura 4.9.

    VCC

    VPP/EDIT

    P/¬V

    COM[5:0]

    DIN

    SCLK

    ¬STR

    010000b=16d

    20 pulsos

    40ms

    CFG[0:19]

    Figura 4.15 diagramas de tiempos que describen la escritura de CFGs de la GAL (fuente:elaboración propia).

    Para el proceso escritura de los fusibles de configuración de compuertas se debe colocarP/¬V a 1, establecer COM[5:0] a 16, transferir todos los bits Establecer DIN a 0 y llevar ¬STBa 0 y esperar a que el tiempo de pulso de programación (40ms) antes de tomar de nuevo a1 lógico. Restaurar P/¬V a 0 al final de la operación. Ver figura 4.15.

    El código correspondiente a los protocolos descritos anteriormente se lista en los apéndicesde este documento.

    Nota.- el firmware considerado para el grabador es también implementada en elentrenador, con la salvedad que es añadido el procedimiento para activar de CE_Q (verfigura 3.45 y 3.46) que a su vez activa el CE (figura 3.45) de los 3 buffers (figura 3.30)triestado que separa al PLD de los dispositivos de entrada y salida.

  • 8/18/2019 Grabador GAL22V10

    33/43

    ARIEL AUGUSTO ANZA MORALES 33

    2.11 COMUNICACIÓN PC/GRABADORSe optó por la comunicación USB para la transferencia de datos entre el microcontroladory la PC. Para tal efecto se debe recalcar que el microcontrolador PIC18F2550 posee unmódulo USB en su arquitectura interna. Dicho módulo dispone de los siguientes protocolos

    de transferencia: CDC (Communications Devices Class ). HID (Dispositivo de Interfaz Humana, mouses,keypad,etc). BULK TRANSFERS USB (comunicación bidireccional masiva). MSD USB (Mass storage Device , memorias, HD, etc).

    De los protocolos de transferencia mencionados, se optó por el uso del método CDC quecorresponde a la emulación de una comunicación por puerto serial, es decir que se generaun puente de software que hace de intermediario entre el bus USB convirtiéndolo en un

    puerto serial virtual. Tal elección se da principalmente porque la mayoría de los softwaresproporcionan un módulo de comunicación serial incorporado entre sus herramientas.

    2.12 IMPLEMENTACIÓN DEL FIRMWAREEl uso del protocolo CDC para la comunicación PC/GRABADOR proporciona una gran ventajaa la hora de depurar el sistema, pues la lista de comandos de la tabla 4.5 debieron serprobados antes de lograr el diseño final del software que reside en el sistema operativo.Lográndolo con el uso de una terminal serial, como ser la Hyperteminal de Windows.

    Los siguientes gráficos muestran los pasos que siguieron para la generación del firmwarepara el grabador del entrenador ETN-AI.

    Inicialmente se ejecuta el programa PIC C Compiler ® de la empresa CCS (Custom ComputerServices) figura 4.16.

    Figura 4.16 Ejecución del IDE para la implementación del Firmware (fuente: elaboración propia).

    Se procede a la ejecución del asistente para creación de proyectos (figuras 4.17 y 4.18), quees parte de IDE, para facilitar la configuración inicial del proyecto.

  • 8/18/2019 Grabador GAL22V10

    34/43

    ARIEL AUGUSTO ANZA MORALES 34

    Figura 4.17 Asistente para creación del proyecto (fuente: PIC C Compiler ®).

    Figura 4.18 Asistente para creación del proyecto (fuente: PIC C Compiler ®).

    Las configuraciones iniciales más destacables son el valor del cristal, PLL, dispositivo, etc.El código fuente se muestra en el apéndice respectivo, sin embargo este no es el últimopaso descriptivo de la generación del firmware, se debe generar una PIV y PID para que elsistema operativo reconozca al grabador como dispositivo de conexión por el método CDC(emulación de puerto serial). Para tal efecto se dispuso del programa v3.1-INF_Enumeration_uC_PIC-USB.exe cuya ayuda se muestra en la figura 4.19

  • 8/18/2019 Grabador GAL22V10

    35/43

    ARIEL AUGUSTO ANZA MORALES 35

    Figura 4.19 Información del software v3.1-INF_Enumeration_uC_PIC-USB (fuente: Pedro-Palitroquez [email protected])

    Tal software genera tanto el VID (VENDOR ID), PID (PRODUCT ID), Descripción, Fabricante,

    etc. Se debe notar que en la figura 4.20 se muestran dichos parámetros, de los cuales losmás destacables son tipo de transferencia (CDC-RS232) y la generación de la libreríausb_desc_cdc.h que es incorporado en el código del firmware.

    Figura 4.20 ejecución v3.1-INF_Enumeration_uC_PIC-USB(fuente: Pedro- [email protected]).

    La nota que se destaca en la figura 4.20 determina el uso por defecto de los valores deVID=04D8 Y PID=000B son proporcionados por MICROCHIP para aplicación de investigacióny/o desarrollos sin fines de lucro. Siendo estos valores los que son usados por defecto.

    Una vez creados y guardados los archivos respectivos mchpcdc.inf y usb_desc_cdc.h seprocede a compilar el firmware y grabarlo en el microcontrolador.

  • 8/18/2019 Grabador GAL22V10

    36/43

    ARIEL AUGUSTO ANZA MORALES 36

    Al conectar por primera vez el PIC WINDOWS detectará “HARDWARE NUEVOENCONTRADO”, dará error al no encontrar los drivers en WINDOWS/system32, se le debedar la ruta donde guardamos el archivo *.INF que fue generado por el software v3.1-INF_Enumeration_uC_PIC-USB.

    Figura 4.21 Grabador ETN-AI reconocido como puerto serial en el administrador de dispositivos(fuente: elaboración propia).

    Con esto se finalizó el proceso de comunicación el grabador con la PC, faltando solamenteel Software que gestione todo el proceso de grabación, incluido el uso de los comandos quese crearon para la depuración del grabador (tabla 4.5).

  • 8/18/2019 Grabador GAL22V10

    37/43

    ARIEL AUGUSTO ANZA MORALES 37

    APENDICE A

    PLANOS DESCRIPTIVOS GRABADOR ETN-AI VER 1.0

    Los siguientes planos describen al grabador ETN-AI ver. 1.0

  • 8/18/2019 Grabador GAL22V10

    38/43

    ARIEL AUGUSTO ANZA MORALES 38

  • 8/18/2019 Grabador GAL22V10

    39/43

    ARIEL AUGUSTO ANZA MORALES 39

  • 8/18/2019 Grabador GAL22V10

    40/43

    ARIEL AUGUSTO ANZA MORALES 40

    Figura D.1 grabador ETN-AI placa inferior vista de componentes (fuente: elaboraciónpropia).

    Figura D.2 PCB grabador ETN-AI placa inferior (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    41/43

    ARIEL AUGUSTO ANZA MORALES 41

    Figura D.3 grabador ETN-AI placa superior vista de componentes (fuente: elaboraciónpropia).

    Figura D.4 PCB grabador ETN-AI placa superior (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    42/43

    ARIEL AUGUSTO ANZA MORALES 42

    Figura D.5 grabador ETN-AI placa inferior vista de diseño (fuente: elaboración propia).

    Figura D.6 grabador ETN-AI superior vista de diseño (fuente: elaboración propia).

  • 8/18/2019 Grabador GAL22V10

    43/43

    Figura D.8 (fuente: elaboración propia).

    Figura D.8 (fuente: elaboración propia).