Vous êtes sur la page 1sur 38
BITS DE SEGURIDAD PARA LAS MEMORIAS Y BITS DE LOS FUSIBLES DE CONFIGURACIÓN DEL MICROCONTROLADOR Elaborado
BITS DE SEGURIDAD PARA LAS MEMORIAS Y BITS DE LOS FUSIBLES DE CONFIGURACIÓN DEL MICROCONTROLADOR Elaborado
BITS DE SEGURIDAD PARA LAS MEMORIAS Y BITS DE LOS FUSIBLES DE CONFIGURACIÓN DEL MICROCONTROLADOR
BITS DE SEGURIDAD PARA
LAS MEMORIAS Y BITS DE
LOS FUSIBLES DE
CONFIGURACIÓN DEL
MICROCONTROLADOR

Elaborado por: Ing. Jaime E. Velarde

jaime.velarde@epn.edu.ec

1

SEGURIDAD DE LAS MEMORIAS FLASH Y EEPROM
SEGURIDAD DE LAS MEMORIAS
FLASH Y EEPROM

LOS ATmega164P POSEEN 6 BITS DE SEGURIDAD QUE PROTEGE A LAS

MEMORIAS. SU CONFIGURACIÓN ES:

SIN PROGRAMAR = 1 LÓGICO

PROGRAMADOS = 0 LÓGICO

VIENEN DESDE LA FÁBRICA SIN PROGRAMAR (TODOS EN 1 LÓGICO)

TAMBIÉN QUEDAN SIN PROGRAMAR CUANDO SE ENVÍA EL COMANDO DE BORRAR AL CIRCUITO INTEGRADO

jaime.velarde@epn.edu.ec

2

BYTE DE SEGURIDAD
BYTE DE SEGURIDAD

BIT

DESCRIPCIÓN

VALOR POR DEFECTO

 

7

-

  • 1 (sin programar)

 

6

-

  • 1 (sin programar)

BLB12

5

BOOT LOCK BIT

  • 1 (sin programar)

BLB11

4

BOOT LOCK BIT

  • 1 (sin programar)

BLB02

3

BOOT LOCK BIT

  • 1 (sin programar)

BLB01

2

BOOT LOCK BIT

  • 1 (sin programar)

LB2

1

LOCK BIT

  • 1 (sin programar)

LB1

0

LOCK BIT

  • 1 (sin programar)

jaime.velarde@epn.edu.ec

3

MODOS DE SEGURIDAD
MODOS DE SEGURIDAD

MODO

LB2

LB1

TIPO DE PROTECCIÓN

1

1

1

Sin habilitar la protección de las memorias FLASH y EEPROM

     

Deshabilita futuras programaciones de

la FLASH y la EEPROM, enforma

2

1

0

Paralela o Serial (SPI y JTAG). Los bits

de los Fusibles son asegurados en ambos modos

3

0

0

Igual al anterior y también se deshabilita la verificación (lectura)

Los bits de los Fusibles se programan antes que los de Seguridad

jaime.velarde@epn.edu.ec

4

SECCIONES DE LA FLASH
SECCIONES DE LA FLASH

LA MEMORIA DEL PROGRAMA SE DIVIDE EN DOS

SECCIONES :

LA PARTE BAJA PARA EL CÓDIGO DE LA APLICACIÓN, ESTÁ PROTEGIDA POR LOS BITS BLB01 y BL02

LA PARTE ALTA PARA EL CÓDIGO DEL BOOT LOADER,

ESTÁ PROTEGIDA POR LOS BITS BLB11 y BL12

jaime.velarde@epn.edu.ec

5

SEGURIDAD DE LA APLICACIÓN
SEGURIDAD DE LA APLICACIÓN

MODO

BLB02

BLB01

TIPO DE PROTECCIÓN

     

Sin restricciones en las instrucciones

1

  • 1 1

SPM o LPM, para el acceso a la sección

de la Aplicación

2

 
  • 1 0

SPM no está permitida para escribir en la sección de la Aplicación

3

 
  • 0 0

Igual a los Modos 2 y 4 juntos

     

LPM ejecutada en el Boot Loader, no

está permitida para leer desde la

sección de la Aplicación. Si un vector

4

  • 0 1

de interrupción es puesto en la sección del Boot Loader, la interrupción está deshabilitada mientras se ejecuta

