ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4....

232
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA ÜVIPLEMENTACION DEL PROTOCOLO I2C EN UN MICROCONTROLADOR PIC DE IVÜCROCHIP "ESIS DE GRADO PREVIA A LA OBTENCIÓN DEL TITULO DE INGENIERO EN ELECTRÓNICA Y CONTROL GUSTAVO ADOLFO UPEGU! NIEVA QUITO - ECUADOR JULIO DE 1998 >*

Transcript of ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4....

Page 1: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA ELÉCTRICA

ÜVIPLEMENTACION DEL PROTOCOLO I2C EN UN

MICROCONTROLADOR PIC DE IVÜCROCHIP

"ESIS DE GRADO PREVIA A LA OBTENCIÓN DEL TITULO

DE INGENIERO EN ELECTRÓNICA Y CONTROL

GUSTAVO ADOLFO UPEGU! NIEVA

QUITO - ECUADOR

JULIO DE 1998

>*

Page 2: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Certifico que la presente tesis de grado

fue realizada en su totalidad por el señor:

Gustavo Adolfo Upegui Nieva

Page 3: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

AGRADECIMIENTO

Debo agradecer a Dios por permitirme

vivir un momento tan importante de mi

vida, a mis padres y hermanos por el

enorme sacrificio entregado, a mi esposa

y mis hijas por la comprensión y apoyo

durante este difícil caminar, a mi familia y

a la familia de mi esposa que con sus

voces de aliento animaban mi trabajo y a

los amigos que siempre estuvieron a mi

lado.

Page 4: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

DEDICATORIA

Dedico todo este esfuerzo y sacrificio a la

memoria de mi madre, que siempre fue y

será para todos "UN MOTIVO DE

LUCHA" y a mi padre e inseparable

amigo.

Page 5: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

ÍNDICE

CAPITULO I

ESPECIFICACIONES DEL BUS I2C (INTER-INTEGRATED

CIRCUIT BUS) .....1

1.1. CONCEPTO DEL BUS I2C....... ..............1

1.2. CARACTERÍSTICAS GENERALES.. .5

1.3. TRANSFERENCIA DE LOS BITS. ....6

1.3.1. Validez del dato .6

1.3.2. Condiciones de INICIO y PARADA.. 7

1.4. TRANSFERENCIA DE LOS DATOS..... 9

1.4.1. Formato del Byte... 9

1.4.2. Reconocimiento.. ., 10

1.5. ARBITRAJE Y GENERACIÓN DE PULSOS

DE RELOJ ..12

1.5.1. Sincronización 12

1.5.2. Arbitraje.. .13

1.5.3. Uso de mecanismos de sincronización

de reloj como líneas de control y

comunicación (handshake)... ...........14

1.6. FORMATOS CON DIRECCIONES ESCLAVAS

DE 7 BITS 16

1.6.1. Definición de los bits que conforman

el primer byte. .......19

1.7. FORMATO DE DIRECCIONES ESCLAVAS

DE 10 BITS....... 20

1.7.1. Definición de los dos bytes que

conforman la dirección...... 20

1.8. CARACTERÍSTICAS ELÉCTRICAS. ......22

Page 6: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

1.8.1, Valores máximos y mínimos de las

resistencia Rp y Rs... ..25

CAPITULO II

EL MICROCONTROLADOR PIC16C57.. , 31

2.1. ARQUITECTURA.. 31

2.2. DESCRIPCIÓN DE LOS PINES... 34

2.3. SISTEMA DE RELOJ Y FLUJO DE

INSTRUCCIONES.......... 37

2.4. ORGANIZACIÓN DE LA MEMORIA............ .............38

2.4.1, Memoria de programa.......... 38

2.4.2. Memoria de datos..... .................39

2.5. REGISTROS ESPECIALES.. ...41

2.5.1. Registro STATUS ..41

2.5.2. Registro OPTION..... 43

2.5.3. Contador de programa (PC)...................... ........44

2.5.4. Registros de acceso directo e indirecto

(INDFyFSR)..... 45

2.5.5. Registros de Entrada/Salida... .........47

2.5.6. Módulo TIMERO y registro TMRO.. 50

2.6. CARACTERÍSTICAS ESPECIALES DEL CPU 53

2.7. INSTRUCCIONES... 57

2.8. CARACTERÍSTICAS ELÉCTRICAS .......58

CAPITULO III

USO DEL PAQUETE "MPLAB" COMO HERRAMIENTA DE

DESARROLLO DEL MICROCONTROLADOR PIC16C57..... 59

3.1. PROCESO BÁSICO PARA CREAR UN PROYECTO.. .....59

3.1.1. Creación del archivo fuente...... .........60

Page 7: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

3.1.2. Creación del proyecto .....61

3.1.3. Asignación del archivo fuente al proyecto......... ....62

3.1.4. Selección de las herramientas a utilizarse...... 63

3.1.5. Ensamblaje del archivo fuente......... 64

3.2. PROCESO BÁSICO PARA LA SIMULACIÓN.. 66

3.2.1. Tipos de simulación...... ......66

3.2.2. Ventanas de información para la simulación ....67

3.2.3. Simulación del "Resef 69

3.2.4. Puntos de parada dentro de la simulación. 70

3.2.5. Simulador de estímulos............. ............71

3.3. OPCIONES DEL MENÚ PRINCIPAL... .....73

CAPITULO IV

DISEÑO Y CONSTRUCCIÓN DEL MODULO DE

COMUNICACIÓN.................... ................82

4.1. INTRODUCCIÓN... 82

4.11. Memoria 24C02A (EEPROM con interfaz I2C)......... 82

4.1.2. Memoria 93AA46 (EEPROM con bus

serial de 4 líneas).... 86

4.2. ANÁLISIS PREVIO AL DISEÑO... 94

4.2.1. Análisis del sistema de Ingreso de datos. 94

4.2.2. Análisis del sistema de salida de datos .95

4.3. DISEÑO DEL MODULO................ ..97

4.4. DISEÑO DEL SOFTWARE PARA EL

MICROCONTROLADOR..... .108

4.4.1. Sub-programa encargado del manejo de la

interfaz manual..... .....108

4.4.2. Sub-programa para escribir en las

memorias PC ......110

4.4.3. Sub-programa para leer las memorias PC 111

Page 8: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

4.4.4. Sub-programa para escribir en la

memoria serial de 4 líneas...... 112

4.4.5. Sub-programa para leer la memoria

serial de 4 líneas 113

4.4.6. Sub-programa para borrar una localidad

de la memoria serial de 4 líneas... 114

4.4.7. Sub-programa para borrar todas las localidades

de la memoria serial de 4 líneas..... ..115

4.4.8. Sub-programa para escribir el mismo

dato en todas las localidades de la

memoria serial de 4 líneas....... 116

4.4.9. Sub-programa que permite al microcontroiador

recibir datos provenientes del puerto

serial RS-232. ...117

4.4.10.Sub-programa que permite al microcontroiador

enviar datos a través del puerto serial RS-232 118

4.5. ANÁLISIS PREVIO AL DISEÑO DE LA

INTERFAZ DEL COMPUTADOR.. ....119

4.6. DISEÑO DE LA INTERFAZ DEL COMPUTADOR.... 120

4.7. CONSTRUCCIÓN DEL MODULO..... 122

CAPITULO V

PRUEBAS Y RESULTADOS..... 127

5.1. PRUEBA DE ESCRITURA EN LAS MEMORIAS I2C

DESDE LA INTERFAZ MANUAL... 127

5.2. PRUEBA DE LECTURA EN LAS MEMORIAS I2C

DESDE LA INTERFAZ MANUAL .128

5.3. PRUEBA DE ESCRITURA EN LA MEMORIA SERIAL

DE 4 LINEAS DESDE LA INTERFAZ MANUAL...... 130

Page 9: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

5.4. PRUEBA DE LECTURA EN LA MEMORIA SERIAL

DE 4 LINEAS DESDE LA INTERFAZ MANUAL ..............131

5.5. PRUEBA DE ESCRITURA EN LAS MEMORIAS I2C

DESDE LA INTERFAZ DEL COMPUTADOR. .........132

5.6. PRUEBA DE LECTURA EN LAS MEMORIAS I2C

DESDE LA INTERFAZ DEL COMPUTADOR..... .....138

CAPITULO VI

ANÁLISIS ECONÓMICO. 143

CAPITULO Vil

COMENTARIOS Y CONCLUSIONES. 146

BIBLIOGRAFÍA .....150

ANEXOS... .......................151

Page 10: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

CAPITULO

ESPECIFICACIONES DEL BUS I2C (INTER-INTEGRATED CIRCUIT

BUS).

1.1. CONCEPTO DEL BUS PC.

Cualquier circuito integrado, sea de fabricación NMOS, CMOS o

bipolar puede trabajar con este bus. El bus se compone de dos

conductores, el de datos seriales SDA (Serial Data) y el reloj serial SCL

(Serial Clock), los cuales transfieren la información sincronizada hacia

todos los dispositivos conectados. Cada dispositivo se reconoce por una

única dirección, sea éste un microcontrolador, controlador de LCD,

memoria o teclado; además, cada uno de estos dispositivos puede operar

como un transmisor o un receptor, dependiendo de la función del mismo.

Obviamente un controlador de LCD es solamente un receptor, mientras

una memoria puede recibir y transmitir datos. De acuerdo con esto

podemos decir que los maestros y esclavos pueden ser considerados

como transmisores o receptores dependiendo de los requerimientos de la

transferencia (Vea la tabla 1.1). Un maestro es el dispositivo que inicia la

transferencia de datos sobre el bus y genera las señales de reloj que

permiten la comunicación, al mismo tiempo, cualquier otro dispositivo al

que se dirija el maestro, se considera un esclavo.

Page 11: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Término

Transmisor

Receptor

Maestro

Esclavot

Multi-maestro

Arbitraje

Sincronización

Descripción

Es el dispositivo que envía los datos por elbus.

Es el dispositivo que recibe los datos por elbus.

Es el dispositivo que inicia la transferencia,genera las señales de reloj y termina latransferencia.

Es el dispositivo al que se dirige elmaestro.

Más de un maestro puede controlar el bussin alterar el mensaje.

Procedimiento que asegura que, si más deun maestro simultáneamente trata decontrolar el bus, solamente uno de ellos esautorizado a hacerlo y así el mensaje no sealtera.

Procedimiento que sincroniza las señalesde reloj de dos o más maestros.

Tabla 1.1. Terminología del bus PC.

El bus PC es multi-maestro, esto significa que más de un

dispositivo tiene la capacidad de controlar el bus, entonces, se tomará en

cuenta la posibilidad de conectar dos o más microcontroladores al bus

(Vea la figura 1.1), debido a que generalmente éstos son utilizados como

maestros.

Las relaciones entre maestro-esclavo no son siempre las de

transmisor-receptor, ya que dependen de la dirección que tiene el dato

Page 12: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

transferido en ese momento. Por ejemplo, la transferencia de datos

debería proceder de la siguiente manera;

1) Suponemos que el microcontrolador A quiere enviar información al

microcontroiador B:

• Microcontrolador A (maestro), se dirige al microcontrolador B

(esclavo).

• Microcontrolador A (maestro transmisor), envía datos al

microcontrolador B (esclavo receptor).

• Microcontrolador A termina la transferencia.

2) Si el microcontrolador A quiere recibir información del microcontrolador

B:

• El microcontrolador A (maestro) se dirige al microcontrolador B

(esclavo).

• El microcontrolador A (maestro receptor) recibe el dato "del

microcontrolador B (esclavo transmisor).

• El microcontrolador A termina la transferencia.

En este caso el maestro (microcontrolador A) genera la señal de

reloj y termina la transferencia.

La posibilidad de conectar varios microcontroladores al bus PC,

significa que más de un maestro podría tratar de iniciar la transferencia

de datos al mismo tiempo. Para prevenir el caos que esto puede acarrear,

se ha desarrollado un procedimiento de arbitraje, que consiste en la

conexión "wired-AND" (conexión en la que prevalece el "O" lógico sobre el

"1" lógico), la cual debe poseer toda interfaz I2C para conectarse al bus.

Page 13: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

4

La generación de las señales de reloj sobre el bus PC es siempre

responsabilidad de ios dispositivos maestros; cada maestro genera sus

propias señales de reloj al transferir datos a! bus. Las señales de reloj

que salen del maestro pueden ser cambiadas solamente cuando la

comunicación se realiza con un dispositivo lento, ya que éste mantiene

en BAJO la línea de reloj por más tiempo (si está diseñado para esto), o

cuando otro maestro intenta la comunicación al mismo tiempo y ocurre un

arbitraje.

•CL

QATE

LCD

AOC

BTATKM»0«ECffKMI

COMINOLtlH

Figura 1.1. Ejemplo de una configuración utilizada en el bus I2C.

Page 14: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

1.2. CARACTERÍSTICAS GENERALES.

Tanto la SDA como la SCL son líneas bidireccionales conectadas

a una fuente positiva de voltaje mediante una resistencia pull-up (Vea la

figura 1.2), por lo que cuando el bus está libre, ambas líneas se

encuentran en ALTO.

Los datos sobre el bus pueden ser transferidos a una velocidad

de 100 kbit/s en el modo estándar o a un máximo de 400 Kbit/s en el

modo rápido. El número de interfaces conectadas al bus solamente

depende del límite de la capacitancia del mismo que es de 400 pF.

(S*rlil D*1a Une)

SDA (Sefirf Oock LJne)SCL — ""'

SCCK1 ~tOut "

SCLK — <T^

SCLK

DKTÍ1 — tOut -

DATA ^>^\

; :

in ^vJ

5Ct(

SCLKIn

^

,Voo

KZ-t>it i

SCi —

r

LK

DAT» -|lom •=

DATA^^^T^s^ *X.

Figura 1.2. Conexión de dispositivos al bus PC.

Page 15: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

6

1.3. TRANSFERENCIA DE LOS BITS.

Debido a la variedad de dispositivos de diferentes tecnologías

que pueden ser conectados al bus (CMOS, NMOS, Bipolar), los niveles,

tanto del "O" lógico (BAJO) como del "1" lógico (ALTO) no son fijos, y

dependen del voltaje asociado a VDD.

En este sistema un pulso de reloj es generado por cada bit de

dato transferido.

1.3.1. Validez del dato.

El dato sobre la línea SDA debe ser estable durante el

período en el cual el reloj se encuentra en ALTO, y puede

cambiar solamente cuando la línea SCL se encuentra en BAJO

(Vea la figura 1.3).

ChtngeofOíUAllowed

Figura 1.3. Transferencia de un bit sobre el bus I2C.

Page 16: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

1.3.2. Condiciones de INICIO y PARADA.

Dentro del procedimiento del bus I2C, las únicas

situaciones definidas como condiciones de INICIO y PARADA son

las siguientes (Vea la figura 1.4):

SDA SDA

SCL. P f» . . - í

StopCofxHon

Figura 1.4. Condiciones de INICIO y PARADA.

Una transición de ALTO a BAJO de la línea SDA mientras

la línea SCL se encuentra en ALTO define una condición de

INICIO y una transición de BAJO a ALTO de la línea SDA

mientras la línea SCL se encuentra en ALTO define una

condición de PARADA.

Las condiciones de INICIO y PARADA son generadas

siempre por el maestro. El bus se considera ocupado después de

una condición de INICIO, liberándose nuevamente después de

una condición de PARADA.

Page 17: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

La detección de las condiciones de INICIO y PARADA por

los dispositivos conectados en el bus es fácil siempre y cuando

tengan incorporada la ¡nterfaz adecuada. Sin embargo, los

microcontroladores que no poseen esta interfaz deben realizar un

muestreo de ia línea SDA por lo menos dos veces por periodo de

reloj con el fin de registrar los cambios de estado.

Page 18: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

1.4. TRANSFERENCIA DE LOS DATOS.

1.4.1. Formato del Byte.

Todos los bytes puestos sobre la línea SDA deberán ser

de 8 bits de largo, aunque no está restringido el número de bytes

que pueden ser enviados en cada transferencia. Cada byte es

seguido por un bit de reconocimiento y además, los datos se

transfieren colocando primero el bit más significativo (MSB Most

significant bit) (Vea la figura 1.5). Si uno de los dispositivos

receptores no puede recibir un byte completo de datos porque

debe realizar alguna otra función como por ejemplo atender una

interrupción interna, éste puede retener la línea de reloj SCL en

BAJO para forzar a que el transmisor entre en un estado de

espera. La transferencia de datos continua cuando el receptor

está listo para otro byte de datos y libera la línea de reloj SCL,

aunque un mensaje puede ser interrumpido en cualquier

momento por una condición de parada, lo cual genera una falla

en el reconocimiento o verificación que realiza el receptor.

AcknowtodgmenfSlgnri froro f

B)ffc Cwnptate,Intemjp* wtthin Rrafvtr

* Acfcnawfodgmtnt•omR»c«1v*r

_CkK*UneHridLmWh8»* Ar*S*rvic*d

P— J

StopC«ndhl«n

Figura 1.5. Transferencia de datos sobre el bus I2C.

Page 19: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

10

1.4.2. Reconocimiento.

El reconocimiento es un bit que asegura a! transmisor la

perfecta recepción del byte -enviado, indicándole con esto que la

transferencia puede continuar. En la generación de los pulsos de

reloj siempre debe haber espacio para este bit, es decir, que

después de enviar los 8 bits del byte, deberá existir un noveno

pulso de reloj, en el cual el receptor coloque la línea SDA en

BAJO indicando dicho reconocimiento (Vea figura 1.6).

Cuando un esclavo receptor no reconoce la dirección (por

ejemplo, está inhabilitado para recibir porque está ejecutando

alguna función de tiempo real), la línea de datos es colocada en

ALTO por el esclavo. El maestro entonces puede generar una

condición de PARADA para abortar la transferencia.

Si un esclavo receptor reconoce la dirección, pero por

aigún motivo no puede recibir los datos, el maestro debería

abortar la transferencia. Esto es indicado por el esclavo en una

generación de falla en el reconocimiento (SDA en ALTO) sobre el

primer bit que sigue ai DAT01, entonces el maestro genera una

condición de PARADA.

Si un maestro está actuando como receptor en una

transferencia, éste debería señalar el final de la transmisión del

esclavo generando una condición de NO-RECONOCIMIENTO, es

decir, manteniendo en "1" lógico la línea SDA durante el ultimo

byte detectado a la salida del esclavo, de esta manera el esclavo

transmisor finaliza su transmisión y libera la línea de datos,

permitiendo que el maestro genere la condición de PARADA.

Page 20: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

11

by T

Figura 1.6. Reconocimiento en e! bus !2C.

Page 21: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

12

1.5. ARBITRAJE Y GENERACIÓN DE PULSOS DE RELOJ.

Como se mencionó anteriormente, existe la posibilidad de que

dos o más maestros intenten ocupar el bus al mismo tiempo, lo cual

generaría un caos en la transmisión; por esta razón se requiere un

arbitraje que permita a un solo maestro iniciar la transferencia de datos.

Pero para llevar a cabo este arbitraje en la línea SDA, deberán

previamente sincronizarse las señales de reloj de los maestros.

1.5.1. Sincronización.

Todos los maestros generan su propio reloj sobre la línea

SCL para transferir mensajes en el bus I2C, sin embargo, es

necesario un reloj definido para todos, con el fin de que el

procedimiento de arbitraje se pueda realizar, en caso de que dos

o más de estos maestros intenten la comunicación al mismo

tiempo.

La sincronización de los relojes es realizada utilizando la

conexión wired-AND de ¡nterfaces I2C en la línea SCL. Esto

significa que el estado BAJO en el reloj de un dispositivo obligará

a los demás a mantener su línea de reloj también en BAJO, sin

importar el estado en el que se encontraba anteriormente. La

línea SCL permanecerá en este estado hasta que todos los

dispositivos alcancen el estado ALTO nuevamente (Vea la

figura 1.7). Es decir, que la transición de BAJO a ALTO del reloj

de alguno de los dispositivos puede no cambiar el estado de la

línea SCL si otro reloj se encuentra todavía en el estado BAJO.

Por lo tanto la línea SCL será retenida en BAJO por el dispositivo

que posea el más largo período en este estado. Los dispositivos

que tienen un corto período en BAJO entran a un estado de

espera durante este tiempo. Cuando todos los dispositivos han

Page 22: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

13

terminado su período en BAJO, la línea de reloj será liberada y

adoptará el estado ALTO. En este momento no existirá diferencia

entre los relojes de los dispositivos y el estado de la línea SCL,

por lo que todos los dispositivos empezarán sus períodos en

ALTO. El primer dispositivo en completar este período colocará

nuevamente la línea SCL en BAJO.

De esta forma la sincronización de la línea SCL se logra

con un período en BAJO determinado por el dispositivo cuyo

tiempo en este estado sea el más largo y un período en ALTO

determinado por aquel con el menor tiempo en ALTO,

$b»t CounUngHghPwiod

CU

SCL

Figura 1.7. Sincronización del reloj durante e! procedimiento

de arbitraje.

1.5.2. Arbitraje.

Un maestro puede empezar una transferencia solamente

si e! bus está libre, pero dos o más maestros pueden generar una

condición de INICIO dentro del mínimo tiempo de retención

(tHD;STA), y es en este caso donde entra el arbitraje.

Page 23: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

• 14

El arbitraje toma lugar sobre la línea SDA, mientras la

línea SCL se encuentra en el nivel ALTO; así un maestro puede

transmitir un nivel ALTO mientras otro transmite un nivel BAJO, lo

que causa que el primero desconecte su estado de salida porque

el estado en el bus no corresponde a su propio nivel y por lo tanto

pierde eí arbitraje.

El arbitraje puede continuar por muchos bits, ya que

primero se comparan los bits de dirección, y existe la posibilidad

de que los dos maestros estén tratando de dirigirse al mismo

dispositivo, pero en este caso el arbitraje continúa con la

comparación de los datos sin que éstos se pierdan durante el

proceso.

Si un maestro tiene además, la función de esclavo y

pierde el arbitraje en la dirección, es posible que el maestro

ganador esté tratando de comunicarse con él, por lo que el

maestro perdedor debería cambiar inmediatamente a su modo

esclavo receptor.

Luego de que el control del bus !2C es decidido por el

arbitraje y el maestro ganador ha terminado la transferencia de

datos, no existirá un maestro central ni tampoco un orden de

prioridades sobre el bus.

1.5.3. Uso de mecanismos de sincronización de reloj corno

líneas de control y comunicación (handshake).

Además de ser utilizado durante los procedimientos de

arbitraje, el mecanismo de sincronización sirve para comunicar

dispositivos lentos o rápidos, manejando la línea de reloj (SCL).

Page 24: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

15

Este control de la línea SCL puede realizarse tanto a nivel

de byte como a nivel de bit. A nivel de byte, un dispositivo puede

recibir datos a gran velocidad, pero necesita más tiempo para

almacenarlos, entonces ios esclavos pueden retener la línea SCL

en BAJO después de la recepción y reconocimiento de un byte

para forzar a que el maestro entre en un estado de espera hasta

que el esclavo esté listo para la transferencia del siguiente byte

simulando un tipo de línea de control.

A nivel de bit, un dispositivo como un microcontrolador o

cualquiera con una limitada interfaz !2C puede hacer más lento el

bus, prolongando cada período en el que el reloj permanece en

BAJO. De esta forma la velocidad de cualquier maestro es

adaptada al rango de operación interna de este dispositivo.

Page 25: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

16

1.6. FORMATOS CON DIRECCIONES ESCLAVAS DE 7 BITS.

Los datos transferidos siguen el formato que se observa en la

figura 1.8, es decir, que después de la condición de INICIO, se envía la

dirección de! esclavo.

SOA

SCL

I II I

. _ j ' y ' '—r-* *>••••*•—

Start Addre»* RW ACKComMon

D*U ACK Dat»

Figura 1.8. Transferencia de datos completa.

Esta dirección tiene 7 bits de largo, seguida por un octavo bit que

indica si se hará una operación de lectura o escritura (R/W); un "O"

indica una operación de escritura (WRITE) y un "1" indica una operación

de lectura (READ). Una transferencia de datos es siempre terminada por

una condición de PARADA (P) que genera el maestro. Sin embargo, si un

maestro aun desea comunicarse sobre el bus, éste puede generar una

condición repetida de INICIO (Sr) y dirigirse a otro esclavo diferente al

primero, sin necesidad de generar una condición de PARADA. Varías

combinaciones de formatos de lectura/escritura son posibles en una

transferencia. Estas combinaciones de datos son:

Page 26: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

17

El maestro transmisor transfiere datos a! esclavo receptor. El sentido

de la transferencia no cambia (Vea la figura 1.9).

S';,DIRECCIÓNESCLAVA

R/W

"0"

A DATO 1 A DAT02 A/A P

WRJTE TRANSFERENCIA DE DATOS (N BVTES +RECONOCIMIENTO)

DEL MAESTRO ALESCLAVO

DEL ESCLAVO ALMAESTRO

A = RECONOCIMIENTO (SDA EN BAJO)

~A~= NO-RECONOCIMIEHTO (SDA EN ALTO)

S= CONDICIÓN DE INICIO

P « CONDICIÓN DE PARADA

Figura 1.9. Maestro transmisor se dirige a esclavo receptor con 7 bits

de dirección. E! sentido de la transferencia no cambia.

- El maestro lee al esclavo inmediatamente después del primer byte

(Vea la figura 1.10). En el momento del primer reconocimiento el

maestro transmisor cambia a maestro receptor y el esclavo receptor

cambia a esclavo transmisor. El maestro reconoce todos los bytes que

recibe del esclavo, pero cuando desea terminar la transferencia,

coloca un bit de no-reconocimiento después del último byte, indicando

al esclavo que debe terminar la transferencia de datos.

Page 27: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

18

s DIRECCIÓNESCLAVA

R/W A

.«..

DATO 1H DATO 2 A P

DEL MAESTRO AL

ESCLAVO

DEL ESCLAVO ALMAESTRO

TRANSFERENCIA DE DATOS <N BYTES +RECONOCIMIENTO)

A = RECONOCIMIENTO (SDA EN BAJO)

T= MO-RECOHOCIMIEMTO (SOA EN ALTO)

S= CONDICIÓN DE INICIO

P = CONDICIÓN DE PARADA

Figura 1.10. El maestro lee al esclavo inmediatamente después del

primer byte.

Formatos combinados (Vea la figura 1.11). Si se produce un cambio

de sentido dentro de la transferencia, la condición de INICIO y la

dirección del esclavo son repetidas, pero con el bit (R/W) invertido.

RfAOOR TRAHSFEREHC1A DC DATOS (H BYTES

WR1TE RECOtíOCIMBElfTO)«OR TRANSFERENCIA DE DATOS (H BVTES +

WWTE RECONOCIMIQJTO) •

CONDICIÓN REPETIDA

nneu MAECTOO «uESCLAVO

DELESCLAVO ALMAESTRO

A - RECOHOOMtEHTO (SDA EH BAJO)

"Á""- HO-R£COHOCtMENTO (SDA EH AUTO)

S - COHDICIOH DE I «CIO

P - Qghgi.C1.O»{ P^ PftRAHA

• LA DUtECCIOd OE LA TRAHSFEKENCIA VLOS BIT DE RECONOCIMIENTO DEPEHOEHDEL BíT R*7

Figura 1.11. Formato combinado.

Page 28: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

19

1.6.1. Definición de los bits que conforman el primer byte.

Los primeros siete bits del primer byte conforman la

dirección del esclavo y el octavo es e! bit menos significativo LSB

(least significant bit), el cual determina el sentido del mensaje. Un

"O" en la posición menos significativa del primer byte significa que

el maestro escribirá información en el esclavo seleccionado y un

"1" en esta posición significa que el maestro leerá información

desde el esclavo.

Cuando una dirección es enviada, cada dispositivo

compara los primeros siete bits después de la condición de

INICIO con su propia dirección. Si éstos son iguales el dispositivo

se considera aludido por el maestro como un receptor esclavo o

transmisor esclavo, dependiendo del bit (R /W) .

La. dirección de un esclavo puede conformarse de una

parte fija y una parte programable. Es probable que existan varios

dispositivos idénticos en el sistema, por lo que la parte

programable de la dirección del esclavo permite un número

máximo posible de estos dispositivos conectados al bus I2C. El

número de bits de dirección programables depende de la

cantidad máxima de dispositivos del mismo tipo que pueden

conectarse al bus. Por ejemplo, si un dispositivo tiene 4 bits de

dirección fijos y 3 programables, un total de 8 dispositivos

idénticos pueden ser conectados ai mismo bus.

Page 29: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

20

1.7. FORMATOS CON DIRECCIONES ESCLAVAS DE 10 BITS.

Debido a que han sido ocupadas la mayoría de las 128 posibles

direcciones de esclavos que existen con los 7 bits de direccionamiento,

se presenta la posibilidad de utilizar la combinación reservada 11110XX,

la cual nos permitirá realizar un direccionamiento de 10 bits que abarcará

muchas más posibilidades de esclavos.

El direccionamiento de 10 bits no afecta al existente de 7 bits, por

lo que dispositivos de ambos tipos pueden ser conectados al mismo bus.

1.7.1. Definición de los dos bytes que conforman la

dirección.

La combinación reservada 1111OXX forma el primer byte.

De esta combinación los primeros 5 bits indican ai esclavo que se

realiza un direccionamiento de 10 bits y los bits XX son los dos

bits más significativos de la dirección, por lo que los ocho bits de!

segundo byte forman el resto de la dirección. De igual forma que

en el direccionamiento de 7 bits, el octavo bit del primer byíe

determina el sentido de la transmisión, además, debe existir un

bit de reconocimiento después de cada byte.

La secuencia de envío puede observarse en la Figura

1.12 y la secuencia de lectura del esclavo en la Figura 1.13,

destacándose que después de una condición repetida de inicio,

es innecesario el segundo byte de la dirección, ya que con el

primero, el esclavo determina que le están solicitando los datos.

Page 30: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

21

11110XX

s DIRECCKMESCLAVA

R/W A1 fflRECCIQH ;ESCLAVA : :

A2

PRIMER ByTE "0" SEGUHDO BVTE

DAT0.1 : A DATO¿ ¿VA ;P

WRITE

DEL MAESTRO ALESCLAVO

DEL ESCLAVO ALMAESTRO

TRANSFERENCIA DE DATOS (H BVTES +RECOHOCIMIEHTO)

A - RECONOCÍMIEHTO CSDA EH BAJO)

A - NO-RECONOCIMIEHTO (SDA E» ALTO)

S« CONDICIÓN DE INICIO

P - COHDIC10H DE PARADA

Figura 1.12. E! maestro transmisor se dirige a! esclavo

receptor con una dirección de 10 bits.

1111DXX 11110XX

SEGUNDO BYTE

D

DEL MívesESCLAVO

DEL ESCLAVO Al.MAESTRO

A - RECONOCIMIENTO (SDA EH BAJO)

T- MO-RECOHOOWÉEHTO (SOA EH ALTO)

s-coMMcioHDEwtcio

P « COHDJOOH I)E PARADA

Sr • COWWCIOH REPETIDA DE IBICKJ

Figura 1.13. E! maestro receptor se dirige a! esclavo emisor y

recibe datos de é!.

Page 31: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

1 .8. CARACTERÍSTICAS ELÉCTRICAS.1

Las especificaciones eléctricas para los dispositivos conectados

a! bus I2C y las características dinámicas de las líneas del bus son dadas

en la tabla 1.2 y 1.3 (Al fina! del numeral).

Los dispositivos del bus PC con niveles de entrada fijos de 1.5 V

y 3 V pueden tener su respectiva fuente de voltaje, pero las resistencias

pull-up deben conectarse a una fuente de 5 V± 10% (vea la figura 1.14).

Si los niveles de entrada de estos dispositivos son comunes para todos,

se puede utilizar una única fuente VDD, a la cual se conectan también !as

resistencias pull-up (Vea la figura 1.15).

Si los dispositivos se encuentran mezclados, es decir, unos con

fuentes independientes y otros con una misma fuente, al añadir más

dispositivos posteriormente, se recomienda conectarlos a la fuente fija

común de 5 V± 10%, considerando las resistencias pull-up conectadas a

las líneas SDA y SCL (Vea la figura 1.16).

Los niveles de entrada son definidos de tal forma que;

- El margen de ruido durante el nivel BAJO sea de máximo 0.1

VDD-

- El margen de ruido durante e! nivel ALTO sea de máximo 0.2

- Pueden utilizarse resistencias en serie (Rs) de 300 n para

evitar los picos de alto voltaje sobre las líneas SDA y SCL

producidos por ejemplo por las radiaciones de un tubo de

rayos catódicos (Vea la figura 1.17),

1 Datos obtenidos del libro INTEGRATED CIRCUITS PATA HANDBOOK de Philips Semiconductor pág. 145-155.

Page 32: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

R Rp p

SOA

SCL

NMOS

23

V0D2

I I

" BiCMOS

-Q- 12 V)

VDO3 VDO4

CMOS BIPOLAfí

uactio

Figura 1.14. Dispositivos con niveles de entrada fijos conectados a!

bus !2C.

[nF? "P.

CPA 1

YDD = *«9<.3y

I 1; CMOS CMOS ¡ CMOS CMOS j

[

Figura 1.15. Dispositivos con una fuente de voltaje común conectada

al bus PC.

Page 33: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

5V±10%

vDD2t3 ar* davtoe depanderrt (e.g. 12 V)

VDD3

SOA

SCt

NMOS

Figura 1.16. Dispositivos conectados con fuentes comunes y fuentes

con niveles de entrada fijos en el bus I2C.

«s

vDO

De vi ce

< ,1

«s

VDO

De vi ce

i «*•\p < í «P;*

Figura 1.17. Resistencias en serie (Rs) para protección de picos de

alto voltaje.

Page 34: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

25

1 K 1 Valores máximos y mínimos de las resistencia Rp y Rs.

Tanto en el modo estándar como en el modo rápido, los

valores de las resistencia Rp y Rs dependen de los siguientes

parámetros :

1) Fuente de voltaje.

2) Capacitancia del bus.

3) Número de dispositivos conectados (corriente de entrada +

corriente de fuga)

Estos valores pueden ser estimados con la ayuda de los

gráficos que se encuentran en las figuras 1.18, 1.19 ,1.20, 1.21.

6MÍNIMOVALOR DERP (K OHM)

5

4

3

2

1

/,

/X

R

/

S

s-u

f

s**' 'MAX. RS

/

*

ir —

/j»a— .

o •"-" '4 8 12 16

