Beruflich Dokumente
Kultur Dokumente
ACADEMIA DE ELECTRNICA.
10
11
12
13
INTRODUCCIN
Estos apuntes se realizaron para cubrir el temario de la asignatura Electrnica III, del
Departamento de Ingeniera Elctrica en el Instituto Politcnico Nacional que se imparte en el
sexto semestre de la carrera de ingeniera elctrica, unidad Zacatenco.
En la cuarta unidad el estudiante aplica las instrucciones del JM60, para resolver problemas,
utilizando el simulador Code Warrior.
En la quinta unidad el estudiante utiliza los puertos de la tarjeta JM60, para comunicarse con el
mundo exterior, el convertidor analgico para medir la temperatura y las interrupciones para
controlar un proceso.
En el programa no se especifican los temas Teora de los conjuntos, Algebra Booleana y Mapas
de Karnaugh, sin embargo, son temas muy importantes (conocimiento previo) que presento de
manera rpida y fcil, para que el estudiante pueda aprender el nuevo conocimiento, acorde al
nuevo modelo educativo por competencias.
Por ultimo quiero decir que carece de validez la enseanza que no resulta en un aprendizaje.
Espero que estos apuntes sean un recurso valioso y prctico para encauzar adecuadamente los
procesos de enseanza y de aprendizaje, de los estudiantes con necesidades educativas de
calidad.
14
NDICE
UNIDAD I: Sistemas de Numeracin...16
1.1 Sistemas de numeracin signado.... 16
1.2 Conversin de sistemas decimal a cualquier base.25
1.3 Conversin de cualquier base a sistema decimal.......28
1.4 Relacin entre los sistemas binarios, octal y hexadecimal....29
1.5 Sistemas de numeracin signado y sus conversiones31
1.6 Aritmtica binaria y hexadecimal..34
1.7 Cdigos..46
UNIDAD II: Circuitos digitales y dispositivos de memoria.....61
2.1 Seales analgicas y digitales61
2.2 Compuertas lgicas73
2.3 Flip-Flops...81
2.4 Codificadores89
2.5 Decodificadores.93
2.6 Multiplexores.95
2.7 Circuitos aritmticos..99
2.8 Estructura y funcionamiento general de las memorias....122
2.9 Clasificacin de las memorias..131
2.10 Conexiones de memorias.134
UNIDAD III: Arquitectura general de una computadora137
3.1 Diagrama general de una computadora137
3.2 Buses.142
3.3 Arquitectura de la unidad microprocesador..146
3.4 Modelo de programacin..151
UNIDAD IV: Programacin bsica de la unidad microprocesador156
4.1 Modos de direccionamiento.156
4.2 Herramientas de programacin172
4.3 Instrucciones190
4.4 Ejemplos de programacin bsica205
UNIDAD V: Programacin de perifricos.209
5.1 Puertos Digitales..209
5.2 Adquisicin de seales analgicas220
5.3 Interrupciones..233
UNIDAD VI: Aplicacin de microcontroladores en ingeniera elctrica.244
6.1 Planteamiento del proyecto.244
6.2 Aceptacin del proyecto..247
6.3 Supervisin..255
6.4 Pruebas de aceptacin..259
6.5 Demostracin y exhibicin del proyecto.266
15
UNIDAD I
1.1 SISTEMAS DE NUMERACIN NO SIGNADO.
En la tecnologa digital se utilizan muchos sistemas de nmeros. Los ms comunes
son los sistemas decimal, binario, octal y hexadecimal.
El sistema decimal
16
17
Para determinar
simplemente se toma en
cuenta la suma de los productos de cada valor digital (0 o 1) por su valor posicional.
18
Ejemplo:
o
4310
1010112 = 43 10
19
Ejemplo 3:
Qu nmero decimal representa el nmero octal 24,68?
Nota. Las fracciones las separaremos con coma y no por punto.
24,68 = 2 x (81) + 4 x (80)+ 6 x (8-1)
= 2 x (8) + 4 x (1)+ 6 x (0,125)
=20,7510.
+ residuo de 1
Resultado
+ residuo de 4
.26610= 4128
/8=0
Note que su primer residuo se transforma en el digito menos significo (LSD) del
nmero octal y el ultimo residuo se convierte ms significativo (MSD).
Binario
000
001
010
011
100
101
110
111
20
Ejemplo.
Convertir el nmero octal 4728 a binario (usar 3 bits para representar cada cifra):
4
100
111
010
28
Segundo caso.
Algunas veces el nmero binario no tendr grupos de 3 bits. En esos casos podemos
agregar uno o dos ceros a la izquierda del MSB del nmero binario a fin de completar
el ltimo grupo.
Ejemplo.
Para ilustrar lo antes dicho, consideremos la conversin de 110101102 en octal.
0
68
21
SIMBOLO
VALOR ABSOLUTO
10
11
12
13
14
15
22
26 / 16
1 /16
= 0 + residuo de 1 ..116
Resultado
23
Ejemplo.
Convertir el nmero hexadecimal 9F216 a binario (usar 4 bits para representar cada
cifra).
9 F 216 =
1001
1111
0010
Ejemplo.
Convertir el nmero binario 1011101001102 a hexadecimal.
1110
1011101001102 = 1011
1010
610
1010
0110
A16
616
B16
= BA616
24
Ejemplo1.
Para convertir el nmero 13,312510 a base 2, en primer lugar hay que dividir,
sucesivamente, la parte entera del nmero, en este caso (1310), entre 2, hasta obtener
un cociente ms pequeo que 2.
13 L 2
1 6L2
0 3L2
1 1L2
1
Como el ltimo cociente vale 1, ya es ms pequeo que el divisor 2, tenemos que
parar de dividir. Por tanto,
1310 = 11012
El segundo paso consiste en convertir la parte fraccionaria del nmero (0,312510). Para
ello, se deben realizar los siguientes clculos:
0,3125 x 2 =
0,625
0,625 x 2 =
0,25
x2=
0,5
0,5
x2=
25
0,312510 = 0,01012.
En resumen.
13,312510 = 1101,01012.
Para comprobar si los clculos estn bien hechos, podemos realizar la conversin
inversa, es decir, podemos pasar el nmero 1101,01012 a base 10. De manera que,
usando el TFN los clculos son:
0,9x2=1,8
0,8x2=1,6
0,6x2=1,2
0,2x2=0,4
0,4x2=0,8
0,8x2=1,6
26
220
= 11011100B + 0,111001B
Entero
fraccin
+ 8
+ 16
+ 64 + 128
= 22010.
Para comprobar la parte fraccionaria
Decimal, tenemos:
=0,5
+ 0,25 + 0,125 +
=0,890625 0,9
27
0,015625
Si se tiene un nmero en base n, por ejemplo 1637(base 7), el proceso para convertirlo
a base decimal es el siguiente:
Ejemplo.
Aplicar este proceso para convertir el nmero binario 10012 a decimal.
Este mtodo es til para nmeros grandes, ya que para nmeros pequeos se puede
utilizar el clculo mental segn las potencias de la base, como se explic
anteriormente. De ser los nmeros muy grandes, habra que conocer las tablas de
multiplicar de las diferentes bases, lo que resultara tedioso. De ah la utilizacin de
ste sencillo mtodo de multiplicaciones y sumas.
28
Equivalente octal.
29
Comprobacin.
9B16 = 11 + 9 x 16 = 11 + 144 = 15510.
100110112 = 1 + 2 + 8 + 16 + 128 = 15510.
2338 = 3 + 3 x 8 + 2 x 64 = 3 + 24 + 128 = 15510.
Ejemplo 3.
Convertir el nmero octal 3578 a binario y hexadecimal.
Donde 38=0112, 58=1012 y 78= 1112.
3578 = 0111011112.
Dado que 3578 = 0111011112, reagrupndolos en grupos de 4 bits, tenemos:
11102 = E16 y 111116 = F16. El cero que est a la izquierda no se toma en cuenta.
Por lo tanto 3578 = 0111011112 = EF16.
Comprobacin.
+ 2
+ 4
+ 8
+ 0
= 23910.
+ 14 x 16
= 15
+ 224
= 23910.
30
+ 32 + 64 + 128.
Complemento a dos.
ii.
n = 610;
26 = 6410
Complemento a uno.
El complemento a uno de un nmero N, compuesto por n bits es, por definicin, una
unidad menor que el complemento a dos, es decir:
C1N = C2N 1.
Y, por la misma razn:
C2N = C1N + 1.
Calculemos el complemento a uno del mismo nmero del ejemplo anterior:
Siendo N = 4510 = 1011012, y su complemento a dos C2N = 0100112
C1N = C2N 1 = 0100112 0000012 = 0100102
C1N = 0100102
31
N = 01101101012.
El complemento a uno es (invierte ceros y unos):
C1N = 10010010102.
Y el complemento a dos es (smale 1):
C2N = 10010010112.
Magnitud y signo.
Complemento a 1 (complementos a la base disminuida).
Complemento a 2 (complemento a la base).
32
Ejemplo.
Considere el nmero decimal +15 empleando un bit ms para su representacin
(magnitud y signo).
+1510 = 011112, si se pone un cero a su izquierda no altera su valor y permite
representar el signo +.
Si realizamos su complemento a uno tenemos;
011112
complemento a uno
100002
Como se observa el bit del signo ha cambiado, por lo que se trata del -1510, esto es:
011112 = +1510.
complemento a uno
+1510 = 011112
complemento a dos
100012.
Como se observa el bit del signo tambin ha cambiado, por lo que se trata del -1510, en
complemento a 2, es decir:
-1510 = -011112 = 100012, si realizamos su complemento a dos nuevamente tenemos:
100012 complemento a uno
011112.
33
Suma en binario.
Para aprender a sumar, con cinco o seis aos de edad, tuviste que memorizar las 100
combinaciones posibles que pueden darse al sumar dos dgitos decimales. La tabla de
sumar, en binario, es mucho ms sencilla que en decimal. Slo hay que recordar
cuatro combinaciones posibles:
+
0+1
Ejemplo 1.
Sumar los nmeros binarios 1001002(3610) y 100102(1810).
1001002. 3610
0100102 ..1810
1101102.5410
34
Ejemplo 2.
Sumar 110012 (2510) y 100112 (1910).
Ejemplo 3.
Sumar 12510 =125D = 11111012 = 1111101B y 8610 = 86D = 10101102 = 1010110B.
Observar que se puede usar el subndice 10 o D para el decimal y el subndice
para el binario.
125D1111101B
86D1010110B
211D. 11010011B
Otros ejemplos.
0102 + 1012 = 1112
Sustraccin en binario.
La tcnica de la resta en binario es, nuevamente, igual que la misma operacin en el
sistema decimal. Pero conviene repasar la operacin de restar en decimal para
comprender la operacin binaria, que es ms sencilla. Los trminos que intervienen en
la resta se llaman minuendo, sustraendo y diferencia.
1+1
35
00=0
10=1
11=0
La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad
prestada de la posicin siguiente: 10 - 1, es decir, 210 110 = 1. Esa unidad prestada
debe devolverse, sumndola, a la posicin siguiente. Veamos algunos ejemplos:
1112 1012 = 0102
1001100111012
0101011100102
0100001010112
Y, por fin, vamos a ver cmo facilita la resta el complemento a uno. La resta binaria de
dos nmeros puede obtenerse sumando al minuendo el complemento a uno del
sustraendo. Veamos algunos ejemplos:
Primer ejemplo:
36
Segundo ejemplo:
Segundo ejemplo:
37
En el resultado de la suma nos sobra un bit, que se desborda por la izquierda. Pero,
como el nmero resultante no puede ser ms largo que el minuendo, el bit sobrante se
desprecia.
Hagamos esta otra resta, 21910 2310 = 19610, utilizando el complemento a dos:
21910 = 110110112
2310 = 000101112
C2 de 23 = 11101001
El resultado de la resta ser: 110110112 + 111010012 = 1110001002.
Despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto:
110001002 = 19610.
Multiplicacin binaria.
Hay varios mtodos de hacer la multiplicacin binaria, a continuacin se muestra la
manera en que aprendimos a multiplicar.
Comprobacin
1x20 + 1x21 + 0x22 + 0x23 + 0x24 + 1x25 + 1x26 = 1 + 2 + 32 + 64 = 9910
38
Comprobacin
1x20 + 1x21 + 0x22 + 0x23 + 0x24 + 1x25 + 1x26 = 1 + 2 + 32 + 64 = 9910
39
Divisin binaria.
La divisin tambin se puede realizar de varias maneras. A continuacin se muestra la
manera en que aprendimos a dividir.
Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismo
nmero de cifras (100 entre 110, en el ejemplo). Si no puede dividirse, se intenta la
divisin tomando un dgito ms (1001 entre 110).
Si la divisin es posible, entonces, el divisor slo podr estar contenido una vez en el
dividendo, es decir, la primera cifra del cociente es un UNO. En ese caso, el resultado
de multiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo del
divisor y bajamos la cifra siguiente.
El procedimiento de divisin contina del mismo modo que en el sistema decimal.
Otro mtodo de la divisin la cual es fcil de implementar para computadoras y
microprocesadores es ejecutando restas sucesivas. El divisor es restado del dividendo
y de cada sucesivo residuo hasta que un acarreo (borrow) se presenta. El cociente
deseado es uno menos que el nmero de sustracciones al producirse un acarreo.
Este mtodo es simple, pero para nmeros grandes es lento.
Para acelerar la divisin con nmeros grandes se usa el algoritmo de resta y
desplazamiento a la izquierda y puede ser usado en computadoras.
El proceso es similar al que aprendimos para hacer divisiones.
El divisor se resta del digito ms significativo del dividendo. Si el bit de sobreflujo o
acarreo producido por la resta es cero entonces la resta fue posible y se pone en 1
el registro del cociente. El resultado de la resta es desplazado a la izquierda un lugar.
El divisor es restado del resultado desplazado. Cuando el bit de sobreflujo o acarreo
es 1 porque el divisor es ms grande, se pone 0 en el siguiente bit del registro del
cociente. El divisor es agregado al resultado de la resta para restituir el valor. Este
nmero es desplazado a la izquierda y se procede a resta nuevamente hasta terminar.
A continuacin se muestra un ejemplo para comprenderlo mejor.
40
41
Aritmtica hexadecimal.
En el sistema hexadecimal, al igual que en el sistema decimal, binario y octal, se
pueden hacer diversas operaciones matemticas. Entre ellas se encuentra la resta
entre dos nmeros en sistema hexadecimal, la que se puede hacer con el mtodo de
complemento a 15 o tambin utilizando el complemento a 16. Adems de stas,
deberemos manejar adecuadamente la suma en sistema hexadecimal, explicada a
continuacin:
Suma.
La adicin de los nmeros hexadecimales se efecta de manera similar a la adicin
decimal, siempre y cuando recuerde que el mayor digito hexadecimal es (F) y no 9
para realizar esta operacin se sugiere el siguiente procedimiento:
Ejemplo.
Sumar los nmeros hexadecimales 3A943B16 y 3A943B16.
1 11
Acarreos
3A943B16 Donde: B16 + 516 = 1110 + 510 = 1610 = 1016 (0 y llevamos 1).
+ 23B7D516
116 + 316 + D16 = 410 + 1310 = 1710 = 1116 (1 y llevamos 1).
5E4C1016
116 + 416 + 716 = 510 + 710 = 1210 = C16 (no hay acarreo).
916 + B16
= 910 + 1110 = 2010 =1416 (4 y llevamos 1).
116 + A16 + 316 = 410 + 1010 = 1410 = E16 (no hay acarreo).
316 + 216 = 516 (no hay acarreo).
Resta Hexadecimal.
Las restas Hexadecimales se pueden resolver fcilmente utilizando el complemento a
15 o el complemento a 16. Estos procesos hacen que una resta se convierta en una
suma en sistema hexadecimal.
Complemento a 15.
42
FF21716
complemento a 15 de 00DE816.
1A41E016
Con la suma obtenemos el resultado 1A41E016, pero no es la respuesta final. Te
habrs dado cuenta que este nuevo nmero tiene ms cifras que los nmeros inciales
que tenamos que restar. Tenemos que quitar el nmero de la izquierda (en este caso,
el 1) y sumarlo.
A41E016
+
116
A41E116.
Comprobacin
Por lo tanto.
A4FC916
- 00DE816
A41E116.
43
Complemento a 16.
Tambin podemos hacer la resta de dos nmeros hexadecimales utilizando el
complemento a 16, siguiendo un proceso similar que en el caso del complemento a 15.
Para resolver la resta, tendremos que sumar al minuendo el complemento a diecisis
del sustraendo.
Esta es la resta que tenemos que resolver (la misma del ejemplo anterior):
A4FC916
DE816
A4FC916
- 00DE816
FF21716
.
Ahora tenemos que sumarle 1 a la diferencia obtenida. Este paso es muy
importante, ya que es la diferencia entre hacer la resta en complemento a 15 u 16, y
se suele olvidar fcilmente. Adems, recuerda que ests sumando en sistema
hexadecimal, siguiendo el mismo proceso explicado anteriormente.
FF21716
+
116
FF21816
complemento a 16 de 00DE816
44
A4FC916
+ FF21816
1A41E116.
Con la suma obtenemos el resultado 1A41E1.
Te habrs dado cuenta que este nuevo nmero tiene ms cifras que los nmeros
inciales que tenamos que restas, cosa imposible en una resta (que la diferencia sea
mayor que el minuendo y el sustraendo).
En ambos casos la respuesta obtenida deber ser la misma, ya que hemos resuelto la
misma resta en sistema hexadecimal.
Por lo tanto, podremos comprobar que hemos operado bien comparando las
respuestas obtenidas en complemento a 15 y en complemento a 16 para una misma
resta.
Ejemplo.
E
A 4 F C 916
D E 816
A 4 1 E 116
45
1.7 CDIGOS.
No toda la informacin que maneja un sistema digital es numrica, e inclusive, para la
informacin numrica a veces no es conveniente utilizar el sistema binario descrito
antes. Por ello es conveniente idear formas diferentes de representar (codificar)
informacin diversa usando solamente ceros y unos.
CDIGOS NUMRICOS.
Existen varias situaciones en las que no es conveniente utilizar el binario natural para
manejar informacin numrica, entre ellas se pueden mencionar las siguientes:
Los cdigos BCD nos permiten representar cada uno de los dgitos decimales (0,...,9)
mediante 4 bits.
El ms sencillo de los cdigos BCD es el BCD8421 o BCD natural, que consiste
simplemente en representar cada dgito decimal por su binario equivalente. As
tenemos:
Dgito
Decimal
0
BCD8421
BCD8421
0000
Dgito
Decimal
5
0001
0110
0010
0111
0011
1000
0100
1001
46
0101
0101
Ejemplo 2.
En el cdigo BCD: los cuatro primeros bits representan el 3.Los siguientes cuatro
representan el 9 y los ltimos cuatro el 5.
Decimal
1310
Conversin Binaria
Codificacin BCD
11012
0001 0011BCD
47
Suma BCD.
Las operaciones aritmticas se hacen siguiendo las reglas convencionales. La mayor
dificultad se encuentra en la generacin de acarreos.
Ejemplo :
3D
+5D
8D
0011BCD
+ 0101BCD
1000BCD
Ejemplo :
6D
0110BCD
+ 8D
14D
+ 1000BCD
1110BCD
error
Al sumar en binario 0110 + 1000 se obtiene un cdigo BCD invlido, que hay que
corregir para producir un resultado correcto, es decir un acarreo y 0100. Esto es:
+
+
0110BCD
1000BCD
1110BCD
0110BCD
Factor de correcin
1 0100BCD
Ejemplo:
9D
8D
17D
1001BCD
+ 1000BCD
10001BCD
error
En este caso el resultado es vlido (tienen significado en decimal) pero incorrecto (ya
que es el nmero 11 en BCD). La correccin es:
+
+
1001BCD
1000BCD
10001BCD
0110BCD
10111BCD
error
Factor de correccin.
Esto significa 1l nmero 17D (0001 0111BCD).
48
El cdigo BCD exceso-3 se obtiene a partir del cdigo BCD natural, simplemente
sumando 310 (00112) a cada cdigo BCD de cada dgito decimal. Esto se resume en la
siguiente tabla.
Dgito
Decimal
0
1
2
3
4
BCD
EXCESO-3
0011
0100
0101
0110
0111
Dgito
Decimal
5
6
7
8
9
BCD
EXCESO-3
1000
1001
1010
1011
1100
49
BCD
Dgito
BCD
Decimal
2421
Decimal
2421
0000
1011
0001
1100
0010
1101
0011
1110
0100
1111
CDIGO 2 DE 5 (BIQUINARIO).
El cdigo 2 de 5 es un cdigo multibit no ponderado, es decir, los cdigos no pueden
obtenerse usando una expresin polinomial; este cdigo est diseado para la
deteccin de errores en diferentes tipos de clculos y operaciones con registros de
corrimiento. Se usan cinco bits para representar los dgitos decimales (0-9). Como el
nombre lo implica slo dos de los cinco bits son 1.
Dgito
Cdigo
Dgito
Cdigo
Decimal
2 de 5
Decimal
2 de 5
00011
01100
00101
10001
00110
10010
01001
10100
01010
11000
50
CDIGO GRAY.
El cdigo Gray es un tipo especial de cdigo binario que no es ponderado (los
dgitos que componen el cdigo no tienen un peso asignado).
Su caracterstica es que entre una combinacin de dgitos y la siguiente, sea sta
anterior o posterior, slo hay una diferencia de un dgito. Por eso tambin se le llama
cdigo progresivo.
Esta progresin sucede tambin entre la ltima y la primera combinacin. Por eso se
le llama tambin cdigo cclico. (Ver la tabla que se muestra abajo).
El cdigo Gray es utilizado principalmente en sistemas de posicin, ya sea angular o
lineal. Sus aplicaciones principales se encuentran en la industria y en robtica.
En robtica se utilizan unos discos codificados para dar la informacin de posicin
que tiene un eje en particular. Esta informacin se da en cdigo Gray.
La tabla siguiente es una lista del cdigo Gray de cuatro bits para nmeros decimales
del 0 al 15. Los nmeros binarios se muestran en la tabla como una referencia.
Como los nmeros binarios, el cdigo Gray puede tener cualquier nmero de bits.
DECIMAL
BINARIO
GRAY
0000
0000
0001
0001
0010
0011
0011
0010
0100
0110
0101
0111
0110
0101
0111
0100
1000
1100
1001
1101
10
1010
1111
11
1011
1110
12
1100
1010
13
1101
1011
14
1110
1001
15
1111
1000
51
Gray
Gray
1 0 Binario
Gray
0 Binario
Gray
Binario
1 1 1 0 1
Gray
52
Para convertir de cdigo Gray a Binario, se utiliza un mtodo similar, pero con algunas
diferencias. Se aplican las siguientes reglas:
Ejemplo:
Paso 1. El digito del cdigo binario ms a la izquierda es el mismo que el digito del
cdigo Gray ms a la izquierda.
1 1 0 1 1 Gray
1
Binario
Paso 2. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo
Gray en la siguiente posicin. Descarte acarreos. (En negrilla bit que se suman).
1 1
0 1 1 Gray
1 0
Binario
Paso 3. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo
Gray en la siguiente posicin.
1 1 0 1 1 Gray
1 0 0
Binario
Paso 4. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo
Gray en la siguiente posicin.
1 1 0 1 1 Gray
1 0 0 1
Binario
Paso 5. Sume el ltimo bit del cdigo binario que se acaba de generar al bit del cdigo
Gray en la siguiente posicin. Descarte acarreos.
1 1 0 1 1 Gray
1 0 0 1 0 Binario
La conversin ha sido completada; el cdigo binario es 100102.
53
La principal caracterstica del cdigo Gray (que slo cambia un bit entre dos cdigos
consecutivos) es muy utilizada en sensores pticos para codificar la posicin (angular
o lineal) mediante discos o cintas codificadas en Gray, dependiendo del caso.
Aunque el disco pudiera ser codificado en binario natural, el hacerlo en Gray tiene la
ventaja de que si el sensor queda ubicado entre dos sectores, la lectura tomada
producir un error de cuando mucho media posicin. En cambio, si es en binario este
error puede ser tan grande como 180.
54
CDIGOS ALFANUMRICOS.
Muchas aplicaciones de sistemas digitales (especialmente en las computadoras o la
transmisin de textos) requieren del procesamiento de datos como nmeros, letras y
smbolos especiales. Para manejar estos datos usando dispositivos digitales, cada
smbolo debe estar representado por un cdigo binario. El cdigo alfanumrico ms
generalizado en la actualidad es el denominado ASCII (American Standard Code for
Information Interchange). Este es un cdigo de 7 bit. La siguiente tabla muestra una
parte del cdigo ASCII:
Rango (hexadecimal
0 al 19
30 al 39
41 al 5A
61 al 7A
Caracteres
cdigos de control y comunicaciones
dgitos del 0 al 9
letras maysculas de la A a la Z
letras minsculas de la a a la z
55
Decimal
Nmeros
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
56
a
1
0
1
1
0
1
1
1
1
1
x
x
x
x
x
x
b
1
1
1
1
1
0
0
1
1
1
x
x
x
x
x
x
c
1
1
0
1
1
1
1
1
1
1
x
x
x
x
x
x
d
1
0
1
1
0
1
1
0
1
1
X
X
X
X
X
X
e
1
0
1
0
0
0
1
0
1
0
x
x
x
x
x
x
f
1
0
0
0
1
1
1
0
1
1
x
x
x
x
x
x
g
0
0
1
1
1
1
1
0
1
1
x
x
x
x
x
x
Por otro lado, la transmisin de datos a distancias muy grandes (del orden de cientos
de metros a miles de kilmetros) hace necesario usar menos lneas fsicas, en este
caso puede usarse el esquema de la figura siguiente o transmisin en serie, la cual
utiliza una sola lnea para enviar el nmero de bits que se desee.
57
CDIGO DE PARIDAD.
Un mtodo muy simple, pero ampliamente utilizado por su sencillez para detectar
errores en transmisin de datos consiste en aadir un bit de paridad (p) a cada
carcter, normalmente en la posicin ms significativa.
En el cdigo de paridad par, el bit de paridad (p) se elige de manera que el nmero
de bits 1 del dato sea un nmero par incluyendo el bit de paridad. En el cdigo de
paridad impar, el bit de paridad se elige de modo que el nmero de bits 1 (incluyendo
el de paridad) del dato sea impar.
De esta manera, cuando cambia un bit durante la transmisin, el nmero de unos en el
carcter recibido tendr la paridad equivocada y el receptor sabr que se ha producido
un error.
Ejemplo: La siguiente tabla muestra un cdigo de paridad par de 8 bits para los
caracteres ASCII FIE.
Como puede verse, el cdigo de paridad no siempre resulta efectivo para detectar
errores. Qu tipo de errores si detecta y cules no?
58
CDIGO DE HAMMING.
Richard Hamming (1950) ide un mtodo no slo para detectar errores sino tambin
para corregirlos, y se conoce como cdigo Hamming. En l se aaden k bits de
paridad a un carcter de n bits, formando un nuevo carcter de n + k bits. Los bits se
enumeran empezando por 1, no por 0, siendo el bit 1, el de la izquierda, el ms
significativo. Todo bit cuyo nmero sea potencia de 2 es un bit de paridad y todos
los dems se utilizan para datos.
Para un carcter ASCII de 7 bits, se aaden 4 bits de paridad. Los bits 1, 2, 4 y 8 son
bits de paridad; 3, 5, 6, 7, 9, 10 y 11 son los 7 bits de datos. Cada bit de paridad
comprueba determinadas posiciones de bit y se ajusta de modo que el nmero total
de unos en las posiciones comprobadas sea par, si se trata de paridad par.
Las posiciones de los bits comprobados por los de paridad son:
El bit 1 comprueba los bits 1, 3, 5, 7, 9 y 11.
El bit 2 comprueba los bits 2, 3, 6, 7, 10 y 11.
El bit 4 comprueba los bits 4, 5, 6 y 7.
El bit 8 comprueba los bits 8, 9, 10 y 11.
En general, el bit n es comprobado por los bits b1, b2,....,bj, tales que b1 + b2 + .... + bj
= n. Por ejemplo, el bit 5 es comprobado por los bits 1 y 4 porque 1 + 4 = 5. El bit 6 es
comprobado por los bits 2 y 4 porque 2 + 4 = 6.
Ejemplo: Usando paridad par, construir el cdigo de Hamming para el carcter "b".
Cdigo ASCII para "b" (62H = 110 0010)
D6=1
D5=1
D4=0
D3=0
D2=0
D1=1
D0=0
D6
1,3,5,7,9,11(para 2 unos)
D5
D4
D3
D2
D1
D0
59
Explicacin
El bit 1 se puso a cero porque los bits 3 y 5 estn en uno, para tener paridad par.
El bit 2 se puso a cero porque los bits 3 y 10 estn en uno, para tener paridad par.
El bit 4 se puso a uno porque el bit 5 est en uno, para tener paridad par.
El bit 8 se puso a uno porque el bit 10 est en uno, para tener paridad par.
Ejemplo:
El nmero total de unos en los bits 1, 3, 5, 7, 9 y 11 debera de ser par, ya que se est
usando paridad par. El bit incorrecto debe ser uno de los bits comprobados por el bit
de paridad 1, es decir, uno de los bits 1, 3, 5, 7, 9 u 11. Como el bit de paridad 2 es
correcto, sabemos que los bits 2, 3, 6, 7, 10 y 11 son correctos, de forma que el error
no estaba en los bits 3, 7 u 11. Esto deja los bits 1, 5 y 9. El bit de paridad 4 es
correcto, lo cual significa que los bits 4, 5, 6 y 7 no contienen errores. Esto reduce la
eleccin al 1 o 9. El bit de paridad 8 tambin es correcto y, por lo tanto, el bit 9 es
correcto. Por consiguiente, el bit incorrecto debe ser el 1. Dado que se recibi como un
1, debera haberse transmitido como un 0. En esta forma se pueden corregir los
errores.
60
UNIDAD II
2.1 SEALES ANALGICAS Y DIGITALES.
La electrnica se divide en dos categoras.
a) Electrnica analgica:
Trata de circuitos en los que las seales elctricas pueden tomar infinidad de valores
dentro de un rango determinado.
61
Una seal analgica es un tipo de seal generada por algn tipo de fenmeno
electromagntico y que es representable por una funcin matemtica continua en la
que es variable su amplitud y periodo (representando un dato de informacin) en
funcin del tiempo. Algunas magnitudes fsicas comnmente portadoras de una seal
de este tipo son elctricas como la intensidad de corriente, la tensin y la potencia,
pero tambin pueden ser hidrulicas como la presin, trmicas como la temperatura,
mecnicas, etc.
En la naturaleza, el conjunto de seales que percibimos son analgicas, as la luz, el
sonido, la energa etc., son seales que tienen una variacin continua. Incluso la
descomposicin de la luz en el arco iris vemos como se realiza de una forma suave y
contina.
Una onda senoidal es una seal analgica de una sola frecuencia. Los voltajes de la
voz y del video son seales analgicas que varan de acuerdo con el sonido o
variaciones de la luz que corresponden a la informacin que se est transmitiendo.
Por otro lado, las seales digitales adquieren uno de dos valores a travs del tiempo,
como se puede apreciar en la figura anterior. Su comportamiento se puede equiparar
al de un interruptor (o switch) que tiene uno de dos estados: encendido o apagado.
Las ventajas de este tipo de transmisin es, primero, su inmunidad a las interferencias
ya que al digitalizar una seal se elimina el ruido producido por el medio ambiente,
produciendo una seal ms pura y de mayor resolucin (si se cumplen otros requisitos
que no son importantes en este momento); y, segundo, que puede codificarse usando
el sistema binario que se basa en los dgitos 1(encendido) y 0 (apagado). Ese tipo de
cdigo se presta al almacenamiento; o sea, se puede guardar en memorias de las
utilizadas en cmaras digitales y discos duros de computadoras.
62
La gran desventaja respecto a las seales digitales es que en las seales analgicas
cualquier variacin en la informacin es difcil su recuperacin, y esta prdida afecta
en gran medida al correcto funcionamiento y rendimiento del dispositivo analgico. Un
sistema de control digital (como un ordenador, etc.) no tiene capacidad alguna para
trabajar con seales analgicas, de modo que necesita convertirlas en seales
digitales para poder trabajar con ellas.
63
REPASO.
Un conjunto es una coleccin de elementos u objetos bien definidos, en tal forma que
se puede afirmar con certeza si cualquier objeto dado pertenece o no a la agrupacin.
Para denotar a los conjuntos, se usan letras maysculas y sus elementos con letras
minsculas.
Cuando un elemento x1 pertenece a un conjunto A se expresa de forma simblica
como: x1A.
En caso de que un elemento y1 no pertenezca a este mismo conjunto se utiliza la
notacin: y1A.
Existen cuatro formas de enunciar a los conjuntos:
Ejemplo.
Dada la descripcin verbal el conjunto de las letras vocales, expresarlo por
extensin, comprensin y por diagrama de Venn.
Solucin.
Por extensin: V = a, e, i, o, u
64
Por diagrama de Venn:
e
i
u
o
o
o
AB
| xA y/o xB
Grficamente:
65
A B
| xA y xB
Grficamente:
66
Ejemplo.
Sean los conjuntos:
U = {a, b, c, d, e, f, g, h, i, j, k, l, m, n}.
A = {a, d, e, g, h, k, l, n}.
B = {a, c, f, g, k, l, m}.
Obtener:
a) A B, b) A B, c) A' y d) B.
Solucin.
a) A B = {a, c, d, e, f, g, h, k, l, m, n}.
b) A B = {a, g, k, l}.
c) A' = {b, c, f, I, j, m}.
d) B' = {b, d, e, h, i, j, n}.
AA.
AU U.
AU A.
A
2. Propiedades de idempotencia:
AA A.
AA A.
3. Propiedades de complemento:
AA' U.
AA'
67
4. Propiedades asociativas:
ABC AB C
ABC AB C
5. Propiedades conmutativas:
AB B A.
AB B A.
6. Propiedades distributivas:
AB CABAC
AB CABAC
Leyes de DMORGAN.
Estas leyes establecen los complementos de la unin e interseccin entre conjuntos:
Primera ley. El complemento de la unin de dos conjuntos es la interseccin de sus
complementos.
(A B)' = A'B'.
68
)(
( )
)(
( )
)(
) (
)(
A.
)(
(
)(
) (
)(
) (
)(
) (
= ( ).
5.- Demostrar la primera ley de De Morgan.
Considerando ejercicio 3, tenemos que:
(
)(
) (
)(
69
( )
( )
( )
)(
) (
( )
Por lo tanto:
( )(
Proponiendo:
( )
( )
Si comparamos estas dos expresiones, podemos concluir que:
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
(
) (
( )
( )
( )
( )
( )
( )
Proponiendo:
(
(
)
(
)
( ).
70
lgebra de Boole.
La herramienta fundamental para el anlisis y diseo de circuitos digitales es el
lgebra Booleana. Esta lgebra es un conjunto de reglas matemticas (similares en
algunos aspectos al lgebra convencional), que tienen la virtud de corresponder al
comportamiento de circuitos basados en dispositivos de conmutacin (interruptores,
relevadores, transistores, etc.).
El lgebra booleana es un sistema algebraico definido en un conjunto B, el cual
contiene dos o ms elementos y entre los cuales se definen dos operaciones
denominadas "suma u operacin OR" (+) y "producto o multiplicacin u operacin
AND" (.), es decir, la suma es la unin de conjuntos (U) y la multiplicacin es la
interseccin () de conjuntos.
Si consideramos lo anterior y adems, cambiamos por 0 y por 1, tenemos:
1. Propiedades de identidad:
AA;
A + 0 = A.
AU U;
A + 1 = 1.
AU A;
A . 1 = A.
A
2. Propiedades de idempotencia:
AA A;
AA A;
A + A = A.
A . A = A.
3. Propiedades de complemento:
AA' U;
A + A' = 1.
AA'
A' = 0.
4. Propiedades asociativas:
5. Propiedades conmutativas
AB B A;
AB B A;
A + B = B + A.
A . B = B . A.
6. Propiedades distributivas
AB CABAC
AB CABAC
A+B . CA+B.A +C
A.B + CA . B+A . C
71
( )
(
)
);
( )
(
)
(
)
( );
El ejercicio 3, que realizamos para usarlo como base para demostrar la primera ley de
De Morgan es muy importante porque nos permite introducir el concepto de
mintrminos (la suma de productos dar 1), como se muestra a continuacin.
(
(
) (
) (
)
) (
( )
.
1.
mintrminos
( )
( )
( )
( )
MAXTERMINOS
72
Como se muestra en la figura anterior, cada valor binario tiene una desviacin
aceptable del valor nominal. La regin intermedia entre las dos regiones permitidas se
cruza solamente durante la transicin de estado. Las terminales de entrada de un
circuito digital aceptan seales binarias dentro de las tolerancias permitidas y los
circuitos responden en las terminales de salida con seales binarias que caen dentro
de las tolerancias permitidas. La lgica binaria tiene que ver con variables binarias y
con operaciones que toman un sentido lgico. La manipulacin de informacin binaria
se hace por circuitos lgicos que se denominan compuertas.
Las compuertas son bloques del hardware que producen seales en binario 1 o 0
cuando se satisfacen los requisitos de entrada lgica. Las diversas compuertas lgicas
se encuentran comnmente en sistemas de computadoras digitales. Cada compuerta
tiene un smbolo grfico diferente y su operacin puede describirse por medio de una
funcin algebraica. Las relaciones entrada - salida de las variables binarias para cada
compuerta pueden representarse en forma tabular en una tabla de verdad.
A continuacin se detallan los nombres, smbolos, grficos, funciones algebraicas, y
tablas de verdad de las compuertas ms usadas.
73
Compuerta SI o Buffer.
Compuerta Y (AND).
74
Compuerta O (OR).
75
tenemos:
0
1
0
1
0
1
1
0
76
Se puede definir esta compuerta como aquella que da por resultado uno, cuando los
valores en las entradas son distintos. ej.: 1 y 0, 0 y 1 (en una compuerta de dos
entradas). Si la compuerta tuviese tres o ms entradas, la XOR tomara la funcin de
suma de paridad, cuenta el nmero de unos a la entrada y si son un nmero impar,
pone un 1 a la salida, para que el nmero de unos pase a ser par. Esto es as porque
la operacin XOR es asociativa, para tres entradas escribiramos:
(
)o bien
(
)
Su tabla de verdad sera:
Entrada A
0
0
0
0
1
1
1
1
Entrada A B C
0
1
1
0
1
0
0
1
Lgica negada.
Compuerta NO (NOT).
1
0
77
Se puede definir como una compuerta que proporciona el estado inverso del que est
en su entrada.
Entrada B
0
Salida
1
78
Entrada B
Salida
(
) aplicando la primera ley de De Morgan.
79
Entrada B
Salida
Se puede definir esta puerta como aquella que proporciona un 1 lgico, slo si las dos
entradas son iguales, esto es, 0 y 0 o 1 y 1 (2 encendidos o 2 apagados).
NOTA: El tema 2.3 se sugiere verlo despus de los temas 2.4, 2.5, 2.6 y 2.7.
80
Los circuitos lgicos que se han analizados anteriormente, las salidas en cualquier
momento depende exclusivamente de los valores de las entradas presentes, es decir,
a una misma combinacin de entrada responden siempre con la misma salida. Debido
a esto, estos circuitos se denominan combinacionales.
Los circuitos combinacionales tienen muchas limitantes debido a que no son capaces
de reconocer el orden en que se van presentando las combinaciones de entradas con
respecto al tiempo, es decir, no pueden reconocer una secuencia de combinaciones,
ya que no poseen una manera de almacenar informacin pasada, es decir no poseen
memoria.
El circuito secuencial debe ser capaz de mantener su estado durante algn tiempo,
para ello se hace necesario el uso de dispositivos de memoria. Los dispositivos de
memoria utilizados en circuitos secuenciales pueden ser tan sencillos como un simple
retardador (inclusive, se puede usar el retardo natural asociado a las compuertas
lgicas) o tan complejos como un circuito completo de memoria denominado
multivibrador biestable o Flip_Flop.
Como puede verse entonces, en los circuitos secuenciales entra un factor que no se
haba considerado en los combinacionales, dicho factor es el tiempo. De hecho, los
circuitos secuenciales se clasifican de acuerdo a la manera como manejan el tiempo
en circuitos secuenciales sncronos y circuitos secuenciales asncronos.
81
Aunque el biestable-SR posee dos entradas (S y R) y slo una salida (Q), es comn la
implementacin que provee adems de Q su versin complementada Q, como se
muestra en la figura siguiente.
R
qqQ
En la siguiente figura se muestra una celda biestable S-R construida con compuertas
NAND.
Q
Q
A continuacin se muestra una tabla que ilustra el funcionamiento del latch S-R.
QK (estado
presente)
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
82
QK+1
(siguiente
estado)
0
1
0
0
1
1
prohibido
prohibido
Flip-Flop S-R.
Se pueden disear celdas biestables S-R con una entrada de reloj que cambien su
estado solamente cuando la seal de reloj tenga el valor de 1. Estas celdas se
conocen como flip-flop S-R que operan con nivel de reloj alto, como se muestra en la
siguiente figura.
Cuando la seal de reloj (entrada C) vale 0, la salida de los bloques AND seran 0. Esta
condicion es analoga a cuando se tenian ceros en las entradas del latch SR antes
visto, la cual originaba que conservara su estado. Cuando la seal de reloj vale 1, las
entradas SR se aplican a las compuertas NAND y la celda funciona exactamente igual
al latch SR analizado anteriormente.
83
C
R
Este circuito se puede reducir empleando una compuerta NAND en lugar de una
compuerta AND y un inversor, como se muestra a continuacin.
84
Presente
Qsiguiente
X=no importa
Su smbolo es:
85
Q
0
1
0
1
Qsiguiente
0
1
1
0
86
El Flip-Flop JK.
Este Flip-Flop es el ms verstil de todos ya que puede trabajar como el SR o el T.
Aadiendo bloques lgicos externos, tambin puede hacerse funcionar como Flip-Flop
D.
Cuando las dos entradas J y K valen 1 este Flip-Flop opera como un Flip-Flop T,
cambiando de estado cuando la seal de reloj vale 1.
Suponiendo que las entradas J y K no pueden valer 1 simultneamente, el flip-flop
operar como un SR, donde J hace las veces de la entrada S y K las veces de R. A
continuacin se muestra su configuracin.
87
J K Q Qsiguiente
0 0 0 0
0 0 1 1
0 1 X 0
1 0 X 1
1 1 0 1
1 1 1 0
X = no importa
El biestable se denomina as por Jack Kilby (JK), el inventor de los circuitos integrados
en 1958, por lo cual se le concedi el Premio Nobel en fsica de 2000.
Biestable JK activo por flanco.
88
2.4 CODIFICADORES.
Un codificador tiene 2n o menos lneas de entrada y n lneas de salida. Por ejemplo,
en una de las entradas se puede ingresar un dgito decimal u octal y generarse un
cdigo de salida en BCD o binario. Los codificadores se utilizan tambin para codificar
smbolos diferentes y caracteres alfabticos.
2n Entradas ------[ ]------ n salidas.
Codificador Binario.
El codificador binario tiene 2n entradas y n salidas. Slo, una sola de las entradas
puede estar activada. La salida suministra el valor binario correspondiente a la entrada
activada.
Codificador de 8 a 3.
El codificador 8 a 3 tiene 8 entradas (I0 a I7), una para cada uno de los ocho dgitos y 3
salidas que conforman el nmero binario equivalente (A0 a A2). La siguiente figura
muestra en el diagrama de bloques del codificador.
89
En la tabla de verdad, A0 tiene un 1 lgico para las columnas de entrada con subndice
impar. La salida A1 es 1 en las columnas I2, I3, I6 e I7 y la salida A2 es 1 en las columnas
I4, I5, I6 e I7. Las expresiones lgicas son las siguientes:
A0 = I1 + I3 + I5 + I7
A1 = I2 + I3 + I6 + I7
A2 = I4 + I5 + I6 + I7
Por ejemplo, s est activada la entrada 3, la salida es 011. El circuito se construye con
compuertas OR y se muestra en la siguiente figura.
90
Cuando la entrada 7 vale cero, la salida es cero, cuando la entrada 7 vale uno, la
salida es 1, si las entradas 6 y 7 valen 1, la salida es 2, cuando las entradas 7, 6 y 5
valen uno, la salida es 3 y as sucesivamente.
A0
1
ENTRADA
DECIMAL
A1
SALIDA
4
5
6
BCD
A
2
7
8
9
En la siguiente tabla
decimal.
A3
91
Aplicaciones.
Los codificadores encuentran mayor aplicacin en los dispositivos de entrada y salida.
La seal de entrada es introducida de una forma comprensible para el usuario y la
"traduccin" la realiza el codificador a un cdigo comprensible para el equipo. En un
teclado, cuando se pulsa la tecla correspondiente a un dgito, esta entrada se codifica
en cdigo BCD.
92
2.5 DECODIFICADORES.
93
94
2.6 MULTIPLEXORES.
Los multiplexores MUX son circuitos combinacionales con varias entradas y una salida
de datos, y estn dotados de entradas de control capaces de seleccionar una, y slo
una, de las entradas de datos para permitir su transmisin desde la entrada
seleccionada a la salida que es nica.
La entrada seleccionada viene determinada por la combinacin de ceros (0) y unos
(1) lgicos en las entradas de control. La cantidad que necesitaremos ser igual a la
potencia de 2 que resulte de analizar el nmero de entradas. As, por ejemplo, a un
multiplexor de 8 entradas le correspondern 3 de control.
Podemos decir que la funcin de un multiplexor consiste en seleccionar una de entre
un nmero de lneas de entrada y transmitir el dato por un canal de informacin nico.
Por lo tanto, es equivalente a un conmutador de varias entradas y una salida.
Dentro de un multiplexor hay que destacar tres tipos de seales: los datos de entrada,
las entradas de control y la salida.
El diseo de un multiplexor se realiza de la misma manera que cualquier sistema
combinatorio desarrollado hasta ahora. Veamos, como ejemplo, el caso de un
multiplexor de cuatro entradas y una salida que tendr, segn lo dicho anteriormente,
dos entradas de control.
95
Este dispositivo tambin tiene una entrada para habilitarlo, la cual debe tener el valor
de 1 para que en la salida se obtenga el valor de la entrada seleccionada por las
entradas de control. Si la entrada habilitadora toma el valor de 0, la salida tomara el
valor de 0, independientemente de los valores presentes en las otras entradas.
La tabla de verdad para la salida S en funcin de las entradas de control ( C1 y C0) y la
entrada habilitadora (Hab.) es la siguiente:
Hab.
0
0
0
0
1
1
1
1
C1
0
0
1
1
0
0
1
1
C0
0
1
0
1
0
1
0
1
S
0
0
0
0
e0
e1
e2
e3
De forma semejante pueden definirse selectores de 8:1, 16:1, 32:1 y en forma general
de 2n : 1.
La principal utilizacin de este dispositivo es cuando se tienen N entradas posibles,
pero slo se desea seleccionar una de ellas (como veremos en el microcontrolador).
96
Demultiplexores.
Este dispositivo tiene n entradas de control, una entrada habilitadora, una sola entrada
de datos y 2n salidas. Las entradas de control sirven para seleccionar a cul de las 2n
salidas de datos se conectara la entrada. A continuacin se muestra el diagrama de un
selector 1:4.
Las funciones lgicas para las salidas del selector de 1:4 son:
97
De forma similar, se pueden definir selectores de 1:8, 1:16, 1:32 y en forma general,
de 1:2n.
La principal utilizacin de este dispositivo es cuando se tiene una sola entrada que
puede ser dirigida a solamente una de las N salidas posibles.
98
Sumador bsico.
Un sumador bsico es un circuito combinatorio que tiene como entrada dos nmeros
binarios de n bits y da como salida la suma binaria de estos nmeros y un posible
acarreo.
Al empezar la suma de los bits menos significativos (A0+ B0), se requiere de un circuito
que solamente sume dos bits, el cual genera dos salidas; una para dar la suma de
estos dos bits (S0) y la otra para indicar el posible acarreo que se pueda generar (C0).
Para sumar los bits restantes es necesario un circuito que sume 3 bits ( Ai+ Bi+ Ci-1),
para que genere como salida la suma (Si) y el posible acarreo (Ci).
A0
B0
S0
Semisumador
C0
A0
B0
S0
C0
99
Sumador completo.
Un sumador completo es un circuito que tiene como entrada 3 nmeros de 1 bit y
produce como salidas la suma y el acarreo entre estos 3 nmeros, como se muestra
en la siguiente figura.
An
Sn
Bn
Cn
Sumador
Cn-1
An
0
0
0
0
1
1
1
1
Bn
0
0
1
1
0
0
1
1
Cn.1
0
1
0
1
0
1
0
1
Sn
0
1
1
0
1
0
0
1
100
Cn
0
0
0
1
0
1
1
1
).
(
)
)
(
( ).
.
).
101
Restador bsico.
Un restador bsico es un circuito combinatorio que tiene como entrada dos nmeros
binarios de n bits y da como salidas la diferencia binaria de estos nmeros y un posible
prstamo.
Al empezar la resta de los bits menos significativos (A0 - B0), se requiere de un circuito
que solamente reste dos bits, el cual genera dos salidas; una para dar la diferencia de
estos dos bits (D0) y la otra para indicar el posible prstamo que se pueda solicitar
(Borrow0).
Para restar los bits restantes es necesario un circuito que reste 3 bits ( An Bn Borrown-1), para que genere como salidas la diferencia (Dn) y el posible prstamo
(Borrown).
102
A0
D0
Semirestador
B0
Borrow0
A0
0
0
1
1
B0
0
1
0
1
D0 Borrow0
0
0
1
1
1
0
0
0
.
.
103
Restador completo.
Un restador completo es un circuito que tiene como entrada 3 nmeros de 1 bit y
produce como salidas la resta y el prstamo que se da entre estos 3 nmeros, como
se muestra en la siguiente figura.
An
Dn
Bn
Borrown
Restador
Borrown-1
An
0
0
0
0
1
1
1
1
Bn
0
0
1
1
0
0
1
1
Borrown.1
0
1
0
1
0
1
0
1
Dn
0
1
1
0
1
0
0
1
Borrown
0
1
1
1
0
0
0
1
)
(
).
(
).
).
.
(
()
104
).
105
Deseamos usar un solo circuito para sumar y restar, por lo que compararemos las
ecuaciones del sumador y restador.
Semisumador:
..
C0 = A0.B0
Semirestador
La diferencia
Dado que tendremos una misma terminal para S0 / D0 y otra para C0 / Borrow0
Sumador
.
(
Restador
.
Las diferencias
()
Dado que tendremos una misma terminal para Sn / Dn y otra para Cn / Borrown
Considere las siguientes figuras para poder tomar en cuenta estas diferencias.
106
Este circuito presenta los resultados en binario, pero no todas las personas conocen
este sistema numrico, por lo que procederemos a disear un decodificador BCD de 7
segmentos como se cit en el apartado de los decodificadores.
107
A continuacin se muestra una tabla con los valores de entrada en binario que
deseamos mostrar en el display de 7 segmentos.
Decimal
Nmeros
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Entradas
binario.
B C
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
en Salidas para el
de 7 segmentos
a b c d e
1 1 1 1 1
0 1 1 0 0
1 1 0 1 1
1 1 1 1 0
0 1 1 0 0
1 0 1 1 0
1 0 1 1 1
1 1 1 0 0
1 1 1 1 1
1 1 1 1 0
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
x x x x x
display
f
1
0
0
0
1
1
1
0
1
1
x
x
x
x
x
x
g
0
0
1
1
1
1
1
0
1
1
x
x
x
x
x
x
Para obtener la salida debemos seleccionar los segmentos que debern prender, as
por ejemplo, el cero solo tenemos que apagar (0) el segmento g y los dems
prenderlos (1), para el numero uno se prenden b y c, y as sucesivamente hasta el
nmero 9.
108
Para simplificar la funcin de cada segmento utilizaremos los mintrminos, pero ahora
emplearemos un mtodo grfico, por lo que veremos mapas de Karnaugh.
Mapas de Karnaugh.
Es un diagrama en forma de matriz de cuadros, donde cada cuadro corresponde a un
mintrmino de la funcin.
Un mapa de Karnaugh provee una manera alternativa de simplificacin de circuitos
lgicos. En lugar de usar las tcnicas de simplificacin con el lgebra de Boole, t
puedes transferir los valores lgicos desde una funcin booleana o desde una tabla de
verdad a un mapa de Karnaugh. El agrupamiento de ceros y unos dentro del mapa te
ayuda a visualizar las relaciones lgicas entre las variables y conduce directamente a
una funcin booleana simplificada.
El mapa de Karnaugh es a menudo usado para simplificar los problemas lgicos con 2,
3, 4 o 5 variables.
Un mapa de Karnaugh de 2 variables es trivial pero puede ser usado para introducir el
mtodo que necesitas aprender. El mapa para una puerta OR de dos entradas es
como sigue:
B
0
1
1
Los valores de una variable aparecen sobre la parte superior del mapa, definiendo los
valores de la columna, mientras los valores de la otra variable aparecen a un lado,
definiendo los valores de la variable en cada fila.
109
De una forma similar, el grupo vertical de dos celdas podra haber sido escrito como:
Desde el mapa, puedes ver que el valor de B no afecta el valor escrito en las celdas
para este grupo. En otras palabras, el grupo vertical se reduce a:
(
110
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
Salida
0
0
0
1
0
1
1
1
AB
AB
00
01
11
10
C
0
1
1
1
BC
1
AC
) y (A.B.C) lo
Por ltimo, la agrupacin de 1 vertical involucra los mintrminos (
que da como resultado que cambie la variable C y es sta la que se puede eliminar
quedando: (A.B).
El resultado o expresin final simplificada es: A.B + A.C + B.C.
111
CD
00
01
11
10
1
1
1
1
AB
00
01
11
10
1
1
AD
AC
112
Entradas
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Salidas
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
0
1
1
1
1
1
x
x
x
x
x
x
1
1
1
1
1
0
0
1
1
1
x
x
x
x
x
x
1
1
0
1
1
1
1
1
1
1
x
x
x
x
x
x
1
0
1
1
0
1
1
0
1
1
x
x
x
x
x
x
1
0
1
0
0
0
1
0
1
0
x
x
x
x
x
x
1
0
0
0
1
1
1
0
1
1
x
x
x
x
x
x
0
0
1
1
1
1
1
0
1
1
x
x
x
x
x
x
113
114
115
116
117
118
119
Ahora tenemos las bases para construir los circuitos que convierten el cdigo binario
a Gray y viceversa.
120
121
Memorias estticas.
122
Contenido
D2
D1 D0
0
1
1
0
1
0
1
0
0
1
1
1
123
1
El circuito presentado muestra el caso para la direccin 00 con el dato 011, pero se
puede comprobar para las restantes direcciones.
El circuito de una memoria ROM tambin puede ser construido con un decodificador y
una matriz de diodos. El diodo es un elemento analgico pero en su comportamiento
ideal puede utilizarse como un elemento digital.
Memoria RAM.
Al igual que una memoria ROM, la memoria RAM puede ser considerada como un
conjunto de localidades de memoria, slo que en cada una de stas puede leerse
informacin y tambin puede escribirse. Cada una de estas localidades de memoria se
identifica por una direccin nica, la cual recibe el nombre de palabra. En cada palabra
es posible leer o almacenar un nmero fijo de bits, los cuales pueden representar una
instruccin o dato.
El nmero de palabras que contiene una memoria siempre es una potencia de 2.
Adems existen varias abreviaciones para indicar algunas potencias de 2, la letra K
(de Kilo) equivale a 210 = 1024 palabras, la letra M (de Mega) equivale 220 = 1048576
palabras, la letra G (de Giga) equivale a 230 = 1073741824 palabras y la letra T (de
Tera) que equivale a 240 palabras.
Una memoria RAM tiene como entradas, un canal de direcciones, para especificar la
palabra con la cual se desea trabajar, y 2 lneas de control; una para habilitar o
deshabilitar la memoria, llamada selector del circuito o habilitador del circuito (Chip
Select, CS) y la otra para indicar si se desea realizar una lectura o una escritura R /
(del ingls Read / Write, se usa para indicar que la operacin de escritura se realiza
cuando en esta lnea se tiene un 0). Adems cuenta con un canal de datos el cual
normalmente es bidireccional, se comporta como un canal de entrada en la operacin
de escritura y como canal de salida en la operacin de lectura. La principal razn de
124
Celda binaria.
Existen 2 modos de construir este bloque bsico: el esttico y el dinmico.
En las memorias RAM estticas, la celda binaria se construye esencialmente con un
latch S-R, la informacin no se pierde mientras el circuito permanece encendido.
Las celdas binarias de la memoria RAM dinmica estn construidas bsicamente por
medio de un capacitor que almacena la informacin y un transistor. El transistor
permite cargar o descargar el capacitor, as como leer el valor que tiene ste. La
carga almacenada en el capacitor tiende a desaparecer al momento de leerla, por lo
cual siempre que se lee una celda binaria con valor de 1, debe ser seguida de una
operacin de escritura de un 1 y as restaurar la carga en el capacitor. Los circuitos de
control de la RAM realizan esta operacin de escritura en forma automtica.
Incluso si la celda binaria nunca se lee, la carga almacenada tiende a desvanecerse
con el tiempo, tpicamente en pocos milisegundos. Para evitar que se pierda la
informacin, las memorias dinmicas deben ser restauradas a intervalos regulares. A
este proceso se le conoce como refresco de la memoria. Una celda se refresca
simplemente ejecutando una operacin de lectura (aunque no se necesite el dato).
Las memorias RAM dinmicas se refrescan mediante un circuito externo, que lea una
secuencia de direcciones. Normalmente no es necesario leer todas las direcciones, ya
que al leer una direccin se realiza el refresco a una serie de direcciones (un bloque
de memoria). En la actualidad existen memorias RAM dinmicas que realizan el
refresco en forma transparente, a estas memorias se les llama RAM dinmicas
125
Note que para hacer una escritura en la celda, es necesario poner en la lnea de R/
un 0, en el selector un 1 y el dato que se desea escribir en la entrada. Si ste es un 1,
se dar un SET en el latch, y si es un 0 se dar un RESET en el latch.
Para tener el valor de la celda en la lnea de salida, es necesario poner un 1 en la lnea
de R / y un 1 en el selector.
La siguiente figura muestra el diagrama de bloque de una celda binaria que se usara
en la construccin de una memoria RAM.
Memoria RAM de M x N.
La construccin interna de una memoria RAM de 2M palabras de N bits, bsicamente
consta de un decodificador de M x 2M y de 2M x n celdas binarias.
126
Esta memoria cuenta con 4 palabras de 4 bits. Para seleccionar una de las 4 palabras
se requiere de un canal de direcciones de 2 lneas, a1 y a0 (a de address), las cuales
entran al decodificador.
127
128
Para unir el canal de entrada y el de salida en uno solo es necesario introducir una
nueva compuerta, sta es el buffer de tres estados. En la siguiente figura se muestra
el smbolo usado para dicha compuerta, as como su funcionamiento.
La compuerta tiene una entrada de control y una entrada normal, cuando la primera
(C) tiene el valor de 1, la salida de la compuerta tiene el valor que se encuentra en la
entrada (E), el cual puede ser un 1 o un 0 (2 estados). Si la entrada de control vale 0,
la salida pasa a un estado de alta impedancia (tercer estado), lo que equivale a
desaparecer la compuerta y separar la entrada de la salida. El estado de alta
impedancia que tiene la salida es la caracterstica que hace especial a esta
compuerta.
En la siguiente figura se muestra el circuito usado para hacer que una lnea de un
canal se comporte como lnea de entrada o como lnea de salida dependiendo de una
seal de control.
129
La construccin lgica de una memoria con mayor capacidad, es una extensin directa
de la memoria que se ha presentado.
En la siguiente figura se exhibe el bloque de memoria que se usa para representar a
esta memoria RAM, as como el bloque de una memoria RAM de 1K palabras de 8
bits.
130
131
Todas las RAM estticas se caracterizan por las celdas de memoria latch. Cuando se
aplica alimentacin continua a una celda de memoria esttica se puede mantener un
estado 1 a 0 indefinidamente. Si se retira la alimentacin, el bit de datos almacenado
se perder.
132
LA ROM DE MSCARA.
Se denomina simplemente ROM, es una memoria programada de forma permanente
durante el proceso de fabricacin, para proporcionar funciones estndar de uso
extendido, tales como conversiones populares, o para proporcionar funciones
especificadas por el usuario. Una vez que se programa la memoria, est no puede
cambiarse.
Memorias PROM.
Utilizan algn tipo de mecanismo de fundicin para almacenar bits, donde un hilo
(fusible) de memoria se funde o queda intacto para representar un 1 o un 0. El proceso
de fundicin es irreversible; una vez que una PROM ha sido programada no puede
cambiarse.
Memorias EPROM.
Una EPROM es una PROM borrable. A diferencia de una PROM ordinaria, una
EPROM puede ser reprogramada si antes se borra el programa existente en la matriz
de memoria. Una EPROM utiliza una matriz NMOSFET con una estructura de puerta
aislada. La compuerta del transistor aislada no tiene ninguna conexin elctrica y
puede almacenar una carga elctrica durante un periodo de tiempo indefinido. Los bits
de datos en este tipo de matriz se representan mediante la presencia o ausencia de
una carga almacenada en la compuerta. El borrado de un bit de datos es un proceso
que elimina la carga de la compuerta.
MEMORIAS FLASH.
Las memorias flash son memoria de lectura/escritura de alta densidad (alta densidad
equivale a gran capacidad de almacenamiento de bits) no voltiles, lo que significa que
pueden almacenarse los datos indefinidamente en ausencia de alimentacin. Estas
memorias se utilizan frecuentemente en las unidades de disco duro de baja capacidad
en las computadoras porttiles y en los microcontroladores para almacenar los
programas.
133
Canal de direcciones de A9 a A0
RAM
CS
RAM
CS
R/W
1Kx8
R/W
R/W
1Kx8
A10
Canal de datos de D7 a D0
RAM
CS
RAM
R/W
CS
1Kx8
A10
R/W
R/W
1Kx8
D15 a D8
D0 a D7
134
Ejemplo.
Disee un sistema de memoria de 64K bytes, en el que los primeros 48K bytes son de
RAM y el resto es de ROM. Se cuenta con dos memorias RAM de 16K bytes, dos
memorias RAM de 16K palabras de 4 bits y una memoria ROM de 16K bytes.
Anlisis.
bits.
K bytes.
= 2 palabras.
=
K palabras.
Reflexin
lneas.
Sntesis
Las direcciones de los 16K las controlo con las lneas de A0 a _A13___.
Las direcciones de los bloques con las lneas A14__ y A15___.
Las primeras direcciones corresponden a _RAM____ y las ms altas a __ROM__.
Armar el circuito considerando los canales de
_direcciones______________ y __control____________.
135
__Datos_________,
136
UNIDAD III
VON NEUMANN.
137
138
HARVARD.
El ncleo de la CPU est conectado a dos memorias por intermedio de dos buses
separados. Una de las memorias contiene solamente las instrucciones del programa, y
es llamada memoria de programa. La otra memoria slo almacena los datos y es
llamada memoria de datos. Ambos buses son totalmente independientes y pueden ser
de distintos tamaos.
Arquitectura Harvard.
139
140
141
3.2 BUSES.
Los buses son los medios que permiten establecer la comunicacin con los distintos
perifricos que podramos utilizar en conjunto con el microcontrolador (sensores,
memorias externas, puertos, etc.).
.
Bus unidireccional. Es aquel en donde la informacin va en una sola direccin.
Ejemplo: El bus de direcciones del microprocesador a las memorias.
Bus paralelo. En este caso, los datos se transmiten a travs de varias lneas a la vez.
Los buses seriales son ampliamente utilizados para comunicar microcontroladores con
memorias EEPROM, convertidores A/D y muchos otros perifricos. Los sistemas de
buses seriales tambin son ampliamente utilizados para implementar buses de control
dentro de equipos como televisores, equipos de msica y telfonos celulares.
142
El BUS I2C
La ventaja de este bus es que slo necesita de 2 lneas (clock y data) para una
comunicacin full duplex entre mltiples dispositivos. La interfaz tpicamente corre a
bajas velocidades (100kHz a 400khz). Con I2C, cada dispositivo en el bus tiene una
direccin de memoria nica. El dispositivo puede trabajar como receptor y/o transmisor
dependiendo de cmo haya sido configurado.
143
Lo bueno de este bus como se aprecia en la imagen, es que requiere slo 4 pines para
hacer trabajar los perifricos:
Vcc (+5V)
GND
SDA (Serial Data). Es la lnea para la transferencia serie de los datos.
SCL (Serial Clock). Es la seal de reloj utilizada para la sincronizacin de los
datos.
Bus SPI
El bus SPI (Serial Peripheral Interface) es un sistema para la comunicacin serial que
utiliza hasta cuatro lneas (normalmente solo son necesarias tres), para recibir los datos,
para transmitir los datos, para sincronizar y (opcional) para seleccionar el dispositivo
con el que se comunica. Esto es la conexin full duplex, lo que significa que los datos se
envan y se reciben simultneamente.
Este bus es tambin del tipo maestro/esclavo. Cuando dos dispositivos se comunican,
uno ser el maestro y el otro el esclavo. El maestro maneja el reloj. Cuando se utiliza
SPI, los datos son simultneamente transmitidos y recibidos esto establece una
comunicacin full-duplex.
144
Los nombres que Motorola asign a las seales son los siguientes:
Bus SPI
Este tipo de conexin es asncrona, lo que significa que no se utiliza una lnea especial
para transmitir la seal de reloj. En algunas aplicaciones este rasgo es crucial (por
ejemplo, en mandar datos a distancia por RF o por luz infrarroja). Puesto que se utiliza
slo una lnea de comunicacin, tanto el receptor como el transmisor reciben y envan
los datos a la misma velocidad que ha sido predefinida para mantener la
sincronizacin necesaria. Esto es una manera simple de transmitir datos, puesto que
bsicamente representa una conversin de datos de 8 bits en paralelo a serial. La
velocidad de transmisin no es alta.
145
146
147
Ejemplo: La instruccin MOVE, que significa mover informacin desde una fuente
hacia un destino, puede ser ejecutada de las siguientes 3 maneras:
MOVE.B: Mover un dato tipo byte.
MOVE.W: Mover un dato tipo word.
MOVE.L: Mover un dato tipo long.
Posicionamiento de cdigo independiente.
Algunos tipos de operadores de manipulacin de bits.
La mitad de los registros de propsito general Rn, divididos en: tipo dato (Dn) y tipo
direccin (An), pasaron de ser 16 a 8. La arquitectura ISA-C utiliza desde D0 hasta D7
para los registros tipo dato y desde A0 hasta A7 para los registros tipo direccin.
La mquina ColdFire V1 tiene total compatibilidad de pines respecto de las mquinas
HCS08. En este sentido, existe un considerable sacrificio en la interfase de depuracin
respecto de las mquinas ColdFire V2 y superiores. Al existir un slo pin para la
depuracin (Interfase BDM), los procesadores ColdFire V1 presentan los siguientes
cambios:
Se pasa de una depuracin a tres pines del tipo Full Dplex, a un protocolo de un
solo pin del tipo half dplex. Este sacrificio redunda en una menor velocidad de
depuracin y una prdida del concepto de tiempo real.
La reduccin del paquete de dato de depuracin de 17 bits a 8 bits, hace que se
modifique el protocolo clsico de depuracin y se empleen tcnicas de compensacin
para las capacidades de trace y breakpoints en los eventos de depuracin. Lo
interesante del sacrificio en el mecanismo de depuracin es poder utilizar las mismas
herramientas para las mquinas de 8 bits (familia HCS08) y 32 bits (familia ColdFire
V1), logrndose la migracin al 100% de una tecnologa a otra.
Otras caractersticas generales son:
Modelo simplificado del modo supervisor, conteniendo un manejo aparte de puntero
a pila, un registro base para vectorizacin de eventos y un registro de configuracin de
la CPU.
Soporta mdulos opcionales (no vienen con la versin inicial) como las de divisin de
enteros, multiplicadoras/acumuladoras (MAC, EMAC), unidad de aceleracin
criptogrfica (CAU), entre otras.
Respuesta programable ante la ejecucin de cdigo ilegal o decodificacin de
direcciones de memoria no implementadas. Estos eventos se pueden tratar como de
excepcin o de generacin de RESET.
Hasta 50 MHz de velocidad de procesamiento del ncleo sobre una tecnologa de
0.25 micrones.
148
Con una marca de 0.85 Dhrystones, 2.1 MIPS (Millions of Instructions Per Second)
cuando se ejecuta en FLASH y 1.05 DMIPS (Dhrystone MIPS) cuando se ejecuta en
RAM.
FLASH de dos ciclos de acceso, con bajo consumo de energa. El controlador de la
FLASH permite acceso por especulacin como tcnica de reduccin de tiempos y
eficiencia en la ejecucin del programa del usuario.
RAM con un ciclo de acceso, implementada en la plataforma del procesador sobre un
bus de alta velocidad.
Controlador de interrupciones con las siguientes caractersticas:
Mapeado de los perifricos por fuera de la plataforma del mdulo esclavo. Consiste de
64 bytes localizados al final de la memoria direccionable (0x(FF)FF_FFC0
0x(FF)FF_FFFF). El modelo de programacin es accesado mediante el espacio
declarado para los perifricos. El nivel de las interrupciones es codificado y el vector
de atencin es enviado directamente al ncleo del procesador.
El controlador soporta directamente 30 interrupciones de perifricos ms 7
interrupciones por software (SWI).
Asociacin fija entre las fuentes que requieren atencin por interrupcin y el nivel de
interrupcin con su prioridad de atencin. Existen 30 interrupciones a las que se les
asignan 7 niveles de importancia y 9 prioridades por nivel. El sistema acoge al 100% la
estructura de prioridades de las mquinas de 8 bits de la familia HCS08. Es posible remapear hasta dos requerimientos de interrupcin, hacia los niveles ms altos de
interrupcin no enmascarable, asignando una prioridad.
Se asigna un nico nmero de vector por cada fuente de interrupcin, mediante la
siguiente ecuacin:
Nmero del vector en ColdFire_V1 = Nmero del vector en HCS08 + 62.
Arquitectura del ncleo.
El ncleo est formado por dos estructuras independientes de pipeline con una
interfase de bus unificada, para maximizacin del desempeo con una reduccin del
hardware del ncleo, logrndose una significativa reduccin del costo.
Las dos estructuras de segmentacin de cauce son:
IFP (Instruction Fetch Pipeline): Consiste de un cauce de dos niveles para la
prebsqueda de las instrucciones que luego son ingresadas al OEP, como se define a
continuacin.
OEP (Operand Execution Pipeline): Consiste de un cauce de dos niveles, en el
cual se decodifica la instruccin, se capturan los operandos desde el IFP y se ejecuta
la funcin asociada a la instruccin.
Ambas estructuras estn desacopladas mediante el empleo de un buffer, que opera
como una lista tipo FIFO, en donde el IFP acta como un dispensador en la pre-
149
150
151
152
153
Arquitectura de Ejecucin:
El CPU 08 pertenece a la arquitectura del tipo Von Neumann clsica, caracterstica
de la familia 68xx de Motorola y ampliamente utilizada en el mundo.
En este tipo de arquitectura, existe un solo bus de datos, tanto para memoria de
programas como para memoria de datos, lo que da origen a un mapa lineal de
acceso a memoria y por consiguiente no existen instrucciones especiales y diferentes
para trabajar con datos o con cdigo de programa.
De esta forma, todas las instrucciones son aplicables en cualquier parte del mapa de
memoria sin importar si se trabaja con datos o cdigo. Por lo que no es raro encontrar
154
aplicaciones cuyos programas corren desde RAM como si estuvieran en Flash. Esto
no podra hacerlo una arquitectura Harvard clsica.
El CPU est formado por dos grandes bloques, el execution unit y el control unit.
El execution unit, contiene la Unidad Lgica y Aritmtica (encargada de todas las
operaciones lgicas binarias y aritmticas), Registros internos del CPU (Acumulador,
Puntero de pila, Contador de Programa, Registro ndice, Registro de Cdigo de
Condiciones) y la interface con el bus interno.
El control unit, contiene una mquina de estados finitos, unidades de control y tiempo
para manejar el execution unit.
A continuacin se ilustra la temporizacin interna.
155
UNIDAD IV
4.1 MODOS DE DIRECCIONAMIENTO.
156
157
158
159
160
161
162
163
164
165
166
167
Distribucin de la memoria.
La siguiente figura muestra la distribucin de la memoria, en los 64 KB configurables,
de las mquinas HCS08, para la familia JM.
168
EL CONCEPTO FLEXIS.
Freescale se ha convertido en la primera compaa que ha desarrollado mquinas de
8 bits que puedan migrar a mquinas de 32 bits, con la filosofa de hacer que los
diseos consuman la menor cantidad de energa y que el tiempo de desarrollo sea el
ms corto. Todo esto enmarcado en la estrategia llamada Controller Continuum
La estrategia Controller Continuum apunta a la migracin gradual desde los 8 bits
hasta las arquitecturas ms poderosas en ColdFire, como son las versiones de la V2
a la V4. La versin V1 puede ser llamada el eslabn perdido, que no es tan poderosa
como las versiones superiores pero permite la migracin paulatina hacia mquinas
ms complejas. Esta estrategia tambin hace atractivas las mquinas ColdFire, para
los millones de consumidores de las arquitecturas ColdFire/68K.
Las aplicaciones realizadas en esta familia pueden migrar, con unos pocos
movimientos del ratn, hacia la familia ColdFire V1 de 32 bits y viceversa. Lo
interesante de la migracin, radica en el poder de ampliacin que pueden tener los
proyectos realizados en arquitecturas de 8 bits hacia mquinas de 32 bits, por una
diferencia de costo muy reducida. En la migracin son conservados aspectos como: el
esquema de utilizacin de mdulos, el mecanismo de las interrupciones, la distribucin
de puertos, el mecanismo de reloj, los modos de operacin, entre otros.
La Tabla siguiente hace un comparativo para la segunda serie de la familia ColdFire
V1, llamada JM. El comparativo expone las principales componentes de los MCUs,
notndose la gran compatibilidad de ambas mquinas.
169
Para esta segunda serie de la familia FLEXIS, en el mapa de evolucin de las familias
ColdFire V1, se nota un gran cambio en el sentido de la riqueza y actualidad de sus
perifricos de comunicaciones. Aparecen buses tan importantes como el CAN y el
USB, que no tena la serie QE anterior.
CUIDADOS EN LA MIGRACIN.
El usuario deber tener ciertas precauciones al momento de migrar proyectos con la
tecnologa FLEXIS. Como ya se vio, las arquitecturas de los ncleos de las mquinas
son muy distintas, aunque se hayan conservado muchas de las caractersticas de los
perifricos de las MCUs.
Mejor usar:
PTADD0 = 1;
170
La siguiente Figura explica dos maneras de hallar el vector correcto para migrar de 8
a 32 bits:
171
File: Relacionado con el manejo de los proyectos y archivos del sistema. La siguiente
figura muestra un despliegue de este men.
172
Next Text File: Es el editor del software, utilizado para crear archivos de texto de
cualquier ndole (ver siguiente figura).
173
New Project: Usado para generar proyectos nuevos CodeWarrior. Se compone de las
ventanas:
- Device and Connection: Seleccin del MCU y el tipo de conexin para la
depuracin y programacin (ver siguiente figura).
174
C/C++ Options: Seleccin del nivel del cdigo a usar, de acuerdo al estndar de C, el
modelo de memoria y el formato de punto flotante. Todo lo anterior debe considerar la
mejor densidad de cdigo posible (ver siguiente figura).
175
Edit: Submen de edicin del CodeWarrior 6.2. Contiene las funciones normales de
un editor de textos, pero slo sern descritas las especiales del submen.
Preferences: Permite configurar preferencias generales y del editor de textos
(ver siguiente figura).
176
177
Language Settings: Configuracin sobre la norma del lenguaje (C, C++) y algunas
opciones de errores y mensajes de precaucin.
VCS Settings: Se utiliza para configurar los parmetros de versin del cdigo y
seguridad del mismo (ver siguiente figura).
178
179
180
181
Reset Project Entry Paths: Reinicia las rutas de archivos del proyecto.
Sincronize Modification Dates: Actualiza las fechas de modificacin de los datos
almacenados en el archivo del proyecto. El IDE verifica la fecha de modificacin de
cada archivo en el proyecto, y marca los archivos modificados, desde el ltimo proceso
de compilacin exitosa.
182
- Source: Programa fuente en depuracin. Muestra el cdigo tal cual se digit y que se
est ejecutando en el proceso de depuracin. Una barra azul indica la instruccin que
se va a ejecutar y su direccin debe coincidir con la direccin del registro PC. Dentro
de esta ventana, haciendo presin sobre el botn derecho del ratn, es posible
generar las siguientes acciones:
_ Set Breakpoint: Ubicar puntos de chequeo.
_ Run to Cursor: Ejecutar el programa hasta la posicin del cursor.
_ Show Breakpoints: Mostrar los puntos de chequeo activos.
_ Show Location: Mostrar la localizacin de la instruccin a ejecutar en la memoria y
en la ventana del ensamblador.
_ Set/Delete Mark Points: Ubicar/Retirar marcas de referencia visual.
_ Show Markpoints: Mostrar los puntos de referencia visual.
183
184
185
186
187
188
189
4.3 INSTRUCCIONES.
190
191
Movimientos de Datos:
Adems se puede apreciar que por cada tipo de instruccin, se agrega un nuevo modo
de direccionamiento, basado en el uso del Stack Pointer SP (puntero de pila) como
segundo registro ndice, lo que facilita el uso de lenguajes de alto nivel como el C y
otros.
192
193
MULTIPLICACIN Y DIVISIN:
194
195
196
197
198
199
200
CBEQ y DBNZ.
CBEQ combina las instrucciones CMP y BEQ.
Operaciones ms rpidas de bsqueda / acceso a tablas.
DBNZ combina las instrucciones DEC y BNE.
Loops ms rpidos y eficientes.
Con estas dos nuevas instrucciones, se consigue un manejo ms sencillo
eficiente de operaciones repetitivas como loops , bsqueda / acceso a tablas.
Se siguen conservando las instrucciones tradicionales para mantener la
compatibilidad con la familia. HC705.
201
202
203
204
LDA $0800
ADD $0801
STA $0802
SWI
LDA $0800
PSHA
PULH
LDA $0801
LDX $0802
DIV
STA $0803
PSHH
PULA
STA $0804
SWI
205
REPITE:
FIN:
CLR $0801
MOV # 1, $0803
LDA $0800
CMP $0803
BMI FIN
SUB $0803
INC $0801
INC $0803
INC $0803
STA $0802
SWI
LDHX #$0804
MOV #1, $0801
MOV #1, $0802
REPITE: LDA $0800
BEQ FIN
LDA $0801
STA 0, X
ADD $0802
MOV $0802, $0801
STA $0802
INX
DEC $0800
BRA REPITE
FIN:
SWI
206
LDHX #$080A
STX $0801
LDA $0800
DECA
ADD $0801
STA $0802
OTRO2: LDA $0801
CMP $0802
BEQ FIN
LDA 0, X
OTRO1: INCX
CMP 0, X
BLT CAMBIA
VAGO: PSHA
TXA
CMP $0802
BEQ REPITE
PULA
BRA OTRO1
CAMBIA:STA $0804
LDA 0, X
STA $0805
LDA $0804
STA 0, X
LDA $0805
BRA VAGO
REPITE: LDX $0801
PULA
STA 0, X
INCX
STX $0801
BRA OTRO2
FIN: SWI
207
void main(void) {
EnableInterrupts; /* enable interrupts */
for(;;) {
PTCD_PTCD3=1;
Dato a mostrar
Y lenguaje C:
208
UNIDAD V
5.1 Puertos Digitales.
La mquina MCF51JM128 contiene 66 pines I/O en la versin de 80 pines, distribuidos
en 9 puertos (A, B, C, D, E, F, G, H, J) o 56 pines I/O en la versin de 64 pines.
Adicionalmente, los puertos C y E tienen control pin a pin, de tal manera que se
pueden forzar a 1 (SET), a 0 (RESET) o complementar su valor (TOGGLE).
La mayora de los pines cumplen una doble funcin y algunos una triple funcin, por
ejemplo: el pin PTD3 trabaja como pin de propsito general (I/O) o como una entrada
de la funcin KBI (KBIP3) o como una entrada del conversor anlogo a digital ADC
(ADP10).
Por defecto, cuando la mquina ha salido del estado de RESET, los pines son
configurados como entradas (alta impedancia). Lo anterior se debe a la seguridad que
brinda el establecimiento de un pin como entrada, en vez de salida. Si un pin es
inicializado como salida, se corre el riesgo de aplicarle al pin una diferencia de
potencial e incurrir en daos del MCU.
NOTA: Todos aquellos pines que no se utilicen en un proyecto debern ser definidos a
algn estado, siempre y cuando conserven su direccin como entrada. Lo anterior es
debido a la exposicin del sistema ante seales espurias o ruido EMI y/o a consumos
extras por pines flotantes.
209
Todo puerto est compuesto por un registro que configura la direccin de cada pin
asociado a este. Los registros PTxDD contienen los bits PTxDDn, que habilitan la
direccin de un pin.
Al registro que establece el valor lgico del pin, sea como entrada o salida, se le
conoce como el PTxD y los bits PTxDn contienen dicho valor.
NOTA: Es recomendable establecer primero el valor lgico del bit (o de los bits), antes
de resolver la direccin de este (o estos). Ejemplo:
PTAD = 0x00; //salidas del puerto A en 0
PTADD = 0xF0; //define el nibble de mayor peso del puerto A
//como salida
Registros asociados a los puertos I/O: Las funciones bsicas, que se pueden
definir alrededor de un puerto I/O, son soportadas por los siguientes registros:
Registro de datos (PTxD): La siguiente figura muestra la configuracin general de un
registro de datos de un puerto x.
PTxDn: Establece el estado de cada pin I/O del correspondiente puerto. Al salir del
estado de RESET, los pines son configurados como entradas en alta impedancia
(pullups deshabilitados). Los pines de salida se actualizan al valor de este registro, una
vez se haya definido su direccin.
La siguiente figura muestra la disposicin de este registro para todos los puertos de la
mquina.
210
211
La siguiente figura muestra la disposicin de este registro para todos los puertos de la
mquina.
NOTA: Los pullups son tpicamente de 45K
212
NOTA: La mxima corriente que entrega la MCU desde los puertos, sumadas todas
las corrientes parciales por cada pin de salida, es de 100mA @ 5V (60mA @ 3V). El
usuario deber tener este factor en cuenta, cuando est utilizando la propiedad del
drive strength.
Registro de habilitacin de un filtro a la entrada (PTxIFE): La siguiente figura
muestra la configuracin general de un registro de habilitacin de un filtro pasa bajos a
un pin de entrada al MCU.
213
214
215
216
Paso 4: A esta altura, la ventana del depurador deber estar presente. Con el botn
derecho del ratn, sobre la ventana Assembly del depurador, elegir la opcin: Display
> Simbolic
Observe que la primera instruccin en C a ser ejecutada es Disable_COP();, que
equivale a las instrucciones en assembler:
LDHX #SOPT1.Byte
LDA ,X
AND #0x3F
STA ,X
Sea que se ejecute en pasos de assembler o saltndose la instruccin en C, sera
interesante observar la accin de la funcin Disable_COP() sobre la direccin de
memoria 0x1802 (SOPT1). Para lo anterior se debe hacer presin sobre el botn
derecho del ratn en la ventana Memory, elegir la opcin Address y digitar el
217
218
219
220
221
222
223
muestra la
- ADACT: Bit que indica cuando una conversin est en progreso. Este bit es puesto a
0 una vez se haya finalizado la conversin o se aborte el proceso.
0: No hay conversin en proceso.
1: Hay una conversin en proceso.
- ADTRG: Bit para seleccionar el tipo de seal que inicia una conversin. Cuando se
elige una conversin por hardware, el pin ADCHWT inicializa una conversin (esta
opcin viene implementada en ciertos modelos del MCF51JM128). Cuando se elige la
conversin por software, la simple escritura sobre el registro ADCSC1 inicializa una
conversin).
0: Disparo de conversin por software.
1: Disparo de conversin por hardware.
- ACFE: Bit para habilitar la funcin de comparacin del mdulo ADC.
0: Deshabilita modo de comparacin.
1: Habilita modo de comparacin.
- ACFGT: Bit para habilitar la comparacin si mayor que.
0: Funcin de comparacin si menor que.
1: Funcin de comparacin si mayor que.
224
225
- ADLPC: Bit para configurar el ADC en bajo consumo. Optimiza el SAR para bajo
consumo y reloj lento, esta opcin es adecuada para digitalizar seales de baja
velocidad.
0: No habilita modo de bajo consumo.
1: Habilita modo de bajo consumo.
- ADIV: Bits para configurar el divisor del reloj elegido para el mdulo ADC.
00: Divisor por 1.
01: Divisor por 2.
10: Divisor por 4.
11: Divisor por 8.
- ADSMP: Bit para disponer el ADC en conversiones rpidas, asociadas a entradas de
baja impedancia y consumos altos o para conversiones lentas de impedancias altas y
bajo consumo.
0: Tiempo corto para muestreo.
1: Tiempo largo para muestreo.
- MODE: Bits para seleccionar la resolucin de trabajo del ADC.
00: Conversin con resolucin en 8 bits.
01: Conversin con resolucin en 12 bits.
10: Conversin con resolucin en 10 bits.
11: Reservado.
- ADICLK: Bits para seleccionar el reloj que alimentar el mdulo ADC.
00: Reloj del BUS interno.
01: Reloj del BUS interno dividido por 2.
226
Por ejemplo, supngase que se est realizando una conversin A/D con resolucin de
12 bits. Para la conversin se ha elegido el reloj de bus interno, que es de 16MHz. La
conversin se realizar en modo continuo y tiempos cortos de muestreo.
Como se recordara, la frecuencia mxima de reloj de conversin para el ADC del
MCF51JM128 es de 8MHz, entonces es necesario aplicar un valor de ADIV = 01
(divisor por 2). El valor resultante conformara el ADCK de la conversin, de tal manera
que el tiempo total de conversin, para las muestras subsecuentes se calcula as:
Tiempo de conversin = 20 ADCK ciclos / (16MHZ / 2).
Tiempo de conversin = 2.5 x 10-6 seg.
227
Para ilustrar la operacin del mdulo ADC se trabajar sobre el clsico ejemplo de la
medida de temperatura con un transductor de bajo costo, como lo es el LM35. El
problema consiste en la medida en grados Celsius de la temperatura ambiente y
visualizacin de la misma en un display LCD.
f(T) = 10mV / C
De tal manera que si el ambiente se encuentra a una temperatura de 25C, a la salida
del sensor se tendra un voltaje de 250mV.
Las referencias de conversin VREFH y VREFL del sistema DEMOJM, estn
alimentadas a 4.64 V. Si se trabaja con una resolucin de 12 bits, un paso de
conversin sera de 4.64V / 4096 = 1.132 mV. Este valor sera bastante apropiado
para el sistema, porque la variacin de un grado centgrado en el sensor es de 10mV.
228
229
230
231
232
5.3 INTERRUPCIONES.
Una interrupcin es una operacin que suspende la ejecucin de un programa de
modo que el sistema pueda realizar una accin especial. La rutina de interrupcin
ejecuta y por lo regular regresa el control al procedimiento que fue interrumpido, el
cual entonces contina su ejecucin.
Tipos de Interrupciones.
Las interrupciones se dividen en dos tipos las cuales son: Externas e Internas. Una
interrupcin externa es provocada por un dispositivo externo al procesador. Las dos
lneas que pueden sealar interrupciones externas son la lnea de interrupcin no
enmascarable (NMI) y la lnea de peticin de interrupcin (INTR).
LAS FUENTES DE RESET.
Son mltiples las fuentes de RESET que posee la mquina MCF51JM128. Todas
estas dejan huella en el registro SRS, que permite al programador poder consultar
quin (o quienes) ha sido el causante de un RESET. Las fuentes de RESET de la
mquina JM de 32 bits son:
Reset en el encendido: Power-on reset (POR).
Reset por pin externo: External pin reset (PIN).
Temporizador del computador operando apropiadamente: Computer operating
properly (COP) timer.
Deteccin de una instruccin ilegal: Illegal opcode detect (ILOP).
Deteccin de un acceso a direccin ilegal: Illegal address detect (ILAD).
Deteccin de bajo voltaje: Low-voltage detect (LVD).
Prdida del enganche del generador de reloj externo: Clock generator (MCG) loss of
clock reset (LOC).
Reset por forzado a entrada en modo de depuracin: Background debug forced reset.
A continuacin se hace una breve definicin de cada una de estas fuentes.
Reset en el encendido (POR): Cuando la mquina est comenzando a ser
energizada o cuando el voltaje de alimentacin (Vdd) cae por debajo de los niveles
mnimos permitidos, el circuito del POR genera un estado de RESET a la mquina. El
bit POR del registro SRS se pone a 1 indicando el evento de RESET (ver siguiente
figura).
233
Reset por pin externo (PIN): Obedece al flanco de bajada que se presenta como
seal externa, aplicada al pin de RESET. El bit PIN del registro SRS se pone a 1
indicando el evento de RESET (ver siguiente figura).
234
En donde los bits asociados a la operacin del COP (COPT, COPCLKS y COPW),
trabajan como se indica en la siguiente tabla
La seal 1KHz LPOCLK es un reloj de bajo consumo e independiente del reloj del
sistema, esto hace que el reloj del Watchdog no dependa del reloj de la mquina. El
alumno puede optar por el uso del BUSCLK (reloj de bus interno de la MCU), pero
debe ser consciente de la posible prdida del COP debido a la prdida del reloj del
sistema.
El contador del COP inicia una vez que se halla escrito sobre los registros SOPT1 y
SOPT2. La puesta a cero del COP (escribiendo sobre el registro SRS) no deber ser
hecho en una atencin a interrupcin, porque se puede caer en la atencin reiterada
de la ISR y descuidar el refresco del COP.
Cuando se trabaja con el reloj BUSCLK y se est en modo BDM (Background Mode
Debug) o mientras el sistema se encuentra en modo STOP, el contador del COP no se
incrementa y retiene su valor. Esto se hace una vez que se supere el modo BDM o
STOP y el COP contina su conteo.
Cuando se trabaja con el reloj LPOCLK, el contador del COP es inicializado a cero
para los modos BDM y STOP, tanto para entrar como para salir de estos modos. El bit
COP del registro SRS se pone a 1 indicando el evento de RESET (ver siguiente
figura).
235
Reset por ILOP (Illegal Opcode): Por defecto, la mquina ColdFire V1 habilita la
posibilidad de detectar la ejecucin de una operacin ilegal. Tambin, este tipo de
RESET es generado cuando se intenta ejecutar un instruccin con privilegio para el
modo supervisor, desde el modo de usuario.
Intentar ejecutar las instrucciones STOP y HALT cuando no han sido habilitadas,
genera un estado de RESET a la mquina. El bit ILOP del registro SRS se pone a 1
indicando el evento de RESET (ver siguiente figura ).
Reset por ILAP (Illegal Address): Por defecto, la mquina ColdFire V1 habilita la
posibilidad de detectar el acceso a una direccin ilegal, error por terminacin de bus,
error por formato de RTE (Return of Exception) o una condicin fault on fault. El bit
ILAD del registro SRS se pone a 1 indicando el evento de RESET (ver siguiente
figura).
236
Reset por prdida del enganche del reloj externo (LOC): En caso de perderse el
reloj que se genera externamente, el sistema de excepciones genera un RESET por
evento LOC(Loss Of Clock). El bit LOC del registro SRS se pone a 1 indicando el
evento de RESET (ver siguiente figura ).
237
Las mquinas ColdFire revisan el estado de las interrupciones con cada instruccin
que ejecutan, esto coincide con cada ciclo del OEP (Operand Execution Pipeline).
Para el manejo de los niveles de interrupcin, la mquina est dotada de la mscara
de interrupciones I. La mscara I est formada por tres bits, que definen siete niveles
de interrupciones con capacidad automtica de anidacin.
El nivel ms alto es el 7 y as en forma descendiente hasta el nivel 1, el nivel 0 (I=0)
significa la habilitacin de todas las interrupciones del sistema.
El nivel 7 aplica para las interrupciones no enmascarables sensibles a flanco y las
interrupciones del nivel 6 al 1 son enmascarables y sensibles al nivel.
Toda interrupcin que se presente y tenga un nivel de interrupcin menor o igual al
nivel de la interrupcin presente, ser inhibida. Lo anterior es una norma, excepto para
la interrupcin no enmascarable de nivel 7 y sensible a flanco.
Los procesadores ColdFire contienen una tabla de 1024 bytes, localizada mediante
el vector VBR y alineada con un vecindario de 1MB. Lo anterior se hace por
compatibilidad entre las mquinas desde la versin V1 hasta la V4, para la versin V1
esta localizacin tiene sentido en las direcciones 0x(00)00_0000 (FLASH) y la
0x(00)80_0000 (RAM).
238
239
Cada nivel de interrupcin soporta nueve asignaciones de prioridad, esto hace que sea
posible establecer un total de 63 jerarquas. La relacin entre el clculo del vector de
las interrupciones de las mquinas HCS08 y ColdFire, est establecida por la
ecuacin:
Nmero del vector en ColdFire_V1 = Nmero del vector en HCS08 + 62.
Para emular las capacidades de nivel 1 de las mquinas HCS08 en las mquinas
ColdFire V1, se implementa el manejo de slo dos valores para la mscara SR[I].
SR[I] = 7, Se usa para inhibir la interrupciones.
SR[I] = 0, Se usa para habilitar las interrupciones.
EL PIN DE INTERRUPCIN (IRQ).
El registro IRQSC es el encargado de manipular la seal externa de IRQ, que ocupa
lugar privilegiado dentro de los niveles y prioridades en la mquina de las
interrupciones. El procesador monitorea permanentemente la lgica del pin de IRQ y
puede validar tanto el flanco, como el flanco y nivel de la seal presente en el pin.
La interrupcin generada por el pin IRQ puede sacar a la mquina de STOP, an con
el reloj suspendido. La siguiente figura ilustra sobre el registro IRQSC.
240
241
/* Archivos de cabecera */
byte bandera=0;
char byteConfig=0;
/* Macros y definiciones */
/* Declaracin de funciones */
242
243
UNIDAD VI
6.1 PLANTEAMIENTO DEL PROBLEMA.
Hoy en da el STCM es uno de los medios de transporte de mayor afluencia en
la cd de Mxico debido a la gran demanda que presenta, este medio de
transporte presta servicio ininterrumpido los 365 das de ao a excepcin de
situaciones especiales, el parque vehicular se conforma por trenes articulados
de 9 y 6 vagones, los cuales funcionan con energa elctrica.
El recorrido del tren se concibe de manera subterrnea y superficial, adems
cuenta con 12 estaciones y una dcima tercera en construccin.
Hasta el da de hoy el STCM tiene 41 aos de servicio, en los cuales ha
existido la modernizacin de su infraestructura, pero en aos recientes ha
habido un rezago considerablemente notorio, ya que la mayora de los
sistemas utilizados actualmente son obsoletos o se encuentran prximos a
desaparecer, en los cuales el aspecto del cuidado de la energa elctrica ha
sido tomado muy poco en consideracin, y se puede percatar que se
desaprovechan grandes cantidades de energa elctrica en el rubro de la
iluminacin, debido a que al ser un medio de transporte subterrneo y
superficial no siempre necesita la misma intensidad luminosa fuera de los
tneles que dentro de los mismos, esto lleva como consecuencia la
disminucin de vida til de las luminarias ya que se encuentran encendidas en
situaciones y tiempos intiles, generando consumos y gastos innecesarios al
mantener estas encendidas sin importar las condiciones externas del recorrido.
La siguiente figura muestra el recorrido superficial del convoy con las luces
interiores encendidas a media tarde.
244
245
STCM seguir
246
mencionar
247
predilectos de iluminacin.
Se encontr que mientras que los dispositivos convencionales de iluminacin
consumen grandes cantidades de energa, los leds utilizando la misma
cantidad de energa, son capaces de alimentar una gran cantidad de los
mismos teniendo como consecuencia la generacin de un flujo luminoso mucho
mayor con respecto al dispositivo comparado.
El anlisis de la durabilidad arrojo que en promedio la vida til de una lmpara
convencional por mnimo es de aproximadamente 10 000 horas hasta las 30
000 horas y despus puede seguir operando o simplemente fallar debido a
diversos factores, entre ellos destaca el mantenimiento, por otra parte una
luminaria led tuvo un resultado sorprendente, ya que se pudo notar que su vida
til en promedio es de al menos 100 000 horas, esto significa que despus de
este tiempo los leds no dejaran de funcionar si no que comenzara un proceso
en el cual poco a poco dejaran de emitir el flujo luminoso normal hasta que
finalmente sea nulo o muy bajo.
Dentro del estudio de costos que lleva este trabajo es posible notar que si bien
la inversin inicial es relativamente baja para los dispositivos convencionales,
es un poco alta para una lmpara led, ya que al ser una tecnologa en
desarrollo, los medios por el cual ser fabrican no son los ms econmicos y
adems no son de manufactura nacional, sino que todo es de importacin lo
que incrementa en cierta cantidad su precio final.
El estudio de estos dispositivos no solo se limitan a sustituir a las luminarias
actuales de mayor popularidad sino que tambin buscan encontrar un modo de
control que ofrezca una estabilidad eficiente y discreta, es por esta razn que el
desarrollo de sistemas de control inteligentes se han ido estudiando y
248
249
Controladores clsicos.
El control proporcional, derivativo e integral (PID), es el que mayor implantacin
tiene en la industria de procesos. Dicho control consiste esencialmente en
obtener la accin de control como la suma de tres trminos:
Proporcional Derivativo Integral.
Se pueden obtener variaciones en este esquema, consistentes en la no
introduccin de los trminos derivativo e integral; en dicho caso el control
coincide con el llamado control proporcional. Si solamente se prescinde de la
accin integral, el control se denomina control proporcional derivativo (PD).
Si, por el contrario, el nico trmino que desaparece es el derivativo, el control
se denomina proporcional integral (PI).
Segn una estimacin dada por Amstrom: El 95% de los bucles de control en la
industria son del tipo PID, y fundamentalmente PI. La amplia implantacin del
control PID en la industria, se debe fundamentalmente a los siguientes factores:
- La actuacin en funcin de la seal de error proporciona una estructura de
realimentacin negativa, que como es conocido, permite obtener en muchas
ocasiones un comportamiento satisfactorio del sistema a pesar de la existencia
de perturbaciones e incertidumbres sobre el modelo del sistema.
- El trmino derivativo proporciona cierta anticipacin sobre la respuesta al
sistema.
- El trmino integral permite eliminar el error en rgimen permanente.
- El control PID obtiene resultados satisfactorios para una amplia gama de
procesos.
- Existen sencillas reglas heursticas que permiten obtener los parmetros del
controlador PID.
Dichas reglas hacen posible el ajuste del controlador, sin presuponer un gran
conocimiento en teora de control automtico por parte del operador.
250
251
Tan solo tiene validez para pequeos valores de Td. Debido a los tiempos
muertos hay un retardo antes de que los efectos de cualquier accin de control
se puedan detectar sobre la variable de proceso. Es, por lo tanto,
considerablemente mejor con esta clase de procesos,
intentar predecir su
252
entonces posible con la lgica difusa gobernar un sistema por medio de reglas
de 'sentido comn' las cuales se refieren a cantidades indefinidas.
Las reglas involucradas en un sistema difuso, pueden ser aprendidas con
sistemas adaptativos que aprenden al ' observar ' como operan las personas
los dispositivos reales, o estas reglas pueden tambin ser formuladas por un
experto humano. En general la lgica difusa se aplica tanto a sistemas de
control como para modelar cualquier sistema continuo de ingeniera, fsica,
biologa o economa.
Redes neuronales.
Debido a su constitucin y a sus fundamentos, las redes neuronales artificiales
presentan un gran nmero de caractersticas semejantes a las del cerebro. Por
ejemplo, son capaces de aprender de la experiencia, de generalizar de casos
anteriores a nuevos casos, de abstraer caractersticas esenciales a partir de
entradas que representan informacin irrelevante, etc. Esto hace que ofrezcan
numerosas ventajas y que este tipo de tecnologa se est aplicando en
mltiples reas.
Existen numerosas formas de definir a las redes neuronales; desde las
definiciones cortas y genricas hasta las que intentan explicar ms
detalladamente qu son las redes neuronales. Por ejemplo:
1) Una nueva forma de computacin, inspirada en modelos biolgicos.
2) Un modelo matemtico compuesto por un gran nmero de elementos
procesales organizados en niveles.
3) Un sistema de computacin compuesto por un gran nmero de elementos
simples, elementos de procesos muy interconectados, los cuales procesan
informacin por medio de su estado dinmico como respuesta a entradas
externas.
Eleccin del tipo de controlador.
Es
253
254
6.3 SUPERVISIN.
Las consideraciones anteriores sirven como precursor para poder describir el
sistema que se tiene planeado desarrollar, este desarrollo comprende 5 etapas,
las cuales se muestran en la siguiente figura formando un ciclo cerrado:
Etapa 1:
Est conformada por un sensor (fotorresistencia) el cual, al incidir un haz
luminoso sobre este, tendr un cambio en la resistencia interna, la cual atiende
las especificaciones del diseo, la magnitud que la fotorresistencia obtenga
esta en relacin directa al tiempo de incidencia y a la intensidad mxima de luz
que incide sobre el sensor, principalmente.
Etapa 2:
La magnitud de esta variacin ser ingresada al microcontrolador por medio de
un pin que se denomin como entrada y cuya funcin es convertir esta seal en
un dato hexadecimal, que obviamente tendr variaciones con respecto al
tiempo y la intensidad luminosa que incida sobre el sensor, es importante
mencionar que el tiempo con el cual se realiza una nueva conversin va en
relacin al control PI que en conjunto arrojaran un resultado diferente por cada
conversin en el tiempo de muestreo indicado.
255
Etapa 3:
Esta etapa es en donde se aplica de lleno el control PI ya que el dato obtenido
por medio de la conversin se compara con un punto de referencia, este dato
es un valor al cual se debe acercar o igualar la iluminacin requerida, el control
PI incluye como en la etapa anterior un tiempo de muestreo que permite la
conversin e interpretacin de los datos para que se procesen y se obtenga el
nuevo dato que se enva a la etapa 4 para su uso, sin embargo aqu mismo se
contemplan los resultados obtenidos del error anterior y el dato corregido que
se envi previo al nuevo sondeo, de esta forma siempre se toman en cuenta
las condiciones anteriores para el procesamiento de nuevos datos.
Etapa 4:
Esta etapa se enfoca principalmente al control del PWM, de acuerdo al dato
que enve el control PI, el modulo del PWM solo se encargara de generar la
seal cuadrada correspondiente para enviarla al driver que controla a los leds
Etapa 5:
Esta etapa, es una etapa de potencia ya que con el dato adquirido del PWM el
driver se encargara de brindar una nueva intensidad luminosa por medio del
incremento o decremento de la corriente que circula por la lmpara de leds.
De esta manera se vuelve a repetir el ciclo volviendo el sensor a adquirir un
nuevo dato con la intensidad luminosa actual.
Normatividad.
La norma vigente de iluminacin que se utiliza para la diferentes reas de
trabajo es la Norma Oficial Mexicana NOM-025-STPS-2008, la cual hace
referencia a los porcentajes y niveles de iluminacin que son ptimos, para los
distintos tipos de reas, los
256
Leds de potencia.
Los leds de potencia son muy diferentes a los leds estndar
en cuanto a sus
caractersticas elctrica y tcnicas, estos emiten una gran cantidad de flujo luminoso
que es cientos de veces mayor a la de los leds normales, a pesar de esto, su consumo
elctrico es elevado en comparacin de los normales, ya que llegan a consumir de 350
mA hasta 3.5 A para un solo led.
Se pueden manejar arreglos en serie como los leds normales, la nica diferencia es la
tensin que se debe aplicar para lograr hacer circular la corriente necesaria para hacer
operar el led.
Una caracterstica importante de estos leds es que al hacer circular a travs de estos
una corriente elevada, sufren un calentamiento excesivo, el cual se controla con
disipadores de calor, de no hacerlo se estara degradando el led y por consecuente
reduciendo su vida til.
Lmpara led de prueba.
La lmpara led que se utilizara para probar el control PI esta compuesta por 7 leds de
potencia de 1 watt, que consumen 350 mA de corriente mxima. Los leds se montaron
sobre un disipador de calor para evitar un sobrecalentamiento.
257
Control de la iluminacin.
258
259
260
Como se puede notar en la grfica anterior, las oscilaciones se van atenuando hasta
ser constantes cuando llegamos a la iteracin 83, esto significa que el control PI estar
enviando 100 datos con oscilaciones de 10 %.
referencia.
261
Decimos que para este caso si se cumple el control PI ya que la seal azul es la sonda
que est conectada en la entrada del sensor, y da un valor cercano a los 2.23 volts,
que es muy aproximado al valor de referencia que es 2.35 volts.
262
263
264
265
266
267
268
Finalmente se cubri la totalidad del saln impidiendo que entrara la luz exterior, para
que la lmpara brillara a su mxima intensidad como se muestra en seguida.
269
Bibliografa.
270