jaime.velarde@epn.edu.ec

desde la sección de la Aplicación

6

SEGURIDAD DEL BOOT LOADER
SEGURIDAD DEL BOOT LOADER

MODO

BLB12

BLB11

TIPO DE PROTECCIÓN

     

Sin restricciones en las instrucciones

1

  • 1 1

SPM o LPM, para el acceso a la sección

del Boot Loader

2

 
  • 1 0

SPM no está permitida para escribir en la sección del Boot Loader

3

 
  • 0 0

Igual a los Modos 2 y 4 juntos

     

LPM ejecutada en la Aplicación, no

está permitida para leer desde la

sección del Boot Loader. Si un vector

4

  • 0 1

de interrupción es puesto en la sección de la Aplicación, la interrupción está deshabilitada mientras se ejecuta

jaime.velarde@epn.edu.ec

desde la sección del Boot Loader

7

FUSIBLES DE CONFIGURACIÓN
FUSIBLES DE CONFIGURACIÓN

LOS ATmega164P TIENEN 3 BYTES DE FUSIBLES PARA CONFIGURAR SU

FUNCIONAMIENTO

CUANDO ESTÁN EN “0” LÓGICO SIGNIFICA QUE ESTÁN PROGRAMADOS

VIENEN PROGRAMADOS DE LA SIGUIENTE FORMA:

BYTE

DESDE LA FÁBRICA

EXTENDIDO

111111111

ALTO

10011001

BAJO

01100010

jaime.velarde@epn.edu.ec

8

BYTE EXTENDIDO
BYTE EXTENDIDO

BIT

DESCRIPCIÓN

VALOR POR DEFECTO

 

7

-

  • 1 (sin programar)

 

6

-

  • 1 (sin programar)

 

5

-

  • 1 (sin programar)

 

4

-

  • 1 (sin programar)

 

3

-

  • 1 (sin programar)

BODLEVEL2

2

Nivel de disparo de Brown-out

  • 1 (sin programar)

BODLEVEL1

1

Nivel de disparo de Brown-out

  • 1 (sin programar)

BODLEVEL0

0

Nivel de disparo de Brown-out

  • 1 (sin programar)

jaime.velarde@epn.edu.ec

9

DETECTOR DE BROWN-OUT
DETECTOR DE BROWN-OUT

LOS ATmega164P POSEE UN CIRCUITO

PARA MONITOREAR EL NIVEL DE Vcc Y

COMPARARLO CON UN VALOR FIJO

(BROWN-OUT DETECTOR)

LOS BITS BODLEVEL2 ESCOGEN EL

..

0

NIVEL DE DISPARO SEGÚN LA SIGUIENTE

TABLA:

BODLEVEL2 0

..

NIVEL DE DISPARO

111

DESHABILITADO

110

1.8V

101

2.7V

100

4.3V

jaime.velarde@epn.edu.ec

10

BYTE ALTO
BYTE ALTO
   

DESCRIPCIÓN

VALOR POR

BIT

DEFECTO

OCDEN

7

Habilitación del OCD

  • 1 (sin programar)

JTAGEN

6

Habilitación del JTAG

  • 0 (programado)

SPIEN

5

Habilitación de la programación y

  • 0 (programado)

descarga de datos serie (SPI)

WDON

4

Watchdog siempre encendido

  • 1 (sin programar)

   

Preserva a la EEPROM en el

 

EESAVE

3

Borrado del circuito integrado

  • 1 (sin programar)

BOOTSZ1

2

Selección del tamaño del BOOT

  • 0 (programado)

BOOTSZ2

1

Selección del tamaño del BOOT

  • 0 (programado)

BOOTRST

jaime.velarde@epn.edu.ec

0

Selección del vector del Reset

11

  • 1 (sin programar)

HABILITACIÓN DEL INTERFACE JTAG
HABILITACIÓN DEL INTERFACE
JTAG

OCDEN HABILITA EL SISTEMA DE DEPURACIÓN DENTRO DEL MISMO

CIRCUITO INTEGRADO, MEDIANTE EL INTERFACE JTAG

JTAGEN HABILITA LAS LÍNEAS DEL PÓRTICO DE ACCESO A PRUEBAS (TAP) CONSTITUIDO POR 4 LÍNEAS

DEL PÓRTICO C (PC2 … PC5)