VDD(V>

1.18. Mínimo valor de Rp en función de la fuente de voltaje,

con Rs como parámetro.

Page 35: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

26

10

RP(K OHM)

8

5

4

2

Q

.

¡

1 ' /

/tí VDD= 2.5*1

////

/r

/f~

Jf

s

i

/\/\/10 V

/Ir

A

y/l

&*15V

V

/2X

400 800 1200 1600

MÁXIMO VALOR DE RS (OHM)

Figura 1.19. Máximo valor de Rs en función de Rp con la

fuente de voltaje como parámetro.

1

20MÁXIMOVALOR DERP(K OHM) 16

12

8

4

1 ,\S

1 @VDD-

x^X

;

i

-0

í*V*•*H**E5- =ite

!

0 10B 200 3PO 4

CAPACITANCIA DEL BUS E

|

0

N(pF)

Figura 1.20. Máximo valor de Rp en función de la capacitancia

del bus para el modo estándar.

Page 36: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

27

MÁXIMOVALOR DERP[K OHM) 16

4Ü 80 120 160 200

CORRIENTE TOTAL DE ENTRADA EN EL NIVE ALTO (uA)

Figura 1.21. Corriente tota! de entrada en e! estado ALTO en

función de! máximo valor de Rp, con !a fuente de voitaje

como parámetro.

En el modo rápido (400 kbits/s), las resistencias de Pulí-

up conectadas a! bus deben adaptarse al pequeño tiempo de

subida que se requiere en este modo, por lo que pueden

colocarse resistencias Rp estimadas con el gráfico de la Figura

1.22.

Page 37: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

28

MÁXIMOVALOR DERP(K ÜHM5

7'5

4.5

3.0

1.5

100 200 300 400

CAPACITANCIA DEL BUS EN (pF)

Figura 1.22. Máximo valor de Rp en función de la capacitancia

del bus para el modo rápido.

Page 38: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Paremeter-

LOW levsl InpUt voltage:

fíxed input levéis

VDD-re!at9d inpuí levéis

HIGH tevsl inpui vohage;

ííxed input levéis

VpD-relatQd iiipui levéis

HystBFesís of Schmitt tngg&r inputs:

fix*d iopoi levóte

VDD-mfatad input levéis

Pulse widih oí spikes whlch must be

supptessed by tíie inpui lili r

LOW lave) output vodage (open drain or

opón col(ector):

at 3 mA sink current

ai 6 mA sir* current

OjtputfaJ! time from VIH m¡ft to V1LfMJC with

a bus capacítanos iraní 10 pF to ¿00 pF:

withupto3mAslnkcajrreníatVoL, .

w'rth up tu 6 mA sir* cuir«nt at VQ^

Input currant each I/O pin with an ¡nput

voltage betweeo 0.4 V and 0.9VDDma)(

Capaciíance for each \/O pin

Symbol

V1L

Vw

V

(SP

VOLt

Vcx^

ÍOF

'i

q

standard- moda devices

Min.

-0,5

' -0.5

. 3.0

0.7VOD

rifa

n/a

n/a

0

nte

-n/a

-10

.

Max

1.5

O-SV^

ttj

*"

n/a

n/ñ

n/a

0.4

n/a

25021

n/a

10

10

fasí-mode devlces

Mln.

-0.5

-O.S

3.0

0-TV^

'0.2 '

O.D5VDD

0

a0

20*0.1Ct)al

20 + 0.lC«

^O3!

• -

Max.

1

0.37^

-D

*D

-

-

50

0.4

0.6

250

250^

1Q3*

ÍO

Unit

V

V

V

ns

V

ns

jiA

PF

Tabla 1.2. Características eléctricas de los dispositivos conectados

al bus.

Page 39: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

30

Pararneter

SCL dock fraqusney

Sus free b'me betwaen e STOP and STARTcoodiíJon

Hold time (repeated) STARTcondition. Afterthis period,

the tírst clock pulso \$ generaíed

LOW period of íne SCL cfock

HIGH periodo! the SCLdoc*

Sel-up lime íor a repeated START conrfition

Data hold time:

forCBUS compatible mastej-s (Sñe NOTE. Sec8oo8.1.3)

for laC-bus devíces

Data.set-up lime

Rise time of botti SDA and SCL signáis

Fall urna oí boih SDA and SGL signáis

Sst-up ame for STOP concJífion

CapaciOve load ior sach bu& lino

Symbol

^SCL

^BUF

^DtsrA

*UQVf

^KSH

*SU;STA

ÍHDÍÍAT

VT^DAT

Ifi

V

^U:STO

c*

Stantíard-modB

l*C-bus'

M¡n,

0

4.7

-4.0

4.7

4.0

4.7

S.O

250

-

-

4.0

-

Max.

100

-

'

-

-

-

-

-

1000

300

-400

Fast-mode

í2C-bus

Min.

0

13

O.S

1.3

0.6

0,6

O1'

1003'

ao-f0.1 q/>

20 -fMC¿*

0.6

-

Max

40b '

-•

-• -

- •

0.9a

-

300

300

400

Un'rt

kHz

US

n&

K5

MS

(15

MS

Ms

ns

ns

ns

ps

pF

L-J

Tabla 1.3. Características dinámicas de las líneas SDA y SCL

del bus.

Page 40: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

31

CAPITULO II

EL MICROCONTROLADOR PIC16C57

2.1. ARQUITECTURA.

El alto rendimiento que posee el microcontrolador P1C16C57

puede ser atribuido a su arquitectura, cuyas características son

comúnmente encontradas en los microcontroladores con tecnología

RISC. Para empezar este microcontrolador utiliza una arquitectura

"Harvard" en la cual el acceso al programa y a los datos se hace por

buses separados, a diferencia *de la tradicional arquitectura, en ia que

programa y datos son colocados en el mismo bus. Esta característica

permite que las instrucciones tengan un tamaño diferente a 8 bits,

consiguiéndose con esto ia reducción de éstas a una sola palabra como

en este caso, en que el tamaño de las instrucciones es de 12 bits y se

ejecutan en un solo ciclo de máquina, excepto cuando se producen saltos

en el programa.

Algunos de los elementos más importantes que conforman el

microcontrolador PIC16C57 son:

Page 41: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

32

Una ALU (Unidad aritmética lógica) de 8 bits que permite las

funciones aritméticas y lógicas entre el registro de trabajo (w) y cualquier

registro de datos.

Un registro de trabajo W, que es una localidad sin dirección de 8

bits utilizada por la ALU para sus operaciones. Dependiendo de estas

operaciones la ALU puede afectar los valores de los bits "Carry" (C),

"Digit Carry" (DC) y "Zero" (Z), los cuales se encuentran dentro de!

registro especial STATUS que se tratará en el numeral 2.5.1.

Posee una memoria de programa interna de 2K x 12 que se

encuentra dividida en 4 páginas y una memoria SRAM de 72 bytes

dividida en 4 bancos.

Un reloj/contador en tiempo real de 8 bits (TimerO) con escala

programable.

Sistemas de re-inicio como el "Power On Reset" (POR), "Device

ResetTimer" (DRT) y "Watchdog Timer" (WDT), el cual posee su propio

oscilador RC para hacer confiable su operación.

En la figura 2.1 se muestra un diagrama de bloques en el que se

representa totalmente su estructura interna.

Page 42: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

9-11

{28 PÍOOevícsaOnly)

Figura 2.1. Arquitectura interna de! PIC16C57.

Page 43: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

2.2. DESCRIPCIÓN DE LOS PINES.

En la figura 2.2 se encuentra el diagrama de pines del

microcontrolador y en la tabla 2.1 se realiza la descripción de todos ellos.

PD1P, SOIC,

TDCKI -

VDD

N/C

N/C

RAO"

RA1

RA2"

RAE"

RS1 -

Hoü -

neo •*

Windoi

te-fff L

c

E

« * r^ ^ L

^ te n^ + u

* ^r^rn'

ved

2

3

4

5

6

7

8

9

10

11

12

13

14

CERO!)

P

IC16C

57r

p

28.

27

26

25

24

23

22

21

20

19

19

17

16

15

"~| -^ M i pA/pp

~| OSC1/CLKIN

J ^ OSC2/CLKOÜT

^) ^ ta RCT

^] ^ RC6

~~| ^ ^ RC5

~~| -« ^- RC3

~| ^ ^ RC1

~~| 4 Ir RCO

~~| -^ e^ RB7

~~| •+ to- RB6

~~| ^ » RS5

Figura 2.1. Diagrama de pines de! microcontrolador 16C57.

Page 44: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Nombre

RAORA1RA2RASRBORB1RB2RB3RB4RB5RB6RB7

RCGRC1RC2RC3RC4RC5RC6RC7

TOCKI

MCLR/Vpp

OSC1/CLKINOSC2/

CLKOUT

VDD

VSSN/C

Pin

N.

678910111213141516171819202122232425

1

28

27

26

2

43,5

TipoE/S/A

E/SE/SE/SE/SE/SE/SE/SE/SE/SE/SE/SE/S

E/SE/SE/SE/SE/SE/SE/SE/SE

E

E

/~\

AA

Nivelesde

entradaTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLTTLST

ST

ST

———

Descripción

Puerto A bl-dlrecclonal.

Puerto B bi-direccional.

Puerto C bi-cüreccionaí.

"Clock input ío Timer 0", Entrada deltlmer 0. Si no es utilizada, deberíaser colocada a VDD o VSS con el finde reducir el consumo de corriente."Master clear (reset)". Este pin seutiliza para el reset con un 0 lógico,además no debe colocarse en él unvoltaje mayor a VDD para evitaringresar a! modo de programación.Entrada del oscilador/ Entrada de laseñal externa de reloj.Salida del oscilador/ Salida de laseñal externa de relojFuente de alimentación positiva.Referencia de tierra.No son utilizados.

Tabla 2.1. Descripción de !os pines de! microcontroiador 16C57.

Page 45: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

36

E= Entrada, S= Salida, E/S= Entrada/Salida

A= Fuente de alimentación, TTL= Nivel TTL

- No utilizado, ST= Entrada Schmitt Trigger

Page 46: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

37

2.3. SISTEMA DE RELOJ Y FLUJO DE INSTRUCCIONES.

La entrada de reloj (QSC1/CLKIN pin) se divide internamente

para cuatro, generando cuatro nuevas señales de reloj ilamadas Q1, Q2,

Q3, Q4. Internamente el contador de programa (PC) se incrementa en Q1

y las instrucciones son ejecutadas en Q4, es decir que la decodificación y

ejecución de las instrucciones dura desde Q1 hasta Q4. Esto puede

observarse en ia figura 2.3.

Un ciclo de instrucción consiste en cuatro ciclos Q (Q1, Q2, Q3 y

Q4), de esta manera en Q1 se mantiene dicha instrucción en el !R

(Instrucción Register), posteriormente el dato es ieído en Q2 (lectura del

operando) y el resultado es escrito en Q4 en el registro de destino.

Cada instrucción es efectivamente ejecutada en un ciclo, pero si

la instrucción causa que el contador de programa cambie (como por

ejemplo la instrucción GOTO), entonces se requieren de dos ciclos para

completar la instrucción.

i Ql I 02 | Q3 j Q4 i Ql j 02

OSC1 \> i I \ \J \__

O1 P ^ . ^02 | í v

Q3 , / \U j, /

Ipr: i PCr [

OS^^LKOUT \(BCmads) j

' ' RriohlNSTÍPCl1 Effi£íftelKST(HC=l)

1

03 | Q4

r-v_r-\

i S

\.,f. PC

,

í v

Q1

r-\r •

41 X

Petó) !NST pSC*l)EtóCüíft 1 h*?T j PC 1

i

Q2

^~Y_J

^

1

PC

03 | Q4

^^L_T~^_J

1 > — i»2

Fefcf) If-lSr IPOrJZlEüñtlli» ¡fiST iPut-lJ

1I Irl44ntf? f™«

ctaA1

Figura 2.3. Ciclo de Reloj y de Instrucción.

Page 47: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

38

2.4. ORGANIZACIÓN DE LA MEMORIA.

2.4.1. Memoria de programa.

E! PIC16C57 tiene un contador de programa (PC) de 11

bits, capaz de dirigir 2K x 12 localidades de memoria de

programa (figura 2.4), es decir desde QQOH hasta 7FFH. Esta

memoria de programa se divide en cuatro páginas, la pagina O

desde OOOH hasta 1FFH, la página 1 desde 200H hasta 3FFH, la

página 2 desde 400H hasta 5FFH y la página 3 desde 600H

hasta 7FFH, siendo la localidad de "reset" la dirección 7FFH.

ir 1

PC<10iO>ft 1V

-

O

^afu*"W

:

4J? ^StacK Levei 1Síack Leveí 2

On-chip PrograrnMemory (Page 0} —

On-chip PragrarnMemory (Page 1) —

Qn-chip PrograTiMemory (Pags 2} —

On-chip PrograrnMemory (Paga 3} —

Reset Vector

OOOh

OFFh100h

1FFH2Qüh

2FFh300h

3FFh400h

4FFh500h

5FFh600h

?00h

7FFh

Figura 2.4. Mapa de !a memoria de programa.

Page 48: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

39

2.4.2. Memoria de datos.

La memoria de datos se compone de registros o bytes de

RAM, los cuales se dividen en registros especiales y registros de

propósito general. Los registros especiales incluyen el registro

TMRO (timer 0), el contador de programa (PC), el registro

STATUS, ios registros de puertos de E/S y el registro de

selección (FSR), Los registros de propósito general son utilizados

para datos y control de información de acuerdo a las

instrucciones y son editados directa o indirectamente a través del

registro de selección (FSR).

La memoria de datos se divide en cuatro bancos de

memoria, los cuales contienen en total 72 registros de propósito

general y 8 especiales divididos de la siguiente manera;

El banco O contiene las localidades desde OOH hasta

1FH, ocupando los registros especiales las localidades desde

OOH hasta la 07H, el banco 1 contiene las localidades desde la

30H hasta la 3FH, el banco 2 desde la 50H hasta la 5FH y el

banco 3 desde la 70H hasta la 7FH, tomando en cuenta que las

16 primeras localidades de los bancos 1 (20H a 2FH), 2 (40H a

4FH) y 3 (60H a 6FH) que no se encuentran incluidas siempre

retornan al banco 1, es decir que físicamente no existen. El mapa

de memoria de datos se encuentra en la figura 2.5,

Page 49: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

40

FSR<S:5>-

File Addrees

1 ooh

' 01h

02h

03h

04h

05h

06h

07h

oeh

OFh

— »- OD oí 10 n

INDFW

TMRQ

PCL

STATUS

FSR

PORTA

PORTi

PORTO

GeneralPurposeRegister

1QhGenera!PurposeRegisteis

1Fh

20h

Ackadc

2Fti30h

GenemJPurposeRegisteis

3rh

40h

iresses map backresses ín Bank 0.

4Fh50h

GeneralPUfp039

Regteters

5Fh

60h

10

6Fh70h

GeneralPurposeRegisters

7rh

BankO Bankl Bank 2 Bank 3

Figura 2.5. Mapa de la memoria de datos.

Page 50: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

41

2.5 REGISTROS ESPECIALES.

2.5.1. Registro STATUS.

Este registro contiene el estado aritmético de la "ALU", el

estado del "reset" y los bits que permiten pasar de una página a

otra en la memoria de programa, su dirección es la 03H.

Este registro puede ser el destino de cualquier instrucción

como sucede con los registros de propósito general, pero si la

instrucción afecta a los bits Z, DC o C, entonces la escritura de

estos tres bits es desactivada, además se debe tomar en cuenta

que los bits TO y PD son solo de lectura y no se puede escribir

en ellos, entonces el resultado de una instrucción que tiene al

registro STATUS como destino puede ser totalmente diferente al

valor real, por lo que se recomienda utilizar instrucciones que

operen individualmente con cada bit.

En la tabla 2.2 podemos observar la descripción de todos

los bits que componen el registro STATUS.

Page 51: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

42

R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W~x R/W-xPA2.;: PA1 PAO TO PD Z DC CDU7

bit 7:bit 6-5:

bit 4;

bit3;

bit 2:

bitl:

bitO:

1 bitO

PA2: Este bit no es utilizadoPA1:PAO: Bits para seleccionar la página de lamemoria de programa,00=PáginaO(OOOH-1FFH)01^Páa¡na1 (200H-3FFH)10=Página2(400H-5FFH)11=Pég¡na3(600H-7FFH)TO: bitTime-outI^Después de un Power-up reset, una instrucciónCLRWDT o una instrucción SLEEP.0=Cuando un time-out ha ocurrido en el WDT.PD: bit Power-down1=Después de un Power-up reset o por la instrucciónCLRWDT.0=Por la ejecución de la instrucción SLEEP.Z: bit Zero1=EI resultado de una operación aritmética o lógica escero.0=E! resultado de una operación aritmética o lógica noes cero.DC: bit Digit Carry (Para instrucciones ADDWF ySUBWF)ADDWF1=3e produjo un carry en e! bit 4 del resultado.0=No se produjo un carry en el bit 4 del resultado.SUBWF1=Se produjo un "llevo" en el bit 4 del resultado.0=No se produjo un "llevo" en el bit 4 del resultado.C: Se utiliza como el bit Carry o "llevo" para lasinstrucciones ADDWF, SUBWF, RRF y RLF.RRF o RLFCarga el bit menos significativo o el más significativorespectivamente.

Tabla 2.2. Descripción de! registro STATUS.

Page 52: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

43

2.5.2. Registro OPTION.

Este es un registro de 6 bits, que únicamente permite la

operación de escritura. Contiene varios bits de control para

configurar el Timer O y el WDT (Tabla 2.3). Al ejecutar la

instrucción OPTION, el contenido del registro de trabajo W será

transferido al registro OPTION, sin utilizar una dirección

específica.

U-0 U-0 W-1 W-1 W-1 W-1 W-1 W-1TOCS TOSE PSA PS2 PS1 PSO

Bit?

bit 7-6:bit5:

bit 4:

bit 3:

bit 2-0

4 1 biíO

No ImplementadoTOCS: bit de selección de la fuente para e! Timer O1=Utiliza la transición sobre el pin TOCKl.0=Utiliza el ciclo interno de instrucción.TOSE: Selección de la transición para el timer O1=lncrementa en una transición de ALTO a BAJOsobre el pin TOCKl.0-lncrementa en una transición de BAJO a ALTOsobre el pin TOCKl.PSA: bit para asignar la escala1-Escala asignada al WDT.0=Escafa asignada al Timer 0.PS2:PSO: bits para seleccionar el rango de laescala.VALOR RANGO TIMER O RANGO WDT000 1:2 1:1001 1:4 1:2010 1:8 1:4011 1:16 1:8100 1:32 1:16101 1:64 1:32110 1;128 1:64111 1:256 1:128

Tabla 2.3. Descripción de! registro OPTION.

Page 53: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

44

2.5.3. Contador de programa (PC).

El contador de programa (PC) contiene la dirección de la

siguiente instrucción a ser ejecutada en el programa, por lo tanto

el valor del PC es incrementado en uno después de cada ciclo de

instrucción, excepto cuando existe un salto en el programa. Su

dirección es la 02H.

Una instrucción GOTO, proporciona los nueve bits menos

significativos <8:0> del PC y los dos más significativos <10:9>

son proporcionados por los bits PA1 y PAO del registro STATUS

(figura 2.6), por lo que se debe tener muy en cuenta durante la

programación la página a la cual se desea realizar el salto, con el

fin de seleccionarla primero con la ayuda de estos bits.

Una instrucción CALL, proporciona los ocho bits menos

significativos <7;0> al PC, manteniéndose el bit <8> del PC

siempre en "O" lógico y los dos más significativos <10;9> son

proporcionados por ios bits PA1 y PAO dei registro STATUS

(figura 2.6), por lo que además de las consideraciones antes

mencionadas tomaremos en cuenta que, si el bit <8> siempre

permanece en "O" lógico, significa que se tiene acceso

únicamente a la mitad superior de cada página para esta

instrucción, por lo que el destino debe estar ubicado únicamente

en los primeros 512 bytes de cada página.

En la instrucción RETLW e! PC es cargado con el

contenido del "Top Of Stack" (TOS), el cual tiene la misma

dimensión que el PC (11 bits) pero posee solamente dos niveles

de almacenamiento, por lo que no podrán hacerse más de dos

llamadas sucesivas a subrutinas.

Page 54: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

45

GOTO ¡nglruclíon

10 s a 7 oPC

/

ay,

PCL

í " 1fInstruction Word

''PA1:PAO0

STATUS

C&TJ. cr Modífy PCL InstructSon

10 9 8 7 0

PC/

2 ,7 '

PCL

i " íiInstoicíiofj Word

Reeet to e01

^PA1:PAO0

STATUS

Figura 2.6. Efectos de las instrucciones GOTO y CALL sobre

e! Contador de programa (PC).

2.5.4. Registros de acceso directo e indirecto (INDF y FSR).

El registro FSR tiene la dirección 04H y se utiliza para

acceder directamente a cualquiera de los registros de datos.

El registro !NDF no se encuentra implementado

físicamente, simplemente al utilizarlo en una instrucción, la

llamada se dirige a! registro cuya dirección se encuentra

Page 55: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

46

contenida en el registro FSR, lográndose con esto el

direccionamiento indirecto. Por ejemplo:

* El registro 05 contiene el valor 10H

» El registro 06 contiene el valor OAH

» Cargo el valor 05 en el registro FSR

* Si leo el registro INDF el resultado será 10H

* Incremento el valor del registro FSR en uno (FSR-06)

* Si leo el registro ÍNDF el resultado será OAH

Al realizar tanto e! direccionamiento directo como

indirecto, los cinco bits menos significativos de! registro FSR

<4:Q> contienen la dirección de la localidad de memoria de datos

a la que se desea acceder, mientras que ios bits <6:5> del mismo

registro contienen el banco en el cual se encuentra esta localidad

de memoria (OQ=banco O, 01=banco 1, 10=banco 2, 11=banco 3).

Observe la figura 2.7.

Dlrtct Addraulng

4 (opeada) O

bank s&lsct locatton select

Dala DRi

Qí, 10

BanKi Bank? Banks

6 5 4 (FSH) O

Iban*

Iñl

A/ Addiesssa map backV to sddrssses in Bank 0.

\h

BFn TFh

tocatíon satect

Figura 2.7. Acceso directo e indirecto.

Page 56: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

47

2.5.5. Registros de Entrada / Salida.

En los puertos de! microcontro!ador se pueden realizar

operaciones de lectura o escritura como con cualquier otro

registro dentro de! programa, pero debe tenerse en cuenta que la

lectura de! puerto se hace directamente a! pin, sin importar si éste

está definido como entrada o salida.

Para definir un pin como entrada o salida se utiliza la

instrucción TRIS, ía cual descarga sobre el driver de control del

pin el contenido de! registro de trabajo W. Un "1" lógico

descargado en el correspondiente driver de un pin, coloca a éste

en alta impedancia, es decir en un modo de entrada y un "O"

lógico pasa el contenido de! "Data Latch" directamente hacia e!

pin, es decir se encuentra en modo de salida. Es importante

resaltar que una operación de lectura no lee el "Data Latch" sino

directamente el pin.

En la figura 2.8 se puede observar el circuito equivalente

interno para cada pin.

Page 57: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

48

DataBus

VDD

RDPqrt

Note 111/O pins have protection díodes to VOD and Vss.

Figura 2.8. Circuito equivalente para cada pin.

Deben tomarse algunas consideraciones en la

programación de los puertos, las cuales se describen a

continuación;

Algunas instrucciones que operan como lectura de los

pines, también realizan internamente operaciones de escritura

como por ejemplo las instrucciones BCF y BSF que colocan un

"O" lógico o un "1" lógico respectivamente en un pin determinado.

Estas instrucciones leen el puerto completo, ejecutan la

Page 58: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

49

operación del bit y re-escriben el resultado, por lo que se debe

tener precaución en e! caso de utilizar uno o más bits de este

puerto como Entradas y Salidas. Para explicar mejor esta

característica, utilizaremos e! siguiente ejemplo:

Supongamos que se realiza una operación BSF sobre e!

bit <5> de! puerto B, lo cual causará que ios ocho bits de! puerto

sean leídos y en e! bit 5 se coloque un "1" lógico. Después de

este proceso se re-escribirá e! resultado en el latch de salida.

Entonces, si otro pin de! puerto (por ejemplo el pin 0) también

estaba definido como entrada, ese dato fue leído y colocado en

el latch de salida del pin O, sobre-escribiendo el dato anterior. De

esta manera si e! usuario coloca al pin O en modo de salida el

dato será desconocido, por lo que en este caso lo aconsejable

sería re-escribir e! dato en el pin O antes de sacarlo.

Otra consideración a tomar en cuenta es que la escritura

en un puerto ocurre a! final de! ciclo de instrucción y requiere de

un pequeño intervalo de tiempo para estabilizarse en éste, por lo

que se debe tener precaución a! realizar una operación de

escritura seguida inmediatamente de una operación de lectura, ya

que e! dato puede ser erróneo, para evitar esto se recomienda

separar las instrucciones con una instrucción NOP. Esto puede

observarse en la figura 2.9.

Page 59: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

50

Instructtonfetched

RB7:RBO

InstrucUonexecuted

Q1| Q2 1 Q3|Q4

PC

MQVWFPQBTB

Q1 1 Q2| Q3| Q4

X_ PC + 1

MOVFPORTB,W

Port pinwritten here

MOVWFPORTTB(WrftetoPORTB)

01

X

V

Q2 1 Q3|Q4

PC + 2

NOP

Porí pinjampled here

*

MOVFPORTB.W(ReadPORTB)

Q1 1 Q2| Q3| Q4

X PC + 3

NOP

NOP

Figura 2.9. Operaciones de lectura y escritura sucesivas.

2.5.6 Módulo TIMERO y registro TMRO.

El TimerO tiene las siguientes características:

* Un registro de 8 bits (TMRO) con posibilidad de escribir

en él o leerlo.

« Escala programable hasta 1:256.

• Tiene la posibilidad de seleccionarse la utilización de

una fuente externa o interna de reloj, y en caso de

utilizar la fuente externa, seleccionar, si el conteo se

realiza en la transición de ALTO a BAJO o de BAJO a

ALTO.

El TimerO se selecciona colocando un "O" lógico en el bit

<5> del registro OPTION y podemos observar el diagrama de

bloques que lo conforma en la figura 2.10. Cuando se escribe el

dato en el registro TMRO el incremento es inhibido durante dos

Page 60: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

51

ciclos de instrucción, lo cual se puede ver en la figura 2.11 con la

escala 1:1 y en ia figura 2.12 con la escala 1:2.

TÓCKI

Dstabus

TQSEÍ'l

PrograrmabjePtBscalen2'

\PSom

TDCSW

Figura 2.10. Diagrama de bloques del TimerO.

PCfPwfrfm

Bu*"

.MI-PG-1

.0 !_,

Cu] QZlCül ÜiiQl 1 021 Olí CHi

PC 1 PC41

MOVtVFTVF» ' HOTFTOB3.W

1Tfr»l y , Tl>»2 X

i t««**

1fW¿ f POKJ

1M3VFTMRO.W HDYFTWHO.W

i

i

NI ti ,1 , NTD -f

LJUradrte KT¡3 :¿*Jfi NTO

: iPDH í PC+6 1 PCt*

uavr-nflO-W • HOVFTWBO.W 't ii i

NTQ X , NTQ*i ,( , tfítU'i X

t i t i tfswíartTO reodEMOfl ' rMtteNTQt-2

Figura 2.11. TimerO con la escala 1:1.

PC{PiogwnCettMar]

InmoaíOTEPKUN

^G-T I PQ Hi PCv

r|C0|CH

KOVWFTtfflD 'HOVFlMRD.lv

Ot|C2 00 <H

_E£jg_

NTO

ñeaJTUF»

_psy ::?_.". pgjj r PCUÍ

t i t i tReftJTWRP |

Figura 2.12. TimerO con la escala 1:2.

Page 61: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

52

La escala puede ser usada tanto por el TimerO como por

e! WDT, pero no por los dos, por lo cual el bit <3> del registro

OPTION permite asignarla a uno de los dos.

Page 62: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

2.6. CARACTERÍSTICAS ESPECIALES DEL CPU.

En el microcontrolador PIC16C57 /JW existe la posibilidad de

seleccionar el oscilador, utilizando e! byte de configuración, al cual se

tiene acceso únicamente durante la descarga del programa en la

memoria. Para esto existen cuatro opciones (Tabla 2.4):

*LP (Low Power Crystal), el cua! es utilizado para frecuencias no

mayores a 32 KHz.

*XT (Crystal / Resonator), utilizado para frecuencias entre 100

KHz y 4 MHz.

* HS (Hígh Speed), utilizado en frecuencias desde 4MHz a

20MHz.

» RC (Resistor / Capacitor), Operación con circuito RC.

CP WDTE FOSC1 FOSCObit11

bit 11-4:bit3:

bit 2:

bit 1-0:

10 9 8 7 6 5 4 1 bitO

No ImplementadoCP: bit del código de protección.1=Código de protección desactivado.0=Código de protección activado.WDT: bit de habilitación del WDT.1=WDT habilitado.Q=WDT desactivado.FOSC1: FOSCO: bits de selección del oscilador.11= oscilador RC10= oscilador HS01= oscilador XT00= oscilador LP

Tabla 2.4. Byte de configuración.

Page 63: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

54

Este microcontrolador también puede re-iniciarse de varias

formas (Vea la tabla 2.5 para observar los valores que adoptan ios

registros después de ios diferentes tipos de re-inicio):

«"Power On Reset" (POR), el cua! entra en funcionamiento a!

alimentar al microcontrolador con la fuente, únicamente

colocando el pin MCLRA/pp a VDD o con un simple circuito

externo en caso de que la fuente sea muy lenta para conseguir

e! voltaje fina! VDD {figura 2.13).

VDD VDD

MCLR

PIC16C5X

Figura 2.13. Circuito externo de! Power On Reset (POR) para fuentes

lentas.

>"Device Reset Tímer" (DRT), que provee un tiempo fijo de 18 ms

después de que el pin MCLRA/pp ha llegado al voltaje VDD con

el fin de esperar ia estabilización de todos los sistemas, es decir

que para el re-inicio manual no es necesario un circuito RC en

la mayoría de los casos.

Page 64: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

55

'Watchdog Timer (WDT), que no requiere ningún circuito

externo, debido a que posee su propio oscilador RC interno, es

decir que si el oscilador externo es desconectado (por ejemplo

en la instrucción SLEEP), el WDT sigue activado. El WDT es

seleccionado en el bit de configuración, al cual se tiene acceso

únicamente al descargar el programa en la memoria interna. E!

WDT tiene un período nominal de 18 ms cuando la escala es

1:1 y puede variar hasta 2,3 segundos cuando la escala es

1:128.

R»gist«rWTRISOPTIONINDF7MROPCL[l]

STATUS11'FSRPORTAPORTEPORTC'3'General Purposareglster files

AddTOBN/AN/AN/AOOh01 h02h03h

04h05hÜ6h07h

06-7R1

Pow»r-0n R«s«tJ03OC JOOCX

lili 1111

"11 1111

JODOC XXXX

KKXX XXXX

mi iiaiOODl IMSÍ

IXKX. »DDC

xxxxJQDCC JOOOC

XXXX XXXX

JODCC XXXX

«OLRorWDTRft9fttUUñlíl UIJUU

1111 1111"11 1111

UUUU UJJUT1

UUUU UUUU

1111 1111000<í qUUU

luatu uuuuUIJUU

UUUU UUUU

UUUU UUUU

UUUU UUUU

u=no cambia x=desconocido

Tabla 2.5. Condiciones de re-inicio para todos los registros.

El microcontrolador también tiene la posibilidad de colocarse en

el modo SLEEP, el cual fue diseñado para ofrecer una muy baja corriente

de consumo en casos en que el microcontrolador no tiene tareas que

hacer y puede ser "despertado" de este modo con un re-inicio manual o

con e! WDT.

Page 65: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

56

Dentro del byte de configuración (Tabla 2.4), existe también la

posibilidad de activar el código de protección que no permite leer la

memoria del microcontrolador a menos de ser ingresada la clave que es

almacenada en cuatro localidades de memoria a las cuales también se

tiene acceso únicamente en modo de programación.

Page 66: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

57

2.7. INSTRUCCIONES

Las instrucciones del PIC16C57 son palabras de 12 bits,

divididas en un código que especifica el tipo de instrucción y uno o más

operadores que señalan la acción que debe realizar dicha instrucción.

Todas las instrucciones se describen detalladamente en el Anexo

1.

Page 67: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

58

2.8. CARACTERÍSTICAS ELÉCTRICAS.

Rangos Máximos

Temperatura de almacenamiento

Temperatura en funcionamiento

Voltaje VDD con respecto a VSS

Voltaje sobre MCLR con respecto a VSS

Voltaje sobre todos los pines con respecto a VSS

Potencia total de disipación

Máxima corriente de salida en e! pin VSS

Máxima corriente de entrada en el pin VDD

Máxima corriente de entrada sobre el pin TOCKI

Máxima corriente de salida de cualquier pin E/S

~65°Ca+150°C

~55°Ca+125°C

O a +7,5 V

Oa+14V

-0,6 a (VDD+0,6) V

800 mW

150mA

50 mA

±500

20 mA

Page 68: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

59

CAPITULO

El programa MPLAB es una herramienta introducida por

MICROCHIP, que básicamente permite la edición, ensamblaje y

simulación de programas para todos los microcontroladores de la familia

PIC16/17.

3.1. PROCESO BÁSICO PARA CREAR UN PROYECTO.

Para un rápido entendimiento del programa, se explicará a

continuación de una forma básica y ejemplificada los componentes más

importantes de! programa que permitirán completar un proyecto, tomando

como modelo el programa desarrollado en la presente tesis de grado.

Con esta introducción, el usuario podrá desarrollar cualquier proyecto,

aunque si requiere detalles, en la sección 3.3 se describirá la función de

cada uno de los elementos del menú principal.

Page 69: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

60

3.1.1. Creación del archivo fuente.

Dentro del menú "File" se hace un "click" en "Open

Source" con el fin de abrir la ventana de edición, en ésta se

escribirá el programa principal, que debe ser grabado con la

extensión (*.ASM).

Existen algunos elementos básicos que deben tener

todos los archivos fuentes;

• Un encabezado en el cual se comente algo respecto al archivo

y su función, además, son importantes los comentarios en las

líneas de programación.

• La línea de definición del procesador, en la cual se especifica

el microcontrolador de trabajo. Para esto utilizamos el

comando LIST. Por ejemplo LIST P^16C57.

• Directivas como EQU, CONSTANT, etc. las cuales no son

transformadas directamente a códigos de máquina, sino que

permiten al ensamblador controlar los datos de entrada, salida

y localización de los mismos dentro de la memoria RAM.

• El cuerpo del programa constituido por las instrucciones.

En la Figura 3.1 se puede observar la parte inicial del

archivo fuente realizado en la presente tesis de grado, cuyo

"Path" completo es C:\MPLAB\TESIS\TESIS.ASM.

Page 70: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

61

PROGRflMfl PftRfl Lft COHUHICftCIOH ENTRE EL HICROCOHTROLflDOR PIC 16C57Y TRES MEHORIfiS, DOS DE ELLAS CON PROTOCOLO I2C (21C02fl, ZtCBZft)Y UNfi COH PROTOCOLO SERIftL (93HftM).

Lfl CONUNICfiCIOH PUEDE REALIZARSE HflHUALHENTE POR HEDIÓ DEL MODULO DE COHUHICftCIOHO UTILIZfiHDQ EL PUERTfl SERIftL DE UH COHPUTftDOR V EL PROCRRMflDE COHTROL.

list P-1ÓC57, f-inhxBm ; SELECCIÓN DEL HICROCOHTROLflDOR

; ETIQUETAS (JUE IHDICfiN Lft DIRECCIÓN DE LOS REGISTROS UTILIZADOS EN EL; PROCRflMft

; BANCO O

equ

equ 1f ; DflTO DE SflLI&A 8; Dctauo dato a ser enuiado a las; menorías.

equ 1f ; CONTADOR; aleta cena la tarea que; continúa después de presionar una; tecla en la tarjeta.

equ 1e ; DflTO DE SflLIDfl 7; séptimo dato a ser enuiado a las; nenorias.

; FUNCIÓN DEL HSUflRIO

Figura 3.1. Archivo fuente.

3.1.2. Creación del proyecto.

Haga un "Click" en "New Project" dentro del menú

"Projecf para abrir la ventana de diálogo que permitirá ingresar el

nuevo proyecto. En esta ventana se especifica el disco en el que

se trabajará, el directorio y el nombre del nuevo proyecto (Project

path and ñame), además indica los archivos que se utilizan por

defecto tanto para la barra de herramientas (default tooibar) como

para el mapa de teclado (default key mapping) y permite escoger

las herramientas a utilizarse en el proyecto (Development mode).

Como ejemplo de la creación de un nuevo proyecto se ha

introducido en el campo "Project Path and Ñame" la siguiente

expresión: C:\MPLAB\TESIS\TESIS.PJT (Figura 3.2).

Page 71: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

62

INewProject / - /^• '^•" - •-'-'•• - . . . . . - • - ' : : - / ' "-'""' ' / • ' " • ; ' - ' - " . " . " • : \- • ; • ' . " ' - . ; . 'gj3¡

[ Profecl Palh and Ñame:

í' I

¡1ÍÍ

1{ ií iir.,

C:\MPLAB\TESISVTESIS.PJT í " OK: ',

)efauU Toofbar: - - je /Cancel- "

default.tbf

)efault Key Mappíng:

mplab.key

)evelopment Mode: =

MPIAB-SIM Simulator g]^__ ,. 1-J-T-.T-r ___„. ™_. _ _ _ "- r- — -; — • — ' -~

¿ í; ijíornte . ,--

í'

^

Figura 3.2. Ventana para la creación del proyecto.

Luego de hacer un "Click" en el botón "OK" se ingresa

directamente a la ventana de edición del proyecto (Edit Project),

en la cual se asigna el archivo que se desee al proyecto ya

existente.

3.1.3. Asignación del archivo fuente al proyecto.

Ahora como ejemplo se asignará el archivo fuente

TESIS.ASM al proyecto TESIS.PJT, para esto se selecciona

TESIS.ASM del cuadro descrito como "Non-Projects Files"

(Archivos no incluidos en el proyecto) y se realiza un "Click" en el

botón "<=Add" (Añadir), de esta manera se logra incluir el archivo

TESIS.ASM en el proyecto (Figura 3.3), lo cual se confirma al

observar el nombre del archivo en el cuadro descrito como

"Project Files" (Archivos del proyecto). Es importante tomar en

cuenta que los archivos que se incluyen en los proyectos deben

llevar las extensiones *.ASM o *.C.

Page 72: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

63

Non-Pro¡ect Frfes: » ^

Figura 3.3. Asignación del archivo fuente al proyecto.

3.1.4. Selección de las herramientas a utilizarse.

Dentro del menú "options" se selecciona "Development

Mode" para determinar si se utilizará únicamente el editor de

programa, el simulador o el emulador. Este último requiere una

tarjeta especial que simula el comportamiento de cualquiera de

los microcontroladores de la familia PIC16/17, por lo que no

