Professional Documents
Culture Documents
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
2
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
3
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
los valores de sus salidas a los valores que entregan los registros del Bloque Ajuste de
Hora, los cuales son los valores de las entradas AJi.
3. S1 y S0: Son las entradas para indicarle al bloque Ajustar Hora el dato de tiempo
que se desee modificar, los minutos, los segundos o las horas.
4. Las entradas AJi, son los bits ingresados por el usuario en BCD, el tiempo al cual debe
ajustarse el reloj, dnde los bits AJ7, AJ6, AJ5, AJ4 con AJ7 como MSB y AJ4 como LSB,
son los bits que indican las decenas del Dato, y AJ 3, AJ2, AJ1, AJ0 con AJ3 como MSB y
AJ0 como LSB, son los bits que indican las unidades del Dato.
Lo anterior indica que, el ajuste del tiempo, se har ingresando datos en codificacin
BCD, y en grupos de 8 Bits, por lo que las Seales S1 y S0, hacen posible que puedan
modificarse los datos Segundos, Minutos y Horas, ya que estos datos son palabras de 8
Bits, donde 4 bits indican las decenas del nmero, y los otros 4 indican las unidades del
nmero.
2. Divisor de Frecuencia:
4
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
MOD5: un MOD5 requiere de 3 Flip-Flop J-K, por lo que tendr 3 salidas (MC 2,
MC1, MC0) donde MC2 es MSB, con una seal de truncamiento cuando las salidas
indiquen el nmero 5 binario (101), la seal de reloj del primer Flip-Flop JK, debe
ser la seal del reloj interno de la FBGA, los 3 Flip-Flops deben ser asncronos, y la
seal de reloj de entrada al MOD10 que le sigue debe ser la seal de truncamiento
de este MOD5.
Tabla de verdad 1. Seal de truncamiento MOD5
Seal de
Truncam
iento
MOD5
Tru1
1
1
1
1
1
0
X
X
Salidas MOD5
MC2
0
0
0
0
1
1
1
1
MC1
0
0
1
1
0
0
1
1
MC0
0
1
0
1
0
1
0
1
MC1
MC0
00
01
11
10
MC2
0
5
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
1
2 + MC
0
Tru1= MC
Tru1= MC 2MC 0
MOD10: para el diseo de un MOD10 son necesarios 4 Flip-Flop J-K, cada uno de
ellos generar una salida, por lo que se tendrn 4 salidas (MD 3, MD2, MD1, MD0),
6
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
donde MD3 es MSB y MD0 es LSB, con una seal de truncamiento cuando las
salidas indiquen el nmero 10 binario (1010), los 4 Flip-Flops deben ser
asncronos.
Tabla de verdad 2. Seal de truncamiento MOD10
Salidas MOD10
MD3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
MD2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
MD1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
MD0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Seal de
Truncamie
nto MOD10
Tru2
1
1
1
1
1
1
1
1
1
1
0
X
X
X
X
X
MD1
MD0
MD3 MD2
00
01
11
10
3+ MD
1
Tru2= MD
Tru2= MC 3MC 1
00
01
11
10
1
1
X
1
1
1
X
1
1
1
X
X
1
1
X
0
7
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
En las siguientes imgenes se observa el modelo esquemtico del MOD10,
implementado con FF JK, su respectivo diagrama de bloque:
Imagen 1. MOD10 Implementado en Quartus
8
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
Es necesario contar con 2 seales de entrada adicionales las cuales indiquen si deben
ajustarse los segundos, los minutos o las horas, o simplemente indiquen que no debe haber
ajuste, de la siguiente manera:
Entradas
seleccionadoras del
Modo De Ajuste
modo de Ajuste de
Seleccionado
Hora
S1
S0
Ajuste de
0
0
Segundos
Ajuste de
0
1
Minutos
1
0
Ajuste de Horas
1
1
No Ajuste
Para el funcionamiento de este bloque es necesario el diseo de un demultiplexor de 1 a 4 y
de un registro de 4 Bits para poder generar un bloque que se ha llamado Guardar Hora, el
cual usa demultiplexores y registros. Cada demultiplexor estar encargado de enviar el dato
de su lnea de entrada nicamente a una lnea de salida la cual corresponde a la salida
seleccionada por las entradas seleccionadoras S1 y S0, cada una de las lneas de salida est
conectada a una lnea de un registro diferente, de manera que finalmente, un registro
guarda el ajuste de los segundos, otro el ajuste de los minutos y el ltimo guarda el ajuste
de la hora.
Demultiplexor de 1 a 4:
Tabla de verdad 2. Demultiplexor de 1 a 4
Entrada
Entradas
Salida Seleccionada
9
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
de Datos
E
0
1
1
1
1
Seleccionado
ras
S1
S0
X
X
0
0
0
1
1
0
1
1
Y3
0
0
0
0
1
Y2
0
0
0
1
0
Y1
0
0
1
0
0
Y0
0
1
0
0
0
Salida Y3:
Y 3=E S1 S 0
Salida Y2:
Y 2=E S1 S 0
Salida Y1:
Y 1=E S1 S 0
Salida Y0:
Y 0=E S1 S0
Las siguientes imgenes muestran la implementacin esquemtica en Quartus del
demultiplexor de 1 a 4, con la representacin de su bloque:
10
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
11
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
12
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
En la anterior imagen se puede apreciar, que son usados 5 Demultiplexores, cuatro
direccionan los bits del dato que ajusta el tiempo, dependiendo de S1 y S0, los cuales eligen
si se debe ajustar los segundos, los minutos o las horas, el ltimo multiplexor se encarga de
direccionar la seal de reloj, la cual le indica al registro respectivo (elegido por S 1 y S0)
cuando debe guardar un dato. Adems son usados 3 Registros de 4 Bits, un registro guarda
4 bits del dato de ajuste de segundos, otro guarda 4 bits del dato de ajuste de minutos y el
ltimo registro guarda 4 bits del dato de ajuste de hora.
Finalmente el Bloque Ajustar est compuesto por 2 bloques Guardar Horario, uno de estos
bloques se encarga de guardar las Unidades del dato ajuste, y el otro de guardar las decenas
del dato ajuste.
Este bloque funciona de manera que primero se carga cada registro con el dato
correspondiente, dependiendo de las entradas seleccionadoras de modo de ajuste S 1 y S0, la
entrada CLK en este caso es la seal que le indica a los registros cuando deben guardar el
dato que est en sus entradas, luego es necesaria una seal adicional en el bloque reloj, la
cual le indicar a cada contador cuando debe cambiar el tiempo, es decir, primero se cargan
los registros con el dato deseado, y luego mediante la seal ajuste, el reloj ajusta el tiempo
desde el que comienza su cuenta.
13
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
Imagen 3. Ajuste de Hora implementado en Quartus
3.2.3 RELOJ
Este bloque es el encargado de contabilizar segundos, cada 60 segundos,
contabilizar minutos y cada 60 minutos contabilizar horas, para su implementacin
es necesario el diseo de un MOD60 y un MOD 24, el MOD60 est compuesto por
un MOD6 y un MOD10, el MOD10 genera una seal de truncamiento cuando sus
salidas indiquen el nmero 10 en binario (1010), esta seal de truncamiento ser
la seal de reloj del MOD6, el cual genera una seal de truncamiento cuando sus
salidas indiquen el nmero 6 Binario (0110). A cada uno de los contadores deben
agregrsele una seal de entrada llamada seal Ajuste, la cual es la encargada de
indicar cuando debe ajustarse cada MOD a los valores del dato de ajuste que son
las salidas del bloque Ajuste Hora. Para la creacin de estos MOD se tendr en
cuenta las entradas Clear y Preset, de manera que si la seal Ajuste =1, los Flip
Flops no modificarn su estado independientemente del valor de los bits de ajuste
hasta llegar a la seal de truncamiento respectiva de cada MOD que es la que
reinicia el contador, por el contrario, cuando la seal Ajuste=0, los Flip Flops
14
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
modificarn su estado, si el bit de ajuste es cero (Zj i = 0) el Flip Flop
correspondiente debe poner en su salida un cero mediante la entrada Clear (CLR)
y si el bit de ajuste es uno (Zj i=1) el Flip Flop correspondiente debe poner su salida
en uno mediante la entrada Preset. En total sern usados 2 MOD60, y un MOD24,
un MOD60 tendr como seal reloj el pulso generado por el divisor de frecuencia,
el cual se presenta con una frecuencia de 1Hz, este primer MOD60 tendr como
funcin contar segundos, cuando se hallan contado 60 segundos, el MOD6 que
compone el MOD60 genera la seal de truncamiento la cual ser la seal de reloj
del MOD60 siguiente, el cual estar contando minutos, la seal de truncamiento
del MOD6 que compone el segundo MOD60 ser la seal de reloj del MOD24, el
cual tendr la funcin de contar horas.
De acuerdo a lo anterior es necesario conocer las expresiones necesarias para la
implementacin de las seales CLR y PRS, por lo cual se hace la siguiente tabla
de verdad:
Tabla de verdad 3. Ajuste de Flip Flop
Entradas
Ajust
e
0
0
0
0
1
1
1
1
-
Truj
Zji
PRS
CLR
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
15
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
estado en que sus salidas son todas cero.
Si Truj=1, no se afecta la funcin del MOD como contador.
-
Zji: Zji con ( i=0,3 ) son las entradas de ajuste entregadas por el bloque
ajuste de Hora, donde, Zj3 modifica el valor de salida del Flip Flop al cual se
le ha asignado la salida Z3 al valor en que se encuentre Zj3, Zj2 modifica el
valor de salida del Flip Flop al cual se le ha asignado la salida Z 2 al valor en
que se encuentre Zj2, Zj1 modifica el valor de salida del Flip Flop al cual se
le ha asignado la salida Z1 al valor en que se encuentre Zj 1 y Zj0 modifica el
valor de salida del Flip Flop al cual se le ha asignado la salida Z 0 al valor en
que se encuentre Zj0.
Mapa de Karnaugh 2. Entrada PRESET (PRS)
Truj Zji
Ajuste
0
1
00
01
11
10
1
1
0
1
0
1
1
1
i
PRS ( Ajuste , Tru j , Zji ) = Ajuste+ Zj
Mapa de Karnaugh 3. Entrada CLEAR (CLR)
Truj Zji
Ajuste
0
1
00
01
11
10
0
0
1
0
1
1
0
1
Zj i+ Ajuste Tru j
CLR ( Ajuste , Tru j , Aji ) = Ajuste
(Dnde i= 0,3 ).
16
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
diseado anteriormente como componente del Divisor de Frecuencia,
se puede saber que la seal de truncamiento de un MOD10 que
tiene como seales de salida (A 3, A2, A1, A0) viene dada por la
funcin:
Tru3= A 3 A 1
Despus de hacer las adecuaciones necesarias para que los valores
de la salida del MOD10 puedan ser modificados, dependiendo de la
seal Ajuste, y los bits entregados por el bloque Ajuste de Hora, es
decir, despus de hacer la implementacin de las funciones CLEAR
(CLR) y PRESET (PRS), el circuito MOD10 implementado en
Quartus se muestra a continuacin.
17
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
Imagen 5. Bloque MOD10 con seales de Ajuste Implementado en Quartus
Seal de
Truncamie
nto MOD6
Tru4
1
1
1
1
1
1
0
X
Salidas MOD6
B2
0
0
0
0
1
1
1
1
B1
0
0
1
1
0
0
1
1
B0
0
1
0
1
0
1
0
1
B1 B0
B2
0
00
01
11
10
18
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
1
Tru4 ( B2 , B1 , B 0 )= B 2 + B 1
Tru4 ( B2 , B1 , B 0 )= B 2 B 1
El diagrama esquemtico del MOD6 con seales de ajuste puede
observarse en las siguientes imgenes:
Imagen 6. MOD6 con seales de Ajuste Implementado en Quartus
19
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
Diagrama 2. Simulacin MOD6 en Quartus
De la anterior imagen se puede observar que, hay una seal de reloj de una
frecuencia, dada de acuerdo al problema requerido, el MOD10 ser el
encargado de contar 10 Flancos de Reloj, es decir, contar de 0 a 9, y en
este caso ser en encargado de contar las unidades del dato requerido,
20
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
luego el MOD 6 tendr como seal de reloj a la seal de truncamiento del
MOD10, por lo cual el MOD6 estar contando 6 Flancos de reloj cada 10
Flancos de reloj del MOD10, es decir contar de 0 a 5, y estar contando
las decenas del dato requerido, por lo que el MOD6 y el MOD10 unidos de
esta forma, conformaran un MOD60, el cual contar 60 flancos de reloj de
la frecuencia de la seal de reloj del MOD10, es decir, contar de 0 a 59.
Imagen 9. Bloque MOD60 implementado en Quartus
21
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
Tabla de verdad 5. Seal de truncamiento cuando MOD3 componente del MOD24, indique el
nmero 2 Binario (10)
Seal de
Truncamiento
cuando MOD3
indique 2 binario en
sus salidas
Tru5
1
1
0
0
Salidas MOD3
Q5
0
0
1
1
Q4
0
1
0
1
Se observa que:
Tru5=Q 5
Salidas MOD10
Q3
0
0
0
0
0
0
0
0
1
1
1
1
1
Q2
0
0
0
0
1
1
1
1
0
0
0
0
1
Q1
0
0
1
1
0
0
1
1
0
0
1
1
0
Q0
0
1
0
1
0
1
0
1
0
1
0
1
0
Seal de
Truncamiento
cuando MOD10
indique 4 binario en
sus salidas
Tru6
1
1
1
1
0
X
X
X
X
X
X
X
X
22
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
1
1
1
1
1
1
0
1
1
1
0
1
X
X
X
Q1 Q 0
Q3 Q2
00
01
11
10
00
01
11
10
1
0
X
X
1
X
X
X
1
X
X
X
1
X
X
X
Tru6 =Q 2
Salidas MOD6
Tru5
0
0
0
0
1
1
1
1
Tru 6
0
0
1
1
0
0
1
1
Tru 7
0
1
0
1
0
1
0
1
Nueva
Seal de
Truncamie
nto MOD10
Tru8
0
0
0
1
0
1
0
1
Nueva
Seal de
Truncamie
nto MOD3
Tru9
0
0
1
1
1
1
1
1
23
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
-
Tru5: cuando Tru5=0, las salidas del contador MOD3 componente del
MOD24, estn indicando el nmero 2 binario (10).
Tru6: cuando Tru6=0, las salidas del contador MOD10 componente del
MOD24, estn indicando el nmero 4binario (0100).
Tru7: es la seal de truncamiento del MOD10, es decir, cuando Tru 7=0
indica cuando las salidas del MOD10 componente del MOD24, han
llegado al nmero 10 Binario (1010).
Se puede decir que la seal de truncamiento del MOD3 componente del
MOD24 solo depende de Tru5 y Tru4, ya que este solo se truncar
cuando el MOD 24 con salidas (Q 5, Q4, Q3, Q2, Q1, Q0) indiquen el
nmero 24 BCD.
Mapa de Karnaugh 5. Nueva seal de truncamiento MOD10 Tru8
Tru6
Tru7
00
01
11
10
1
0
1
1
1
1
0
0
Tru5
0
1
5 Tru
6 +Tru7
Tru8 ( Tru5 , Tru6 , Tru7 ) =Tru
Mapa de Karnaugh 6. Nueva seal de truncamiento MOD3 Tru9
Tru6
Tru7
00
01
11
10
0
1
0
1
1
1
1
1
Tru5
0
1
5 Tru
6
Tru9 ( Tru5 , Tru6 , Tru7 ) =Tru
El MOD24 despus de hacer las adecuaciones necesarias para que
sus valores de salida puedan ser modificados por las seales de
ajuste, es mostrado en la siguiente imagen luego de su
implementacin en Quartus.
24
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
Imagen 10. MOD24 Implementado en Quartus
25
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
Imagen 11. Bloque MOD24 implementado en Quartus
26
Universidad del Cauca. Luisa Fernanda Snchez G. Alan David Erazo V. James Manuel
Gmez U. Real Time Clock (RTC)
CONCLUSIONES
BIBLIOGRAFIA
27
Universidad del Cauca. Luisa Fernanda Snchez, Alan David Erazo V, James Gmez. Real Time Clock RTC.
INTRODUCCIN
Para el anlisis y desarrollo de este conversor, se usan los conceptos previamente adquiridos en
clase sobre lgica digital, usando as, el lgebra de Boole, queriendo con esto simplificar las
funciones obtenidas llegando a una expresin algebraica que cuando se configure resulte un circuito
de bajo costo. Tambin se usan los Mapas de Karnaugh, compuertas lgicas, y a lgica combinacin
con MSI que realizan funciones especficas comnmente usadas en el diseo de sistemas de
computadores digitales.
MARCO TERICO
En est
e proyecto, se usan conceptos bsicos sobre los circuitos combinacional