ESTE INTERFACE TAMBIÉN PERMITE PROGRAMAR LAS MEMORIAS

jaime.velarde@epn.edu.ec

12

HABILITACIÓN DE LA PROGRAMACIÓN SPI
HABILITACIÓN DE LA
PROGRAMACIÓN SPI

SPIEN HABILITA EL SISTEMA DE PROGRAMACIÓN CON EL INTERFACE

SERIAL A PERIFÉRICOS (SPI), MANTENIENDO EL RESET EN BAJO

LAS LÍNEAS DEL SPI SON: MOSI ENTRADA, MISO SALIDA Y SCK RELOJ DEL INTERFACE, QUE

CORRESPONDEN A 3 LÍNEAS DEL

PÓRTICO B (PB5, PB6 y PB7)

jaime.velarde@epn.edu.ec

13

ENCENDIDO DEL WATCHDOG
ENCENDIDO DEL WATCHDOG

WDON HABILITA AL TEMPORIZADOR WATCHDOG, QUE GENERA AUTOMÁTICAMENTE EL RESET

CUANDO SE HA DESBORDADO

MEDIANTE EL REGISTRO DE CONTROL DEL WATCHDOG SE

CONFIGURA AL TEMPORIZADOR

PARA PRODUCIR EL RESET ENTRE 16 mseg Y 8 seg

jaime.velarde@epn.edu.ec

14

PRESERVAR LA EEPROM
PRESERVAR LA EEPROM

EESAVE EVITA QUE LA EEPROM PIERDA LA INFORMACIÓN QUE TIENE ALMACENADA CUANDO SE EJECUTA

EL COMANDO DE BORRADO DEL

CIRCUITO INTEGRADO

PERO CUANDO SE DESEA PROGRAMAR LA EEPROM JUNTO

CON LA FLASH ESTE BIT DEBE ESTAR SIN PROGRAMAR

jaime.velarde@epn.edu.ec

15

TAMAÑO DEL BOOT
TAMAÑO DEL BOOT
 

TAMAÑO

PÁGI-

SECCIÓN DE LA

SECCIÓN DEL

BOOTSZ

NAS

APLICACIÓN

BOOT LOADER

11

palabras

  • 128 0x0000

  • 2 0x1F7F

0x1F80

0x1FFF

10

palabras

  • 256 0x0000

  • 4 0x1EFF

0x1F00

0x1FFF

01

palabras

  • 512 0x0000

  • 8 0x1DFF

0x1E00

0x1FFF

 

1024

     

00

palabras

16

0x0000

0x1BFF

0x1C00

0x1FFF

jaime.velarde@epn.edu.ec

16

SELECCIÓN DEL VECTOR DEL RESET
SELECCIÓN DEL VECTOR DEL
RESET

BOOTRST PERMITE ESCOGER QUE EL VECTOR DE RESET NO SE ENCUENTRE EN LA SECCIÓN DE LA

APLICACIÓN SINO EN LA DEL BOOT

LOADER

LOS OTROS VECTORES DE INTERRUPCIÓN TAMBIÉN PUEDEN

SER MOVIDOS DE LA SECCIÓN DE LA APLICACIÓN A LA DEL BOOT LOADER

CON EL BIT IVSEL DEL REG. MCUCR

jaime.velarde@epn.edu.ec

17

BYTE BAJO
BYTE BAJO
   

DESCRIPCIÓN

VALOR POR

BIT

DEFECTO

CKDIV

7

División del Reloj para 8

  • 0 (programado)

CKOUT

6

Habilita la salida del Reloj

  • 1 (sin programar)

SUT1

5

Selección del tiempo de arranque

  • 1 (sin programar)

SUT0

4

Selección del tiempo de arranque

  • 0 (programado)

CKSEL3

3

Selección de la fuente del Reloj

  • 0 (programado)

CKSEL2

2

Selección de la fuente del Reloj

  • 0 (programado)

CKSEL1

1

Selección de la fuente del Reloj

  • 1 (sin programar)

CKSEL0

0

Selección de la fuente del Reloj

  • 0 (programado)

jaime.velarde@epn.edu.ec

18

DIVISIÓN PARA 8 DEL RELOJ
DIVISIÓN PARA 8 DEL RELOJ