forma parte del presente proyecto y en los dos primeros se debe

especificar el procesador con el que se trabajará, porque al

ensamblarse el programa, se compara el procesador declarado

con el comando LIST en el archivo fuente y el procesador

seleccionado en las herramientas, generando un error en caso de

ser diferentes. Si se selecciona "Editor Only" (Editor), el simulador

y el emulador se desactivan, sin embargo se puede ensamblar el

archivo fuente. Con la selección de "MPLAB-SIM Simulator"

(Simulador) a lo anterior se agrega la posibilidad de simular el

programa para corregir posibles errores de programación (figura

3.4).

Page 73: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

64

D evelopmeiit Mode

*> Editor Ünly

Processor: PIC1GC57

Procesión RIC1GC57

Figura 3.4. Selección de la herramienta "MPLAB-SIM

Simulator"

3.1.5. Ensamblaje el archivo fuente.

Seleccione "Make Project" de! menú "Project" para

ensamblar el archivo fuente y generar los archivos * COD, *.HEX ,

*.LST y *.ERR (figura 3.5). El archivo *.COD contiene información

simbólica que almacena las condiciones en las que se realizó el

último ensamblaje, de esta manera si no han existido cambios en

el archivo fuente y se trata de ensamblar nuevamente, se

despliega una ventana indicando que no es necesario realizar

dicha operación. El archivo *.HEX contiene los códigos de

máquina que ingresarán a la memoria del procesador. El archivo

*.LST contienen una información completa del archivo fuente con

número de líneas, códigos de máquina y mensajes que alertan al

programador. El archivo *.ERR contiene toda la información de

errores, mensajes y prevenciones que se hace al programador,

tomando en cuenta que cuando existen errores al ensamblar, el

archivo *.HEX no se actualiza, además en el archivo *.ERR, basta

Page 74: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

65

hacer doble "Click" donde se indica el error, para que

inmediatamente aparezca la línea del archivo fuente en la que

existe dicho error.

! • '

I Assembling C:\MPl «_ .. j. j _ _ ___ « _!

"~ ""

Command Une: : l!

MPASMWIN /e /!$C^MPLABVTESIS

J J

__Assembling.,.