CKDIV CUANDO ESTE BIT ESTÁ PROGRAMADO EL RELOJ DEL MICROCONTROLADOR ESTÁ DIVIDIDO

PARA 8. CUANDO NO ESTÁ

PROGRAMADO EL RELOJ ES EL QUE SE HA ESCOGIDO

EL TIPO DE RELOJ CON EL QUE TRABAJA EL MICROCONTROLADOR SE CONFIGURA CON LOS BITS

CKSEL3…0

jaime.velarde@epn.edu.ec

19

HABILITACIÓN DE LA SALIDA DEL RELOJ
HABILITACIÓN DE LA SALIDA
DEL RELOJ

CKOUT MEDIANTE ESTE BIT SE PERMITE LA SALIDA DEL RELOJ POR EL TERMINAL PB1

CON ESTA OPCIÓN SE PUEDE UTILIZAR AL RELOJ DEL MICROCONTROLADOR PARA

CONTROLAR OTROS CIRCUITOS

EXTERNOS

jaime.velarde@epn.edu.ec

20

OPCIONES DE SELECCIÓN DEL RELOJ CKSEL3 … 0 OPCIÓN 0000 Generador externo 0001 Reservado 0010 Oscilador
OPCIONES DE SELECCIÓN DEL
RELOJ
CKSEL3 … 0
OPCIÓN
0000
Generador externo
0001
Reservado
0010
Oscilador RC interno calibrado
0011
Oscilador RC interno de 128 KHz
0100 – 0101
Oscilador a Cristal de baja frecuencia
Oscilador a Cristal de pleno
0110 – 0111
funcionamiento
1000 … 1111
Oscilador a Cristal de baja potencia
jaime.velarde@epn.edu.ec
21
GENERADOR EXTERNO
GENERADOR EXTERNO

CON TODOS LOS FUSIBLES CKSEL

PROGRAMADOS, EL DISPOSITIVO NECESITA UN GENERADOR EXTERNO CONECTADO A

XTAL1

EL RANGO ES DE 0 Y 20 MHz

GENERADOR EXTERNO • CON TODOS LOS FUSIBLES CKSEL PROGRAMADOS, EL DISPOSITIVO NECESITA UN GENERADOR EXTERNO CONECTADO

jaime.velarde@epn.edu.ec

22

TIEMPOS DE ARRANQUE CON GENERADOR EXTERNO TIEMPO DE RETARDO ARRANQUE ADICIONAL USO SUT1 .. 0 DESDE
TIEMPOS DE ARRANQUE CON
GENERADOR EXTERNO
TIEMPO DE
RETARDO
ARRANQUE
ADICIONAL
USO
SUT1
..
0
DESDE POWER-
DESPUÉS
RECOMENDADO
DOWN Y POWER-
DEL RESET
SAVE
(Vcc = 5V)
Con detector de
00
6 pulsos
14 pulsos
Brown-out habilitado
14 pulsos +
Fuente de subida
01
6 pulsos
4.1 ms
rápida
14 pulsos +
Fuente de subida
10
6 pulsos
65 ms
lenta
11
Reservado

jaime.velarde@epn.edu.ec

23

OSCILADOR RC INTERNO
OSCILADOR RC INTERNO

ES DE APROXIMADAMENTE 8 MHz, DEPENDE DEL VOLTAJE DE

POLARIZACIÓN Y DE LA

TEMPERATURA

LOS TIEMPOS DE ARRANQUE SON IGUALES A LA OPCIÓN ANTERIOR

OSCILADOR RC INTERNO • ES DE APROXIMADAMENTE 8 MHz, DEPENDE DEL VOLTAJE DE POLARIZACIÓN Y DE

jaime.velarde@epn.edu.ec

24

OSCILADOR INTERNO DE 128KHz
OSCILADOR INTERNO DE
128KHz

ESTE OSCILADOR ES DE BAJA POTENCIA, NOMINALMENTE CON

POLARIZACIÓN DE 3 V Y A UNA

TEMPERATURA DE 25ºC

LOS TIEMPOS DE ARRANQUE TAMBIÉN SON IGUALES A LAS

OPCIONES ANTERIORES

SE UTILIZA EN APLICACIONES DONDE NO SE NECESITA PRECISIÓN

jaime.velarde@epn.edu.ec

25

CRISTAL EXTERNO
CRISTAL EXTERNO

XTAL1 y XTAL2 SON

ENTRADA Y SALIDA

DEL AMPLIFICADOR

INVERSOR USADO

COMO OSCILADOR

INTERNO

SE PUEDE USAR UN

CRISTAL DE CUARZO O

UN RESONADOR

CERÁMICO

EL VALOR DE C1 Y C2

DEPENDE DEL

ELEMENTO USADO

jaime.velarde@epn.edu.ec

CRISTAL EXTERNO • XTAL1 y XTAL2 SON ENTRADA Y SALIDA DEL AMPLIFICADOR INVERSOR USADO COMO OSCILADOR

26

CRISTALES DE BAJA POTENCIA
CRISTALES DE BAJA POTENCIA

NO SE PUEDE PROPORCIONAR LA SEÑAL

A OTRAS ENTRADAS Y ES MUY

SUSCEPTIBLE AL RUIDO

CKSEL3 1

..

FRECUENCIA EN MHz

CONDENSADORES EN pf

100

  • 0.4 … 0.9

-

101

  • 0.9 … 3.0

  • 12 … 22

110

  • 3.0 … 8.0

  • 12 … 22

111

8.0 … 16.0

  • 12 … 22

La primera opción no es usada con Cristales, sino con Resonadores Cerámicos

jaime.velarde@epn.edu.ec

27

ARRANQUE CON CRISTALES DE BAJA POTENCIA CKSEL0 = 0 TIEMPO DE RETARDO ARRANQUE ADICIONAL USO SUT1
ARRANQUE CON CRISTALES DE
BAJA POTENCIA CKSEL0 = 0
TIEMPO DE
RETARDO
ARRANQUE
ADICIONAL
USO
SUT1
..
0
DESDE POWER-
DESPUÉS
RECOMENDADO
DOWN Y POWER-
DEL RESET
SAVE
(Vcc = 5V)
14 pulsos +
Resonador y fuente
00
258 pulsos
4.1
ms
de subida rápida
14 pulsos +
Resonador y fuente
01
258 pulsos
65 ms
de subida lenta
Resonador y detector
10
1000 pulsos
14 pulsos
BOD habilitado
14 pulsos +
Resonador y fuente
11
1000 pulsos
4.1
ms
de subida rápida

jaime.velarde@epn.edu.ec

28

ARRANQUE CON CRISTALES DE BAJA POTENCIA CKSEL0 = 1 TIEMPO DE RETARDO ARRANQUE ADICIONAL USO SUT1
ARRANQUE CON CRISTALES DE
BAJA POTENCIA CKSEL0 = 1
TIEMPO DE
RETARDO
ARRANQUE
ADICIONAL
USO
SUT1
..
0
DESDE POWER-
DESPUÉS
RECOMENDADO
DOWN Y POWER-
DEL RESET
SAVE
(Vcc = 5V)
14 pulsos +
Resonador y fuente
00
1000 pulsos
65
ms
de subida lenta
Cristal y BOD
01
16000 pulsos
14 pulsos
habilitado
14 pulsos +
Cristal y fuente de
10
16000 pulsos
4.1 ms
subida rápida
14 pulsos +
Cristal y fuente de
11
16000 pulsos
65
ms
subida lenta

jaime.velarde@epn.edu.ec

29

CRISTALES DE PLENO FUNCIONAMIENTO
CRISTALES DE PLENO
FUNCIONAMIENTO

PARA CIRCUITOS QUE NECESITAN

MANEJAR OTRAS ENTRADAS DE RELOJ

Y EN AMBIENTES RUIDOSOS

OPERA CON POLARIZACIONES DE 2,7 A

5,5 VOLTIOS

ARRANQUE IGUAL A LOS CRISTALES DE

BAJA POTENCIA

 

FRECUENCIA EN

CONDENSADORES

CKSEL3 1

..

MHz

EN pf

011

0.4 … 20

12 … 22

jaime.velarde@epn.edu.ec

30

CRISTALES DE BAJA FRECUENCIA
CRISTALES DE BAJA
FRECUENCIA

EL OSCILADOR SE OPTIMIZA AL UTILIZAR

CRISTALES DE 32.768 KHz, CON LOS SE

CONSTRUYEN LOS RELOJES DE PULSERA

EL CIRCUITO ES IGUAL AL DE LOS DEMÁS