;f[rZ_r' 32%

Eirors:

, , •Suppiessed.vf ¿,\¡, Messages: " f~

Reporíed

Ássernbledj JLjp™ JLtl_l*,<í-í 4,__ J=1 JJ.J

Figura 3.5. Proceso de ensamblaje del archivo fuente.

*

Page 75: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

66

3.2. PROCESO BÁSICO PARA LA SIMULACIÓN

Cuando se ha terminado de ensamblar el programa y no existen

errores en este proceso, se puede iniciar entonces la simulación del

archivo fuente.

3.2.1. Tipos de simulación.

Existen cuatro alternativas para realizar la simulación del

archivo fuente (todas pueden hallarse en el sub-menú "Run" del

menú "Debug");

• Simulación rápida y continua, utilizando el comando "Run"

(F9). Utilizando este comando, la simulación avanza

rápidamente y la única manera de detenerla es con el

comando "Halt" (F5), además mientras está corriendo no se

puede apreciar la actualización de los registros.

• Simulación paso a paso, utilizando el comando "Step" (F7).

Con este comando podemos observar la ejecución de cada

línea de programa, ya que avanza una sola a la vez, además

permite ver la actualización de los registros.

• Simulación paso a paso en el programa principal y ejecución

rápida en las sub-rutinas (CALL), utilizando el comando "Step

Over" (F8). La simulación del programa principal se realiza

paso a paso, igual que en el caso anterior, pero cuando

existe una llamada a sub-rutína con el comando CALL, ésta

se ejecuta de una manera rápida.

Page 76: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

67

Simulación continua y lenta, utilizando el comando "Anímate"

(Ctrl F9). Utilizando este comando, la simulación avanza

lentamente y la única manera de detenerla es con el

comando "Halt" (F5), además permite apreciar la

actualización de los registros.

3.2.2. Ventanas de información para la simulación.

Se pueden abrir diferentes ventanas antes de realizar la

simulación, con el fin de observar los cambios que se producen

en los registros de datos, memoria, registros especiales, etc. A

continuación se describe la forma de abrir estas ventanas:

Seleccione "Program Memory" del menú "Window" para

observar el contenido de la memoria de programa, en donde se

especifica la localidad que ocupa cada instrucción y el código de

máquina que genera (figura 3.6).

í

23

-M00035 J0084

- 6 J00857 '0006

- 8 -00879 {0008

10 ¡000911 ÍOOOft12 J000B13 ,;000C1*» JOOOD

000E

0fl5B04C305A30B1C0UC305fl30B47

OB680UC3

0BB705C3

gotorecibo bcf

bsfgoto

enuion bcfbsfgoto

escrib bcfbsfgoto

todose bcfbsfgoto

borra bsfbcfgoto

inicio0x3,0x60x3,0x50x11C0x3,0x60x3,0x5siga1040x3,0x6Ox3,0x5sigal 660x3,0x60x3,8x5Ox1B70x3,0x60x3,0x50X0

Figura 3.6. Memoria de Programa.

Page 77: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

68

Seleccione "File Register" del menú "Window" para

desplegar la ventana que contiene toda la información sobre el

contenido de los registros y sus direcciones (figura 3.7).

m Filé? R^rister Window:00 01 02 03 04 05 06 07 08 09 Ofl OB OC OD 0E OF g¡00 EO 00 19 EE 00 00 00 CC 93 15 71 09 F6 CC 15¡gJ23 AB B4 99 54 B6 11 BF FC 88 DB 1D 4C 98 07 D3 p

£E 16 85 C5 2C BE C7 B8 1E 61 A7 8F F7 A2 DO 47 ¡f!_\ __ „„ : „„ : E;#$¡05 ftO 30 46 F3 24 63 4C E2 A8 76 34 88 F8 C5 D5 K

'81 01 DO 14 01 20 7D F4 20 14 5E 04 55 D2 7F F4ftl

0000001000200030004000500063

* 0070

Figura 3.7. Ventana de registros.

Dentro del menú "Window" seleccione "Special function

register" para abrir la ventana que indica el comportamiento de

todos los registros especiales (figura 3.8).

® Special Fuiíction Register \Vindow '-liliWS$&f$SSM!ill!Sr 2jtmrO[ 3 PCí 4 'status

í 5 !fsrt 6 'porta

7Jportb[ 8 porte[ 9 'wi 1 0 |trisa| 11 ;trisbí 12 jtrisc¡ 13 ^option

••BTREO0019EEoe000008BFFFFF3F

•5^1224

025

2380008

15255255

63

Binary Char11100000oooooeoo00011001111011100000000000000000000000000000100000001111

111111111111111100111111 ?

IRÉ7Éilil|

pwSUl>-$&j?

mfel\s%&teteti

L ^ JIa ^ l ^ ^Éar M^ fe a

Figura 3.8. Ventana de registros especiales.

Page 78: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

69

Se debe manejar el tamaño y la posición de estas

ventanas para observarlas todas dentro de la pantalla, así se

tendrá una información completa durante la simulación (figura

3.9).

noulw

clrwtris

raoulwoption

clrF

noulwnnuuf

clrf

nsf

'»Kifatiiasaa>¡s*ait3tx*i&J£*i-f*aazíjaHXXiT«i'iiei ITHT- — _ • ' ,,3

8 Íparta \

parta ;

Of - fija la escl; !

Í

status : Horra el rec1!

1 ; inicia el cecont ; |

codcrr : borra el red.•j

Fsr.ppH ; cañóla al be

'U

f^íN

Status;Fsr'portaportbporte

*trisatristetrise;option

01 02 83 O* O? 86 0708 01 1C 80 88 00 QQao oo oo na no no aa

QQ00

p

.aar—oe no ee no 00 oo oo

08 89 Ofl OB flC 00 6E OF00 ID 08 00 80 00 00 00na 00 oo on oo no no aa

00 08 00 00 08 00 00

on OB on 00 ao «e OB

0(3 00 00 80 00 00 00 00

oa oo na no o o oa oo oa

eo 00 DO oa oo ee oa ea

80611C8088

0F00FFFFCF

O9728

1288O8

15O

•¿55ZS5207

Dínarj;00000000•11 «• n0001110818880006000010060BUB0BIH1000888800008111180008080111111111111111111M1111

|lw*

®-.PíOErtJn:Meníoiy Wíádmv -D05B905CB BSD8 65 E

¡OOSF0060

OCB8 inicio002S00*0B0BSBCBFOÜ02

noulwnouufclrutrisnoulfoption

0x80x5

,ESIal£3

mporta

OXF

0061 eubt» cii-f exbBOÚZ0063BOé *DQti?BOU óDOó?0068[0669kiHi

0663OC01

883F006(4OSflllOCÍC083D007F

« f*^ •

clrfBWUlK

8x30X1

pwyuf 0x1 Fclrfbsfnoulwnouufclrf

W91T-/I-1"

_,>~"

OxA0x4.BxSOxC0x1 D0x1 F

?

Figura 3.9. Proceso de simulación con toda la información en

la pantalla.

3.2.3 Simulación del "Reset"

El procesador se puede re-inic¡ar en cualquier momento

dentro de la simulación, utilizando la instrucción "reset" de la

barra de herramientas o seleccionando Debug>Run>Reset con lo

cual se simula un "O" lógico en el pin MCLRVpp del

microcontrolador.

Page 79: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

70

3.2.4. Puntos de parada dentro de la simulación.

Cuando se ejecuta la simulación (Debug>Run>Run),

obviamente ésta avanza muy rápido, por lo que se utilizan puntos

de parada dentro del programa, los cuales detienen la simulación

y permiten avanzar paso a paso (Debug>Run>Step) si se desea.

Estos puntos de parada se fijan de la siguiente manera:

Coloque el cursor en la línea en la cual desea que la

simulación se detenga y presione el botón derecho del "mouse".

Aparecerá en la pantalla una pequeña ventana (figura 3.10),

seleccione "Break Point(s)" y observará que el color de la línea

cambia a ROJO, lo cual indica que la simulación deberá

detenerse en la línea posterior a la marca antes descrita. Se

puede seleccionar también el menú "Debug>Break Settings", pero

en este caso las paradas se harán únicamente en las etiquetas,

es decir que no podrán hacerse en las líneas intermedias.

\m- e:\jnwlab\tesis.asmmouwf

clrf

bsf

cont

coderr

Fsr.ppfl

; borra el registro de errores-feÉ

catibía al banco 1 de la RAM

; borra el registro r5.

bcf _^Fsr,pp0 ; cambia aljianco o de la Rflji.

Figura 2.10. Forma de fijar un punto de parada dentro de la

simulación.

Page 80: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

71

3.2.5. Simulador de estímulos.

Esta herramienta permite simular estímulos externos al

procesador, como cambios de estado en los pines, en los puertos

o cambios en los registros (Debug>Simulator stimulus). Se

detallará a continuación los dos más importantes:

Estímulo asincrónico (Asynchronous stimulus). Con él

podemos simular señales de entrada e interrupciones externas,

colocando en BAJO, ALTO o generando pulsos sobre los pines

(figura 2.11). Se asigna un estímulo a cada pin y se elige el

estado que se desea en él, con el botón derecho del "mouse" y se

ejecuta en cualquier momento de la simulación, presionando el

botón izquierdo del "mouse31.

f c R A H )^p.

r SÍHn3(PJ

Figura 2.11. Estímulos asincrónicos.

Estímulo sobre el pin en un tiempo pre-determinado (Pin

stimulus). Este estímulo se genera en un pequeño programa

(File>New Source), el cual contiene la información del ciclo de

instrucción (Step) en que se hará presente el estímulo, del pin

afectado y del valor que debe adoptar dicho pin (figura 2.12).

Page 81: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

72

step401001010010170

Figura 2.12. Estímulo sobre el pin en un tiempo pre-

determinado.

Page 82: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

3.3. OPCIONES DEL MENÚ PRINCIPAL.

En esta parte se describirá la función de todos los elementos del

menú principal, con el objeto de que el usuario tenga a mano un medio de

consulta rápida de todas las bondades del programa.

Menú FILE:

File>lmport>Download: Descarga programas con

extensión *.HEX en la memoria del PICMASTER

(Emulador) o en la memoria del simulador.

File>Export>Save Hex File: Extrae el contenido de la

memoria del PICMASTER (Emulador) o del archivo *.HEX

del simulador y permite guardarlo con otro formato.

Menú PROJECT:

Project>New Project: Permite crear un proyecto y

grabarlo en el directorio en que se especifique. El

programa MPLAB asigna la extensión *.PJT a todos los

proyectos por defecto.

Project>Open Project: Abre un proyecto existente. En el

proyecto se incluyen todas las ventanas que existían en

la última actualización.

Project>Close Project: Cierra el proyecto actual.

Page 83: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

74

Project>Save Project: Graba toda la información incluida

en el proyecto, sin cerrar a éste.

Project>Edit Project: Abre la ventana de diálogo que

permite asignar el archivo *.ASM o *.C al proyecto. Esta

acción no modifica el archivo.

Project>Make Project: Ensambla el archivo fuente

asignado al proyecto, además en este proceso se crea el

archivo *.COD, que permite al MPLAB determinar si es

necesario o no el ensamblaje.

Project>Build All: Ensambla el archivo fuente asignado

al proyecto, sin utilizar el archivo *.COD, por lo que

siempre ensamblará aunque no hayan existido cambios

en el archivo fuente.

Project>Compile Single File: Ensambla el archivo *.ASM

o * C que se encuentra en la ventana activa, sin importar

si pertenece o no al proyecto abierto. Para ejecutar esta

acción debe abrirse algún proyecto.

Project>Make Setup: Permite cambiar ciertas opciones

de! ensamblaje como el tipo de archivo *.HEX que se

desea, la aparición o no de mensajes o prevenciones

sobre el archivo fuente, etc.

Menú DEBUG:

Debug>Run>Run (F9): Coloca al procesador del

simulador en modo de ejecución hasta que se encuentre

Page 84: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

75

un punto de parada o hasta que se presione la pausa

(Halt).

Debug>Run>Reset (F6): Simula una secuencia de re-

inicio en el pin MCLRVpp del procesador. Si el

procesador estaba en ejecución, continúa en este modo

después del re-inicio.

Debug>Run>Halt (F5): Realiza una pausa en el proceso

de simulación y actualiza los datos en los registros.

Debug>Run>Animate: Permite que el procesador se

ejecute continuamente de una manera más lenta que con

el modo <Run>, actualizando permanentemente los

registros.

Debug>Run>Step (F7): E! procesador ejecuta paso a

paso el programa, además actualiza todos los registros

después de cada instrucción.

Debug>Run>Step Over (F8): El procesador ejecuta paso

a paso el programa, pero cuando existe una llamada a

subrutina CALL, éste ejecuta la subrutina en modo

<Run>, es decir en forma rápida.

Debug>Run>Change Program Counter: Permite

cambiar el valor del contador de programa dentro de la

simulación.

Debug>Execute>Execute an Opcode: Permite ejecutar

una instrucción o una serie de instrucciones sin modificar

el programa ni la memoria de programa.

Page 85: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

76

Debug>Execute>Cond¡tional Break: El usuario podrá

escoger varios puntos en los cuales se desea que la

ejecución del programa se detenga.

Debug>Simulator Stimulus>Asynchronous Stimulus:

Este comando abre una ventana de diálogo que permite

programar eventos asincrónicos en los pines, necesarios

para la simulación.

Debug>SimuIator Stimulus>Pin Stimulus: Activa o

desactiva el archivo *.STI que contiene la información de

los pines sobre los cuales se simulará el estímulo y el

ciclo de reloj en el que esto ocurrirá.

Debug>Simulator Stimulus>Clock Stimulus: Con este

comando se puede definir el período de reloj por número

de ciclos en el que el pin debería estar en ALTO y el

número de ciclos que debería estar en BAJO.

Debug>Simulator Stimulus>Register Stimulus: Esta

función se utiliza para asignar un valor a un registro

determinado, indicando el ciclo de reloj en que esto debe

ocurrir.

Debug>Center Debug Location: Mueve la línea

ejecutada hacia el centro de la ventana, para observar

siempre la línea en la que se encuentra el contador de

programa.

Debug>Break Settings: Despliega la ventana que

permite seleccionar hasta 16 puntos de parada para la

simulación.

Page 86: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

77

Debug>Trace Settings: Permite seleccionar hasta 16

intervalos en ios cuales se tendrá información de io

ocurrido en la simulación, esta información se puede

observar al abrir la ventana "Trace Window".

Debug>Clear All Points: Borra todo los puntos

seleccionados tanto en "Break Settings" como en "Trace

Settings".

Debug>Clear Program Memory (Ctrl+Shift+F2): Borra

toda la memoria de programa del simulador, colocando

todos los bits en "1" lógico.

Debug>System Reset (Ctrl+Shift+F3): Re-inicia el

procesador, simulando un "O" lógico en el pin MCLRVpp.

Debug>Power-On-Reset (Ctrl+Shift+F5): Simula un

reset producido por el encendido. Permite llenar la

memoria RAM del procesador con valores aleatorios o

con valores determinados.

Menú OPTIONS:

Options>Development Mode: Permite cambiar las

herramientas a utilizarse en el proyecto como son:

"Editor Only", que edita y ensambla el proyecto, pero no

lo simula.

"MPLAB-SIM", que agrega a lo anterior la posibilidad de

realizar la simulación del programa.

Page 87: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

78

"PICMASTER Emulator", el cual necesita su propio

"hardware" para ser utilizado.

Options>Window Setup>Save Setup: Permite grabar la

configuración actual de las ventanas, es decir, posición,

tamaño, etc. El archivo que utiliza tiene la extensión

*CFG.

Options>Window Setup>Load Setup: Carga cualquier

configuración de ventanas grabada anteriormente con la

extensión *.CFG.

Options>Window Setup>Default Configuration: Carga

la configuración de ventanas que posee el programa por

defecto.

Options>Key Mappings: Despliega y permite editar el

mapa de teclado del MPLAB, con el fin de utilizar

rápidamente las funciones con las teclas.

Opt¡ons>Environment Setup (Ctrl+F7): Abre la ventana

de diálogo que permite cambiar el tipo de letra, la barra

de herramientas, etc.

Options>Colors: Cambia los colores asignados a los

datos y a los diferentes procesos que se realizan dentro

del programa.

Options>Processor Setup>Hardware: Se utiliza sobre

todo para el PICMASTER (Emulador), con el fin de definir

el bit de configuración del procesador, pero también

afecta la simulación en caso de activar el WDT.

Page 88: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

79

Menú TOOLS:

Tools>DOS Command to Window (F11): Permite

ejecutar un programa de DOS como un compilador, o una

instrucción como DIR, después de esto ei resultado se

despliega en una ventana de edición.

Tools>Repeat DOS Command to Window (Ctrl+F11):

Repite el último comando de DOS ejecutado con "DOS

Command to Window".

Menú WINDOW:

Wmdow>Program Memory: Despliega la ventana que

contiene la memoria de programa,

Window>Trace Memory: Despliega la ventana que

contiene la información completa de las instrucciones

seleccionadas con el comando "Trace Settings".

Window>EEPROM Memory: Si el microcontrolador

posee una memoria EEPROM como es el caso del

PIC16C84, entonces se desplegará el contenido de esta

memoria.

Window>Absolute Listing: Despliega el archivo *.LST,

el cual contiene la información completa del archivo

fuente y su ensamblaje.

Wmdow>Stack: Despliega el contenido del "Stack", cuyo

número de niveles depende del tipo de procesador

seleccionado.

Page 89: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

80

Window>File Registers: Permite observar todos los

registros del procesador que está siendo simulado.

Wíndow>Special Function Registers: Despliega el

contenido de los registros de funciones especiales (SFR)

para el procesador que está siendo simulado.

Window>Show Symbol List (Ctrl+F8): Despliega todos

los símbolos incluidos en el programa, como son

etiquetas, variables, constantes. Para utilizar esta

función, el proyecto debe haber sido ensamblado

previamente.

Window>Stopwatch: Despliega el contenido del

contador de reloj, es decir que se puede observar el

número de ciclos que el procesador ha ejecutado y su

duración, dependiendo del oscilador seleccionado en la

misma ventana.

Window>Project: Esta función esta disponible

únicamente si el proyecto está abierto y despliega el

nombre del archivo asignado a dicho proyecto. Se puede

abrir el archivo haciendo doble "Click" en el nombre.

Window>New Watch Window: Permite seleccionar

direcciones específicas de memoria que se desean

observar durante la simulación.

Wíndow>Load Watch Window: Carga una ventana

definida con los elementos que se desean observar, para

generar esta ventana se utiliza la función "File>New

Page 90: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

81

Source", en la cual se coloca una lista de direcciones a

observar y se graba con la extensión * WAT.

Window>Modify: Modifica los contenidos de la memoria

de datos, memoria de programa, del "Stack" o de la

memoria EEPROM.

Window>Tile Horizontal: Coloca todas las ventanas

abiertas en forma horizontal, ocupando toda la pantalla.

Window>Tile Vertical: Coloca todas las ventanas

abiertas en forma vertical, ocupando toda la pantalla.

Window>Cascade: Coloca todas las ventanas abiertas

en forma de cascada, es decir una tras otra.

Window>lcon¡ze All: Convierte todas las ventanas

abiertas en iconos.

Window>Arrange Icons: Arregla todos los iconos

visibles perfilas.

Page 91: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

82

CAPITULO IV

DISEÑO Y CONSTRUCCIÓN DEL MODULO DE COMUNICACIÓN

4.1. INTRODUCCIÓN

El objetivo principal de este módulo es la comunicación del

microcontrolador PÍC16C57 y un banco de memorias EEPROM con

¡nterfaz I2C, para lo cual se utilizarán 2 memorias 24C02A de

MICROCHIP (Vea el numeral 4.1.1). Pero además, se ha introducido

también una memoria serial de 4 líneas (93AA46) para que el lector

conozca diferentes alternativas en cuanto a EEPROMs seriales (Vea el

numeral 4.1.2).

4.1.1. Memoria 24C02A (EEPROM con interfaz PC)

Es una memoria no volátil que se puede programar y

borrar eléctricamente (EEPROM) de 2 kbits de capacidad (256 x

8), cuyo diagrama de pines se muestra en la figura 4.1. Incluye la

interfaz de comunicación serial en dos hilos, compatible con bus

I2C (pines SDA y SCL). Es de avanzada tecnología CMOS por lo

que su. consumo es muy pequeño comparado con otros

Page 92: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

83

dispositivos seriales, aunque, su característica principal es que

provee una protección de escritura por hardware ("1" lógico en el

pin WP) para el bloque más alto de memoria (080-OFF). Su

dirección se compone de una parte fija (1010) y una programable

(pines A2, A1, AO figura 4.2), por lo que existe la posibilidad de

conectar hasta 8 memorias al mismo bus. Además posee un

BUFFER de escritura de dos bytes, que permite retener hasta 2

datos seguidos antes de empezar su ciclo de escritura, el cual

tiene una duración de 1 ms por cada dato. Requiere 5 voltios

para su funcionamiento normal y la descripción de los pines se

puede observar en la tabla 4.1.

AOC

A1 £

A2Q

VssC

1 8

2 M 7

O3 S 6

4 5

^Vcc

QWP

HSCL

HSDA

Figura 4.1. Diagrama de pines de la memoria 24C02.

Ñame

AO,A1,A2

VSS

SDA

SCLWP

VCC

Function

ChipAddress InputsGroundSeñal Address/Data I/OSerial ClockWrite Protecí Input

+5V Power Supply

Tabla 4.1. Descripción de los pines.

Page 93: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

84

START

/

i

ISLAVI

READ/WÜTE

= ADdRES¿ 'I I I

R/W A

\

0 1 0 A2 A1 AO

Figura 4.2. Dirección esclava programable.

La comunicación con este tipo de dispositivos es

explicada en detalle en el capítulo 1, por lo que a continuación

se esquematiza únicamente la actividad en la línea SDA para las

operaciones de escritura (figuras 4.3 y 4.4) y lectura (figuras 4.5

y 4.6).

BUSACTMTY

SDALINE

BUSACTWTY

Figura 4.3. Escritura de un Byte.

Page 94: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

85

TBUSACT1VÍTY AMASTEfl R COUTROL WORD

T BYTE ADDRÉSS{n)-". , ^

1 I Í 1 1 1 1 1 1 1 150ALINE S r

1 1 ! 1 1 i i i i i i iA A

BUSACTIVITY C CK K

S

DATA n DATA n +- 1 DATA n 4- 7 p¿. >• A

I ] I I I I I l l l l l l l U 1 l 1 1 I I I

i T 1 1 1 1 1 M i f i i i i\ 1 1 1 1 nA A ' ' AC C CK K K

Figura 4.4. Escritura de página n=2.

s s3¿SíSIVITY A CONTROL W°RD A OOWTROL n TÁ , t THASTHR R BYTH ADDHESS {n) fl BHE DATAín) Q

NI l i l i h ' """ MI IISDAUfJE 1 II 1 1 1 1 II i i i i i i i 1 II IIA AG CK K

BUSACTIVfTT

1 1 ( 1 1 1 !

[ 1 1 I 1 1 1

A NC 0K

ACK

Figura 4.5. Lectura de una localidad específica.

BUSAOTMTYMAS7EH

SOALINE

BUSAOTMTY

CONTROL

Figura 4.6. Lectura secuencial.

Page 95: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

86

4.1.2. Memoria 93AA46 (EEPROM Serial)

Es una memoria no volátil que se puede programar y

borrar eléctricamente (EEPROM) de 1 kbit de capacidad (128 x 8

o 64 x 16), cuyo diagrama de pines se muestra en la figura 4.7.

Se puede configurar para que sus localidades tengan un tamaño

de 8 bits o de 16 bits, dependiendo del pin ORG (con "1" lógico

las localidades son de 16 bits y con "O" lógico las localidades son

de 8 bits), es de avanzada tecnología CMOS, lo que hace a este

dispositivo ideal para aplicaciones que requieran memorias no

volátiles de baja potencia. Tiene una característica muy relevante

y es que funciona con voltajes desde 1.8 hasta 5V, por lo que

también es ideal para aplicaciones de bajo voltaje. La descripción

de los pines se observa en la tabla 4.2.

es E

CLK E

DI E

DO E

1 8

2 S 7

3 £ 6

4 5

u Vcc

U NÚ

H ORG

H Vss

Figura 4.7. Diagrama de pines de ta memoria 93AA46.

Page 96: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

87

Ñame

CS

CLK

DI

DO

vssORGNÚ

VCC

Function

Chip Select

Serial Data Clock

Serial Data Input

Serial Data Output

Ground

Memory Confíguration

Not Utilizad

Power Supply

Tabla 4.2. Descripción de los pines.

En esta memoria se pueden ejecutar siete (7)

instrucciones, como puede observarse en las tablas 4.3 y 4.4,

Innrtitllúti

READEWENERASEERALWFUTEWRALEWDS

SB

1111111

OpCOth

100011DG010000

Additt*

ASA4WA2AIAO1 1 X X X XA5A4A3A2AIAO1 0 X X X XA5A4A3A2A1M0 1 X X X X0 0 X X X X

Dihh

-———

D15-DOD15-DO

OrtÉÜlft

D15-DOHigW

ÍROYJBS7)IfiCnfóS?)(RDY£57)(ROY&57}

Hfgh-Z

Rtq.CUtCydu26999

25259

Tabla 4.3. Conjunto de instrucciones para la memoria

93AA46: ORG=1 (Configuración de 16 bits)

Inttruction

flEADEWENERASEERALWRrrtWRALEWDS

se1111111

Opoodi

1G00110001

00

00

Mdmi

AÍA5A4A3A2A1AÍ]1 1 X X X X XA6A5MA5A2A1AO1 0 X X fC X XABA5A4A3AZA1AG0 1 X X X X X

0 0 X X X X X

Drfih

—-——

D7-OQ

D7-M

DnUOui

D7-DOHlgh-Z

(RDYteSY)(HDYíB5Y)(ROY^SY}(ñDYíBSY)

HW-Z

R*q.CLKCyd«i

Ifl101010IB1A10

Tabla 4.4. Conjunto de instrucciones para la memoria

93AA46: ORG=0 (Configuración de 8 bits)

Page 97: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

• Condición de inicio.- La condición de inicio se genera cuando

la línea CS y DI se encuentran en ALTO durante la transición

positiva de la línea de reloj (CLK).

• Validez del dato.- Después de una condición de inicio, todo bit

colocado en la línea DI es válido, únicamente durante la

transición positiva de la línea SCL, después de la cual el dato

puede ser alterado.

• Protección de datos.- Durante el encendido, todos los modos

de programación son desactivados, hasta que VCC sea mayor

que 1.4 V, protegiendo de esta manera los datos de la

memoria.

• Operación de lectura (READ).- Después de ejecutar la

condición de inicio, código de lectura y dirección de la

localidad a ser leída, puede recibirse los datos en la línea DO,

los cuales son precedidos por un cero en dicha línea (figura

4.8). Cada bit de salida es colocado en la línea DO después de

la transición positiva del reloj, permaneciendo estable durante

todo el período. Es posible realizar una lectura secuencial,

manteniendo la línea CS en ALTO, por lo que se apuntará

automáticamente a la siguiente localidad y ésta será leída.

Page 98: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

89

TRI-STATÉ1

Figura 4.8. Operación de lectura.

Activado y desactivado de las operaciones de escritura y

borrado (EWEN, EWDS).- Cuando la memoria es alimentada,

siempre inicia desactivando las operaciones de escritura y

borrado (EWDS figura 4.9), por lo que todos los modos de

programación deberían ser precedidos por una instrucción de

activación (EWEN figura 4.10). La instrucción EWDS es

utilizada después de la programación, con el fin de evitar una

variación accidental de los datos.

CLK

1 \ O O O / X

Figura 4.9. Operación EWDS (desactivar).

Page 99: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

90

Figura 4.10. Operación EWEN (activar).

Operación de borrado (ERASE).- Después de ingresar la

condición de inicio, el código de borrado y la dirección de la

localidad en la línea DI, el bit CS debe ser colocado en bajo,

con el fin de que inicie el ciclo de escritura, el cual coloca

todos los bits de la localidad de memoria en "1" lógico. Durante

el ciclo de borrado, la línea DO se encuentra en BAJO,

indicando con esto que la memoria no podrá recibir ningún

dato durante este período. Cuando ha terminado el ciclo de

escritura, la línea DO es liberada y cualquier otro código de

programación puede ser ingresado. El ciclo de borrado toma

aproximadamente 4ms por cada localidad de memoria.

TWC

Figura 4.11. Operación de borrado de una localidad.

Page 100: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

91

Operación de escritura (WRITE).- Después de ingresar la

condición de inicio, el código de escritura, la dirección de la

localidad y el dato en la línea DI, el bit CS debe ser colocado

en bajo, con el fin de que inicie el ciclo de escritura, el cual

coloca el dato en la localidad de memoria indicada. Durante el

ciclo de escritura, la línea DO se encuentra en BAJO,

indicando con esto que la memoria no podrá recibir ningún

dato durante este período. Cuando ha terminado el ciclo de

escritura, la línea DO es liberada y cualquier otro código de

programación puede ser ingresado. El ciclo de escritura toma

aproximadamente 4ms por cada localidad de memoria.

L

DO

T\VC

Figura 4.12. Operación WRITE.

Operación para borrar toda la memoria (ERAL).- Después

de ingresar la condición de inicio y el código de borrado total

en la línea DI, el bit CS debe ser colocado en bajo, con el fin

de que inicie el ciclo de escritura, el cual coloca un "1" lógico

en todos los bits de todas las localidades de la memoria.

Page 101: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

92

Durante el ciclo de borrado total, la línea DO se encuentra en

BAJO, indicando con esto que la memoria no podrá recibir

ningún dato durante este período. Cuando ha terminado el

ciclo de borrado total, la línea DO es liberada y cualquier otro

código de programación puede ser ingresado. El ciclo de

borrado total toma aproximadamente 8ms. Se garantiza la

operación de borrado total a 5V +/-10%.

Tea

JUUlnJLTL

Figura 4.13. Operación ERAL (Borrado total).

Operación para escribir el mismo dato en toda la memoria

(WRAL).- Después de ingresar la condición de inicio, el código

de escritura total y el dato en la línea DI, el bit CS debe ser

colocado en BAJO, con el fin de que inicie el ciclo de escritura,

el cual coloca el dato ingresado en todas las localidades de la

memoria. Durante el ciclo de escritura total, la línea DO se

encuentra en BAJO, indicando con esto que la memoria no

podrá recibir ningún dato durante este período. Cuando este

ciclo ha terminado, la línea DO es liberada y cualquier otro

código de programación puede ser ingresado. El ciclo de

Page 102: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93

escritura total toma aproximadamente 16 ms. Se garantiza esta

operación a 5V +/- 10%.

1 \ (, ó / i \ X"' X X X (V X »• X t»

Figura 4.14. Operación WRAL (Escribir el mismo dato).

Page 103: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

94

4.2. ANÁLISIS PREVIO AL DISEÑO.

El módulo básicamente debe permitir al usuario enviar

información a las memorias o recibirla de ellas de una manera directa, es

decir mediante un corto proceso manual; lógicamente este proceso se

realizará con un dato a la vez. Para cumplir con este objetivo es

necesario considerar un sistema de ingreso y salida de datos, que posea

la menor cantidad de elementos posibles y resulte sencillo de manejar.

4.2.1. Análisis del sistema de Ingreso de datos.

Los datos necesarios para que el microcontrolador

ejecute cualquier operación en las memorias son:

• Operación.- Es aquí donde se ingresa la operación que el

usuario desea realizar y la memoria a la que se dirige, además

indica si las memorias PC trabajan o no con protección de

escritura, o si la memoria serial de 4 líneas estará configurada

en 8 o 16 bits.

• Dirección.- Tanto para la lectura como escritura en las

memorias, el usuario necesita colocar la dirección de la

localidad de memoria con la que va a trabajar.

• Dato 0.- Para las operaciones de escritura, deberá ingresarse

el dato que se desea enviar a una localidad determinada de ia

memoria. En el caso de la memoria serial de 4 líneas

(93AA46), existe la posibilidad de trabajar con 16 bits, por lo

que en este punto se envían los 8 bits menos significativos de

la palabra.

Page 104: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

95

• Dato 1 (sólo para la memoria 93AA46 configurada en 16

bits).- En caso de dirigirse a la memoria serial de 4 líneas

(93AA46) configurada a 16 bits, deberá ingresarse también los

ocho bits más significativos de la palabra.

Como puede observarse en lo descrito anteriormente,

todos los datos que ingresan al microcontrolador tienen una

longitud de palabra de 8 bits, por lo que es suficiente la utilización

de un dipswitch de 8 bits para ingresar toda la información

requerida por el microcontrolador.

Si un solo dipswitch es necesario para ingresar toda esta

información, necesitamos entonces una tecla que permita realizar

la función de "ENTER", es decir que después de que el dato es

colocado en el dípswitch, la presión de esta tecla permita al

microcontrolador recibir esta información y luego cambiar al

siguiente dato requerido.

Se debe pensar también en la posibilidad de

equivocación que tenga el usuario, por lo que es necesaria la

utilización de otra tecla que permita a éste corregir su error.

Con este análisis queda claro que para el ingreso de

datos es necesario un dipswitch y dos teclas conectadas al bus

de datos del microconírolador.

4.2.2 Análisis del sistema de salida de datos.

Para que el usuario tenga una idea del proceso que debe

realizar durante el ingreso de datos, es necesario la utilización de

un sistema indicador basado en LEDs] que mantenga informado

Page 105: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

96

al usuario del dato que ingresará por el dipswitch. Por esto debe

existir un LED que indique el ingreso de la operación, uno que

indique el ingreso de la dirección, otro que señale el ingreso del

dato O, además otro que indique que es momento de ingresar el

dato 1 (solo para la memoria 93AA46 configurada para 16 bits) y

uno que señale que todo está listo para ejecutar la operación, sin

olvidar al LED que indique que la comunicación ha terminado

satisfactoriamente.

Se debe tomar en cuenta que el primer dato que se

ingresa es un código que indica la operación que va a realizar y

la memoria a la que se dirige, por lo que el usuario debería

conocer si el código que ingresó corresponde realmente a la

operación que él desea realizar. Para esto, se pensó en la

utilización de 8 LEDs que señalen en forma visual al usuario, es

decir que un LED indicará que se desea Leer la memoria, otro

escribir en la memoria y otro borrar la memoria. Además un LED

señalará si se dirige a la memoria I2C (1), otro si se dirige a la

memoria PC (2) y otro si es hacia la memoria serial de 4 líneas.

Pero hay algo más que indicar, ya que es parte del código; y es

que las memorias I2C pueden o no trabajar con protección de

escritura y la memoria serial puede estar configurada para 8 o'16

bits, por lo que se utilizarán 2 LEDs más que indiquen estas

posibilidades.

El usuario deberá tener la posibilidad de observar tanto

los datos que ingresa, como los que vienen de las memorias,

entonces se requiere también cuatro DISPLAYs de ánodo común

(se encienden con "O" lógico) que permitan este objetivo. Deben,

ser cuatro, tomando en cuenta la posibilidad de que la memoria

serial de 4 líneas esté configurada en 16 bits.

Page 106: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

97

4.3. DISEÑO DEL MODULO.

Para que el microcontrolador seleccione uno entre todos los

dispositivos que tiene a su alrededor (Teclas, dipswitch, Grupo de LEDs

de datos, Grupo de LEDs de operación, DISPLAY O, DISPLAY 1,

DISPLAY 2 y DISPLAY 3) se utilizó un decodificador 3-8 74LS138 figura

4.15.

74LS138

Figura 4.15. Decodificador 3-8.

Las teclas están conectadas ai bus de datos del microcontrolador

mediante un BUFFER 74LS244, el cual estará activo cuando se

introduzca la dirección 000 en el decodificador (figura 4.16), Debido a

que la corriente requerida por las entradas del BUFFER cuando están

conectadas a VCC es de 20 uA, se utilizaron 2 resistencias pull-up de 10

k-ohmios, para que la caída máxima de voltaje en éstas sea de 0,2 V, y

de esta manera entregar un voltaje mínimo de 4.8 V en el nivel ALTO.

Además el consumo de corriente que se descarga hacia tierra por medio

de! teclado no supera los 0,6 mA.

Page 107: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

98

vccQ

1 IJLR20 > RH1R > R

2

i

1

-> S3 Jt.

? 'C

2

2

2i 4

tii

L t

-> S10 '

p

ei

VCC9

G

i 8

il! 13i"?ic13r

U14

1P1ifta1P31R42ftl2ft22R32A4

IG2G

1Y11Y21Y31Y42Y12Y22Y32Y4

74LS244

' C RDTECLft !>

Figura 4.16. Conexión de las teclas.

Para la conexión del dipswitch al bus de datos del

microcontrolador, se utilizó también un BUFFER 74LS244, el cual se

activa únicamente a! seleccionar la dirección 001 en el decodificador y 8

resistencias pull-down (figura 4.17), para que el voltaje a la entrada del

BUFFER sea positivo cuando se cierran los interruptores que forman el

DIPSWITCH.

La corriente que descarga el BUFFER cuando sus entradas están

conectadas al nivel BAJO es de 200 uA, por lo que al colocar las

resistencias pull-down con un valor de 6.8 k-ohmios, se tendrá una caída

de voltaje en las mismas de 1.36 V, que todavía es "interpretado" por el

BUFFER como un estado BAJO. Además, con estas resistencias se logra

un mínimo consumo de corriente cuando todos los interruptores del

DIPSWITCH están cerrados.

Page 108: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

99

vcco

SI SH 33 34 sslss 37O , O

ss

Figura 4.17. Conexión del dipswitch.

El grupo de LEDs (1) que indican la operación, memoria de

trabajo y configuración están conectados al bus de datos, mediante un

LATCH 74LS373, al cual el microcontrolador podrá dirigirse con ía ayuda

de un inversor, colocando la dirección 010 en el decodificador. Los LEDs

están conectados a las salidas del LATCH por medio de 8 resistencias de

270 ohmios, utilizadas como limitadoras de corriente.

Page 109: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

U12 RIO

WR LEDSl >

1D1S

Figura 4.18. Conexión del grupo 1 de LEDs que indican la operación.

El grupo de LEDs (2) que indican el dato que debe ingresar el

usuario están conectados al bus de datos, mediante un LATCH 74LS373,

cuya dirección es 011 y su activación se logra con la ayuda de un

inversor (figura 4.19). Estos LEDs están conectados a las salidas del

LATCH por medio de 6 resistencias de 270 ohmios, que actúan como

limitadoras de corriente.

Page 110: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

U13

101

Rli

U8F

NRLEDS2 >

347S1314171S

!„11

2 74US373

2 15 2G 33 -412 S15 61G 719 S

R-PAC

1G1514131211109

:K

2 £L

r12 P2 |kP

2 Ik¡r

2 Wr

2 ih.w

/*/* 1D3

^ 1D10

/ / iDli

/ ^ 1D12 (

^ ID 13 (

A" 1D14 (

Figura 4.19. Conexión del grupo 2 de LEDs que indican el dato que

debe ingresar el usuario.

El DISPLAY O, DISPLAY 1, DISPLAY 2 y DISPLAY 3 están

conectados al bus de datos por medio de 4 LATCHs 74LS373, cuyas

direcciones son respectivamente 100, 101, 110, 111 y se activan con la

ayuda de inversores (figura 4.20). De esta manera el microcontrolador

manejará directamente cada segmento. Los DISPLAYs están conectados

a los LATCHs por medio de resistencias de 270 ohmios.

Page 111: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

{*•

102

Fig

ura

4.2

0. C

on

exi

ón

de lo

s D

ISP

LAY

s.

Page 112: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

103

El microcontrolador utiliza un cristal oscilador de 4MHz (Y1), el

cual permite que cada ciclo de instrucción demore 1 micro segundo, lo

cual resulta suficiente para nuestra aplicación. Este oscilador se

encuentra conectado a tierra por medio de dos condensadores de 15 pico

Faradios (C9 y C10), recomendados por el fabricante. Existe también un

pequeño circuito de "Power On Reset" (POR), conformado por un

condensador (C11), una resistencia (R5) y un diodo (D4) conectados al

pin MCLR, con el fin de mantener en un estado de espera al

microcontrolador hasta que la fuente alcance su pleno valor de 5 V.

Además se conectaron las resistencias pull-up tanto para el bus PC (R2 y

R3) como para la salida DO del bus serial de 4 líneas (R4), las cuales

tienen un valor de 12 k-ohmios, obtenido de las recomendaciones del

fabricante (Capítulo 1). Los puertos del microcontrolador PIC16C57 han

sido distribuidos de la siguiente manera (figura 4.21):

• PUERTO A (4 bits).- Los pines RA2, RA1, RAO, son utilizados para

colocar la dirección en el decodificador 3-8, seleccionando el. elemento al

que se quiere dirigir. El pin RAS se utiliza para activar o desactivar el

decodificador.

• PUERTO B (8 bits).- Este puerto se utiliza como el bus de datos de

entrada y salida del microcontrolador.

• PUERTO C (8 bits).- El pin RC7 se utiliza como la línea de transmisión

hacia el puerto RS-232 (TXD), el RC6 es la recepción del mismo puerto

(RXD), el RC5 es la línea DO del bus serial de 4 líneas, el RC4 es la

línea CLKdel mismo bus, el RC3 es la línea CS también del bus serial de

4 líneas, el RC2 es e! pin que controla tanto la protección de escritura de

las memorias I2C como la configuración (8 bits o 16 bits) de la memoria

serial 93AA46, el pin RC1 constituye la línea SCL del bus I2C y el pin RCO

constituye la línea de datos tanto del bus PC (línea SDA) como del bus

Page 113: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

104

serial de 4 líneas (línea DI).

C9 Z^15PF

•<S

Y

MrL

CT2b: C1 i

Dfi/C<;s

, —

>R?T

1II r

PL

íiOrjSPF

_i >CL>("•7 S-

c

2

1

<

<

1* R2> j^

2<^

V

D4DIODE:

28i

272G

181320212223

" 2425

1 1? R3 > R4> 12K> 12K

2 E

ycc

H2 i1 > R5

3t > 33K

trl íi--T-- Cll

11 33U

U3

RP2

RC0 RB0RC1 RB1

PIC16CB7

VCC

_J

F

-i <SEL2 >

10 ^T^Z — v.— T-T — C D0 >•

i o S-! -í=— =^1 u! V-UJ.vJ x>

Figura 4.21. Conexión del microcontrolador PIC16C57.

Las memorias se conectaron directamente el Puerto C del

microcontrolador, ya que los voltajes son totalmente compatibles. Además

se fijaron las direcciones de las memorias con interfaz I2C de la siguiente

manera (figura 4.22):

• Dirección esclava de la memoria I2C (1) : 1010000 (AOh)

* Dirección esclava de la memoria I2C (2) : 1010001 (A1h)

Page 114: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

105

1

II 2u *

MErvcc

2

1 1

~ F~

U9

P0 WPPl SCLPH SDP

24C02P

•1ORIP I2C

U10

R0 WPPl SCLP2 SDP

24 C02P

MEMORIP I2C

Ull

<TCLK >§< SDP/DI >

<DO >

MED

CLK ORGDI CSDO

-g C ROM/ORGZ >

-^ C SDP/DI >

CID

' C ROM/ORGZ >- CSCL >í C SDP/D I >

C25

-J < ROM/ORGZ >

MORÍA SERIPLE 4 LINEPS

Figura 4.22. Conexión de las memorias.

Debido a que el microcontrolador PIC1GC57 no posee un puerto

serial RS-232 que permita la comunicación directa con el computador, fue

necesario crearlo, para ello se utilizaron los pines RC7 como transmisor y

RC6 como receptor. Este puerto debe tener conectado un sistema que

permita convertir los voltajes TTL (5 V y O V) en voltajes RS-232 (-12 V y

+12V). Para esto se utilizó un circuito integrado MAX232, el cual cumple

esta función con una alimentación de 5 V, lo cual evita añadir otra fuente

en el módulo (figura 4.23),

Page 115: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

106

1+ C4^ 1UF

+ CE-"r- 1UF

13

4

5

<TXD

<RXD"

>ié~>AZ_

C7JLUF

U2

Cl-H V+

T1IN T1OUTT2IN T2OUT

R1OUT R1INR2OUT R2IN

MPX232

vcc0

+ ce+ ^-r^ iur ^-^ es

2

6

14"7

138

~

1

. S i94S3"7S61

+ 1LJF

~rr"

Si_o oP2

Q DB9-O

-O

Figura 4.23. Conexión del MAX232 para el puerto serial R2-232.

Como pudo observarse, todos los dispositivos requieren una

alimentación de 5V, por lo que se diseñó una fuente muy sencilla formada

fundamentalmente por un regulador de 5V (LM 7805) con una capacidad

de 1 Amperio, ya que la suma de las corrientes que consumen tanto los

LEDs como los circuitos integrados (Incluido el microcontrolador), no

superan los 0,7 amperios.

Se utilizará un transformador de 120-12 V con una capacidad de

corriente en el lado de baja de 2 Amperios, con e! fin de ofrecer un amplio

margen de corriente. Este transformador estará protegido en e! lado de

alta por un fusible y el encendido se hará por medio del interruptor SW1

(figura 4.24).

En la parte DC (figura 4.25) existe un puente rectificador (D1),

cuya salida es filtrada por un condensador de 2200 uF con el fin de

disminuir el rizado e ingresar este voltaje a! regulador (17 V DC). La

salida del regulador (5 V) es filtrada aún más con los condensadores C2 y

Page 116: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

107

C3, obteniéndose de esta manera la salida necesaria para alimentar al

módulo. Se ha añadido un LED para indicar ei encendido de la fuente

(D3).

FI

FUENTE

Figura 4.24. Conexión de la fuente (Parte AC).

JPÍ

DIODEUiLM780S

Figura 4.25. Conexión de la fuente (Parte DC).

Page 117: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

108

4.4. DISEÑO DEL SOFTWARE PARA EL MICROCONTROLADOR

El software contenido en la memoria de programa del

microcontrolador deberá realizar varias tareas, es decir que existirán

varios sub-programas, cada uno encargado de una tarea específica, por

lo que a continuación se describen:

4.4.1. Sub-programa encargado del manejo de la interfaz

manual.

El sub-programa que controla la interfaz manual es una

parte del programa total que se encuentra ¡mplementado en el

microcontrolador PIC16C57. En el diagrama de flujo que se verá

a continuación, se resalta las funciones más importantes del

mismo.

Page 118: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

V-

INIC

IO10

91r

N. V

EC

ES

=0

• E

NC

ER

AD

ISP

LAY

S•

AC

TIV

A L

ED

ING

RE

SO

D

EO

PE

RA

CIÓ

N•

LE

E E

LD

IPS

WIT

CH

YS

AC

A E

LC

ON

TE

NID

O A

LOS

DIS

PLA

YS

• N

. VE

CE

S=N

.V

EC

ES

+ 1

• IN

DIC

AO

PE

RA

CIÓ

NG

RU

PO

LE

Ds

(8 B

ITS

)•

AC

TIV

A L

ED

ING

RE

SO

DE

DIR

EC

CIÓ

N•

LE

E E

LD

IPS

WIT

CH

YS

AC

A E

LC

ON

TEN

IDO

ALO

S D

ISP

LAY

S•

N. V

EC

ES

=N.

VE

CE

S

AC

TIV

A L

ED

ING

RE

SO

DE

DA

TO

OLE

E E

LD

IPS

WIT

CH

YS

AC

A E

LC

ON

TE

NID

O A

LOS

DIS

PLA

YS

N.

VE

CE

S=N

.V

EC

ES

+ 1

AC

TIV

A L

ED

ING

RE

SO

DE

DA

T0

1LE

E E

LD

IPS

WIT

CH

YS

AC

A E

LC

ON

TEN

IDO

ALO

S D

ISP

LAY

SN

.VE

CE

S=

N.

VE

CE

S +

1

AP

AG

A L

OS

DIS

PLA

YS

AP

AG

A L

OS

LED

sN

. VE

CE

S=0

OR

GA

NIZ

AT

OD

OS

LO

SD

AT

OS

ING

RE

SA

DO

SA

CT

IVA

LE

DLI

STO

PA

RA

EJE

CU

TA

RN

. V

EC

ES

=N.

VE

CE

S +

1

EJE

CU

TA L

AO

PE

RA

CIÓ

NIN

DIC

AD

A C

ON

LA M

EM

OR

IAC

OR

RE

SP

ON

-D

IEN

TE

Page 119: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

110

4.4.2. Sub-programa para escribir en las memorias PC.

INICIO

L1=DIRECCION ESCLAVA + BIT WRITEL2=DIRECCION DE LOCALIDADL3=DATOSUB-INDICE n=1BIT DE INICIO

BYTE « @Ln(DIRECCIONAMIENTO INDIRECTO)

ENVIÓ BYTE HACIA LA MEMORIA POREL BUS I2C

LLEGO BIT DERECONOCIMIENTO

ACTIVA LEDCONFIRMACIÓN

Page 120: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

111

4.4.3. Sub-programa para leer las memorias PC.

e INICIO

L1=DIRECCION ESCLAVA + BIT WRITEL2=DIRECCION DE LOCALIDADSUB-INDICE n=1BIT DE INICIO

BYTE = @Ln(DIRECCIONAMIENTO INDIRECTO)

ENVIÓ BYTE HACIA LA MEMORIA POREL BUS I2C

LLEGO BIT DERECONOCIMIENTO

REPITE EL BIT DE INICIODIRECCIÓN ESCLAVA + BIT READ (LEER)

LLEGO BIT DERECONOCIMIENTO

EL MICROCONTROLADOR RECIBE ELBYTE SIN GENERAR RECONOCIMIENTOBIT DE PARADAACTIVA LED CONFIRMACIÓN

C FIN

Page 121: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

112

4.4.4. Sub-programa para escribir en la memoria serial de 4

líneas.

INICIO

FALLA LA COMUNICACIÓNOPERACIÓN EWDS(DESACTIVA BORRADO YESCRITURA DE LA MEMORIA)

OPERACIÓN EWEN (ACTIVA BORRADOY ESCRITURA DE LA MEMORIA)BIT DE INICIOCÓDIGO WRITEDIRECCIÓN DE LA LOCALIDADDATO

ESTA EN ALTAIMPEDANCIA LA

LINEA DO

ESTA EN BAJO LALINEA DO

(ESCRIBIENDO)

Page 122: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

113

4.4.5. Sub-programa para leer la memoria serial de 4 líneas.

INICIO

FALLA LA COMUNICACIÓNOPERACIÓN EWDS(DESACTIVA BORRADO YESCRITURA DE LA MEMORIA)

OPERACIÓN EWEN (ACTIVA BORRADOY ESCRITURA DE LA MEMORIABIT DE INICIOCÓDIGO READDIRECCIÓN DE LA LOCALIDAD

ESTA EN BAJO LALINEA DO

RECIBE EL DATO DELA MEMORIA

ESTA EN ALTO LALINEA CS (LECTURA

CONSECUTIVA)

OPERAC ON EWDS

Page 123: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

114

4.4.6. Sub-programa para borrar una localidad de la memoria

serial de 4 líneas.

INICIO

FALLA LA COMUNICACIÓNOPERACIÓN EWDS(DESACTIVA BORRADO YESCRITURA DE LA MEMORIA)

OPERACIÓN EWEN (ACTIVA BORRADOY ESCRITURA DE LA MEMORIA)BIT DE INICIOCÓDIGO ERASEDIRECCIÓN DE LA LOCALIDAD

ESTA EN ALTAIMPEDANCIA LA

LINEA DO

ESTA EN BAJO LALINEA DO

(BORRANDO)

Page 124: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

115

4.4.7. Sub-programa para borrar todas las localidades de la

memoria serial de 4 líneas.

INICIO

FALLA LA COMUNICACIÓNOPERACIÓN EWDS(DESACTIVA BORRADO YESCRITURA DE LA MEMORIA)

OPERACIÓN EWEN (ACTIVA BORRADOY ESCRITURA DE LA MEMORIA)BIT DE INICIOCÓDIGO ERAL

ESTA EN ALTAIMPEDANCIA LA

LINEA DO

ESTA EN BAJO LALINEA DO

(BORRANDO)

Page 125: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

116

4.4.8. Sub-programa para escribir el mismo dato en todas las

localidades de la memoria serial de 4 líneas.

INICIO

FALLA LA COMUNICACIÓNOPERACIÓN EWDS(DESACTIVA BORRADO YESCRITURA DE LA MEMORIA!

OPERACIÓN EWEN (ACTIVA BORRADOY ESCRITURA DE LA MEMORIA)BIT DE INICIOCÓDIGO WRALDATO

ESTA EN ALTAIMPEDANCIA LA

LINEA DO

ESTA EN BAJO LALINEA DO

(ESCRIBIENDO)

Page 126: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

117

4.4.9. Sub-programa que permite al microcontrolador recibir

datos provenientes del puerto serial RS-232.

INICIO

CONTADOR i=0

ESTA EL BIT RC6 ENBAJO

(BIT DE INICIO RS-232)

RETARDO (104 us)(DURACIÓN DEL BIT A 9600

BPS)

RETARDO f52 us)

LEE EL BIT¡=i+1

RETARDO (52 usl

NO

NO

Page 127: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

118

4.4.10. Sub-programa que permite al microcontrolador enviar

datos a través del puerto serial RS-232.

INICIO

^ r

. BYTE=DATO• CONTADOR 1=0

• COLOCO EN RC7 EL BIT DEINICIO

• RETARDO (104 us) (DURACIÓNDEL BIT A 9600 BPS)

COLOCO EN RC7 EL BIT iDE LA LOCALIDAD BYTE¡=i+1

RETARDO H04US1

NO

BIT DE PARADA

FIN

Page 128: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

119

4.5. ANÁLISIS PREVIO AL DISEÑO DE LA INTERFAZ DEL

COMPUTADOR.

El módulo debía tener también la posibilidad de ser manejado por

medio de una computadora, procurando que la interfaz sea más sencilla

para el usuario y pueda explotarse todas las funciones de las memorias,

además, permitirá transferir uno o varios datos de una manera eficaz.

Esta interfaz debería permitir ai usuario, realizar todas las

operaciones posibles con las memorias, es decir escribir en ellas, leerlas,

borrarlas, y no solo trabajar con un byte, sino enviar o recibir cualquier

número de bytes, obviamente, mientras no se rebase la capacidad de las

memorias.

Como característica especial, la interfaz del computador, debería

permitir al usuario ingresar datos a las memorias, utilizando un archivo

*.HEX, es decir que la memoria se llenará estrictamente con el contenido

de este archivo.

Si podemos utilizar un archivo *.HEX para llenar la memoria, sería

útil poder leer completamente cualquiera de las memorias y colocar este

contenido en un archivo *.HEX, con el fin de respaldar diferentes

combinaciones de datos que se encuentren en ellas.

Con estas características, el proyecto quedaría completo, puesto

que permite realizar al usuario diferentes operaciones características del

bus I2C y de la memoria serial de 4 líneas, además se podría utilizar

como programador de estos dos tipos de memorias.

Page 129: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

120

4.6. DISEÑO DE LA INTERFAZ DEL COMPUTADOR.

Para que el programa resultara una ¡nterfaz muy sencilla al

usuario, se diseñó en VISUAL BASIC 5.0, el cual permite una interacción

con éste por medio de ventanas, reduciendo su operación a un simple

"click" en el lugar adecuado.

El programa se compone de varias ventanas, que recolectan la

información del usuario, con el fin de realizar la operación indicada por

éste.

La base principal del protocolo de comunicación entre el

computador y el módulo consiste en el envío de 12 bytes, los cuales

contienen la siguiente información:

• Byte 1.- Este byte contiene la información de la operación que el

usuario desea realizar desde el computador, la memoria a la que se

dirige y la configuración que ésta tendrá.

• Byte 2.- Aquí se envía el número de datos que se van a leer o escribir

en las memorias.

• Byte 3.- En este byte se envía la dirección esclava de la memoria

(para el caso de las memorias con ¡nterfaz I2C) con la que se va a

comunicar el usuario.

• Byte 4.- En el cuarto byte se envía la dirección de la localidad de

memoria, en la que inicia tanto la lectura como la escritura de datos.

• Byte 5 - Byte 12.- Estos 8 bytes, se utilizan para enviar un máximo de

8 datos, que el microcontrolador podrá escribir en cualquiera de las

memorias.

Page 130: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

121

Para enviar todo el contenido de un archivo *.HEX, obviamente se

requieren más de ocho datos, por lo que simplemente se repite la sub-

rutina de envío tantas veces como sea necesario, dependiendo del

tamaño de la memoria.

La comunicación serial RS-232 se realiza siempre a 9600 bits por

segundo, por lo que esta velocidad no podrá ser alterada.

La comunicación siempre es del tipo HALF-DUPLEX, donde el

computador se comporta como maestro, es decir que el módulo

únicamente responde cuando es requerido por el computador.

Page 131: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

122

4.7. CONSTRUCCIÓN DEL MODULO.

Debido a la distribución de pines de los circuitos integrados y a la

gran cantidad de líneas de conexión, se decidió repartir todos los

elementos en dos tarjetas, con el fin de que el tamaño del módulo no

fuera demasiado grande. Las tarjetas se encuentran unidas entre sí por

medio de dos correas conductoras de 40 líneas cada una, las cuales

llevan los datos hacia el DISPLAY, bus de datos, LEDs, etc.

Las dos tarjetas son del mismo tamaño (19,5 cm x 13,5 cm), con

el fin de colocar una encima de otra. La tarjeta 1 (abajo) contiene la

fuente, los LATCHs, los BUFFERs y todas las resistencias necesarias

para éstos (figura 4.26).

ccoccccooIW

OPcooooQ

KZ Hl•1C

n B n o n n B Q n n n o D n n B D H B B , ^ , i m t i D B Q a B D D a o a i i n B O D - D D w

''loe or^l^c o ooo ooo ooooooo o ooo ooo o-oooooo

9

O O*. S j S 1 S S 1o 9 &? U? l « ? L? 1O 9 ^ OOOOOOO^-OOOOOOO ^OOOOOOCH- OOOOCOO

!> O S „ _

> O 9 « 9+ 0 ?*9 0 & C 9 C 50 0 9. C & C 5» 6 9 0 9 0 3

^ KH-J C 5 0 5O Q j } O O & C íO KT3 G 3 fl 3Ott C9 Co c_o c

00eíooooooo

^*"^

W-i_r

frc Cffíi Co cO 0

i S& co o1 1* 00 00 O& 0& o0 00 OA ft

43-T_T

O [~~~] O 0 9 C 39>= 0 0 O S9í»9 rx^l r-i-n9 & 3C Q ^"^ ¡>c

S e s"1 o »^c 5 5 5

a o & o a9 C 9 C 9

Ií S í « >9 fi 5 O 9C í « 9

& C 9 C &O 0 3 O 9^ 'OO ra

O <CH&

^ i mfaO^l (SIS 0 0 r-n '

lo Io o | o j

o LOu

Figura 4.26. Distribución de los elementos en la tarjeta 1.

Page 132: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

123

La tarjeta 2 (encima) contiene el microcontrolador PIC16C57, las

memorias, el decodificador, el inversor, el MAX232 y todos los elementos

de visualización como DISPLAYs y LEDs (figura 4.27).

0=

«a

r ,OQ

OOBOO1 1! |

OOQOO

oonoon¡ \

OOQOO

OOQOO

n1 !„

OCQOO

COBOOi i¡ i_

OOHOO

O Ort LJ

or-noooí _ 1

no op ioo c o2 S 2JO di I*

D¡ S10ar-noo ooLJo

sa°rjií>o oo oo^ ^o

Figura 4.27. Distribución de los elementos en la tarjeta 2.

Para realizar las conexiones en las tarjetas (ruteo) se hizo

necesario utilizar los dos lados de la mismas, lo cual se puede observar

en la figura 4.28, en donde el color rojo indica que son conexiones por el

lado de los elementos (arriba) y el color verde por el lado de las sueldas

(abajo). Además los puntos de color rojo intenso señalan las vías de

unión entre las líneas de arriba y de abajo.

Page 133: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

124

GUSTAVO ÜPE6UITESIS DE GRADO

E.P.N.

O

Figura 4.28. Conexiones de la tarjeta 1 (arriba) y la tarjeta 2 (abajo).

Page 134: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

125

En la figura 4.29 se puede observar la apariencia real de las

tarjetas y los elementos que conforman el módulo.

Figura 4.29. Apariencia real de las tarjetas.

El transformador, porta-fusible, switch de encendido y el conector

DB-9, no están incluidos en las tarjetas, y serán fijados en la caja que

contiene al módulo.

La caja mide 22 x 20 x 10 y está fabricada en acrílico negro

(caras laterales e inferior) y transparente (cara superior). En la figura

4.30 se puede observar el acabado final del módulo.

Page 135: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

126

Figura 4.30. Acabado final del módulo de comunicación.

Page 136: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

127

CAPITULO V

PRUEBAS Y RESULTADOS

Para probar el adecuado funcionamiento del módulo, se procedió

a realizar las siguientes pruebas:

PRUEBA DE ESCRITURA EN LAS MEMORIAS PC DESDE LA

INTERFAZ MANUAL.

En esta prueba se envía el dato 56h hacia la memoria I2C (1) y se

almacena en la localidad con dirección 4Ch, además se envía el dato 4Bh

hacia la memoria I2C (2) y se almacena en la localidad 4Ch. Como puede

observarse, las localidades que se usan en las memorias tienen la misma

dirección, con el fin de comprobar que no sobre-escribe el dato, ya que

son memorias diferentes.

siguiente

El proceso para enviar el dato hacia la memoria PC (1) es el

e:

Se presiona la tecla ENTER y se ingresa en el dipswitch el

número OOh, io cual significa que se escribirá en la memoria

I2C (1) sin utilizar la protección de escritura del bloque (80-FF).

Page 137: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

128

Se presiona la tecla ENTER y se ingresa en el dipswitch la

dirección de la localidad en la que se escribirá (4Ch).

Se presiona la tecla ENTER y se ingresa en el dipswitch el

dato a enviarse (56h).

Se presiona la tecla ENTER para ejecutar la operación.

El proceso para enviar ei dato hacia la memoria I2C (2) es el

siguiente:

• Se presiona la tecla ENTER y se ingresa en el dipswitch el

número 02h, lo cual significa que se escribirá en la memoria

I2C (2) sin utilizar la protección de escritura del bloque (80-FF).

• Se presiona la tecla ENTER y se ingresa en el dipswitch ia

dirección de la localidad en la que se escribirá (4Ch).

• Se presiona la tecla ENTER y se ingresa en el dipswitch el

dato a enviarse (4Bh).

• Se presiona la tecla ENTER para ejecutar la operación.

PRUEBA DE LECTURA EN LAS MEMORIAS I2C DESDE LA INTERFAZ

MANUAL.

Esta prueba es el complemento de la anterior, puesto que se

leerá la dirección 4Ch en ambas memorias, con el fin de comprobar sus

contenidos.

El proceso para leer un dato en la memoria I2C (1) es el siguiente:

Page 138: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

129

• Se presiona la tecla ENTER y se ingresa en el dipswitch el

número 01 h, lo cual significa que se leerá la memoria I2C (1).

• Se presiona la tecla ENTER y se ingresa en el dipswitch la

dirección de la localidad que se desea leer (4Ch).

• Se presiona la tecla ENTER para ejecutar la operación.

El resultado obtenido en esta operación es (56h).

El proceso para leer un dato en la memoria I2C (2) es el siguiente:

• Se presiona la tecla ENTER y se ingresa en el dipswitch el

número 03h, lo cual significa que se leerá la memoria I2C (1).

• Se presiona la tecla ENTER y se ingresa en el dipswitch la

dirección de la localidad que se desea leer (4Ch).

• Se presiona la tecla ENTER para ejecutar la operación.

El resultado obtenido en esta operación es (4Bh).

Con estas dos pruebas se confirma el acceso independiente que

tiene el microcontrolador hacia las dos memorias, utilizando únicamente

las dos líneas que componen el bus.

Page 139: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

130

PRUEBA DE ESCRITURA EN LA MEMORIA SERIAL DE 4 LINEAS

DESDE LA INTERFAZ MANUAL.

Esta prueba se realizará tanto en 8 bits como en 16 bits. En 8 bits

se enviará el dato 34h hacia la localidad 70h y en 16 bits se enviará el

dato 45CAh hacia la localidad 1 Fh.

El proceso para enviar un dato de 8 bits hacia la memoria serial

de 4 líneas es el siguiente:

• Se presiona la tecla ENTER y se ingresa en el dipswítch el

número 04h, lo cual significa que se escribirá en la memoria

serial de 4 líneas configurada a 8 bits.

• Se presiona la tecla ENTER y se ingresa en el dipswitch la

dirección de ¡a localidad en la que se escribirá (70h).

• Se presiona la tecla ENTER y se ingresa en e! dipswitch el

dato a enviarse (34h).

• Se presiona la tecla ENTER para ejecutar la operación.

El proceso para enviar un dato de 16 bits hacia la memoria serial

de 4 líneas es el siguiente:

• Se presiona la tecla ENTER y se ingresa en el dipswitch el

número OCh, lo cual significa que se escribirá en la memoria

serial de 4 líneas configurada a 16 bits.

• Se presiona la tecla ENTER y se ingresa en el dipswitch la

dirección de la localidad en la que se escribirá (1Fh).

Page 140: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

131

Se presiona la tecla ENTER y se ingresa en el dipswitch los

bits menos significativos del dato a enviarse (CAh).

Se presiona la tecla ENTER y se ingresa en el dipswitch los

bits más significativos del dato a enviarse (45h).

Se presiona la tecla ENTER para ejecutar la operación.

PRUEBA DE LECTURA EN LA MEMORIA SERIAL DE 4 LINEAS

DESDE LA INTERFAZ MANUAL

Esta prueba es el complemento de la anterior, puesto que se

leerá los datos tanto en 8 bits como en 16 bits.

El proceso para leer un dato de 8 bits en la memoria serial de 4

líneas es el siguiente;

• Se presiona la tecla ENTER y se ingresa en el dipswitch el

número 05h, lo cual significa que se leerá la memoria serial de

4 líneas, configurada en 8 bits.

• Se presiona la tecla ENTER y se ingresa en el dipswitch la

dirección de la localidad que se desea ieer (70h).

• Se presiona la tecla ENTER para ejecutar la operación.

El resultado obtenido en esta operación es (34h).

El proceso para leer un dato de 16 bits en la memoria serial de 4

líneas es el siguiente;

Page 141: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

132

Se presiona la tecla ENTER y se ingresa en el dipswitch el

número ODh, io cual significa que se leerá la memoria serial de

4 líneas, configurada en 16 bits.

Se presiona la tecla ENTER y se ingresa en el dipswitch la

dirección de la localidad que se desea leer (1 Fh).

Se presiona la tecla ENTER para ejecutar la operación.

El resultado obtenido en esta operación es (45CAh).

Con estas dos pruebas comprobamos las operaciones más

importantes sobre el bus serial de 4 líneas, tanto en 8 bits como en 16

bits.

PRUEBA DE ESCRITURA EN LAS MEMORIAS I2C DESDE LA

INTERFAZ DEL COMPUTADOR.

Las operaciones de escritura más importantes que se realizan

desde la interfaz del computador son las que utilizan un archivo *.HEX

para enviarlo completamente a la memoria. Realizaremos esta operación

en las dos memorias con archivos *,HEX diferentes.

Las líneas que conforman el archivo *.HEX tienen 9 caracteres

de prefijo y 2 caracteres al final que sirven para el chequeo (checksum).

Cada línea tiene el siguiente formato:

:BBAAAATTHHHH....HHHCC

Page 142: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

133

donde

BB - Representa el número de bytes de datos que aparecen

en la línea.

AAAA - Representa la dirección inicial en donde se guardan los

datos.

TT- Son dos dígitos que siempre aparecen en cero '00',

excepto al final del archivo, donde toman el valor de uno

'01'.

HH - Dos dígitos hexadecimales que representan los datos.

CC - Dos dígitos hexadecimales compuestos por la "suma de

dos" de todos los bytes de datos utilizados para el

chequeo (checksum).

El proceso para enviar e! contenido de un archivo *.HEX hacia la

memoria PC (1) es el siguiente:

• Se hace un "click" en el menú SELECCIONAR MEMORIA y se

escoge la opción que indica "Memoria I2C (1)".

Page 143: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

134

í I

: O" "= ^'^ r-^r

En la siguiente ventana se escogerá la opción EEPROM, con

el fin de escribir completamente en la memoria (sin protección

de escritura).

Jof

1

r

i•^

í

r

r

t "

@IB^MÍí * r- s__ _,

/-^flOM "

-v, >(.

i^QKPRDi *^ "~í, fc

r:* ,*-^ ,

" ' -

| ¿eptar _ j-< r- *

S©d

=r

-

M

-

TT-r-i- Tf "**rrn" M — "i — rr~T -t-¡n'i^P^--J?rtr-t?-*

•~ "~ ""

' 'ÍT^** •TJ.-r --.,-—, -, ™-,

No permite *etcfiMr en elbkx ieí -FF}(PlnWPwALTD)

Permrte escribir en toda lamemoria(PtnWPenBWG)

_*^, „ „ ¡i ^ _

-

w j j £ancete¿-* -

i-t "trf •

i:

ases

2fl

1f"

|

i.;

-

En la siguiente ventana se escoge la operación, en este caso

"ESCRIBIR EN LA MEMORIA".

Page 144: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

135

+Z.~ |

' proceso a eísctwaree cofite memoria t2D

Escribir en fe Memoria

¿J ¿e* fe Memoria

Después seleccionamos la operación "ENVIAR DESDE

ARCHIVO *.HEX".

Enviar un dato a una dirección específica de la'

*- j~ Enviar má* de yn dato hacia fe memoria" en'-f íqcalídadeá sucesivas (hasta 8 datos].

í f Q*- Enviar el^jísmo daío a loda Ja mempría. ~

Page 145: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

136

Abrimos el archivo deseado, por ejemplo el archivo

PRUEBA1.HEX.

:1 00000005800830403051808830403054708830460:10001000030568OB8304A305B70883050304000A1B:1 00020008305030431 OOC305fl3045500e3050304E9:1 0003000880083050304040083050304800083 051 O:10004000fl304D50083050304E00083050304FOQ05E:1000500083050304540BC3050304600BC30503047F:100060009308830503050000830503051100830525:1 0007 00003052200830503 0551 00830503058FOAD8:1 0008 000830503 0599 OftC305fl305fi40AC3Q5fl305CF:10009 OOOB20ñC305fi305D10AC3 05fi3 05F30flC3 0524:1000ñ 000A3 05 4COBC3 05fi3 057DOBC305fi3 0593 OB4B:1000BOOOC305A305B90B080C2500400005000FOC73:1 0008 00002 00640063 0001 OC3F006A 000405 OCOCF0:1000D0003D007F007EOOfi404020C 250066 00000C99:1000E00006 0003 OC 250008 082500FFOC 06 00140C6C:1000F0002400800C27 006 008 07 0083 06820063 0737:1 001 0000820055095209 0400FFOC 02008404040528:100110007F000404C706230B800623eB2B096ñ061B:10012000830011022000040284040405FD02830068:1 0013 00004041402C404040538 00040452 097406D7:10014000Efl057407E0047404F4028BOfl020C250eF1:1001500036070FOO 08 0826000008 0600B3001 00884:1 0016000260000080600150230000409340952096B:1001700049094609230BF402D300020C250036076D:10018000C600080C2600000C0600COQ0100826003D:1 0019 000000C 06 0015022F 0017 02340001 0952 0955:10010 0004909460923OBF402E80002082500040C55:1 001B 00026 000008 06 0015023 00017 0236 0018 OC4D:1 0018 000240016 09 07 0919 09520949 0946 0923 OB9 O:00000001FF

Debido a que el archivo es demasiado grande para el tamaño

de la memoria, se le pregunta al usuario si desea descargar en

el buffer todos los datos posibles. Para esta prueba se

respondió SI.

Page 146: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

137

EtarchÍYD C:\Ffuebi jíettíasiado gra*i4e paía; ettai&año d& lamentarla»Desea descargar en el buffet toáoslos datcís posibles dé

.§Í_J Ko"

Cuando el buffer se encuentra lleno con los datos que se

desean enviar, se presiona el botón "ENVIAR31.

El proceso para enviar el contenido de un archivo *.HEX hacia la

memoria I2C (2) es el mismo, pero en este caso se abrirá el archivo

PRUEBA2.HEX, con el fin de que las memorias reciban diferentes datos.

Page 147: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

138

:1000000075813075890112Q39B756600756DC87529:100010006C9875óBE075ófl907569ft07568887567EE:1 00020008 078737EOD20B 0771203B12003 F7F608B5:10003OOODEF378737E0DD5730EE574339206857505:100040007012Q0C802009FD5730C8575Ó4857774A3:1 00050001200A202009FD5730BE5743392071281CO:1000Ó000B702009FD57311E5743392Q785756485D7:1 0007 00077741202C302009FD5730BE57 433920705:10008 00012021B02009FD5730BE57433920712 0214:1 0009 0006402009FD57308E57433920712029B 0235:1000fl0000025857ó73E5762401F575ñ20692927592:1000B 0086 F737570021200DC756F75757 001120038:1000C000DC12018E12013F22A20Ó9292756F7ÓE534:1000D000702402F5701200DC12013F22ñ96FE9259D:1000E00070F56E1200Fft8772l2010F12011D2002C4:1Q00F000EB12016109E9B56EED22D290D291C290Ó6:10010000C29122EóF5711201ó808D9F702010C7ft52:1001100008E572339290D291C291DfiF722D2907Afló:10012Q00FF30900BDfiFB12013F120152D20222C2C1:1001300002D291C29122C290D291C291D29022C297:100140009OD291D290128149227C1B7DFFDDFEDC12:10015000Ffi2290ft000740EF0227F2F120149DFFBDB: 1001 ó 0002274009 Ofl000F022E571540F90fl003F0DB:10017000E57154FOC490fi002FOE566540F90A00120:10018000F0E56654FOC490fi000F012015922ñB646F:1Q0190007ft08D291fi29033C291DflF7120136F57142:1001ft0001203D012016812039BDBE5D290D291C2F8:1 001B0009122020792972212020F12036985697297:1001C000756503120302200709E577337565070299

PRUEBA DE LECTURA EN LAS MEMORIAS PC DESDE LA INTERFAZ

DEL COMPUTADOR.

La operación de lectura más importante que se realiza desde la

interfaz del computador es "Leer toda la memoria", ya que también nos

permite almacenar el contenido de esta memoria en un archivo *.HEX

El proceso para leer todo el contenido de la memoria I2C (1) es el

siguiente:

• Se hace un "click" en el menú SELECCIONAR MEMORIA y se

escoge la opción que indica "Memoria I2C (1)".

Page 148: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

139

En la siguiente ventana se puede escoger cualquiera de las

dos opciones, ya que no afectan la operación de lectura.

En la siguiente ventana se escoge la operación, en este caso

"LEER LA MEMORIA".

r C

O Escríbtrertia Memoria**• —

mmtaw.WM-

í^leerlaMemonfit* '

lá Memoria

Después seleccionamos la operación "LEER TODA LA

MEMORIA".

Page 149: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

140

t leer una o varías localidades-délamemoria

¿eeptar

Cuando el buffer se encuentra lleno con los datos que llegaron

desde la memoria, es posible generar un archivo *.HEX,

presionando el botón que indica esta opción.

Bufíer de tettura

0123456789ABCDEF10J1

5B

GbC304A3051COBC304A30547OBC304A3.n.5

ir í-í¿&&-'•'%;&ftf^Z

••;'&

w*%&•&¿~>%&Ws¿,

:~í¿&~s

iftÍU^

•&¿>¡:

ijjJF

'£&••

luz"$&

u!

Page 150: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

141

Escogemos el nombre de dicho archivo, por ejemplo

RESPALD01.HEX.

:100000005B0ftC30í|ft3 051 C0BC304fl3 0547 0BC3046D:10001000A305680BC304fi305B70BC305ft304000A1B:10002000C305ft304310flC305fl304550ftC305fl304E9:10003000880flC305fl304fi40AC305ft304C00ftC30510:1000400GA304D50AC305ft304E00ftC305fl304FA0fl5E:10005000C305A304540BC305A3046AOBC305A3047F:1000600093OBC305A305000AC305A30511OAC30525:1 0007 000A305220AC3 05A3 0551 OAC305A3058FOAD8:1 0008 000C305A3 0599 0AC305A305A40AC305A305CF:1 0009 000B20AC305A305D10ftC305A305F30AC3 0524:1000A000ft3054COBC305A3057D0BC305A305930B4B:1000B000C305ñ305B90B080C2500400005000F0C73Z100GC 00002 00Ó400Ó3 0001 0C3F00ón00fi4 05 0CÜCF0:1000D0003D007F007E00ñ404 02 0C 250066 00000C99:1000E0000600030C2500080C2500FFOC0600140C6C:1000F0002U00800C27 006 00C 07 0083 06820fl63 0737100000001FF

El proceso para leer el contenido de la memoria I2C (2) es el

mismo, pero en este caso se guardará en el archivo RESPALD02.HEX.

:1000000075813075890112039B756600756DC07529:100010006C98756BE0756fl907569ft07568887567EE:1 00020008 078737EOD20B 0771203B12003F7F608B5:10003000DEF378737EODD5730EE574339206857505:10004000701200C802009FD5730C857564857774ñ3:1 0005 0001200ft202009FD5730BE5743392071201C0:10006000B702009FD57311E57433920785756485D7:1000700077741202C302009FD5730BE574339207fl5:1 0008 00012021B02009FD5730BE57 4339207120214:1 0009 0006402009FD57308E57 433920712 029B 0235:1000fl0000025857673E5762401F575ñ20692927592:1000B0006F73757 0021200DC756F75757 001120038:1000C000DC12018E12013F22ñ2069292756F76E534:1000D000702402F5701200DC12013F22fl96FE9259D:1000E00070F56E1200Ffi87721201 0F12011D2002C4:1000F000EB12016109E9B56EED22D290D291C29066:00000001FF

Page 151: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

142

Como puede observarse al comparar los archivos *.HEX, la

memoria I2C (1) y la memoria I2C (2) han recibido todos los datos posibles

desde los archivos PRUEBA1.HEX y PRUEBA2.HEX, lo cual confirma el

perfecto funcionamiento desde la ¡nterfaz del computador.

Page 152: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

143

CAPITULO VI

ANÁLISIS ECONÓMICO

A continuación se desglosa el precio de cada uno de los elementos que

conforman el módulo:

CANT. COMPONENTE

1

2

1

4

1

6

2

1

1

2

1

Caja y placa de acrílico

Tarjetas de fibra de vidrio

(ruteadas)

Microcontrolador PIC16C57

DISPLAYs de 7 segmentos

Max 232

Cl 74LS373

Cl 74LS244

Cl 74LS138

Cl 74LS04

Memorias 24C02A

Flete para las memorias

P. UNITARIO

(sucres)

340000

P. TOTAL

(sucres)

340000

120000

60000

7000

30000

4500

4500

3500

3000

4000

50000

240000

60000

28000

30000

27000

9000

3500

3000

8000

50000

Page 153: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

144

1

1

1

1

2

5

1

43

12

15

1

2

2

2

1

1

2

3

2

1

2

3

Memoria 93LC46

Puente rectificador (2A)

Condensador de 3300 uF

Cl LM7805

Diodos 4007

Condensadores 1uF

Condensador 0.1 uF

Resistencias de 270

Resistencias de 10k

LEDs

Cristal oscilador

Condensadores de 15 pF

Correas de 40 líneas y

conectores.

Interruptores de palanca

Zócalos de 20 pines

Zócalos de 18 pines

Zócalo de 14 pines

Zócalo de 28 pines

Zócalos de 24 pines

Zócalos de 8 pines

Conectores de 2 pines

Conector de 3 pines

Teclas

Conectores DB-9

Varios

4500

2800

2000

5000

800

1000

800

200

200

800

5000

800

15000

2000

1500

1500

1200

3000

3000

1500

2500

2500

5000

2500

4500

2800

2000

5000

1600

5000

800

8600

2400

12000

5000

1600

30000

16000

30000

27000

16800

3000

6000

4500

5000

2500

10000

7500

10000

TOTAL 1018100

Page 154: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

145

Para referencias futuras, se convertirá este costo, a dólares.

Costo total en dólares: $ 198,5

Page 155: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

146

CAPITULO Vil

COMENTARIOS Y CONCLUSIONES

COMENTARIOS

Son interesantes todas las posibilidades que nos brinda el

protocolo PC, ya que en la actualidad existen cientos de componentes

que utilizan este protocolo como conversores A/D, conversores D/A,

controladores de LCD, memorias, procesadores de audio y vídeo,

sintetizadores de voz, etc.

Aunque no resulta tan complicada la implementación de una

interfaz PC, ya existen varios microcontroladores con una interfaz propia,

lo que hace más sencillo su manejo.

El microcontrolador PIC16C57 resulta fácil de programar, debido

a su corto número de instrucciones, pero existe una marcada desventaja

al no poder realizarse más de dos llamadas anidadas a sub-rutina.

Otro inconveniente dentro de la programación del

microcontrolador, es la necesidad de indicar mediante instrucciones, la

página a la que se dirige cualquier salto en el programa. Este punto es

quizá el que introduce mayor cantidad de errores, puesto que en caso de

no seleccionar la página a la que se dirige el salto, el programa

Page 156: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

147

simplemente llega a una localidad desconocida, cambiando totalmente el

sentido del mismo.

La ventaja más importante que tiene el programa MPLAB, es la

interfaz al usuario en ambiente "WINDOWS", ya que esto permite obtener

de una manera muy sencilla toda la información necesaria durante la

simulación del programa.

CONCLUSIONES

En comparación con un sistema de comunicación por puerto

paralelo, el protocolo I2C requiere mucho menos alambrado y por lo tanto

menor cantidad de conexiones, lo que permite una disminución

considerable del tamaño de la tarjeta en donde se aplique. Además los

dispositivos con este tipo de interfaz se caracterizan por ser muy

pequeños, ya que utilizan un bus de 2 líneas en vez de uno de 8, como

ejemplo están las memorias utilizadas.

Cada dispositivo conectado al bus posee una única dirección, así

todos pueden recibir la dirección esclava, pero sólo uno responde a ella,

de esta manera se evita la necesidad de un seleccionamiento previo del

dispositivo con el que se desea intercambiar información.

Tanto el bus I2C como el bus serial de 4 líneas resultan bastante

rápidos, a pesar de su característica serial, puesto que permiten una

transmisión de hasta 400 Kbits por segundo, lo cual es suficiente para la

mayoría de tareas de control.

Page 157: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

148

Este bus se utiliza normalmente para la comunicación entre un

maestro y sus esclavos dentro de una misma tarjeta, ya que las

distancias de enlace son muy pequeñas, lo que nos indica que no es

adecuado para distancias superiores a una pocas decenas de

centímetros.

El tipo de comunicación que se utiliza en este bus es HALF-

DUPLEX, debido a que los maestros se encargan de generar todas las

señales y los esclavos sólo responden cuando son requeridos.

Una característica importante en el bus I2C es que cualquier

dispositivo puede utilizar la línea SCL como una línea de control, ya que

después de recibir un dato y reconocerlo, puede mantener en BAJO esta

línea, provocando un estado de espera en el maestro que controla el bus.

Esta acción le permitirá al dispositivo realizar una operación interna

necesaria para continuar la transferencia de datos. Aunque no todos los

dispositivos están diseñados para esto.

Los recursos de hardware que se requieren en un

microcontrolador para implementar el protocolo I2C, son simplemente dos

pines para formar el bus, pero, los recursos de software que se requieren,

dependen de la complejidad de la interfaz, es decir, si se utilizará

arbitraje, sincronización, direccionamiento con 10 bits, etc.

En una memoria con protocolo I2C es muy poco probable la

escritura accidental de información errónea, ya que todos los datos deben

ser precedidos por una única dirección que reconoce cada memoria. En

el caso de la memoria serial de 4 líneas esta posibilidad es prácticamente

imposible, debido a que después de cada transferencia, se utiliza la

operación EWDS que desactiva todo tipo de operación de escritura y

borrado sobre la memoria.

Page 158: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

149

Después de trabajar con la interfaz Í2C y con la interfaz serial de

4 líneas, puedo decir que a pesar de que esta última trabaja a una

altísima velocidad, la interfaz I2C es mucho más completa, puesto que

permite colgar al bus varios dispositivos que no requieren más que dos

líneas para comunicarse, mientras que el protocolo serial de 4 líneas solo

puede comunicarse con un dispositivo a la vez y requiere más recursos

de hardware.

El módulo construido en la presente tesis permitirá a los

estudiantes, y en general a cualquier persona interesada en este tipo de

protocolos comprobar las virtudes que ofrecen este tipo de memorias,

además de utilizarlo como un programador de memorias que poco a poco

ingresarán con más fuerza a aplicaciones que requieran almacenamiento

de datos con limitado espacio para los elementos. También será un

respaldo bibliográfico muy detallado para desarrollar a futuro aplicaciones

concretas utilizando diferentes dispositivos con interfaz I2C.

Page 159: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

150

BIBLIOGRAFÍA

1) EMBEDDED CONTROL HANDBOOK, Microchip Technology,

1994/1995.

2) NON-VOLATILE MEMORY PRODUCTS DATA BOOK. Microchip

Technology, 1995/1996.

3) INTEGRATED CIRCUITS DATA HANDBOOK. Philips Semiconductor,

1992.

4) PIC 16/17 MICROCONTROLLER DATABOOK. Microchip Technology,

1994/1995.

5) LINEAR DATABOOK. National Semiconductor Corporation, 1982.

6) MAXIM HANDBOOK, Maxim, 1995.

7) SIGNETICS LOGIC-TTL DATA MANUAL. Signetics Corporation,

1978.

8) MPLABTUTQRIAL, Microchip Technology, 1997.

REFERENCIAS DE INTERNET

1) http://www.microchip.com

2) http://www.philips.com

Page 160: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

151

ANEXOS

ANEXO 1

INSTRUCCIONES DEL MICROCONTROLADOR PIC16C57.

ANEXO 2

CARACTERÍSTICAS DEL MICROCONTROLADOR.

ANEXO 3

CARACTERÍSTICAS DE LOS CIRCUITOS INTEGRADOS UTILIZADOS

EN EL MODULO.

ANEXO 4

CARACTERÍSTICAS DE LAS MEMORIAS 24C02A Y 93AA46

Page 161: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

oí*-! i OKII

Page 162: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

ADDWF: Suma el contenido del registro de trabajo (W) con e! registro (f).

Si el operando d (destino) es "O" e! resultado es almacenado en

e! registro W, pero sí es "1" el resultado es almacenado en el

registro (f).

Sintaxis: ADDWF f,d

Operación: (w)+(f)-»(dest¡no)

Bits afectados: C ní" 7

Código: | 0001 | lldf I ffff I

Palabras: 1

Ciclos 1

Ejemplo: ADDWF FSR.O

Antes de la instrucción: W=17H y FSR=C2H

Después de la instrucción: W=D9H y FSR=C2H

ANDLW: Se hace un "Y" lógico entre el contenido del registro W y un

numero de 8 bits colocado por el usuario (k), el resultado es

almacenado en e! registro W.

Sintaxis: ANDLW k

Operación: (w) AND (k)-)-(W)

Bits afectados: Z

código: | 1110 | kkkk ¡ kkkk |

Palabras: 1

Ciclos 1

Ejemplo: ANDLW 5F

Antes de la instrucción: W=A3H

Después de ia instrucción: W-03H

ANDWF: Se hace un "AND" lógico entre el contenido del registro W y el

registro (f). Si el operando d (destino) es "O" e! resultado es

almacenado en el registro W, pero si es "1" el resultado es

almacenado en el registro (f).

Page 163: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Sintaxis: ANDWF f,d

Operación: (w) AND (f)-»(destino)

Bits afectados: Z

código: i 0001 i oidf i

Palabras: 1

Ciclos 1

Ejemplo: ANDWF FSR.1

Antes de la instrucción: W=17H, FSR=C2H

Después de la instrucción: W=17H, FSR=02H

En el bit b (Posición b) del registro (f) se coloca un "O" lógico.

Sintaxis: BCF f,b

Operación: 0^(f<b>)

Bits afectados: Ninguno

código: | oíoo | bbbf ¡ ffff |Palabras: 1

Ciclos 1

Ejemplo: BCF FLAG_REG,7

Antes de ía instrucción: FLAG_REG=C7H

Después de ía instrucción: FLAG_REG-47H

En el bit b (Posición b) del registro (f) se coloca un "1" lógico.

Sintaxis: BSF f,b

Operación: 1 ->(f<b>)

Bits afectados: Ninguno

cód'9°: | 0101 | bbbf | fíff ¡

Palabras: 1

Ciclos 1

Ejemplo: BSF FLAG_REG,7

Page 164: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Antes de la instrucción: FLAG REG-OAH

Después de la instrucción: FLAG_REG-8,—PAU— v\ i

Si el bit b (posición b) de! registro (f) es un "O" lógico, la

siguiente instrucción es saltada, caso contrario, se ejecuta la

siguiente instrucción. Cuando la instrucción es saltada, una

instrucción NOP se ejecuta, por lo que la instrucción completa

dura dos ciclos de máquina.

Sintaxis: BTFSC f,b

Operación: Salta si (f<b>)=0

Bits afectados: Ninguno

código:

Palabras:

Ciclos

Ejemplo:

Q.UO | bbbf | fffF [

1(2)

HERE BTFSC FLAG.1

GOTOHERE

GOTO THERE

THERE

Antes de la instrucción: PC=(HERE)

Después de la instrucción: Si FLAG<1>=0

PC=(THERE)

SiFLAG<1>=1

PC=(HERE)

BTFSS: Si el bit b (posición b) del registro (f) es un "1" lógico, la

siguiente instrucción es saltada, caso contrario, se ejecuta la

siguiente instrucción. Cuando la instrucción es saltada, una

instrucción NOP se ejecuta, por lo que la instrucción completa

Page 165: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

dura dos ciclos de máquina.

Sintaxis: BTFSS f,b

Operación: Salta si (f<b>)=1

Bits afectados: Ninguno

código:

Palabras:

Ciclos

Ejemplo:

0111 bbbf1

1(2)

HERE

CALL:

THERE

Antes de la instrucción: PC=(HERE)

Después de la instrucción: Si FLAG<1>=0

PC=(HERE)

SiFLAG<1>=1

PC=(THERE)

Llamada a sub-rutina. La dirección (PC+1) es colocada en el

Stack, los ocho bits que forman el número (k) son colocados en

los ocho bit menos significativos del PC <7:0>] los dos bits más

significativos del PC son cargados con los bits <6:5> del registro

STATUS y el bit <8> de! PC es borrado.

Sintaxis: CALL k

peración: (PC)+1 -> Top of Stack

(STATUS<6:5>)-»PC<10:9>

Bits afectados: Ninguno

cód'9°: | 1001 | Ickkk ¡ kkkk j

Page 166: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Palabras:

Ciclos

Ejemplo:

1

2

CALL

THERE

Antes de la instrucción: PC=(HERE1

Después de la instrucción: PC=(THERE)

TOS=(HERE+

CLRF: Se borra eí contenido del registro (f) y se coloca un "1" lógico en

el bit Z.

Sintaxis: CLRF f

Operación: OOH-^(f)

Bits afectados: Z

código: r

Palabras:QOOO ..011f

Pi

1

1

íjemplo: CLRF FLAG_REG,7

Antes de la instrucción: FLAG_REG-5AH

Después de la instrucción: FLAG_REG=OOH

Z="1"

CLRW: Se borra e! contenido del registro de trabajo (W) y se coloca un

"1" lógico en el bit Z.

Sintaxis: CLRW

Operación: OOH^(W)

Bits afectados: Z

Page 167: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Código: j QQOQ ¡ QiQQ ¡ QQQQ ¡

Palabras; 1

Ciclos 1

Ejemplo: CLRW

Antes de la instrucción: W=5AH

Después de la instrucción: W^OOH"7»» 4 »

WDT: Esta instrucción re-inicia tanto el WDT como la escala, si ésta

estaba asignada al WDT y no al Timer O, además coloca un "1"

lógico en los bits TO y PD.

Sintaxis: CLRWDT

Operación: OOH-^WDT

0-»EscaIa de! WDT (si ésta fue asignada)

1->TO

1-»PD

Bits afectados: TO, PD

QOQQ OQQQ OIQQ

Palabras: 1

Ciclos 1

Ejemplo: CLRWDT

Antes de la instrucción: Contador WDT=?

Después de !a instrucción: Contador WDT-OOH

Escala WDT^O

T0="1"

PD="1"

"COMF: Se complementa el contenido del registro (f). Si el operando d

(destino) es "O" el resultado es almacenado en el registro W,

pero si es "1" el resultado es almacenado en el registro (f),

Sintaxis: COMFf.d

Page 168: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Operación: CPL(f)-^(destino)

Bits afectados: Z

código: 0010Palabras: 1

Ciclos 1

Ejemplo: COMF REG1,0

Antes de ia instrucción: REG1-13H

Después de la instrucción: REG1=13H

W=ECH

Decrementa en uno el registro (f), Si el operando d (destino) es

"O" e! resultado es almacenado en el registro W, pero sí es "1" el

resultado es almacenado en el registro (f).

Sintaxis: DECF f,d

Operación: (f) - 1-»(destino)

Bits afectados: Z

código:

Palabras:

Ciclos

Ejemplo:

Íii

11DECF

Ldf ¡ ffif ¡

CNT.1

Antes de la instrucción: CNT=01 H

Z="0"

Después de la instrucción: CNT=OOH

DECFSZ: Decrementa en uno el registro (f). Sí el operando d (destino) es

"O" el resultado es almacenado en el registro W, pero si es "1" el

resultado es almacenado en el registro (f), además si el

resultado es cero, la siguiente instrucción es saltada y una

instrucción NOP se ejecuta, pero si el resultado es diferente de

cero la siguiente instrucción es ejecutada.

Page 169: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Sintaxis: DECFSZ f,d

Operación: (f) - 1 -(destino); salta si e! resultado es cero

Bits afectados: Ninguno

código: | 0010 | iidf fffi

Palabras:

Ciclos

Ejemplo:

11(2)

HERE

CONTINUÉ

DECFSZ CNT.1

GOTOLOOP

Antes de la instrucción: PC^(HERE)

Después de la instrucción: CNT=CNT-1

Si CNT=0,

PC=(CONTÍNUE)

Si CNT<>0

PC=(HERE+1)

GOTO: Esta instrucción produce un salto incondicional. Los nueve bits

que forman el número k son cargados en los nueve bits menos

significativos del PC y los dos bits más significativos de! PC son

cargados con los bits <6:5> del registro STATUS.

Sintaxis: GOTOk

Operación: k-»PC<8:0>

STATUS<6:5>->PC<1 0:9>

Bits afectados: Ninguno

IQlk kkkk kkkk

Palabras:

Ciclos

Ejemplo:

2

GOTO THERE

Page 170: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Antes de la instrucción: PC=?

Después de la instrucción: PC=(THERE)

INCF: Incrementa en uno el registro (f). Si e! operando d (destino) es

"O" el resultado es almacenado en el registro W, pero si es "1" el

resultado es almacenado en el registro (f).

Sintaxis: INCF f,d

Operación: (f) + 1-»(destino)

Bits afectados: Z

código: I 0010 i iodf fiEffPalabras: 1

Ciclos 1

Ejemplo: INCF CNT.1

Antes de la instrucción: CNT=FFH

Z="0"

Después de la instrucción: CNT-OOH

Z="1"

INCFSZ: Incrementa en uno el registro (f). Si el operando d (destino) es

"O" el resultado es almacenado en e! registro W, pero si es "1" el

resultado es almacenado en el registro (f), además si el

resultado es cero, la siguiente instrucción es saltada y una

instrucción NOP se ejecuta, pero si el resultado es diferente de

cero la siguiente instrucción es ejecutada.

Sintaxis: INCFSZ f,d

Operación: (f) + 1 -(destino); salta si el resultado es cero

Bits afectados: Ninguno

Palabras: 1

Ciclos 1(2)

Ejemplo: HERE INCFSZ CNT.1

Page 171: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

GOTOLOOP

CONTINUÉ

Antes de ia instrucción: PC=(HERE)

Después de la instrucción: CNT-CNT+1

Si CNT=0,

PC=(CONTINUE)

Si CNT<>0

PC=(HERE+1)

IORLW: Se hace un "OR" lógico entre el contenido del registro W y un

numero de 8 bits colocado por ei usuario (k), e! resultado es

almacenado en el registro W.

Sintaxis: IORLW k

Operación: (w) OR (k)-KW)

Bits afectados: Z

código: I 1101 I kkkk I kkkk 1* * * ...Palabras: 1

Ciclos 1

Ejemplo: IORLW 35

Antes de la instrucción: W=9AH

Después de la instrucción: W-BFH

ÍORWF: Se hace un "OR" lógico entre el contenido del registro W y

cualquiera de los registros (f). Sí el operando d (destino) es "O" el

resultado es almacenado en el registro W, pero sí es "1" el

resultado es almacenado en el registro (f).

Sintaxis: ÍORWF f,d

Operación: (w) OR (f)^-(destino)

Page 172: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Bits afectados: Z

código: 0001 oodfPalabras: 1

Ciclos 1

Ejemplo: IORWF RESULT.O

Antes de la instrucción: W-91 H,

RESULT=13H

Después de la instrucción: W=93H,

RESULTA 3H

MOVF: Mueve el contenido del registro (f) al destino d. Si el operando d

(destino) es "O" el resultado es almacenado en el registro W,

pero si es "1" el resultado es almacenado en el registro (f).

Sintaxis: MOVF f,d

Operación: (f)-»(dest¡no)

Bits afectados: Z

OPIOPalabras: 1

Ciclos 1

Ejemplo: MOVF FSR,0

Antes de la instrucción: FSR=20H, W=?

Después de la instrucción: FSR=20H, W=20H

MOVLW:Carga el numero de 8 bits colocado por el usuario (k) en e!

registro de trabajo W,

Sintaxis: MOVLW k

Operación: (k)->(W)

Bits afectados: Ninguno

11QQ kkkk kkkk

Palabras: 1

Ciclos 1

Page 173: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Ejemplo: MOVLW 5A

Antes de la instrucción: W=?

Después de la instrucción: W-5AH

MOVWF: Mueve el contenido de! registro de trabajo W al registro (f).

Sintaxis: MOVWF f

Operación: (W)->(f)

Bits afectados: Ninguno

códi9°: | oooo | ooif | m ]

Palabras: 1

Ciclos 1

Ejemplo: MOVWF TEMP_REG

Antes de la instrucción: TEMP_REG=FFH

W=4FH

Después de la instrucción: TEMP_REG=4FH

W=4FH

NOP: No realiza ninguna operación.

Sintaxis: NOP

Operación: No realiza operación

Bits afectados: Ninguno

Código: [ QQOQ | QOQQ | 0000 |

Palabras: 1

Ciclos: 1

Ejemplo: NOP

OPTION: Mueve el contenido de! registro de trabajo (W) al registro

especia! OPTION.

Sintaxis: OPTION

Operación: (W)-XOPTION)

Bits afectados: Ninguno

Page 174: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

código:

Palabras:

Ciclos

Ejemplo:

1

1

OPTION

Antes de la instrucción: W=07H

Después de la instrucción: OPTION=07H

TLW: El registro de trabajo W es cargado con fos ocho bits colocados

por el usuario (k), además el PC es cargado con el registro TOS

(Top of stack) para la dirección de retorno.

Sintaxis: RETLWk

Operación: (k)-^(W)

TOS-»PC

Bits afectados: Ninguno

código: | 1000 | íckkk | kkkk "

Palabras: 1

Ciclos 2

Ejemplo: DIR1 CALL TABLA

RÉTLW O

Antes de la instrucción: W=? , PC-?

Después de la instrucción: W=0, PC=(DIR1+1)

Se rota el contenido del registro (f) un bit hacia la izquierda a

través de la bandera del carry (C). Si el operando d (destino) es

"O" e! resultado es almacenado en el registro W, pero si es "V el

Page 175: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

resultado es almacenado en el registro (f).

Sintaxis: RLF f,d

Operación:-Tc]«-| Registro CT h

Bits afectados: C

código: j~

Palabras:

Ciclos:

Ejemplo:

ooii ..oidf1

1

RLF REG1,G

Antes de la instrucción: REG1 =C1110 0110'b

C="0"

Después de la instrucción: REG1 ='1110 0110'b

W='11001lOOfb

Se rota el contenido de! registro (f) un bit hacia la derecha a

través de la bandera del carry (C). Si el operando d (destino) es

"O" el resultado es almacenado en el registro W, pero si es "1" el

resultado es almacenado en el registro (f).

Sintaxis: RRF f,d

Operación:-He Registro "f

Bits afectados: C

código: f

Palabras:

Ciclos:

Ejemplo:

0011. I . Q O d f . J

1

1

RRF REG1.0

Antes de la instrucción: REG1='111G 0110'b

Después de la instrucción: REG1 ='1 1 1 0 01 1 0'b

W=f0111 0011 Jb

Page 176: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

C="0"

SLEEP: El procesador es puesto en s\o "Dormir", parando ei

oscilador. Se coloca un "1" lógico en el bit TO, un "O" lógico en

e! bit PD y se borra la escala de! WDT.

Sintaxis: SLEEP

Operación: OOH^WDT

0->Escala del WDT

0->PD

Bits afectados: TO, PD

Código: OQQO QOOO 0011

Palabras: 1

Ciclos 1

Ejemplo:

SUBWF: Resta el contenido del registro de trabajo (W) de! registro (f)

(Con el método de complemento de 2). Si el operando d

(destino) es "O" e! resultado es almacenado en el registro W,

pero si es "1" ei resultado es almacenado en el registro (f).

Sintaxis: SUBWF f,d

Operación; (f) - (W)^(destino)

Bits afectados: C, DC, Z

código: jjooo | iodf | ffff |Palabras: 1

Ciclos 1

Ejemplo 1: SUBWF REG1.1

Antes de la instrucción: REG1=03H

W=02H

C=?

Después de la instrucción: REG1=01H

Page 177: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

positivo)

Ejemplo 2:

cero)

Ejemplo 3:

W=02H

C=1 (Resultado

SUBWF REG1.1

Antes de la instrucción: REG1=02H

W=02H

C=?

Después de la instrucción: REG1-OOH

W=02H

C=1 (Resultado es

SUBWF REG1.1

Antes de la instrucción: REG1=01 H

negativo)

Después de la instrucción: REG1=FFH

W=02H

C=0 (Resultado

SWAPF: Los cuatro bits menos significativos y los cuatro bits más

significativos del registro (f) son intercambiados. Si el operando d

(destino) es "O" el resultado es almacenado en el registro W,

pero si es "1" e! resultado es almacenado en el registro (f).

Sintaxis: SWAPF f,d

Operación: (f<3:0>)^(dest¡no<7:4>)

(f<7;4>)^(destino<3:0>)

Bits afectados: Ninguno

códí9°: 1.0011 I lOdf I fQT I• • .1 I T I ' n i i ni ii m^J

Palabras: 1

Ciclos 1

Page 178: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

Ejemplo 1: SWAPF REG1.0

Antes de la instrucción: REG1=A5H

Después de la instrucción: REG1=A5H

TRIS: Sirve para colocar los puertos (registros 5,6 y 7) en modo de

entrada o salida, para lo cual utiliza el valor contenido en el

registro de trabajo (W). Un "1" lógico en e! pin de! puerto, coloca

a éste en alta impedancia, es decir en modo de entrada y un "O"

lógico saca el dato contenido en e! latch, es decir que se

encuentra en modo de salida.

Sintaxis: TRIS f

Operación: (W)-»(TRIS del registro f)

Bits afectados: Ninguno

código:

Palabras:

Cicíos

Ejemplo 1:

oooo OOQQ

TDICi i \IO PORTA

Antes de la instrucción:

Después de la instrucción: TR!SA=A5H

Entonces:

bítO Entrada

bitl Salida

bit2 Entrada

bit3 Salida

bit4 Salida

bit5 Entrada

bit6 Salida

bit? Entrada

Page 179: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

XORLW: Se hace un "OR Exclusivo" entre el contenido de! registro W y

un numero de 8 bits colocado por el usuario (k), el resultado es

almacenado en el registro W.

Sintaxis: XORLW k

Operación: (w) XOR (k)-KW)

Bits afectados: Z

código: ¡ 1111 | kkkk | kkkk |

Palabras: 1

Ciclos 1

Ejemplo: XORLW AF

Antes de la instrucción: W-B5H

Después de la instrucción: W=1AH

XORWF: Se hace un "OR Exclusivo" entre el contenido del registro W y

cualquiera de los registros (f). Si el operando d (destino) es "O" el

resultado es almacenado en el registro W, pero si es "1" el

resultado es almacenado en el registro (f).

Sintaxis: XORWF f,d

Operación: (w) XOR (f)-^(destino)

Bits afectados: Z

¡ QQQl I IQdf | f£EF |

Palabras: 1

Ciclos 1

Ejemplo: XORWF REG,1

Antes de la instrucción: W=B5H, REG=AFH

Después de la instrucción: W=B5HJ REG=1AH

Page 180: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion
Page 181: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

TABLE 10-1: CROSS REFERENCE OF DEVICE SPECS FOR OSCILLATOR CONFIGURATIONS(RC, XT & 10) AND FREQUENCIES OF OPERATION (COMMERCIAL DEVICES)

ose

RC

XT

HS

LP

PIC16C5X-RC

VDD: 3.0Vto6.2VIDD: 3.3 mA max. at 5. VIPD: 9 MA max, at 3.0 V, WDT disFreq: 4 MHz max.

VDDT 3.0V io 6.25VIDD; 1,8 mAiyp,at5,5VIPD: 0.6 MA typ, ai 3,0 V WDT disFreq; 4 MHz max.

VDD; 4.5Vto5.5VIDD: 9,OmAíyp, at5.5VIPD; 0.6 MA typ, at 3.0 V WDT dfeFreq: 20 MHz. max.

VDD: 2.5Vto6.25VIDD: i5jiAtyp.ata.ov)pp: 0,6 MA typ, at 3,OV, WDT disFreq: 40 kHz max.

P1C16C5X-XT

N/A

VDD; 3.0Vto6.25VIDD: 3.3 mA max. at 5.5VIPD: 9 MA max. at 3.0V, WDT disFreq: 4 MHz max.

WA

VDD: 2.5Vto6.25VIDD: 15MAtyp. atS.OVIPD: 0,6 MA iyp, at 3.0V, WDT disFreq; 40 kHz max*

PIC16C5X-10

N/A

N/A

VDD: 4.5Vto5.5VIDD: lOmAmax. at5.5VIPD: 9 MA max. at 3.0V, WDT disFreq: 10 MHz max.

VDD; 2.5V to 6.25VIDD: 15pAtyp.at3.OVIPD; 0.6 MA typ. at 3,ov, WDT disFreq: 40 kHz max.

The shaded sections indícate oscillator selections which should work by design, but are not tested. It is recommendedthat the user select the device type from infomnation ¡n unshaded sections.

TABLE 10-2: CROSS REFERENCE OF DEVICE SPECS FOR OSCILLATOR CONFIGURATIONS(HS3 LP & JW) AND FREQUENCIES OF OPERATION (COMMERCIAL DEVICES)

ose

RC

XT

HS

LP

PIC16C5X-HS

N/A

N/A

VDD: 4.5Vto5.5VIDD: 20 mAmax. at5.5VIPD: 9 MA max, at 3.0V, WDT disFreq: 20 MHz max.

VDD: 2.5Vto6.25VIDO: 15MAtyp.at3.OVIPD: 0.6 MA typ, at 3.0 V, WDT disFreq: 40 kHz max.

PIC16C5X-LP

N/A

N/A

N/A

VDD: 2.5Vío6.25VIDD: 32 pA max. at 32 kHz, 3.0VIPD: 9 MA max. at 3.0V, WDT disFreq: 40 kHz max.

PÍC16C5X/JW

VDD: 3.0Vto6.25VIDD: 3.3 mA max. at 5.5VIPD: 9 MA max. at 3.0V, WDT disFreq: 4 MHz max.

VDD: 3.0V to 6.25VIDD: 3.3 mA max. at 5.5VIPD: 9 MA max. ai 3.0V, WDT disFreq: 4 MHz max.

VDD: 4.5Vto5.5VIDD: 20 mA max. at 5.5VIPD: 9 MA max. ai 3.0V, WDT disFreq: 20 MHz max.

VDD: 2.5V to 6.25VIDD: 32 MA max. at 32 kHz, 3.0VIPD: 9 MA max. at 3.0V, WDT disFreq: 40 kHz max.

The shaded sections indícate osciliator selections which should work by design, but are not tested. It is recommendedthat the user select the device type from information in unshaded sections.

DS30015N-page56 © 1996 Microchip Technology ínc.

Page 182: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

10.1 PC Characteristics: PIC16C5X-RC, XT, 10, HS, LP (Commercial)

DC Characteristics Standard Operating Condítions (unless otherwise specífied)Power Supply Pins Operating Temperatura 0°C < TA < +70°C

Chara cteristic

Supply VoltagePIC16C5X-RCP1C16C5X-XTPÍC16C5X-10PIC16C5X-HSPIC16C5X-LP

RAM Data Retention Voltage^

VDD Start Voltage to ensurePower-On Reset

VDD Rise Rate to ensurePower-On Reset

Supply Currentt3)PIC16C5X~RC<4>P1C16C5X-XTPIC16C5X-10PIC16C5X-HS

PIC16C5X-LP

Power Down Curren^5'

Sym

VDD

VDR

VPOR

SVDD

ÍDD

IPD

Min

3.03.04.54.52.5

0.05*

Typ<1>

1.5*

Vss

1.81.84.84.89.015

4.00.6

Max

6.256.255.55.56.25

3.33.310102032

129

Units

VVVVV

V

V

V/ms

mAmAmAmAmAMA

MAMA

Conditions

Fosc = DCto4MHzFOSO = DC to 4 MHzFosc = DCto10MHzFosc=DCto20MHzFosc = DCto40kHz

Device in SLEEP Mode

See Section 7.4 for details onPower-On Reset

See Section 7.4 for details onPower-On Reset

Fosc = 4MHz,VDD = 5.5VFose = 4 MHz, VDD = 5.5VFose = 1 0 MHz, VDD = 5.5VFose ~ 1 0 MHz, VDD = 5.5VFOSC = 20 MHz, VDD = 5.5VFose = 32 kHz, VDD = 3.0 V,

WDT disabled

VDD = 3.0V, WDT enabledVDD = 3.0V, WDT disabled

* These parameters are characterized but not tested.

Note 1: Data in the Typical ('Typ") column ¡s based on characterization results at 2í?C. This data is for design guidanceonly and is not tested.

2: This is the limlt to which VDD can be lowered in SLEEP mode without losing RAM data.3: The supply current is mainly a function of the operating voltage and frequency. Other faciors such as bus

loading, oscülatortype, bus rate, ínternal code execution pattern, and íemperature also have an ¡mpact onthe current consumption.

a) The test condiíions for all ÍDD measurements in active operation mode are:OSC1 = external square wave, from rail-to-rail; all I/O pins tristated, pulled toVss, TOCKI = VDD, MCLR = VDD; WDT enabled/dísabled as specified.

b) For standby current measurements, the conditions are ihe same, except thatíhe device is in SLEEP mode.

4: Does not inciude current through Rext. The current through the resistor can be estimated by theformula: IR = VDD/2Rext (mA) with Rext in kfl

5: The power down current in SLEEP mode does not depend on the oscillator type. Power down current ismeasured with the part in SLEEP mode, with all I/O pins in hi-impedance state and tied to VDD and Vss.

© 1996 Microchip Technology Inc. DS30015N-page 57

Page 183: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

10.2 PC Characteristics: PIC16C5X-RCI, XTI, 101. HSI. LPI (Industrial)

DC Characteristics Standard Operating Conditions (unless otherwise specified)Power Supply Pins Operating Temperature -400C < TA < -f85°C

Characteristic

Supply VoltagePIC16C5X-RCIPIC16C5X-XT!PIC16C5X-10IPIC16C5X-HSIPIC16C5X-LPI

RAM Data Retentíon Voltageí2'

VDD Start Voltage to ensurePower-On Reset

VDD Rise Rate to ensurePower-On Reset

Supply Current^PIC16C5X~RCI<4>PIC16C5X-XTIP1C16C5X-10IPIC16C5X-HSI

PIC16C5X-LPI

Power Down Current^

Sym

VDD

VDR

VPOR

SVDD

IDD

IPD

Min

3.03.04.54.52.5

0.05*

Typ<1>

1.5*

vss

1.81.84,84.89.019

5.00.6

Max

6.256.255.55.56.25

3.33.310102040

1412

Units

VVVVV

V

V

V/ms

mAmAmAmAmAMA

MAHA

Conditions

F03C = DCto4MHzFOSC = DC to 4 MHzFosc = DCto10MHzF03C = DCto20MHzFOSC = DC to 40 kHz

Device ¡n SLEEP mode

See Section 7.4 for details onPower-On Reset

See Section 7.4 for details onPower-On Reset

Fose = 4 MHz, VDD = 5.5VFose = 4 MHz, VDD = 5.5VFOSC = 1 0 MHz, VDD = 5.5VFOSC = 1 0 MHz, VDD = 5.5VFose = 20 MHz, VDD = 5.5VFOSC s 32 kHz, Vdd = 3.0V,

WDT disabled

VDD = 3.0V, WDTenabledVDD = 3.0V, WDT disabled

'These parameters are characterized but not tested.

Note 1: Data in the Typical ('Typ") column is based on cha ráete rization results at 25°C. This data is fordesign guidanceonly and is not tested.

2: This is the limit to which VDD can be lowered in SLEEP mode without losing RAM data.3: The supply current is mainiy a function of the operating voltage and frequency. Other factors such as bus -

loading, osciliatortype, bus rate, internal code execution pattern, and temperature also have an impact onthe current consumpíion.

a) The test conditions forall IDD measurements in active operation mode are:OSC1 = external square wave, from rail-to-rail; all I/O pins tristated, pulled íoVss, TOCKI = VDD, MÜLR = VDD; WDT enabled/disabled as specified.

b) For standby current measurements, the conditions are the same, except thatthe device is in SLEEP mode.

4: Does not include current through Rext. The current through the resistor can be estimated by íheformula: IR = VoD/2Rext (mA) with Rext in RjQ.

5: The power down current in SLEEP mode does not depend on the oscillator type. Power down current ismeasured with the part in SLEEP mode, with ali I/O pins in hi-impedance state and tied to VDD and Vss.

DS30015N-page58 © 1996 Microchíp Technology Inc.

Page 184: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

10.3 PC Characterístics: PIC16C5X-RCE, XTE, 1QE, HSE, LPE (Automotive)

DC Characteristics Standard Operating Conditions (unless otherwise specified)Power Supply Pins Operating Temperature -40°C < TA < +125°C

Characteristic

Supply VottagePIC16C5X-RCEPIC16C5X-XTEPIC16C5X-10EPÍC16C5X-HSEPIC16C5X-LPE

RAM Data Retention Voltaget2'

VDD Start Voltage to ensurePower-On Reset

VDD rise rate to ensurePower-On Reset

Supply Current*3)PIC16C5X-RCE<4>PÍC16C5X-XTEPIC16C5X-10EPIC16C5X-HSE

PIC16C5X-LPE

Power Down Current^

Sym

VDD

VDR

VPOR

SVDD

IDD

IPD

Min

3.253.254.54.52.5

0.05'

TvP<1>

1.5*

Vss

1.81.84.84.89.025

5.00.8

Max

6.06.05.55.56.0

3.33.310102055

2218

Units

VVVVV

V

V

V/ms

mAmAmAmAmAHA

HAJiA

Conditions

Fose = DC to 4 MHzFose = DC to 4 MHzFosc = DCto10MHzFosc = DCto16MHzFose = DC to 40 kHz

Device in SLEEP mode

See Secíion 7.4 for deíaiis onPower-On Reset

See Section 7.4 for details onPower-On Reset

Fose = 4 MHz, VDD = 5.5VFose = 4 MHz, VDD = 5.5VFose = 1 0 MHz, VDD = 5.5VFose = 1 0 MHz, VDD = 5.5VFosc = 16MHz,VDD = 5.5VFose = 32 kHz, VDD = 3.25V,

WDT disabled

VDD = 3.25V, WDT enabledVDD = 3.25V, WDT disabled

* These parameters are characterized but not tested.

Note 1: Data in the Typical ("Typ") column is based on characterization results at 25aC. This data is for design guidanceonly and is not tested.

2: This is the limit to which VDD can be lowered in SLEEP mode without losing RAM data.3: The supply current is mainly a function of the operating voltage and frequency. Other factors such as bus

loading, oscillatortype, bus rate, ¡nternal code execution patíern, and temperature also have an impact onthe current consumption.

a) The test conditions for all IDD measurements in active operation mode are:OSC1 = external square wave, from rail-to-rail; all l/O pins tristated, pulled toVss, TOCKI = VDD, "MUER = VDD; WDT enabled/disabled as specified.

b) Forstandby current measurements, the conditions are the same, except thatthe device is in SLEEP mode.

4: Does not include current through Rext. The current through the resistor can be estimated by theformula: IR = VDD/2Rext (mA) with Rext in kfl

5: The power down current in SLEEP mode does not depend on the oscillator type. Power down current ismeasured with the parí in SLEEP mode, with all l/O pins in hi-impedance state and tied to VDD and Vss.

© 1996 Microchip Technology Inc. DS30015N-page59

Page 185: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

10.4 PC Characteristícs: PIC16C5X-RC, XT, 10, HS. LP (CommercJaHPIC16C5X-RC1. XTl. 101, HSL LPI (Industrial)

Standard Operating Conditions (unless otherwise specified)DC Characteristics Operating Temperature 0°C < TA < +70°C (commercial)

All Pins Except -40°C < TA < +85°C (industrial)Power Supply Pins Operaíing Volíage VDD range is described ¡n Section 1 0.1 , Section 1 0.2 and

Section 10.3.

Characteristic

Input LowVoltage!/O portsMCLR (Schmitt Trigger)TOCKI (Schmitt Trigger)OSC1 (Schmitt Trigger)

Input High VoltageI/O ports

MCLR (Schmitt Trigger)TOCKI (Schmitt Trigger)OSC1 (Schmitt Trigger)

Hysteresis of SchmittTrigger inputs

Input Leakage Curren^2'3'I/O ports

MCLR

TOCKIOSC1

Output LowVoltagel/O portsOSC2/CLKOUT

Output High Voltage!/O ports'3*OSC2/CLKOUT

Sym

VIL

VIH

VHYS

IlL

VOL

VOH

Min

VssVssVssVssVss

0.45 VDD2.0

0.36 VDD0.85 VDD0.85 VDD0.85 VDD0.7 VDD

0.15VDD*

—1

—5

-3-3

VDD - 0.7VDD -0.7

TypO)

0.5

0.50.50.5

Max

0.2 VDD0.1 5 VDD0.1 5 VDD0.1 5 VDD0.3 VDD

VDDVDDVDDVDDVDDVDDVDD

+1

+54-3

+3

0.60.6

Units

VVVVV

VVVVVVV

V

»HAHAHA

VV

VV

Conditions

Pin at hHmpedance

PIC16C5X-RConIy(4>PIC16C5X-XT, 10, HS.LP

For al! VDD<S>4.0V < VDD < 5.5V®VDD > 5.5V

PIC16C5X-RConly(4>PIC16C5X-XT, 10, HS.LP

For VDD < 5.5VVss < VPIN < VDD,Pin at hi-impedanceVPIN = Vss + 0.25VVPIN = VDDVss < VPIN < VDDVss < VPIN < VDD,PIC16C5X-XT.10, HS.LP

IOL = 8.7mA, VDD = 4.5VIOL-1.6mA, VDD = 4.5V,PIC16C5X-RC

IOH = -5.4 mA, VDD = 4.5VÍOH = -1 .0 mA, VDD = 4.5V,PIC16C5X-RC

* These parameters are characterized but not tested.Note 1: Data in the Typical ('Typ") column is based on characterization results at 25JC. This data is for design guidance

only and is not iested.2: The leakage current on the MCLR/Vpp pin ¡s strongly dependen! on the applied voltage level. The specified

levéis represent normal operating conditions. Higher leakage current may be measured at different inputvoltage.

3: Negative current is defined as coming out of the pin.4: For PIC16C5X-RC devices, the OSC1/CLKIN pin is a Schmitt Trigger input. It is not recommended that the

PIC16C5X be driven with external dock in RC mode.5: The user may use the better of the two specifications.

DS30015N-page 60 © 1996 Microchíp Technology Inc.

Page 186: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

10.5 PC Characteristícs: PIC16C5X-RC. XT, 10, HS. LP (Automotive)

nr^ r^h • r Standard Operating Conditions (unless otherwise specified)All RnsExce T Operating Temperature Í00C < TA < +1 25"C

„ . J. Operating Voltage VDD range is described ¡n Section 10.1, Section 10.2 andPPy Section 10.3.

Chara cteristic

Input Low Voltage1/0 portsMCLR (Schmitt Trigger)TOCKI (Schmitt Trigger)OSC1 {Schmitt Trigger)

Input High VoltageI/O ports

MCLR (Schmitt Trigger)TOCKI (Schmitt Trigger)OSC1 (Schmitt Trigger)

Hysteresis of SchmittTrigger inputs

Input Leakage Current <2'3'l/O ports

MCLR

TOCKIOSC1

Output Low Voltagel/O portsOSC2/CLKOUT

Output High Voltagel/O ports(3>OSC2/CLKOUT

Sym

VIL

VIH

VHYS

IIL

VOL

VOH

Min

VssVssVssVssVss

0.45 VDD2.0

0.36 VDD0.85 VDD0.85 VDD0.85 VDD0.7 VDD

0.15VDD*

—1

-5

-3-3

VDD - 0.7VDD - 0.7

Typ<1>

0.5

0.50.50.5

Max

0.1 5 VDD0.1 5 VDD0.15 VDD0.1 5 VDD0.3 VDD

VDDVDDVDDVDDVDDVDDVDD

+1

+5+3-1-3

0.60.6

Units

VVVVV

VVVVVVV

V

HA

HAMAHAHA

VV

VV

Conditions

Pin at hi-impedance

PIC16C5X-RConlyWPIC16C5X-XT, 10, HS, LP

For ai! VDD(S)4.0V < VDD < 5.5V<5>VDD > 5.5 V

PIC16C5X~RConly<4)PIC16C5X-XT, 10, HS, LP

For VDD < 5.5 VVss < VPIN < VDD,Pin at hi-impedanceVPIN = Vss + 0.25VVPIN = VDDVss < VPIN < VDDVss < VPIN < VDD,PICieCSX-XT.IO.HS, LP

iOL = 8.7 mA, VDD = 4.5VIOL=1.6mA, VDD = 4.5V,PIC16C5X-RC

IOH = -5.4 mA, VDD = 4.5VIOH =-1.0 mA, VDD = 4.5V,PIC16C5X-RC

2:

* These parameters are characterized bul not tested.Note 1: Data ¡n the Typical ("Typ") column is based on characterization results at 25'C. This data is for design guidance

oniy and is not tested.The leakage current on the MCLR/Vpp pin is strongly dependent on the applied voitage level. The specifiedlevéis represent normal operating conditions. Higher leakage current may be measured at different inputvoitage.Negative current is defined as corning oui of the pin.ForPÍC16C5X-RCdevices, the OSC1/CLK1N pin is a Schmitt Trigger input. It is not recommended that thePIC16C5X be driven with externa! dock in RC mode.

5: The user may use the better of íhe two specifications.

© 1996 Microchip Technology Inc. DS30015N-page 61

Page 187: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

10.6 Tíming Parameter Svmboloqv and Load Condítíons

The timing parameter symbols have been created following one of the following formáis:

1. TppS2ppS2. TppST

F Frequency T TimeLowercase subscripts (pp) and their meanings:

PP2 to

ck CLKOUTcy cycle time

drt device reset timerio I/O port

meoseostowdt

MCLR

oscillatorOSC1TOCKIwatchdog timer

Uppercase letters and their meanings:S

F FallH HighI Invalid (HHmpedance)

L Low

PR

V

z

PeriodRiseValidHi-¡mpedance

FIGURE 10-1: LOAD CONDÍTÍONS - PIC16C54/55/56/57

Pin | ¡ . CL= 50 pF

-r-CL 15 pF

Tvss

for alí pins except OSG2

for OSC2 in XT, HS or LPmodes when extemal clock¡s used to drive OSC1

DS30015N-page62 © 1996 Mícrochip Technofogy Inc.

Page 188: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

10.7 Tirning Diagrama and Specifications

FIGURE 10-2: EXTERNAL CLOCKTIMING - PIC16C54/55/56/57

OSC1

CLKOUT

TABLE 10-3: EXTERNAL CLOCKTIMING REQUIREMENTS - PIC16C54/55/56/57

AC Characteristics Standard Operating Conditions (unless otherwise specified)Operating Temperature 0°C < TA < -f70°C (commercial),

-40°C <TA< +85°C (industrial) ,-40°C < TA < +1 25°C (automoíive)

Operating Voltage VDD range is descnbed in Section 10.1, Secíion 10.2 and Section 10.3

ParameterNo. Sym

Fose

Chara cteristic

External CLKIN Frequencyt2)

Oscillator Frequency^

Min

DC

DC

DC

DC

DC

DC

DC

0.1

4

4

4

DC

TyP(1)

————————————

Max

4

4

10

20

16

40

4

4

10

20

16

40

Units

MHz

MHz

MHz

MHz

MHz

kHz

MHz

MHz

MHz

MHz

MHz

kHz

Conditions

RC ose mode

XT ose mode

10 MHz mode

HS ose mode (Com/lndust)

HS ose mode (Automotive)

LP ose mode

RC ose mode

XT ose mode

10 MHz mode

HS ose mode (Com/lndust)

HS ose mode (Automotive)

LP ose mode

* These parameters are characterized but not tested.Note 1: Data in the Typical (Typ") column is at 5.0V, 25"C unless otherwise stated. These parameters are íor design guidance

only and are not tesíed.2: All specified valúes are based on characterization data for that particular oscillator type under standard operaüng

conditlons with the device executing code. Exceeding these specified limiís may result ¡n an unstable oscillator operaíionand/or higher than expecied current consumption.Whén an external clock inpui is used, the "max" cycle time límit ¡s "DC" (no clock) for all devices.

3: Insíruction cycle period (Tcv) equals four times íhe ¡npuí oscillaior time base period.

© 1996 Microchip Technology !nc. DS30015N~page 63

Page 189: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

TABLE 10-3; EXTERNAL CLOCKTIMING REQUIREMENTS - PIC16C54/55/56/57 (CON'T)

AC Characterístics Standard Operating Conditions (unless otherwise specified)Operating Temperatura 0°C < TA < +70°C (commercial),

-^40°C < TA < -f85°C (industrial),-40°C < TA < +1 25°C (auiomotive)

Operaíing Voltage VDD range is described in Section 10.1, Section 10.2 and Section 10.3

ParameterNo.

1

2

3

4

Sym

Tose

TCY

TosL, TosH

Tos R, Tos F

Characteristic

Exíernal CLKIN Period^

Oscillator Period^

Instruction Cycle Time' ^

Clock in (OSC1 ) Lo^w or High Time

Clock in (OSC1) Rise or Fall Time

Min

250

250

100

50

62.5

25

250

250

100

50

62.5

25

50'

20*

2*

_

TypO)

_

4/FOSC

_

Max

10,000

250

250

250

_

25*

25*

50*

Units

ns

ns

ns

ns

ns

US

ns

ns

ns

ns

ns

\is

ns

ns

US

ns

ns

ns

Conditions

RC ose mode

XT ose mode

lOMHzmode

HS ose mode (Com/Indust)

HS ose mode (Automotive)

LP ose mode

RC ose mode

XT ose mode

lOMHzmode

HS ose mode (Com/lndust)

HS ose mode (Automotive)

LP ose mode

XT oscillator

HS oscíllaíor

LP oscillator

XT oscillator

HS oscillaíor

LP oscillator

* These parameters are characterized buí not lested.Note 1: Data in the Typical (Typ") column is ai 5.0V, 25"C unless otherwise stated. These parameters are for design guidance

only and are not tesíed.2: AII specified valúes are based on characterization data for that particular oscillator type under standard operating

conditions with the device executing code. Exceeding these specified limits may result in an unstable oscillator operationand/or higher íhan expected current consumpíion.When an external clock ínput ís used, the "max" cycle time limít is "DC" (no clock) for all devices.

3: Instruction cycle period (Tcv) equals four times the Ínput oscillator time base period.

DS30015N-page 64 © 1996 Mícrochlp Technology Inc.

Page 190: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

FIGURE 10-3: CLKOUT AND I/OTIMING - PIC1GC54/55/56/57

Q4

OSC1

CLKOUT

I/O Pin(inpuí)

I/O Pin{output)

Oíd Valué

Q1

10 .

13, 14

-17-

19

Q2

-18-

-15-

Q3

11

-16

New Valué

20,21

Note: AII tests must be done wríh specified capacitive loads {see data sheet) 50 pF on I/O pins and CLKOUT.

TABLE 10-4; CLKOUT AND I/OTIMING REQUfREMENTS - PIC16C54/55/56/57

AC Characteristics Standard Operating Conditions (unless otherwise specified)Operatíng Temperatura 0°C <TA < +70°C (commercial),

~40°C < TA < +85°C (industrial),-40°C < TA < +1 25°C (automotive)

Operating Voitage VDD range ¡s described in Section10.1, Section10.2 andSecíion 10.3

ParameterNo.

10

11

12

13

14

15

16

17

18

19

20

21

Sym

TosH2ckL

TosH2ckH

TckR

TckF

TckL2ÍoV

TioV2ckH

TckH2ioI

TosHSioV

TosH2Íol

TioV2osH

TioR

TioF

Chara cteristic

OSClttoCLKOUT-l(¿)

OSClTtoCLKOUTt<2)

CLKOUT risetime(2)

CLKOUT falltime<2>

CLKOUTi to Port ouívalid<2>

Port in valid before CLKOUTt<2)

Port in hold after CLKOUTK2)

OSC1T (Q1 cycle) to Port out valid^

OSC1T (Q2 cycle) to Porí inpui invalid (l/O inhold time)

Port ínput valid to OSC1T(l/O ¡n setup time)

Port output rise time' 3J

Port outpuí fall Üme^

Min

0.25 TCY+30*

0*

TBD

TBD

TypO)

15

15

5

5

10

10

Max

30"

30"

15"

15"

40"

100*

25"

25"

Units

ns

ns

ns

ns

ns

ns

ns

ns

ns

ns

ns

ns* These parameters are characterized but not tested." These parameters are design targeís and are not tested. No characíerteaíion data available ai this time.

Note 1: Data in the Typical (Typ") column is at 5.0V, 25"C unless otherwise stated. These parameters are for design guidanceonly and are not tested.

2: Measurements are taken in RC Mode where CLKOUT outpuí is 4 x Tose.3: See Figure 10-1 for loading conditions.

© 1996 Microchip Technology Inc. DS300-/5N-page 65

Page 191: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

FIGURE 10-4: RESET, WATCHDOGTIMER, ANDDEVICE RESETTIMERTIMING - PIC16C54/55/56/57

/// »VDD /

— ' tf/ \R / \

/ -K /

^-30-—

IníernalPOR

32,-« *-,

DRTfTime-ouí

IníernalRESET

i*/ i L j

TimerRESET

^34^'/ \O nin , r ^

ÍNotell '\

/

/{>)

32 : 32 :; u '.r*^

«Y))

1 (t

" V^ 31—^-

34 J

<?> \* / \

Note 1 : I/O pins must be taken out of h¡-¡mpedance mode by enabling the output drivers ¡n software. *

TABLE 10-5: RESET, WATCHDOGTIMER, AND DEVICE RESETTIMER - PIC16C54/55/56/57

AC Charactertsttcs Standard Operating Conditions (unless otherwise specified)Operating Temperature 0°C < TA < +70°C (commercia!),

-40°C <TA < -f85°C (industrial),-40°C < TA < +1 25°C (automotive)

Operating Voltage VDD range is descnbed in Section 10.1, Section 10.2 and Section 10.3

ParameterNo.

30

31

32

34

Sym

TmcL

Twdt

TDRT

Tioz

Characteristic

MCLR Pulse Width (low)

Watchdog Timer Time-out Period(No Prescaler)

Device Reset Timer Period

I/O HÍ-Ímpedance from MCLR Low

Mín

100*

9'

9*

-rypP)

18*

18W

Max

40"

30*

100*

Uníts

ns

ms

ms

ns

Conditions

VDD = 5.0V

VDD = 5.0V (Commercial)

VDD = 5.0V (Commercial)

* These parameters are characterized but not tested.Note 1: Data in the Typical ('Typ") column is at 5.0V, 25'C unless otherwise stated. These parameters are for design

guidance only and are not tested.

DS30015N-page66 © 1996 Mícrochip Technoíogy Jnc.

Page 192: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

FIGURE 10-5: TIMERO CLOCKTIMINGS - PIC16C54/55/56/57

TOCKI

40 41

42

TABLE 10-6: TIMERO CLOCK REQUIREMENTS - PIC16C54755/56/57

AC Characteristics

ParameterNo.

40

41

42

Sym

TíOH

TtOL

TíOP

Standard Operating Conditions (unless otherwise specified)Operating Temperatura 0°C < TA < +70°C (commercial),

-40°C < TA < 485°C (industrial),-40°C < TA < +1 25°C (automotive)

Operating Voltage VDD range is descnbed in Section 10.1, Section 10.2 andSection 10.3

Characteristic

TOCKI High Pulse Widih - No Prescaler

- Wíth Prescaier

TOCKI Low Pulse Width - No Prescaler

- With Prescaler

TOCKI Period

Min

0.5 TCY + 20*

10*

0.5 TCY + 20*

10*

20 or TCY + 40*N

TypíD

Max

Units

ns

ns

ns

ns

ns

Conditions

Whichever is greater,N = Prescale Valué

(1,2, 4,..., 256)

These parameters are characterized but not tested.Note 1: Data in the Typical (Typ") column is at 5.0V, 25"C unless otherwise síaied. These parameters are for design guidance

only and are not íested.

© 1996 Microchíp Technology Inc. DS30015N-page 67

Page 193: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57

11.0 DC AND AC CHARACTERISTICS - PIC16C54/55/56/57The graphs and tables provided in this section are for desígn guidance and are not tesíed or guaranteed. In somegraphs or tables the data presentad are outside speciíied operating range (e.g., outside specified VDD range). This isfor information only and devices wiíl opérate properly only within the specified range.

The data preseníed ¡n this section is a statistical summary of data collected on units f rom different lots over a period oftime. "Typical" represents the mean of the distribution while "max" or "min" represents (mean -f 3a) and (mean - 3a)respectively, where a is standard deviation.

FIGURE 11-1: TYPICAL RC OSCILLATOR FREQUENCY vs.TEMPERATURE

FOSC

FOSO (25°C)

1.10

Frequency normalizad to +25°C

Rext>10kQCext=100pF

0.88

TABLE 11-1: RC OSCILLATOR FREQUENCIES

Cexl

20 pF

100pF

300 pF

Rext

3.3 k

5k

10 k100 k

3.3 k5k

10k100 k3.3 k5.0 k10k

160 k

AverageFose @ 5 V, 25°C

4.973 MHz3.82 MHz

2.22 MHz262.15 kHz

1.63 MHz

1.19 MHz684.64 kHz71 .56 kHz

660 kHz

484.1 kHz

267.63 kHz

29.44 kHz

± 27%

±21%

±21%

±31%

±13%

± 13%

±18%

± 25%

±10%

± 14%

± 15%

±19%

The frequencies are measured on DIP packages.

The percentage variation indicated here ¡s part-to-part variation due to normal process distribution. The variationindicated is ±3 standard deviation from average valué for VDD = 5 V.

© 1996 Microchip Technology Inc. DS30015N-page 69

Page 194: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

FIGURE 11-2: TYPICAL RC OSCILLATORFREQUENCYvs. VDD,CEXT = 20PF

5.5

5.0

4.5

4.0

3.57TX

f 3.0£/)Ou_

2.5

2.0

1.5

1.0

0.5

0.03

/

.

Meas

/

.— . — —

jred on [

^"

^—^

)IP Pacl^

, —

ages.T

R =

R =

R =

= 25°C

R =

3.3k

5k

10k

100k

0 3.5 4.0 4.5 5.0 5.5 6.0

VDD (Volts)

FIGURE 11-3: TYPICAL RC OSCILLATORFREQUENCYvs. VDD,CEXT = 100 PF

1.8

1.6

1.4

1.2

N£1.0

£0.8

0.6

0.4

0.2

0.0

= 10k

R = 3.3k

Measured on DIP Packages, T = 25'

= 100k

3.0 3.5 4.0 4.5 5.0 5.5 6.0VDD (Volts)

FIGURE 11-4: TYPICAL RC OSCILLATORFREQUENCYvs. VDD,CEXT = 300 PF

800

700

600

500

o400

300

200

100

Measured on DIP Packages, T= 25

3.0 3.5 4.0 4.5 5.0 5.5 6.0

VDD (Volts)

DS30015N-page 70 © 1996 Microchip Technology Inc.

Page 195: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

FIGURE 11-5: TYPICAL IPD vs. VDD,WATCHDOG DISABLED

2.5

2.0

1.5

<

f 1'°a,

0.5

0.02

^/

T =

x

25°C

//ir/

.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0VDD (Volts)

FIGURE 11-7: TYPICAL IPD vs. VDD,WATCHDOG ENABLED

20

18

16

14

12

~ 10ir 8o.

6

4

2

02

/

//

//

T =

/

/

>5°C

/

/

//

/

/

5 3.0 3.5 4.0 4.5 5.0 5.5 6.VDD (Volts)

0

FIGURE 11-6: MÁXIMUM IPD vs. VDD,WATCHDOG DISABLED

100

10

--55'C

O'C

O2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0

VDD (Volts)

FIGURE 11-8: MÁXIMUM IPD vs. VDD,WATCHDOG ENABLED

60

50

40

30

<"3.

S 20

10

02.

IPD,

Theandwithexptí

-""""'

•^^

"•s*

^>*~

h125°Ii^--

^

ex

/^

40°C

'^

-Sí

/

/

o°c

1/

'/

//'./

85°C\

/?

/

/

'/y\c

5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0VDD (Volts)

with WDT enabled, has two componente:eakage current which increases with highar temperaturahe operating current of the WDT logic which increasesower temperatura. At -40°C, the latter domínaleslining the apparenüy anomalous behavior.

© 1996 Microchíp Technology Inc. DS30015N-page71

Page 196: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57

FIGURE 11-9: VTH flNPUTTHRESHOLD VOLTAGE) OF I/O PINS vs. VDD

0.602.5 3.0 3.5 4.0 4.5

VDD (Volts)

5.0 5.5 6.0

FIGURE 11-10: VIH, VIL OF MCLR,TOCKI AND OSC1 (IN RC MODE) vs. VDD

>x>

2.5 3.0 3.5 4.0 4.5

Note: These ¡nput pins have Schmiíí Trigger inpuí buífers. (volts)

5.0 5.5 6.0

FIGURE 11-11; VTH (INPUTTHRESHOLD VOLTAGE) OF OSC1 INPUT(INXT, HS,ANDLP MODES) vs. VDD

3.4

3.2

3.0

2.8

2.6

2.4

2.2

2.0

1.8

1.6

1.4

1.2

1.04.0 4.5

VDD (Volts)5.0 5.5 6.0

DS30015N-page72 © 1996 Microchip Technology Inc.

Page 197: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

FI^MRF 11-19- TYPICAL IDD vs. FREQUENCY (EXTERNAL CLOCK, 25°C)

10

1.0

<E,Qa

0.1

0,011

— 7.0 ^-^

5.5 — — =

Ss-—4.0 — """"3.53.02.5 •

-~-

—---1

•-•"•

~^~

-'

— 5---*"

^

1-r" ^-* -~" ^-^

^^s*

s

• S?"" -»*"^^ -*•

x^

^^

S*

SS

/

^

/

/

?-

7

s

/ /'

S s

r~

' ^S'' sw•''¿sS

•////'•S

" ' s'Á

í /

/ ///

/&4¿-

//

/

s\

/ *4í

MX^

s-sss[tkx^x ]' tf/Ss

w/

Ok 100k 1M 10M 100M

Extemal Clock Frequency (Hz)

FIGURE 11-13: MÁXIMUM IDD vs. FREQUENCY (EXTERNAL CLOCK, -40°C TO +85°C)

10

1.0

0.1

0.01

7.06.56.05.55.0

~4.54.03.5

3.0 --2.5

10K 10Ok 1M 10M

Extemal Clock Frequency (Hz)100M

© 1996 Microchip Technology Inc. DS30015N-page73

Page 198: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

FIGURE 11-14; MÁXIMUM IDD vs. FREQUENCY (EXTERNAL CLOCK-55°C TO +125°C)

10

1.0

QD

0.01100k 1M 10M

Extemal Clock Frequency (Hz)100M

FIGURE 11-15: WDTTIMERTIME-OUTPERIOD vs. VDD

HQ

4 5

VDD (Volts)

FIGURE 11-16: TRANSCONDUCTANCE (gm)OF HS OSCILLATOR vs. VDD

ROOO

7000

6000

5000

zi.

c 4000O)

•3000

2000

100

0^

/

/

/X

/

///

/

//

Max -40°C

//

/

/

.s

^s"

/

/s

//

Typ +25°C

jS^

/

**^ M¡n

^x^

+85"C

3 4 5 6 7

VDD (Volts)

DS30015N-page74 © 1996 Microchip Technoíogy Inc.

Page 199: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C54/55/56/57 PIC16C5X

FIGURE 11-17: TRANSCONDUCTANCE (gm)OF LP OSCILLATOR vs. VDD

een

45

40

35

30

25

20

15

10

O

Max-40°C

Typ +25°C

Min -f 85CC

2 3 4 5 6VDD (Volts)

FIGURE 11-18: ÍOH vs. VOH, VDD = 3 V

Xo

0

-5

-10

-15

-20

-25

Min +85°C

Typ +25°C

Max^JO°C

O 0.5 1.0 1.5 2.0 2.5 3.0

VOH (Volts)

FIGURE 11-19: TRANSCONDUCTANCE (gm)OF XT OSCILLATOR vs. VDD

2500

2000

1500

1000

500

O

Max-40°C

Typ -t-25°C

Min +85°C

2 3 4 5 6 7

VDD (Volts)

FIGURE 11-20: IOH vs. VOH, VDD = 5 V

O

-10

-20

-30

-40

Min +S5°C

Typ +25°C

7

Max-40°C

1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

VOH (Volts)

© 1996 Microchip Technology Inc. DS30015N-page75

Page 200: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

PIC16C5X PIC16C54/55/56/57

FIGURE 11-21: IOL vs. VOL3 VDD = 3 V FIGURE 11-22: IOL vs. VOL, VDD = 5 V

45

40

35

30

^ 25<E,

o 20

15

10

5

00

///r

///>/y

///

/\s

//

^^-

- — —M«x

^- •Typ-t

Min

.

-40°C .

25°C

f85°C

0 0.5 1.0 1.5 2.0 2.5 3

VOL (Volts)

.0

90

80

70

60

^ 50<E.

o 40

30

20

10

00

l\

h

/

/

/

////

/

//

/

//

/

/

//

//

" ÍYP

' M l n

+25'C

• —

+85°C

.0 0.5 1.0 1.5 2.0 2.5 3.0

VOL (Volts)

TABLE 11-2: INPUT CAPACITANCE FORPIC16C54/56

Pin

RAport

RBport

MCLR

OSC1

OSC2/CLKOUT

TOCKI

Typical Capacitance (pF)

18LPDIP

5.0

5.0

17.0

4.0

4.3

3.2

18LSOIC

4.3

4.3

17.0

3.5

3.5

2.8

All capacitance valúes are typical at 25°C. A part-ío-partvariation of ±25% (ihree standard deviations) should betaken into account.

TABLE 11-3: INPUT CAPACITANCE FORPIC16C55/57

Pin

RAport

RBport

RCporí

MCLR

OSC1

OSC2/CLKOUT

TOCKI

Typical Capacitance (pF)

28L PDIP(600 mil)

5.2

5.6

5.0

17.0

6.6

4.6

4.5

28L SOIC

4.8

4.7

4.1

17.0

3.5

3.5

3.5

All capacitance valúes are typical at 25°C. A part-to-partvariation of ±25% (three standard deviations) should betaken into account.

DS30015N-page76 © 1996 Microchíp Technology Inc.

Page 201: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

ANEXO 3

CARACTERÍSTICAS DE LOS CIRCUITOS INTEGRADOS

UTILIZADOS EN EL MODULO

Page 202: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

54/740454H/74H0454S/74S04

54LS/74LS04

ORDERING CODE (See Sectlon 9 tor lurlner Package and Ordcrlng Informa lio n.)

PIN CONFIGURATIONS

PACKAGES

Plástic DIP

Ceramíc DIP

Flatpak

PINCONF.

Fíg.AFig.A

Fig.AFlg.A

Fíg. BFlg.A

COMMERCIAL RANGESVcc"SV±fi*;TA -»0'C lo*70'C

N7404N • N74H04NN74S04N • N74LS04N

N74D4F • N74H04FN74S04F • N74LSQ4F

MILITARY RANGESVCc a sv ± 10%; TA --ss*c to *iss*c

S5404F • S54H04FS54S04F • S54LS04F

S5404W • S51HD4WS54S04W « S54LS04W

INPUT AND OUTPUT LOADING AND FAN-OUT TABLE (s.e Mot« •)

PINS

IIH t/íA)JnPuts ítmAí

Outputs 'OHf(^¡r IOL !mA)

54/71

40-1.6

-40016

54H/74H

50-2.0

-50020

S4S/74S

SO-2.0

-100020

54LS/74L5

20-0.36

-4004/8 W

«1

Flgur* A

Figura B

DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (S*« Nota b)

PAHAMETER

ICCH Supply curfenl

ICCL Supply curren!

TEST CONDITIONS

Vcc = Max, VIH = OV

VCC = Max, VIN 4.5V

54/74

Min Max

12

33

54H/74H

Min Max

26

58

54S/74S

Min Max

24

54

54LS/74LS

Min Max

2.5

6.6

UNIT

mA

mA

AC CHARACTERISTICS TA = 2SBC (SM Sactfon 4 lor Wavelorrns and CondWona.)

PARAMETER

IPLH Propagatíon delay

tpHL Propagatíon delay

TESTCONDlTfONS

Wavefonn 1

Waveform 1

54/74

CL = 1SpFRL = *oo n

Mln Max

22

15

54H/74H

CL=25pFRL= 280(1

Mln Max

10

10

54S/74S

CL = 15pFRL= 28011

Mhi Mu

4.5

5.0

54LS/74LS

CL = 15pFfiL=2kn

Mln Max

15

15

UNIT

ns

ns

NOTE

B. The i]tinto num&en indícala tíitUrenl pacametríc valúes ior MilitarV/Comnwrefslicniporature fangei iMpecflvety.

b. Fof [am'rly de characIwfBlics see insldo (tont CTJTW luí 54/7^ and 54H^7^H. and acóInstde baclc cover Itw MS/74S ai>d WLS^iLS specl He ilion.

Page 203: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

•MF-S

54S/74S13854LS/74LS138

LOGIC SYMBOL

DESCRIPTIONTíie "138" fs a H1GH speed 1-of-B Decod-er/üemultlploxer. The "138" Is idsal forHIGH speed bipolar memory chip selecl ad-dress docoding. The múltiple Input enablesallowparallel expansión loa l-of-24 decod-er using only three "138" devlces; or to a 1-oí-32 decoder using íour "138" devices andone Inverter.

FEATURES• Domultiplexlng capoblllty• Múltiple Input enable [oreasy expansión• Ideal (or memory chlp selecl decodlrig• Dlrect replacement for Inte) 320S

liiE, E, E,

* , * . * , , E

a i i a i s i

u n T Ui» H 1] u It to 1

Vcc - P"l tfiGND - Pin 3

T

f

PIN CONFIGURATION

OROERING CODE {See Secllon 9 lor further Package and Orderlng Information)

PACKAGES

Plástic DIP

Ceramlc DIP

Flaipak

COMMERCIAL RANGESVcc - SV \A - O'C lo 70*C

N74S138N * N74LS138N

N74S138F • N7-1LS138F

MIL1TARY RANGESvcc •• 5V i I°*;TA " -ss-c to -us-c

S54S136F

S54S138W

S54LS133F

S54LS138W

A,(T

*.LL

e. E

CKO [T

INPUT AND OUTPUT LOADING AND FAN-OUT TABLE (a)

M] f

PINS OESCRIPTION

Ao-A2 Address inputs í,l"imA)

- - l|H<fiAJEi, E? Enable lActive LOW) Inpuis

llL ImAt

Ea Enable (Active HIGH1 input .IlH,(ítí!IIL ImA)

5-7 Decoder ouputs ,'OH,tf"!í!IOL (mAi

54/74 54S/74S

50-2.0

50-2.0

50-2.0

-100020

54LS/74LS

20-0.36

20-0.36

20-0.36

-4004/8 ía)

MOTEi. Itie ilainod numb«3 Indícate Oitlvunl paomelfíc valmu (of MiJilary/CommefCitl

tcmperaluie íinesí tmípectlv«!y.

Page 204: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

l-OF-8 DECODER/DEMtíLTIFi£X£R

FUNCTIONAL DESCRIPTION

The "138" decoder accepts three blnaryweighled ¡nputs (Ao,Ai,A2) and when en-abled pinvides eight mutually exclusiveactive LOW outputs (0-7). Tha dsvica fea-tures three Enafale ¡nputs: two active LOW(Ei,£2! and one active HIGH (EsJ.Jveryoutput wíll be HIGH unless Et and EZ areLOW and £3 ¡s HIGH. This múltiple Enablefunction allows easy parallel expansión ofthe devíce to a l-of-32 (5 linos to 32 lines)decoder with ¡usl four "138's" and one ¡n-verter.

The devíce can be usod as an oight outputdemultlplexor by using one of the activaLOW Enable Inputs as the data input and theremainíng Enable inputs as strobes. EnableInputs not used must be permanently tled lotneír appropriate active HIGH oractlve LOWstate.

TRUTH TABLE

INPUTS

E-, E2 E3

HXXLLLLLLLL

XHXLLLLLLLL

XXLHHHHHHHH

AQ A-| Ag

XXXLHLHLHLH

XXXLLHHLLHH

XXXLLLLHHHH

OUTPUTS

Ó

HHHLHHHHHHH

1 2

H HH HH HH HL HH LH HH HH HH HH H

3

HHHHHHLHHHH

4

HHHHHHHLHHH

5

HHHHHHHHLHH

6 7

H HH HH HH HH HH HH HH HH HL HH L

H = HIGH vollasw tevfllL *. L.OW vollagfl lavslX - Oon'l w/e

tOGIC DIAGRAM

( I - Pin H u muerVcc = Pío IBGND • Pin 8

DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE <

PA RAM ÉTER

ÍCC Supply curten!

TEST CONDITIONS

Vcc - Max

54/74

Mln Max

54S/74S

Mln Max

74

54LS/74LS

Mln Max

10

UNIT

mA

b For Ismiy Oc chura cierta I le», aso tnaioo líoni coyer íot 5V74 and 5-1H/74H. and **>«muflo tiack covcr lor S4S/74S and 54LS/74LS swciffcatión».

Page 205: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

l-OF-8

AC CHARACTER1STICS TA = 25°C (See Sectlon 4 lor Waveforms and ConcMIons)

PARAMETEH

IPLH Propagatlon delayIPHL Address (o output

IPLH Propagalian delay

IPHL Ei and £2 10 output

IPLH Propagation delaytPHU E3 10 OUtpUt

TEST CONDITIONS

Figure 1

Figure 2

Figure 1

54/74

Mln Max

54S/74S

CL= 15 pFRL=2BOil

Min Max

1212

8.011

1111

54LS/74LS

CL- 15 pFRL= 2kll

Mln M»

2739

1832

2638

UNIT

nsns

nsns

nsns

AC WAVEFORMS

Vu - I5V for S4Sf74S; VM - 13V tot S4LS^4LS.

Figure 1

VM - 1.5V lof 54S/74S; V« s 13V Sor 54LaíT4LS.

Figure 2

Page 206: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

+5V-Powered Multi-Channel RS-232Drivers/fíeceivers

ABSOLUTE MÁXIMUM RATINGS- MAX220/222/232 A/233 A/24 2/243™ . il.li /!/_„! n 1\! trt ,C\I 1C OTr» Klnm^n O/"\n O 7H.£jpp[y Voltage (VcO -0.3V to +6VJpulVoltages^ -0.3V to (Vcc - 0.3V)

RjN ±30VTOUT (Note 1) ±15V

696mW762mW762mW

7BOOmW842mW

Toar ±15V-0.3V to (Vcc + 0.3V)

nnverjReceiver Output Short Círcuited la GND . . . Conlinuousrnntinuous Powof Oissipatíon (TA - +70'C)

l& in Piaste DIP (derate 10.53mW/"C above +70'C) . 842mWl8-PinPiastcDiP(deraten.limW/"CabovB+70'C) . B89mW20-Rn Plaste DlP (derate 8.00mW/'C above -t-70"C) .. 440mW

Input voJtage measured w!ih TOUT tnhigh-trnpedance state, STÍDFIor Vcc

1 G-Pín Narro* SO (derate SJOmW/'C above +70'C)16-Pln Wide SO (derate 9.52mWfC above +70'C).IS-Pin Wkíe SO (derate 9£2mW/'C above +70'C) ..20-P¡n Wide SO (derate lO.OOmWrC above +70'C)16-Pín CERDIP (dereíe 10.00mWyC above +70'C)..IS-Pin CERDIP (defaíe 10^3mW/*C abovu +70-C)..

Operating Temperature Rangas:MAX2 AC _ _. MAX2 C O'C to +70'CMAX2 AE .MAX2 E -4Q'C to+85*CMAX2__AM__.MAX2__M__ -55'Cto+125'G

Storage Temperature Rango -65'C to +160'CLoad Temperature {soldewig, 10 sec) ,. -*• 300*C

OV.

D«yc«£/ toa* listad unóat 'Absoluta Máximum fíatno»' m*y CMÍM paenwefii damap* to !h* dtwlc». Tí»«» •/• ttnss rmting* onfy. ard functícndft o'tho dovice at these or any oíh*r condftiorn bayoñd rhoá* ¡ndicaied In fr* optralion*] Mcrikx» c//ft* sptdficaDons a rcf ¡mpíad. &poavemáximum raüng condilions kr txttrxtod p#iods may aííact devñ»

ELECTRICAL CHARACTERISTICS - MAX220/222/232A/233A/242/243(Vcc - +5V ±10%. C1-C4 - o. l F, TA - TMIN to TMAX, untess otherwrée noled.)

PARAMETER CONDmONS MtN TYP MAX UNfTS

í 232 TRANSUTITERS

Output VoltageSwing

input Logíc Threshold Low

inpul Logic Threshold High

Logíc Pull-Up/lnput Current

Output Leakage Current

Data Hale

Transmutar Output Resistance

CXjtpui Short-Círcuit Current

Al tran^nttar outpUs loaded Wflh 3kfí to GNO

5HDR- Vcc5HDR-OV

Vcc - 5.5V. SK3R - OV. VOÜT - ±1SV

Vcc - SHGR - OV. VOOT - ±15V

Except MAX220, rxxmaJ operation

MAX220

Vcc- v+ - v- - ov, VOUT - ±2VVo<JT"OV

±5 ±fl

1.4 0.8

2 1.4

5 40

±0.01 ±1

±0.01 ±10

±0.01 ±10

200 116

22 20

300 10M

±7 ±22

V

V

V

HA

HA

kb'tE&ec

Q

mARS-232RECEIVERS

RS-232 Input VoJtag* Operating Range

BS-232 Input Thieshold Low

RS-232 Input Threshold High

RS-232 Input Hysteresis

RS-232 Input Resistance

TTUCMOS Output Voltage Low

TTL/CMOS Output Voltage High

TTUCMOS Output Short-Circuit Current

TTL/CWOS Output Leakage Curren!

Except MAX243 R2iNVoo - -V MAX2<g p^H {No[e 2)

Except MAX243 R2iN

00 " " MAX243 R2jN (Note 2)

Except WAX243. Vcc - 5V, no hysL ¡n shdn.

MAX240

IOUT - 3.2mA

IOUT ' -1.0mA

Sourcíng VoUT - QND

Sínklng VOUT « Vcc

5RDR - Vcc or ER - Vcc, ovs VOUTS Vcc

±30

0.8 U

-3

1.B 2.4

-0.5 -0.1

0.2 0.5 1

1

3 5 7

0.2 0.4

3.5 Vcc -0-2

-2 -10

10 30

±0.05 ±10

V

V

V

V

kaV

V

mA

HA

Page 207: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

+5V-Powered Multi-Channel RS-232Drivers/ReceiversELECTRICAL CHARACTERISTICS- MAX220/222/232A/233A/242/243 (continued)(Vcc - +50 ±10%, C1-C4 - o, ijiF, TA = TWIN to TMAX. uniess otnenvifte noied.)

PARAMETER

ER Inpul Threshold Low

ER Input Threshold High

CONDITIONS MIN TYP MAX

1.4 0.8

2.Q 1.4

UWTS

V

V

POWER SUPPLV

Operating Suppiy Voltage

VccSupply Curren!(5HE5Ñ = Vcc). Figures 5. 6. 9, 18

Shutdown Suppiy Current

SHDN Inpul Leakage CurrentSBDRThreshoídLowSRÜRThresnoldHigh

No toad

3kfl load both outputs

MAX222/242

MAX220

MAX222/232A/233A7242/243

MAX220

MAX2Z2/Z32A/233W242/243

TA->25'C

TA - O'C to +70'C

TA - -4Q'C to +S5'C

TA»-55*Cto+12S'C

4.5 5.5

• 0.5 2

4 10

12

15

0.1 10

2 50

2 50

35 100

±1.1.4 0.8

2.0 1.4

V

mA

VA

HA

V

V

AC CHARACTERlSTtCS

Transition Slew Rale

Transmiíter Propagation DelayTTL to RS-232 (Normal Operatkxi).Figure 1

Receíver Propagatíon DelayRS-232 toTTL(Nofmal Operalion).Figure 2

Receíver Propagation DelayRS-232 to TTL (Shutdown), Rgure 2

Receiver-Ouiput Enable Time, Rgure 3

Receiver-OutpuI Disable Time, Figure 3

Transm'mer-Output Enable Time(5RDKJ goes h^h). Figure 4

Transmitter-Output Oísable Time(SRDÑ goes low). Figure A

Tr ansminer 4- to- PropagationOeiay Difference (Normal Operation)

Receiver + to - PropagationDelay Difference {Normal Operation)

CL = 50pFto2500pF,RL - 3kíl to TkQ.VcC = 5V.TA=*25'C.measured Irom -t-3V to-3Vor-3VtO-v3V

tPHLT

tPLHT

tPHin

tPLHR

tPHLS

tPLHS

teatOR

ter

tOT

tPHLT-tPLHT

tPHLR-tPLHR

MAX222/232A/233Ay242/243

MAX220

MA1C222/232A/233A/242/243

MAX220

MAX222y232A/233A/242/243

MAX220

MAX222/232A/233A/242/243

MAX220

MAX222/232A/23aV242/243

MAX220

MAX242

MAX242

MAX222/242

MAX222/242

MAX222^42.0. IpF caps(Includes cha/ge-pump start-up)

MAX222;242, 0.1 JiF caps

MAX222/232A/233A/242/243

MAX220

MAX222y232A/233W242/243

MAX220

6 12 30

1.5 3 30

1.3 3.5

4 10

1.5 3.5

5 10

0.5 1

0.6 3

0.6 1

0.8 3

0.5 10

2.5 10

125 500

160 500

250

600

300 .

2000

100

225

VAIS

ys

^

\ÍS

nsns

US

ns

ns

ns

Not« 2; MAX243 R2ouT ¡s guaranleed to be low when the R2¡N is i OV or te floaling.

Page 208: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

+5V-Powered Multi-Channel RS-232Drivers/Receivers

Typlcal Operat/ng Char*ctor/st/cs

MAX220/222/232A/233A/242/243

OinWT VOLTAOEn. LOU CURROff AVJUUBU ourwr cuwtarn.MTAMTl

(W-T1UE EXmn MUTUOW -

VcctíVNOLOAÜON^ TRANSMITTEROUTPUTS •

[EXCEPTHAX220.UAX233AJ

10 15

+IW

fSV

S*"g w

S w>>

V*

V-

....

2s

\[A•—\ i

^4-luFCA\ 'xo.i :Dy>

I1(OH

-lliFOPS

_

V1

O.IHFCAi

t >

^^

v.

-y."

LOXflCUftREMTímA) DATAMIt(kbitS/S«)

Page 209: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

+5V-Powered Multi-Channel RS-232Drivers/fíeceivers

IOPV1EW

ci* [7w [|ci- [3a* (T«- [?v -S

I2tMT [T

R2« [T

" SS1*

DIP/SO

i|J VK¡U BNO 1

Ü] TlüW Cl-r^ 3

¡3] DIN ^

12] R10UI ^T 5

ñ] Tinio] T2wTn ~, 119j fCo/r r^__

m/ os1HPUTS '

10L

CAPACrTANCEOiF) 15

DEVkCE C1 C2 C3 C4 C5 THíT-i*K '

UAX220 4.7 4.7 10 10 4.7 DUTPUTS

UAX232 1.0 1.0 1.0

UAX232A 0.1 0.1 0.1 0.1 0.1

C3

CS Í* Ifi

cu J/cc _ v+C1- VOaAGEDOUBLffl

O» *10V70-10V u.M. VOL7AGEIHVÍRTCT *"

*5V

«Okk

72« Y |\ TÍOUT

R10UI * /I RlK

1*R20UI ^1 ^ R2n

GKO I-

i 1S

6 -1W

~|C4

" "I

RS-2SOUTPU7S

7

13 ~.

R5-ZÍ2WPU7S

6

figura 5, MAX220/232/232A P'm Configuraron and Typical Operatíng Circuit

70PVIEW

(«.e.) a [T

ci-[T

v-üI2cwr [TR2«[T

()APEFOflMAX2220NLr.

MAX222

DIP/SO

2

5

ts] sRcÑ 't—

Ül VccÜI GNO i;

Ü] TltWlzf nucuosÜJ Rlx >» S

ül n«»D 72* f 0

ÍÓ1 B9rv^ 77UCMOSliJ raw OUTPUTS10

i

C5,t T í? AlLCAPACíTOfiSO.!^I Jl. t Jft^ |l7

n YCCC1+ *5V7Q.10V V4"d- . VQUAGEOOUBlin

Q* *10V70-10V y.

rfT?í*| T2M

Rloai /i RlM

r^ i

^ \Kan 1 \ R2n

- i J 4t,(N.C]EN | ^Sk

GND i

-1S

7 -W

15

RS-232OUTPIÍIS

tJ •

U -,

K-232

9

18

figure 6. MAX222/MAX242 Pin Confíguratíon and Typical Operating Circuit

Page 210: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

54LS/74LS244 PfN CONFIGURATtON

&ORDERING CODE (See Sectlon 9 forfurther Package and Orderlng informallon)

PACKAGES

Plástic OIP

Ceramic DIP

FlatpaV.

PINCONF.

FIg. A

Fig.A

COMMERCIAL RANGESvcc*5V±5%¡ TA-O-C io -f7o*c

N74LS2-WN

N74LS244F

MILITARY RANGES

VGC°SV ¿ 10%: TA— S5*c lo -M2s*c

S54LS244F

INPUT AND OUTPUT LOADING AND FAN-OUT TABLEA

PINS

Inpul. /W^ÍJIIL EniA)

« . . 'OHtmA)Outputs ,u"; ..IQL (mA)

54/74 54H/74H 54S/74S B4LS/74LS

20-0.2

-12/-15<fl)12/2-lta)

Figure A

TRUTH TABLE

ÍNPUTS

5Ea

LLH

<a

LH

X

SébLLH

Ib

LHX

OUTPUTS

Ve

LH(2)

*b

LH(2)

H - H>OH volUa* l«*lL * LOW VOH>D* lw»lX - Doo'IofB(?) - Wgn imp»d*nc* (cll) st.le

DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE(b)

PAR A METER

VQH Oulptit HIGH voltage

VQI. Oulpui LOW voltage

Oulput shod[fie rwo circuil current

'CCH Supply current HIGH

'COL Supply current LOW

ICGZ Supply currenf "of["

TEST CONDITIONS

Vj = 2V

Vc5E=vIL

^CC = Min

VJ-VILVÜE=VIL

'OH=~3i0mA

lOH=-12mA

OH^-'SmAte)

'OL=12mA

IOL=24mACc5

VGC * Max, VOUT ™ av

VCC = Max. Vt = 4.5V

VOE = OVVCG = Max. vj = ov

V^E = OV

Vcc - Max, V| = OVVOÉ * 4.5V

54/74

Min Max

S4H/74H

Min Max

54S/74S

Min Max

54LS/74LS

Min

2.4

2.0

2.0

-40

Max

0.4

0.5

-120

23

40

43

UNIT

V

V

V

V

V

mA

mA

mA

mA

NOTES• Ihn slohsd numbera iridíenla dllloranl Oírtmalnc Víluos /oí MHrtaiy/Commwciil

tump«tature «ngei reaDoctíwtv.b. FO( l.m.Iy de CfiaiaUvrUli» «e» «tiO* lionl CCH el lot 5Í/Í4 nnd 5<H/74H. VKl aoa

mud» bickcay.f lorSJS/7<S and 5*LS'7«LS tpeclUcillon.c This pinsmeler lar Commetclal Rnnoo only.

Page 211: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

AC CHARACTERISTICS: TA=25°C (See SBctfon 4 for Waveforms and Condltlons)

PARAMETER

'PLH Propagatíon delay

'PHL Prapagation delay

1P2H Enable to HIGH

IpZL Enable lo LOW

tpHz Dlsable Irom HIGH

'PLZ Disable (rom LOW

TEST CONDITIONS

Waveform 2

Wavelorm 2

Waveform 6

Waveform 7

Wavelorm 6

Wavelorm 7

ÑUTE

CL = 45pF

CL- 5ppW)

CL = 45pF

CL=SpF(d)

54/74

MIn Max

54H/74H

MIn Max

54S/74S

MIn Max

54LS/74LS

Cu = 45pFRL = 667ÍÍ

M(n Max

18

18

23

28

35

18

30

25

UNIT

ns

ns

ns

ns

ns

ne

ns

ns

lo guutnl** th»t ai» diaabled ind can no I«D« driwe ihe bu».

Page 212: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

54LS/74LS373 LOGIC SYMBOL

DESCRIPTIONThe "373' ¡a an B-Brt Transparent Latch wilh3-atate bullered outputa, The latch outptitalollow the dala Inputa when the latch Enable¡a HQH, and they are álable when the En-able ¡A LOW.The 3-alate oulput buffets aracontrolled by an active LOW Outptit Enable(OE~) ¡nput. A HIGH on the ÜE'inpiit locces theelght outputs to the hlgh fmpedance "ofl"atete. When 0~E ¡a LOW. the lalched orIransparent data appears at the outputa.

FEATURES• B-BIt tranoparent latch• 3-State oulput buffets• Common Latch Enable Input with

hystareata• Common 3-etate Output Enable

control• Independen! latch and 3-«tate buffer

opdratlon• See "363" lor MOS compatible output

vertíon

i i u u 17I 1 1 I I I I IO0 O) D; Oj DI

c

06

QU Ü| O] Oj O«

Di D* D/

DI Q» a,

OWD - Pin )0

PIN CONFIGURATION

ORDERING CODE (S»« Sectlon 9 for further Package and Orderlng Information)

PACKAGES

Plaatíc DIP

Ceramíc DtP

Flalpak

COMMERCIAL RANGESVCC=5VS5%¡TA-CTC lo-í-70-C

N74LS373N

N74LS373F

MILITARY RANGESVcc"5V± I0%' TA— SS-C 10 4-125-C

S54LS373F

OQ [T

°o ÍAoí {T

Oí (T

oí [T

t>j [T

ib °3 CE

CNO (15

JÜ °7

75] DT

17]

«I*15] Os

m 05 .«] f-jf] 0,

13 =

INPUT AND OUTPUT LOADING AND FAN-OUT TABLE(a)

PINS DESCRIPTION

E Latch Enable (activa HfGH) Input .'' í!I]L (mA)

D0-D7 Parallel Data inpula I í AÍ

ÜE Output Enable (acllve LOWJ ínput 1'IH/tfXí?I|L ímA)

Q0-Q7 3-State outpuls !OH ¡""^JIOL ímA5

54/74 54S/74S 54LS/74LS

20-0.4

20-0.4

20-0.4

-1/-2.6t«)12/24(a)

NOTE

a. Tí« •(••hwí numbarn (ndinte dilfocent paiimelric v«(u«» (oí II emp»;»(«* r«no»t i«>p*cltvv|y.

Page 213: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

FUNCT10NAL DESCRIPTIONTile "373" Is Octal Transparent Latch coup-led to eighl 3-átate output bufferi, The twosectiona oí the davice are controlled Inde-pendantty by Latch Enable (E) and OutputEnable (OE) control gales.

The data on the D Inputs transiórred to thelitch outputo when irte Latch Enable (E) in-pul IB HIGH. The latch camaina tranaparentto the data inputs while E Ifi H1GH, andstores the dala presen! ona setup time be-lora tha HIGH-lo-LOW enable tranaition. Theenable gata has about 400mV oí hyaterealabuilt m to betp minimiza problema thflt ttlgnaland ground nolaa can cause on the latohlnQoperatlon.

The 3-state output bullera are deafgned todtlve heavlly loaded 3-8tate buaea, MOSmemorias, or MOS microprocessors, Theactive LOW Output Enable (ÜE) controls allelghl 3-slale bullera independen! of thelatch operation. When 0€ IB LOW, thelatched or franaparent data appears at theoutputa. When OE ís HIQH, the ouiputa are ínthe hlgh impedenca "olí" slate, whichmeens they will neíther drive ñor load thebúa.

LOGIC DIAGRAM

MODE SELECT—FUNCTION TABLE

OPERATING MODES

Enable & read reglater

Latch & raad ragister

Latch reglster &díaabls outputs

INPUTS

OE

LL

LL

HH

E

HH

LL

LL

Dn

LH

1h

1h

INTERNAL REGISTER

LH

LH

LH

OUTPUTS

QO-O?

LH

LH

(Z)(2)

K •= HK3H vollaoBlh - HiGH volUo*

I B LOW votUg* IBVVÍ «w setup I(2) - HKjri fmpediflea -o«" «lite

*«lup llm« pnor lo )h* HlGH-la-LQW «nabln trtnsitlon[

prior lo m. HiGH-lú-tOW «ubi* Irinsil

í [>0(til (•"

(11

í,

MI

AC D

5

CI

' AE n

o

IB)

J

e ii

o

INI

Ae D

a

1")

AE Q

5

(«I

¿c n

5

J,E U

3

E

s

DC CHARACTER1ST1CS OVER OPERATING TEMPERATURE RANGE|b)

PARAMETER

VQL Output LOW voltage

VQH Oulput HIGH voltage

'OS Output short circult current

'Ce Suppíy currant

TEST CONOmONS

VCG WinVQe-VjL

IOL = l2mA

IOL - 24mA

VCC = Min, VQE = V[[_IOH = s*6 Fan Out Tab|fl

VCC - Max. VoUT - OV

VGC *= MaxMU

Com

54/74

Mln Max

54S/74S

Mln Max

54LS/74LS

Mfn

2.4

-30

Max

0.4

0.5 (0)

-too

44

40

UN1T

V

V

V

mA

mA

mA

l»ti»llct, laalniidc lionl cov«flof 5417-i «nd 6*H/7HH, nnd IBS c. "mi. p*i»msl«f lor Commtrcisl Hiñas

Page 214: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

AC CHARACTERISTICS: TA=25°C (S»« S.ctlon 4 lor T»«t Cfrcultl and Condltiona)

PAR ÁMETE R

tpLH Propagation delay'PHL Latch Eneble to outpul

IpLH Propaaatlon delaytpHL °ata to outpul

tpzH Enabla tima to HIGH leval

tpZL Enable lima lo LOW level

ÍPHZDisable time from HIGH level

VLZDisable lime from LOW level

TEST CONDITIONS

Figure 1

Figure i

Figura 2

Figuro 3

Figuro 2

Figure 2, C[_ = 5pFÍd)

Figura 3

Figure 3, CL = 5ppW)

54/74

Mtn Max

54S/74S

Min Max

54LS/74LS

C|_ = 45pFflL - 66711

Mln Max

3040

1832

20

2B

45

22

24

22

UHIT

nene

nsn»

na

na

ns

na

ns

ns

AC SETUP REQUIREMENTS; TA = 25°C (Seo Sectlon 4 lorTost Clrcults and Condiliont)

PA RAM ÉTER

1\ Latch Eneble pulse wrdlh

tg Selup lime Data to Latch Enable

ln Hold time Data lo Latch Enable

TEST CONDITIONS

Figure 1

Figure 5

Figure 6

54/74

Mln Max

54S/74S

Min Max

54LS/74LS

Mln

15

3.0

10

MaxUNIT

na

na

na

d. The»» Itsls B;« lor ratarence only. Thoy rsp/ojanl tha delny 1¡m« lo Duarinla* Ihtl ictsnceii diubteiJ inií can no longar drlve I he bu»

AC WAVEFORMS

LATCH ENABLE TO OUTPUT DELAYSAND LATCH ENABLE PULSE WIDTH

• \ \ £_ _je /" _ \ IPMl—j — 'PLM —4

. . ... [ \ -tvu T£VM

VM • I.6V tcx 5417* ind Sisn*3; VM - 1.3V lof S4LSI74I.S

Figure 1

3-STATE ENABLE TIME TO HIOH LEVEL

AND DISABLE TIME FROM HIGH LEVEL

OE V vu -J- y«

— ««-| -.««- rOSV

o ^¿VM ^^ — — • -.\yt

VM - I.6V loi &4IU and 6ÍS/74S; VM - I.3V lor S4LSIJ41S

Figure 2

Page 215: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

\ WAVEFORMS (Cónl'd)

3-STATE ENABLE TIME TO LOW LEVELAHD DISABLE TIME FROM LOW LEVEL

t1.SV lor 64/74 iM 6*SíT4S¡ Vw " 1.3V lol 54LS/7«LE

Figure 3

DATA SETUP AND HOLD TIMES

PROPAGATION DELAY DATATO O OUTPUTS

Tho studfld «i**» indicóle wri«n Ih* «pul íi curmilled lo chañen tor prodtct»fc[» oulput

Vy' I-5V tpi 54/74 45<Si74S;V|,,- I.3V ÍOf S4tSí7*L3

Figura 5.

d 543/7*3; VU - 1.

Figure 4

Page 216: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

ANEXO 4

CARACTERÍSTICAS DE LAS MEMORIAS 24C02A Y 93AA46

•'•!*!

*'*•*w «

Page 217: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04ATM

1K/2K/4K 5.0V PC Serial EEPROMs

FEATURES

• Low power CMOS technology• Hardware write protect• Two wire serial interface bus, 12C™ compatible

• 5.0V only operation• Selí-timed write óyele (including auto-erase)• Page-write buffer• 1 ms write cycle time for single byte• 1,000,000 Erase/Write cycles guaranteed

• Data retention >200 years• 8-pin DIP/SOICpackages• Available for extended temperature tanges

- Commercial (C): 0°C to +70°C- Industrial (I):. -40'C to +85'C- Automotive (E): -40"C to +125"C

DESCRIPTION

The Microchip Technology Inc. 24C01A/02A/04A is a1K/2K/4K bit Electrically Erasable PROM. The deviceis organized as shown, wíth a standard two wire serialinterface. Advanced CMOS technology allows a signif-icant reduction in powerover NMOS serial devices. Aspecial feature in the 24C02A and 24C04A provideshardware write proteciionforthe upperhalf oí the block.The 24C01A and 24C02A have a page write capabiliíyof two bytes and the 24C04A has a page length of eightbytes. Up to eight 24C01A or 24C02A devices and upto four 24C04A devices may be connected to the sametwo wire bus.

This device offers fast {1 ms) byte write andextended (-40°Cto 125°C) temperature operation. Itis recommended that all other applications useMicrochip's24LCXXB.

PACKAGETYPES

OrganizationWrite ProtectPage WriteBuffer

24C01A

128x8

None2 Bytes

24C02A

258x8080-OFF2 Bytes

24C04A

2 x 256 x 8

100-1 FF8 Bytes

DIP r

A1L

A2E

Vss E

8-lead

SOIC AOL¡I

A2CÜ

VSS ¿I

14-lead ,_SOIC NC C-

AO LÍ

A1 CÍ

A2 LÍ

Vss [í

* 'TEST" pin in 24C

1 8

2 N) |0 N) 7

o o oo o o

4 5

1 8

2 fo ro ro 7O O 0O O 0

q í* [0 -J- oo > > > o

4 5

; 2 13.3 ro ro ro 12

- . O O O ..... 4 o o o 11

*>. ro -»•

: s > > > 10! 6 9

; ? 8

301A

^VCC

HSCL

U SDA

Ib vcc

Ib wp*

ÍD NC

ÍD Vcc

^3 WP

I¡Il SCL

I¡U SDA

^UNC

BLOCK DIAGRAM

Vcc

Vss

SDA -*H

SCL

-»-

-^-

,[_

-(

r"*

-fc-

DataBuffer(FIFO)

Dala Reg.

~i

1 SlaveAddr. 1

i•-»•

rControlLogic

i i1 1

AO A1

i iI I

A2 WF

1

'j-*n Vpp | RAVAmp

I 1 'T

A P id od i MerI V AOto Ar

A7s e /w

s r

| Increment

>

r

noryray

i

A8

I2C is a trademark of Philips Corporation.

1996 Microchip Technology Inc. DS11183D-page 1

Page 218: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04A

1.0 ELECTRICAL CHARACTERISTICS

1.1 Máximum Ratinas*

vcc 7.ovAII inpuis and ouiputs w.r.t. Vss -0.6V to Vcc +1 .OVStorage temperatura -65"C to +150"CAmbient temp. with power applied -65"C ío +125"CSoldering temperatura of leads (10 seconds) +300'CESD protection on a!l pins 4 kV

"Notice: Stresses above those usted under "Máximum ratíngs"may cause permanent damage to the devlce. This is a stress rat-ing only and functional operation of the devíce at those or anyother condítions above those ¡ndicated in the operatíonal íistingsof this specification is not implied. Exposure to máximum ratingconditions for extended periods may affect device reliability.

TABLE1-1: PIN FUNCTIONTABLE

Ñame

AO

AO, A1 , A2

VSS

SDA

SCL

TEST

WP

vcc

Function

No Function for 24C04A only, Mustbe connected to Vcc or Vss

Chip Address Inputs

Ground

Serial Address/Data I/O

Serial Clock

(24C01 A only) Vcc or Vss

Write Protect input

+5V Power Supply

TABLE 1-2: DC CHARACTEFNSTICS

Vcc = +5V (±1 0%) Commercial (C): Tamb = 0°C ío +70°CIndustrial (I): Tamb= -40°C to +85°CAutomotive (E): Tamb= -40°C to +125°C

Parameter

Vcc detector threshold

SCL and SDA pins:High level input voltageLow level input voltageLow level output voltage

A1 & A2 pins:High level input voltageLow level input voltage

Input leakage current

Ouíput leakage current

Pin capacitance(all inputs/outputs)

Operating current

Stand by current

Symbol

VTH

VIHVILVOL

VIHVILILI

ILO

ClN,COUT

Ice Write

Ice Write

IceRead

ICCS

Min.

2.8

Vcc x 0.7-0.3

VCC - 0.5-0.3—

Max.

4.5

Vcc + 1Vcc x 0.3

0.4

VCC + 0.50.5

10

10

7.0

3.5

4.25

750

100

Units

V

VVV

VV

JlA

uA

PF

mA

mA

^A

HA

Conditions

IOL = 3.2 mA (SDA only)

VIN = OV to Vcc

VOUT = OV to Vcc

VIN/VOUT = OV (Note)Tamb = +25'C,í = 1 MHz

FCLK = 1 00 kHz, prog ram cycle time = 1 ms,Vcc = 5V, Tamb = O'C to +70'C

FCLK = 100 kHz, program cycle time = 1 ms,Vcc = 5V, Tamb = (I) and (E)

Vcc = 5V, Tamb= (C), (I) and (E)

SDA=SCL=Vcc=5V (no PROGRAM active)Note: This parameter is periodically sampled and not 100% tested

FIGURE 1-1: BUSTIMING START/STOP

SCL

SDA

TSU.'STA

VHYS

THD:STATsu:sro

-ÍJ-

STOP

DS11183D-page2 © 1996 Microchip Technology Inc.

Page 219: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04A

TABLE 1-3: AC CHARACTERISTICS

Parameter

Clock f requencyClock high timeClock low timeSDA and SCL rise timeSDAandSCLfalltimeSTART condition hold time

START condition setup time

Data input hold timeData input setup timeData output delay timeSTOP condition setup timeBus free time

Input filíer time constant(SDAandSCLpins)Program cycletime

Endurance

Symbol

FCLK

THIGHTLOW

TRTF

THD:STA

TSUlSTA

THD:DATTSU:DAT

TAA

Tsu:SroTBUF

Ti

Twc

Min.

40004700—

4000

4700

0

250

300

47004700

— •

.. —

1M

Typ

_

_

.4.4N—

Max.

100

1000300

— •

3500—

100

1N—

Units

kHzns

nsns

nsns

ns

nsns

nsns

ns

msms

cycles

Remarks

After this period the íirstclock pulse is generatedOnly relevant for repeatedSTART condition

(Note 1 )

Time the bus must be freebefore a new transmissioncan start

Byte modePage mode, N=# of bytes25°C, Vcc = 5.0V, BlockMode (Note 2)

Note 1: As transmítterthe device must provide this intemal mínimum delay time to bridge the undefined región (mín-imum 300 ns) of the falling edge of SCLto avoíd unintended generation oí START or STOP conditions.

2: This parameter is not tested but guaranteed by cha ráete rization. For endurance estimates in a specífíc appli-cation, please consult the Total Endurance Model which can be obtained on our BBS or website.

FIGURE 1-2: BUSTIMING DATA

TF

SCL

SDAIN

SDAOUT

TSU:STA-

TAA-

. TLOW

^ THIGH

THD:DATTHDISTA

-THD:STA

TR

TSUIDAT TSUISTO-

TAA TBUF

© 1996 Microchip Technology Inc. DS11183D-page 3

Page 220: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04A

2.0 FUNCTIONAL DESCRIPTIONThe 24C01A/02A/04A supports a bidirectional two wirebus and data transmission protocol. A device thatsends data onto the bus is defined as transmitter, anda device receiving data as receiver. The bus has to becontrolled by a master device which generaies theserial clock (SCL), controls the bus access, and gener-ales the START and STOP conditions, while the24C01A/02A/04A works as slave. Both master andslave can opérate as transmitter or receiver but themaster device determines which mode is activated.

Up to eight 24C01/24c02s can be connected to the bus,selected by the AO, Al and A2 chip address inputs. Upto four 24C04As can be connected to the bus, selectedby Al and A2 chip address inputs. AO must be tied toVcc or Vss forthe 24C04A. Otherdevices can be con-nected to the bus but require different device codesthan the 24C01A/02A/04A (refer to section SlaveAddress).

3.0 BUS CHARACTERISTICSThe following bus protocol has been defined:

• Data transíer may be initiaíed only when the bus isnot busy.

• During data transfer, the data line must remaínstable whenever the clock line is HIGH. Changesin the data line while the clock line is HIGH will beinterpretad as a START or STOP condition.

Accordingly, the following bus conditions have beendefined (Figure 3-1).

3.1 Bus not Busy(A)

Both data and clock lines remaín HIGH.

3.2 Start Data Transfer (B)

A HIGH to LOW transition of the SDA line while theclock (SCL) is HIGH determines a START condition. Allcommands must be preceded by a START condition.

3.3 Stop Data Transfer (C)

A LOW to HIGH transition of the SDA line while theclock (SCL) is HIGH determines a STOP condition. Alloperations must be ended with a STOP condition.

3.4 DataValídfD)

The state of the data line represents valid data when,after a START condiíion, the data line is stable for theduration of the HIGH period of the clock signal.

The data on the line must be changed during the LOWperiod of the clock signal. There ¡s one clock pulse perbit of data.

Each data íransfer is initiated with a START conditionand termínated with a STOP condition. The number ofthe data bytes transferred between the START andSTOP conditions is determined by the master deviceand istheoretically unlimited.

3.5 Acknowledqe

Each receiving device, when addressed, is obligad togenérate an acknowledge after the reception of eachbyte. The master device must genérate an extra clockpulse which ¡s associated with this acknowledge bit.

Note: The 24C01A/02A/04A does not genérateany acknowledge bits ¡f an ínternal pro-gramming cycle is in progress.

The device that acknowledges has to pulí down theSDA line during the acknowledge clock pulse in such away that the SDA Une ¡s stable LOW during the HIGHperiod of the acknowledge related clock pulse. Ofcourse, setup and hold times must be taken intoaccount. A master must signal an end of data to theslave by not generating an acknowledge bit on the lastbyte that has been clocked out of the slave, In thiscase, the slave must leave the data line HIGH to enablethe master to genérate the STOP condition.

FIGURE 3-1: DATA TRANSFER SEQUENCE ON THE SERIAL BUS

(A)r-pi

SDA

ce

(B)

START)NDITIC

\ ,

\~N

(D)

/ \-

-y vADDRESS OR DATA

ACKNOWLEDGE ALLOWEDVALIÓ TO CHANGE

f D)

J J

r. \0 r

(A)

STOPCONDITION

DS11183D-page4 © 1996 Microchip Technology Inc.

Page 221: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04A

4.0 SLAVE ADDRESSThe chip address ¡nputs AO, A1 and A2 of each 24C01 A/02A/04A musí be externally connected to either Vcc orground (Vss), assigning to each 24C01A/02A/04A aunique address. AO is noí used on the 24C04A andmust be connected to either Vcc or Vss. Up to eight24C01A or 24C02A devices and up to four 24C04Adevices may be connected ío the bus. Chip selection ¡sthen accomplished through software by setting the bitsAO, A1 and A2 of the slave address to the correspondinghard-wired logic levéis of the selected 24C01A/02A/04A.After generating a START condition, the bus mastertransmits íhe slave address consisting of a 4-bit devicecode (1010) for íhe 24C01A/02A/04A, followed by thechip address bits AO, A1 and A2. In the 24C04A, theseventh bit of that byte (AO) is used to select the upperbiock (addresses 100—1FF) or the lower block(addresses 000—OFF) of íhe array.

The eighth bit of slave address determines if íhe masterdevice wants to read or write to the 24C01A/02A/04A(Figure 4-1).

The 24C01A/02A/04A monitors the bus for its corre-sponding slave address ali the time, It generates anacknowledge bit if the slave address was true and it isnot in a programming mode.

FIGURE 4-1: SLAVE ADDRESSALLOCATION

START

.'

I

!

READ/WRITE

¿LAV¿ADDRESÍl i l i

1 0 1 0 A2

1

1R/W A

\1

AO

5.0 BYTE PROGRAM MODEIn this mode, the master sends addresses and one databyte to the 24C01A/02A/04A.

Foliowing the STARTsignal from the master, the devicecode (4-bÍts), the slave address (3-bits), and the R/Wbit, which is logic LOW, are placed onto the bus by themaster. This indicates to íhe addressed 24C01A/02A/04A that a byíe wiih a word address will follow after ithas generated an acknowledge bit. Therefore the nextbyte transmitled by the master is the word address andwill be written into íhe address poiníer of íhe 24C01 A/02A/04A. After recefvíng the acknowledge of the24C01A/02A/04A, the masterdevíce transmiís íhe dataword ío be written ¡nto the addressed memory location.The 24C01A/02A/04A acknowledges again and themaster generates a STOP condition. This initiates theinternal programming cycle of the 24C01A/02A/04A(Figure 6-1).

6.0 PAG E PROGRAM MODETo program the 24C01A/02A/04A, the master sendsaddresses and data to the 24C 01 A/02 A/04 A which isthe siave (Figure 6-1 and Figure 6-2). This ¡s done bysupplyíng a START condition followed by the 4-bitdevice code, the 3-bit slave address, and the R/W bitwhich is defined as a logic LOW for a write. This indi-cates to the addressed slave that a word address willfollow so the slave outputs the acknowledge pulse tothe master during the niníh clock pulse. When íhe wordaddress is received by íhe 24C01A/02A/04A, ií placesil in íhe lower 8 bíls of the address poiníer definíngwhich memory locaiion is to be written. (The AO bittransmitted with the slave address is the ninth bit of theaddress pointerforthe24C04A).The24C01A/02A/04Awill genérate an acknowledge after every 8-bítsreceived and store íhem consecutively in a RAM bufferuntil a STOP condition is detected. This STOP condi-tion initiates the internal programming cycle. The RAMbuffer is 2 bytes for the 24C01A/02A and 8 byíes for the24C04A. If more íhan 2 bytes are transmitted by themaster to the 24C01A/02A, the device will not acknowl-edge the data transfer and the sequence wilí beaborted. If more than 8 bytes are transmitted by themaster to the 24C04A, it will rail over and overwrite thedata beginning with the first received byte. This doesnot affect erase/wriíe cycles of the EEPROM array andis accomplished as a result of only allowing the addressregisters bottom 3 bits to increment while the upper 5bits remain unchanged.

If the master generates a STOP condition after trans-mitting the first data word {Point 'P' on Figure 6-1), byteprogramming mode is entered.

The internal, completely self-timed PROGRAM cyclestarts after the STOP condition has been generated bythe masíer and all received daía bytes in íhe pagebuffer will be written in a serial manner.

The PROGRAM cycle íakes N miiliseconds, whereby Nis íhe number of received data bytes (N max = 8 for24C04A, 2 for 24C01A/02A).

© 1996 Mícrochip Technology Inc. DS1ll83D-page5

Page 222: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04A

FIGURE 6-1: BYTE WRITE

sBUS ACTIVITY ]" CONTROLMASTER S BYTE

y -A.

SDALINE S

ABUS ACTIVITY C

K

SWORD _.T. T

ADDRESS UAIA O^ W P

I ! I I I I I I I I I IP

I I I I I I I I I I I IA AC CK K

FIGURE 6-2: PAGE WRITE

sT

BUS ACTIVITY AMASTER R CONTROL WORD

T BYTE ADDRESS (n)•A* ^.

SDALINE |S| I I n u i l .I ¡ I I I I I I I I I I

ABUS AGTIVITY C

K

ST

DATA n DATA n + 1 DATA n + 7 °-V _^A. >^

I I I I ! I I I I I I I I I I M I I I I I I ]

I I I I I I I I ! I I I I I I l\ I I I I IIA A A AC C C CK K K K

7.0 ACKNOWLEDGE POLLINOSínce the device will not acknowledge during a writecycle, this can be used to determine when the cycle iscomplete (this feature can be used to maximize busthroughput). Once the stop condition for a write com-mand has been issued from the master, the device ini-íiates the internally timed write cycle. ACK polling canbe initiated immediately. This involves the master send-ing a start condition followed by the control byte for awrite command {R/W = 0). If the device is stiil busy withthe write cycle, then no ACK will be returned. If thecycle ¡s complete, then the device will return the ACKand the mastercan then proceed with the next read orwrite command. See Figure 7-1 forflow diagram.

FIGURE 7-1: ACKNOWLEDGE POLLINGFLOW

SendWrite Command

Send StopCondition to

Initiate Write Cycle

Send Start

Send Control Bytewith R/W = 0

NODid Device

AcknowledgeACK =

DSl1183D-page 6 © 1996 Microchip Technology Inc.

Page 223: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04A

8.0 WRITE PROTECTIONProgrammíng of the upper half oí the memory will notíake place ¡f the WP pin of the 24C02A or 24C04A isconnected to Vcc f-t-S.OV). The device will accept slaveand word addresses but if the memory accessed iswrite protected by the WP pin, the 24C02A/04A will notgenérate an acknowledge after the first byte of data hasbeen received, and thus the program cycle will not bestarted when the STOP condition is asserted. Polarityof the WP pin has no effect on the 24C01 A.

9.0 READMODE

This mode illusírates master device reading data fromthe24C01A/02A/04A.

As can be seen from Figure 9-2 and Figure 9-3, themaster first sets up the slave and word addresses bydoing a write. (Note: Although this ís a read mode, theaddress pointer must be written to). During this periodthe 24C01A/02A/04A generales the necessaryacknowledge bits as defined in the appropriate section.

The master now generales another START conditionand transmits the slave address again, except this timethe read/write bit is set into the read mode. After theslave generates the acknowledge bit, ít then outputsthe data from the addressed íocation on to the SDA pin,increments the address pointer and, ¡f ¡t receíves anacknowledge from the master, will transmit the nextconsecutive byte. This auto-increment sequence isonly aborted when the master sends a STOP conditioninstead of an acknowledge.

Motel: if the master knows where the addresspointer ís, itcan begín the read sequenceat the current address (Figure 9-1) andsave time transmitting the slave and wordaddresses.

Note 2: In all modes, the address pointer will notincrement through a block (256 byte)boundary, but wílí rotate back to the firstlocatíon in that block.

FIGURE 9-1: CURRENT ADDRESS READ

BUSACTIVITYMASTER

SDA UNE

BUS ACTIVITY

START

CONTROLBYTE DATAn

STOP

NO

ACK

FIGURE 9-2: RANDOM READ

S

BUSACTIVITY I CONTROLMASTER £ BYTE

T, -A-

SDALINE LJ U

BUS ACTIVITY

ST S

WORD A CONTROL yADDRESS (n) R BYTE DATA (n) o

— . , -A, , T, A . ,

I I I I I I I I U I I I | I ~~| ' I

I ! i i i i i i i M i l I I I I i iA A Ac e cK K K

-A , p

"" Pl i l i

NoACK

© 1996 Microchip Technology Inc. DSH183D-page7

Page 224: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

24C01A/02A/04A

FIGURE 9-3: SEQUENTIAL READ

ST

BU|ACTIVlTY CO^ROL DAJAn DATAn + 1 DATAn + 2 DATAn + X R.A >\. *

... ~T I I I I I I i l I ! ! I I I I I

SDALINE • I , , , - I I .A A A

BUS ACTIVITY C C CK K K

l i l i \\ i l ¡ l l l U!l i l i \ i i i i i i I I

A NC OK

ACK

10.0 PIN DESCRIPTION

10.1 AQ. A1, A2 Chip Address Inputs

The levéis on these inputs are compared with the cor-responding bits ¡n the slave address. The chip isselected ¡f the compare is true. For 24C04 AO is nofunction.

Up to eight 24C01 A/02A's or up to four 24C04A's canbe connected to the bus.

These inputs must be connected to either Vss or Vcc.

10.2 SDA Serial Address/Datalnput/Output

This is a bidirectional pin used to transfer addressesand data into and data out of the device. It ís an opendrain terminal, therefore the SDA bus requires a pull-upresistor to Vcc (typical 10KÍ2).

For normal datatransfer, SDAis allowed to changeonlyduring SCL LOW. Changes during SCL HIGH arereserved for indicating the START and STOP condi-tions.

10.3 SCL Serial Clock

This input is used to synchronize the data transfer fromand to the device.

10.4 WP Wríte Protection

This pin must be connected to either Vcc or Vss for24C02A or 24C04A. It has no effect on 24C01 A.

If tied to Vcc, PROGRAM operaiions onto the uppermemory block will not be executed. Read operationsare possible.

If tied to Vss, normal memory operation is enabled(read/write the entire memory).

This feature allows the userto assign the upper half ofthe memory as ROM which can be protecíed againstaccidental programming. When write Ís disabled, slaveaddress and word address will be acknowledged butdata will not be acknowledged.

Note 1: A "page" is defined as the máximum num-ber of bytes that can be programmed in asingle write cycle, The 24C04A page Ís 8bytes longr the 24C01A/02A page is 2bytes iong.

Note 2: A "block" Ís defíned as a contínuous áreaof memory with dístínct boundaríes,Theaddress poiníer can not cross the bound-ary from one block to another. It will how-ever, wrap around from the end of a blockto the first location in the same block. The24C04A hastwo blocks, 256 bytes each,The 24C01A and 24C02A each nave onlyone block.

DS11183D-page 8 © 1996 Microchíp Technology Inc.

Page 225: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/661K/2K/4K 1.8V Microwire® Serial EEPROM

FEATURES

• Single supply with programming operation downto1.8V

• Low power CMOS technology- 70 ¿iA typical active READ current at 1.8V- 2 jjAtypical standby current atl.SV

• ORG pin selectable memory confíguration

- 128 x 8- or 64 x 16-bit organizaron (93AA46)- 256x8-or128x 16-bítorganization

(93AA56)- 512 x 8 or 256 x 16 bit organizaron (93AA66)

• Self-timed ERASE and WRITE cycles(including auto-erase)

• Automatic ERAL before WRAL

• Power on/off data protection circuitry• Industry standard 3-wíre serial I/O• Device status signal during ERASE/WRITE cycles

• Sequential READ function• 10,000,000 ERASE/WRITE cycies guaranteed on

93AA56 and 93AA66

• 1,000,000 E/W cycles guaranteed on 93AA46

• Data retention > 200 years

• 8-pin PDIP/SOIC(SOIC in JEDEC and EIAJ standards)

• Temperatura ranges supported

- Commercia! (C): 0°C to +70°C

DESCRIPTION

The Mícrochíp Technology Inc. 93AA46/56/66 are 1K,2K and 4K low voltage serial Electricaíly ErasablePROMs.The device memory is configured as x8 orxl6bits depending on the ORG pin setup. AdvancedCMOS technology makes these devices ideal for lowpower non-volatile memory applicaíions. The 93AASeries is available in standard 8-pin DIP and surfacemount SOIC packages. The rotated pin-out 93AA46X/56X/66X are offered in the "SN" package only.

PACKAGETYPES

BLOCK DIAGRAM

ORG

es

I~L

iMDDE

DECODELOGIC

.. OUTDUF

í

Microwire is a registered trademark of National Semiconductor Incorporated.

1996 Microchíp Technology Inc. DS20067G-page 1

Page 226: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/66

1.0 ELECTRICAL CHARACTERISTÍCS TABLE1-1: PIN FUIMCTfON TABLE

1.1 Máximum Ratinas

VCC 7.0VAll inputs and outputs w.r.t. Vss.... -0.6V to Vcc+l.OVStorage temperature.. -65*C to +150"CAmbientlemp. with power applied -65*C to +125*CSoldering temperature of leads {10 seconds)........+300'CESD protection on all pins 4 kV

"Notice: Stresses above trióse usted under "Máximum ratings"may cause permanent damage to the devíce. This ¡s a stress rat-ing only and functional operation of the device at those or anyother condítions above those Indicated ín the operational listíngsof thís specifícation is not implied. Exposure to máximum ratfngcond'rtíons for extended periods may affect device reiiability.

TABLE 1-2; DC AND AC ELECTRICAL CHARACTERISTÍCS

Ñame

CS

CLK

Di

DO

VSS

ORG

VCC

Function

Chip Select

Serial Data Clock

Serial Data Input

Serial Data Output

G round

Memory Confíguration

Not Utilized

Power Suppíy

Vcc = +1 ,8V ío +5.5V Commercial {C}: Tamb = 0*C to +70*C

Parameter

High level input voltage

Low level input voltage

Low level output volíage

High level output volfage

Input leakage curren!Output leakage currentPin capacitance(all inputs/outputs)Operating current

Standby current

Clock frequency

Clock high timeClock iow timeChip select setup timeChip seleci hold timeChip select Iow timeData input setup timeData input hold timeData ouiput delay timeData output disable timeStatus valid timeProgram cycle time

Endurance93AA4693AA56/66

Symbol

VIH1

VIH2VIL1

VIL2VOLlVOL2VOH1

VOH2luILO

ClN, COUT

Ice writeIce read

• ices

FCLK

TCKHTCKLTcssTCSHTCSLTDISTDIHTPDTezTSV

TwcTecTWL

— -

Min

2.00.7 VCC

-0.3-0.3——2,4

VCC-O.2-10-10

• — •

250250500

250100100

1M10M

Typ

———————————

70

2

4816

Max

Vcc+1VCC+1

0.80.2 VCC

0.40.2

——10107

31

500

10030

21

400100500101530

1M10M

Units

VVVVVVVVpAuA

PF

mAmAHAMAuAuAuA

MHzMHznsnsnsnsnsnsnsnsnsnsmsmsms

Condítions

Vcc > 2.7VVcc < 2.7VVCC £ 2.7VVCC < 2.7VIOl_=2.1 mA;Vcc = 4.5VlOL=100fiA;Vcc = 1.8VIOH = -400uA; Vcc = 4.5VIOH = -100uA; Vcc = 1.8VVlN = 0.1VtoVccVour=0.1VtoVccVlN/VOUT = OV (Note 1 & 2)Tamb^+25'C, Fci_K=1 MHzFCLK=2 MHz; VCC=5.5V (Note 2)FCLK =2 MHz; Vcc = 5.5VFci_K=1 MHz; Vcc = 3.0VFCLK=1 MHz; Vcc = 1.8VCLK = CS = OV;VCC = 5.5VCLK=CS = OV;VCC = 3.0VCLK - CS = OV; Vcc = 1 .8VVCC £ 4.5VVCC < 4.5V

Relatíve to CLKRelatíveíoCLK

Relativa to CLKRelatíve to CLKCL=100pFCL=100pF(Note2)CL=100pFERASE/WRITE modeERAL mode {Vcc - 5V ± 1 0%)WRAL mode (Vcc = 5V ± 1 0%)

25°C, Vcc = 5.0V, Block Mode(Note 3)

Note 1: This parameter is tested at Tamb = 25°C and FCLK = 1 MHz.2: This parameter ¡s periodically sampled and not 100% tested.3: This parameteris not tested but guaranteed by characterization,

catión, please consult the Total Endurance Model whích can beForendurance estimates in a specific appii-obtained on our BBS or website.

DS20067G-page 2 © 1996 Mícrochip Technology Inc.

Page 227: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/66

TABLE 1-3: INSTRUCTION SET FOR 93AA46: ORG = 1 (X 16 ORGANIZATION)

Instructíon

READEWENERASEERALWRITEWRALEWDS

SB

1111111

Opcode

1000

110001

0000

Address

A5 A4 A3 A2 A1 AO

1 1 X X X XA5 A4 A3 A2 A1 AO

1 0 X X X XA5 A4 A3 A2 A1 AO

0 1 X X X X0 0 X X X X

Data In

———

D15-DOD15-DO

Data Out

D15 - DO

HIgh-Z(RDY/BSY)(RDY/BSY)(RDY/BSY)(RDY/BSY)

H¡gh-Z

Req. CLK Cycles

999

25259

TABLE 1-4: INSTRUCTION SET FOR 93AA46: ORG = O (X 8 ORGANIZATION)Instructíon

READEWENERASEERALWRITEWRALEWDS

SB

1

1

1

1

1

1

1

Opcode

10

00

1100

01

00

00

Address

A6A5A4A3A2A1 AO

1 1 X X X X XA6 A5 A4 A3 A2 A1 AO1 0 X X X X X

A6 A5 A4 A3 A2 A1 AO

0 1 X X X X X0 0 X X X X X

Data In

————

D7-DO

D7-DO

Data Out

D7-DOH¡gh-Z

(RDY/BSY)(RDY/BSY)(RDY/BSY)(RDY/BSY)

HÍgh-Z

Req. CLK Cycles

1810

10

10

18

18

10

TABLE 1-5: INSTRUCTION SET FOR 93AA56: ORG = 1 (X 16 ORGANIZATION)Instruction

HbAÜEWENERASEERALWRITEWRALEWDS

SB

1

111111

Opcode

10001100

01

00

00

Address

XA6A5A4A3A2A1AO1 1 X X X X X XX A6 A5 A4 A3 A2 A1 AO

1 0 X X X X X XXA6A5A4A3A2A1 AO

0 1 X X X X X XO O X X X X X X

Data In

——

——

D15-DO

D15-DO

Data Out

D15-DOH¡gh-Z

(RDY/BSY)(RDY/BSY)(RDY/BSY)(RDY/BSY)

H¡gh-Z

Req. CLK Cycles

27

11

11

11

27

27

11

TABLE 1-6: INSTRUCTION SET FOR 93AA56: ORG = O (X 8 ORGANIZATION)Instruction

READEWENERASEERALWRITEWRALEWDS

SB

1

1

1

1

1

1

Opcode

1000

1100

01

00

00

Address

XA7A6AÍ>A4A3A2A1 Aü1 1 X X X X X X XXA7A6A5A4A3A2A1 AO

1 O X X X X X X XX A7 A6 A5 A4 A3 A2 A1 AO0 1 X X X X X X Xo o x x x x x x x

Data In

————

D7-DOD7-DO

Data Out

D7-DOHigh-Z

(RDY/BSY)(RDY/BSY)(RDY/BSY)(RDY/BSY)

High-Z

Req. CLK Cycles

20

121212

20

20

12

TABLE 1-7: INSTRUCTION SET FOR 93AA66: ORG = 1 (X 16 ORGANIZATION)Instructíon

READEWENERASEERALWRITEWRALEWDS

SB

1

1

1

1

1

1

Opcode

001100

01

00

00

Address

1 1 X X X X X XA7 A6 A5 A4 A3 A2 Al AO

1 0 X X X X X XA7A6A5A4A3A2A1 AO

0 1 X X X X X XO O X X X X X X

Data In

————

D15-DOD15-DO

Data Out

H¡gh-Z(RDY/BSY)(RDY/BSY)(RDY/BSY)(RDY/BSY)

High-Z

Req. CLK Cycles

27

11

11

11

27

27

11

TABLE 1-8: INSTRUCTION SET FOR 93AA66: ORG =0 (X 8 ORGANIZATION)Instruction

READEWENERASEERALWRITEWRALEWDS

SB

1

1

1

1

1

1

1

Opcode

10001100

01

00

00

Address

A8 A7 AS A5 A4 A3 A2 Al AO

1 1 X X X X X X XA8 A7 A6 A5 A4 A3 A2 A1 AO1 O X X X X X X XA8 A7 A6 A5 A4 A3 A2 A1 AO

0 1 X X X X X X XO O X X X X X X X

Data In

——

——

D7-DO

D7-DO

Data Out

D7-DOHigh-Z

(RDY/BSY)(RDY/BSY)(RDY/BSY)(RDY/BSY)

HÍgh-Z

Req. CLK Cycles

20

12

12

12

20

20

12

© 1996 Microchip Technology Inc. DS20067G-page 3

Page 228: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/66

2.0 FUNCTIONAL DESCRIPTIONWhen the ORG pin is connected ío Vcc, the (xl 6) orga-nization is selected. When it is connected to ground,the (x8) organízation is selected. instructions,addresses and write data are ciocked into the DI pin onthe rising edge of the clock (CLK). The DO pin is nor-mally held in a high-Z state except when reading datafrom ihe device, or when checking the READY/BUSYstatus during a programming operation. The ready/busy status can be verified during an Erase/Write oper-ation by polling the DO pin; DO low ¡ndicates that pro-gramming is still in progress, while DO high ¡ndicatesthe device is ready. The DO will enterthe high-Z stateon the falling edge of the CS.

2.4 READ

2.1 START Condition

The START bit is detected by the device if CS and DIare both HIGH with respectto the positive edge oí CLKfor the íirst time.

Betore a START condition is detected, CS, CLK, and DImay change in any combination (except to that of aSTART condition), without resulting in any device oper-ation (READ, WRITE, ERASE, EWEN, EWDS, ERAL,and WRAL). As soon as CS is HIGH, the device is nolongerin the standby mode.

An instruction following a START condition will only beexecuted if the required arnount of opcode, addressand data bits for any particular instruction is ciocked in.

Afíer execuíion of an instruction (Le., clock in or out ofthe last required address or data bit) CLK and DIbecome don't care bits until a new start condition isdetected.

2.2 DI/DO

It is possible to connect the Data In and Data Out pinstogether. However, with this configuration it is possiblefor a "bus conf lict" to occur during the "dummy zero" thatprecedes the READ operation, if AO is a logic HIGHleve!, Under such a condition the voltage level seen atData Out is undefíned and will depend upon the relative¡mpedances of Data Out and the signal source drivingAO. The higher the current sourcing capability of AO,the higher the voltage at the Data Out pin.

2.3 Data Protection

During power-up, all programming modes of operationare inhibited until Vcc has reached a level greaterthan1.4V. During power-down, the source data protectioncircuitry acts to inhibit all programming modes whenVcc has fallen below 1.4V at nominal conditions.

The EWEN and EWDS commands give additional pro-tecíion against accidentally programming during nor-mal operation.

After power-up, the device is automatically in theEWDS mode. Therefore, an EWEN instruction must beperformed beforeany ERASE or WRITE instruction canbe execuíed.

The READ instruction outputs the serial data of theaddressed memory location on the DO pin. A dummyzero bit precedes the 16 bit (x16 organization) or 8 bit(x8 organization) outputstring. The outputdaía bits willíoggle on the rising edge of the CLK and are stable afterthe specified time delay (Tpo). Sequential read is pos-sible when CS is held high. The memory data wiíi auto-matically cycle to the next register and outputsequentially.

2.5 Erase/Write Enable and Disable(EWEN.EWDS)

The 93AA46/56/66 power up in the Erase/Wriíe Disable(EWDS) state. All programming modes must be pre-ceded by an Erase/Write Enable (EWEN) instruction.Once the EWEN instruction is executed, programmingremains enabled until an EWDS instruction is executedor Vcc is removed from the device. To protect againstaccidental data disturb, the EWDS instruction can beused to disable all Erase/Write functions and should fol-low al! programming operations. Execution of a READinsíruction is independeni of both the EWEN andEWDS instructions.

2.6 ERASE

The ERASE instruction forces all data bits of the spec-ifíed address to the logical "1" state. CS is brought lowfollowing the loading of the last address bit. This fallingedge of the CS pin initiates the self-timed programmingcycle.

The DO pin ¡ndicates the READY/BUSY status of thedevice if CS ¡s brought high after a mínimum of 250 nslow (Test). DO at logical "O" ¡ndicates thaí program-ming is still in progress. DO at lógica! "1" ¡ndicates thatthe register at the specified address has been erasedand the device is ready for another instruction.

The ERASE cycle takes 4 ms per word typical.

2.7 WRITE

The WRITE ¡nstrucíion ¡s followed by 16 bits (or by 8bits) of data which are written ¡nto the specifiedaddress. After the last data bit is put on the DI pin, CSmust be brought low before the next rising edge of theCLK clock. This falling edge of CS ¡nitiaíes the self-timed auto-erase and programming cycle.

The DO pin ¡ndicates the READY/BUSY status of thedevice if CS ¡s brought high after a mínimum of 250 nslow (Test) and before the entire write cycle is complete.DO at logical "O" indicates that programming ¡s still inprogress. DO at logical "1" indicates that the register atthe specified address has been written with the dataspecified and the device ¡s ready for another ¡nstruc-tion.

The WRITE cycle takes 4 ms per word_typ¡cal.

DS20067G-page 4 © 1996 Microchip Technology Inc.

Page 229: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/66

2.8 Erase Al! (ERAU 2.9 WriteAIKWRAU

The ERAL instruction will erase the entíre memoryarray to the lógica! "1" state.The ERALcycIe is ¡denticalto the ERASE cycle except forthe different opcode. TheERALcycIe ¡s completely selMimed and commences atthe falling edge of the CS. Clocking of the CLK pin is notnecessary afterthe device has entered the self clockingmode. The ERAL instruction ¡s guaranteed at 5V ±10%.

The DO pin indicates the READY/BUSY status of thedevice if CS is brought high after a mínimum of 250 nslow {TCSL) and before the entire write cycle is complete.

The ERALcycIe takes (8 ms typicaí).

The WRAL instruction will wriie the entire memory arraywith the data specified in the command. The WRALcycle is completeíy self-timed and commences at thefalling edge of the CS. Clocking of the CLK pin is notnecessary afterthe device has entered the self clockingmode. The WRAL cornmand does ¡nclude an auto-matic ERAL cycle for the device. Thereíore, the WRAL¡nstruction does not require an ERAL instruction butthechip must be ¡n the EWEN status. The WRALinsíruc-tion is guaranteed at 5V ± 10%.

The DO pin indicates the READY/BUSY status of íhedevice if CS is brought high after a minimum of 250 nslow (Test).

The WRAL cycle takes 16 ms typicaí.

FIGURE 2-1: SYNCHRONOUS DATATIMING

VIHCS -

VIL

VIHCLK

VIL

TDISVIH. .

01 v VIL

VnnDO VOH

TsvDO VOH

Tcss

'-

/(PROGRAM) ,, \L

TCKH

S

/

±

TDIH

y'\O

V

TCKL

X

_\

STATUS VALID

TPD

TCSH

Tez"* *

Tez

\

FIGURE 2-2: READ TIMING

CLK

TRI-STATE*

Tri-State is a regístered trademark of National Semiconductor Incorporated.

© 1996 Microchip Technology Inc. DS20067G-page 5

Page 230: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/66

FIGURE 2-3: EWENTIMiNG

es

CLK

FIGURE 2-4: EWDSTIMING

es

CLK

DI

U

1 \ O O O / X

FIGURE 2-5: WRITETIMING

CLK

1 \ 0 / 1 VAnAVA AGADxDI

DO

TWC

DS20067G-page 6 © 1996 Microchip Technology Inc.

Page 231: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/66

FIGURE 2-6: WRALTIMING

TRl-STATE READY \ TRl-STATE

Guaranteed at Vcc = +4.5V to +6.0V.

FIGURE 2-7: ERASE TIMING

es_ TCSL

-»-\-*—»

DI 1 1 1 \2 AO

TRI-STATE

T- CHECK STATUS\Y

-TSV

BUSY

re;

TWC

READYTRl-STATE

FIGURE 2-8: ERAL TIMING

CLK

-r -Tf- CHECK STATUS -V STANDBY

Guaranteed at Vcc = 5.0V ±10%.

TEC

© 1996 Microchip Technology Inc. DS20067G-page 7

Page 232: ESCUELA POLITÉCNIC NACIONAA Lbibdigital.epn.edu.ec/bitstream/15000/10759/1/T1358.pdf · 2019. 4. 7. · escuela politÉcnic nacionaa l facultad de ingenierÍa elÉctrica Üviplementacion

93AA46/56/66

3.0 PIN DESCRIPTION

3.1 ChipSelect(CS)

A HIGH level selects the device. A LOW level deselectsthe device and forces ¡t ¡nto standby mode. However, aprogramming cycle whích is already initiated and/or inprogress will be completed, regardless oí the CS ínputsigna!. If CS ¡s brought LOW during a program cycle,the device will go into standby mode as soon as the pro-gramming cycle is completed.

CS must be LOW for 250 ns mínimum (Test) betweenconsecutivo instructions. If CS is LOW, the interna! con-trol logic is held in a RESET status.

3.2 Serial Clock (CLK)

The Serial Clock is used to synchronize the communi-cation between a master device and the 93AAXX.Opcode, address, and data bits are clocked in on thepositiva edge of CLK. Data bits are also clocked out onthe posííive edge of CLK.

CLK can be stopped anywhere in the transmissíonsequence (at HIGH or LOW level) and can be continuedanytime with respect to clock HIGH time (TCKH) andclock LOW time (TCKL). This gives the controlling mas-ter freedom ¡n preparing opcode, address, and data.

CLK is a "Don't Care" if CS is LOW (device deselected).If CS is HIGH, but START condition has not beendetected, any number of clock cycles can be receivedby the device without changíng its status (Le., waitingfor START condition).

CLK cycles are not requíred during the self-timedWRITE (i.e., auto ERASE/WRITE) cycle.

After deiection of a start condition the specífied numberof clock cycles (respectively LOW to HIGH transitas ofCLK) must be provided. These clock cycles arerequired to clock in ali required opcode, address, anddata bits before an instruction is executed (see instruc-tion settruth table). CLK and DI then become dont careínputs waiting for a new start condition to be detected.

Note: CS must go LOW between consecutiveinstructions.

3.3 Data In (DI)

Data In ¡s used to clock in a START bit, opcode,address, and data synchronously with the CLK input.

3.4 Data Out (DO)

Data Out is used in the R EAD mode to output data syn-chronously with the CLK input (Tpo after the positiveedge of CLK).

This pin also provides READY/BUSY status informationduring ERASE and WRITE cycles. READY/BUSY sta-tus information ¡s available on the DO pin if CS isbrought HIGH after being LOW for mínimum chip selectLOW time (Test) and an ERASE or WRITE operaíionhas been initiated.

The status signal is not avaiiable on DO, if CS is heldLOW or HIGH during the entire WRITE or ERASEcycle. In all other cases DO is in the HIGH-Z mode. Ifstatus is checked after the WRITE/ERASE cycle, a pull-up resistor on DOis required to read the READY signal.

3.5 Orqanization (ORG)

When ORG ¡s connected to Vcc, the (x16) memoryorganizaron is selected. When ORG is tied to Vss, the(x8) memory organizaron is selected. ORG can only befloated for clock speeds of 1MHz or less for the (x16)memory organizaron. For clock speeds greater íhan 1MHz, ORG must be tied to Vcc or Vss.

DS20067G-page 8 © 1996 Microchíp Technology Inc.