CRISTALES

SI LAS CARACTERÍSTICAS DEL CRISTAL

INDICA QUE PROVEE UNA CARGA DE 8pF,

NO SE NECESITA CONECTAR

CONDENSADORES EXTERNOS

jaime.velarde@epn.edu.ec

31

ARRANQUE CON CRISTALES DE BAJA POTENCIA CKSEL0 = 0 TIEMPO DE RETARDO ARRANQUE ADICIONAL USO SUT1
ARRANQUE CON CRISTALES DE
BAJA POTENCIA CKSEL0 = 0
TIEMPO DE
RETARDO
ARRANQUE
ADICIONAL
USO
SUT1
..
0
DESDE POWER-
DESPUÉS
RECOMENDADO
DOWN Y POWER-
DEL RESET
SAVE
(Vcc = 5V)
Cristal y BOD
00
1000 pulsos
14 pulsos
habilitado
14 pulsos +
Cristal y fuente de
01
1000 pulsos
4.1 ms
subida rapida
14 pulsos +
Cristal y fuente de
10
1000 pulsos
65 ms
subida lenta
11
Reservado

jaime.velarde@epn.edu.ec

32

ARRANQUE CON CRISTALES DE BAJA POTENCIA CKSEL0 = 1 TIEMPO DE RETARDO ARRANQUE ADICIONAL USO SUT1
ARRANQUE CON CRISTALES DE
BAJA POTENCIA CKSEL0 = 1
TIEMPO DE
RETARDO
ARRANQUE
ADICIONAL
USO
SUT1
..
0
DESDE POWER-
DESPUÉS
RECOMENDADO
DOWN Y POWER-
DEL RESET
SAVE
(Vcc = 5V)
Cristal y BOD
00
32000 pulsos
14 pulsos
habilitado
14 pulsos +
Cristal y fuente de
01
32000 pulsos
4.1 ms
subida rapida
14 pulsos +
Cristal y fuente de
10
32000 pulsos
65 ms
subida lenta
11
Reservado

jaime.velarde@epn.edu.ec

33

FUSIBLES PARA USAR EL OSCILADOR INTERNO Y LA PROGRAMACIÓN POR SPI
FUSIBLES PARA USAR EL
OSCILADOR INTERNO Y LA
PROGRAMACIÓN POR SPI

LOS BITS EN ROJO ESTABLECEN 1 MHz COMO EL OSCILADOR INTERNO, SON LOS VALORES QUE VIENEN DE FÁBRICA

EL BIT EN AZUL DESHABILITAN JTAG, SE DEBEN CAMBIAR AL VALOR QUE VIENEN DE LA FÁBRICA

BYTE

ATmega164P

EXTENDIDO

11111111

ALTO

11011001

BAJO

01100010

jaime.velarde@epn.edu.ec

34

DESHABILITAR EL JTAG EN EL PROGISP
DESHABILITAR EL JTAG EN EL
PROGISP

jaime.velarde@epn.edu.ec

35

FUSIBLES PARA USAR UN CRISTAL EXTERNO Y LA PROGRAMACIÓN POR SPI
FUSIBLES PARA USAR UN
CRISTAL EXTERNO Y LA
PROGRAMACIÓN POR SPI

LOS BITS EN ROJO SIRVEN PARA CRISTALES DE HASTA 20 MHz. SE DEBEN CAMBIAR LOS VALORES QUE VIENEN DE LA FÁBRICA

EL BIT EN AZUL DESHABILITAN JTAG, SE DEBEN CAMBIAR AL VALOR QUE VIENEN DE LA FÁBRICA

BYTE

ATmega164P

EXTENDIDO

11111111

ALTO

11011001

BAJO

11100110

jaime.velarde@epn.edu.ec

36

HABILITAR PARA CRISTALES DE

PLENO FUNCIONAMIENTO
PLENO FUNCIONAMIENTO
HABILITAR PARA CRISTALES DE PLENO FUNCIONAMIENTO jaime.velarde@epn.edu.ec

jaime.velarde@epn.edu.ec

37

PARA NO CAMBIAR LA

CONFIGURACIÓN
CONFIGURACIÓN
PARA NO CAMBIAR LA CONFIGURACIÓN jaime.velarde@epn.edu.ec

jaime.velarde@epn.edu.ec

38