Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Problema de Ingeniería Nº 1
Sistema Mínimo con 80C86
Autores:
Grupo Nº
Nombre y Apellido Nº de Legajo
Ledesma, Federico L-1834/1
Monti, Matias M-4157/2
Rodríguez, Emanuel R-2637/9
Rubio Scola, Ignacio R-
Corrigió Calificación
Marzo / 2007
Universidad Nacional de Rosario
Facultad de Ciencias Exactas, Ingeniería y Agrimensura
Escuela de Ingeniería Electrónica
Índice
1. Introducción..................................................................... 2
2. Objetivos ..................................................................... 2
3. Problema ..................................................................... 2
4. Problema de Software ..................................................... 3
5. Solución propuesta .............................................................
5
6. Conclusiones .....................................................................
18
7. Bibliografía ..................................................................... 19
1. Introducción
2. Objetivos
3. Problema
4. Problema de Software
MSByt LSByt
e e
BH BL AH AL
BH BL AH AL
DISPLAY 4 DISPLAY 3 DISPLAY 2 DISPLAY 1
5. Solución propuesta
Las señales de reloj y de reset se generan utilizando un dispositivo diseñado para tal fin: el
82C84A, diseñado por la empresa HARRIS.
Con el objetivo de aclarar los criterios adoptados en el diseñado del circuito mostrado en la
figura 1, procedemos a explicar el funcionamiento de cada pin del integrado en cuestión.
Descripción:
Pin Descripción
(Address enable) Ambas son señales de entrada y tienen como fin validar las
AEN1 señales RDY1 y RDY2. Se activan con un cero lógico y se utilizan para sistemas
AEN2 con configuraciones multi-master. De no ser necesaria tal configuración, el
fabricante recomieda conectar ambas entradas a masa.
(Bus ready). Ambas entradas se activan con uno lógico y advierte cuando un
RDY1
dispositivo conectado al bus de datos ha finalizado una operación de recepción
RDY2
o de envío.
ASYNC (Ready sincronization select). Es una entrada que define el modo de
sincronización de la lógica Ready. Cuando está en valor bajo, están disponibles
dos niveles de sincronización de Ready, cuando se encuentra en valor alto o
simplemente no se conecta, el dispositivo provee un único nivel. El hecho de no
necesitar más que un nivel, justifica la no conexión de este pin en nuestro
1
El enunciado del problema pide trabajar con 5MHz, para lo cuál sería necesario utilizar un oscilador de cristal de
15MHz. Este valor no existe comercialmente, por lo que recurrimos a uno de 12MHz, por lo cuál el
microprocesador funcionará con una frecuencia de 4MHz.
2
Resumimos estos dos puntos del enunciado del problema en uno debido a que ambas señales se generan con el
mismo circuito integrado.
Universidad Nacional de Rosario
Facultad de Ciencias Exactas, Ingeniería y Agrimensura
Escuela de Ingeniería Electrónica
circuito.
(Ready). Este salida (activa con un uno lógico) sincroniza la entrada RDY1. El
READY tiempo que permanece en alto esta señal es el suficiente para garantizar que el
microprocesador la ha detectado.
Estas entradas están provistas para conectar el oscilador de cristal. La
X1, X2 frecuencia del mismo debe ser 3 veces mayor a la cuál necesitamos que el
microprocesador funcione.
(Frecuency / cristal select) Esta entrada selecciona, si está en uno lógico, la
entrada EFI como entrada de frecuencia. Si se encuentra en cero lógico, la señal
F/C de clock será generada a partir del cristal conectado entre X1 y X2.
Siendo nuestra intención utilizar un oscilador de cristal externo, conectaremos
esta entrada a masa.
(External frecuency in). Cuando la entrada F/C está en uno lógico, el clock es
generado con la señal presente en esta entrada. La frecuencia de la misma debe
EFI ser 3 veces mayor a la que necesita funcionar el microprocesador. Nuevamente,
teniendo en cuenta que utilizamos un oscilador a cristal para generar la señal de
clock, esta entrada irá conectada a masa en nuestro diseño.
(Clock del procesador). Esta salida va conectada a la entrada de clock de
microprocesadory a todos los dispositivos conectados directamente al bus local.
CLK La señal de reloj tiene una frecuencia que resulta tres veces menor que la
frecuencia del cristal (o de la señal entrante en EFI) y se encuentra en valor alto
durante la tercera parte del ciclo.
(Peripherical clock) Esta salida es un clock para periféricos cuya frecuencia es
de la mitad de la frecuencia de la señal de la salida CLK y se encuentra en valor
PCLK
alto durante la mitad del ciclo (es una señal cuadrada) Nuestro diseño no
requiere la utilización de una señal de estas características.
(Oscilador output). Es una salida del oscilador interno. La frecuencia de la
OSC
señal es igual a la del oscilador de cristal.
(Reset in). Entrada de reset del dispositivo. Se activa con un valor bajo y
genera la señal de RESET de salida (servirá para inicializar los dispositivos).
RES Utilizamos un circuito RC para generar este pulso debido a que el 82C84A
provee internamente un comparador Schmitt para generar un pulso de reset de
duración adecuada con los valores especificados.
(Reset). Esta salida se encuentra activa cuando presenta un valor lógico alto y
RESET se utiliza para resetear cualquier microprocesador de la familia 80C86. La
duración del pulso queda determinada por la señal entrante en RES.
(Clock syncronization). Esta entrada se utiliza para el caso en que requieran
conectarse más de un 82C84 en cascada funcionando en forma sincronizada.
Cuando está en alto los contadores internos están reseteados. Cuando está en
CSYNC
valor bajo, los contadores se habilitan. Esta entrada necesita estar externamente
sincronizada con la señal de entrada EFI. Cuando se utiliza el oscilador interno
esta entrada debe tener una conexión segura a masa.
GND Masa (entrada).
Universidad Nacional de Rosario
Facultad de Ciencias Exactas, Ingeniería y Agrimensura
Escuela de Ingeniería Electrónica
Teniendo en cuenta lo analizado en la tabla anterior, citamos el diagrama apto para cubrir las
necesidades de nuestro diseño.
Comentarios:
•La señal de READY no se conecta debido a que, al cumplirse las inecuaciones de tiempos sin
necesidad de insertar WAIT STATES, podemos conectar la entrada del microprocesador
directamente a VCC.
•Los valores de R y C calculados aseguran una duración adecuada del pulso de RESET (señal de
salida) para el microprocesador y los dispositivos que lo requieran.
3
Nuevamente, unificamos dos puntos del enunciado, dado que planteamos la solución de ambos en el mismo
esquema por comodidad.
Universidad Nacional de Rosario
Facultad de Ciencias Exactas, Ingeniería y Agrimensura
Escuela de Ingeniería Electrónica
CP
A19
74MC374
A17:15 A17
OE A15
ALE CP
A19
74MC374 A18´
A17
AD15:8 A15 Direcciones
A16
OE A8
A15 29F040
Direcciones
A8
Banco Impar
Datos
A7
AD0 AD7
Direcciones
CP A1
80C86 CE WR OE
74MC374
AD7:0 A7
OE A0 A1 Cs1a WR RD
Datos
AD0 AD7
82c84a
RD RD
CLK CP
WR WR
Dato Página
A17
BHE BHE
74MC374 Direcciones
Reset A16
(proveniente del 82C84A)
A15 K6T1008
OE Direcciones
A8 Banco Impar
A7
Direcciones
IO/MEM A1
Cs2 Cs1 WR OE
Cs2a WR RD
La figura 2 muestra el esquema de conexionado de los periféricos, el latch de direcciones, y el
latch mapeado en el espacio de entrada salida. Las señales de chip select se especifican a
continuación, al igual que el circuito que permite cumplir con los requisitos de mapeado
propuestos por el problema.
Cuando la dirección esté comprendida en el rango de 00000h hasta 3FFFFh debe activarse la
señal de chip select de la memoria RAM. Nuevamente, validamos las señales de chip select de
cada banco para incluir la protección del banco impar.
•Señal de chip select para el banco impar de la memoria RAM:
Cs 2 a =A18 ⋅ A19 ⋅ BHE ⋅ Io / M
Dado que el único dispositivo mapeado en el espacio de entrada salida es el latch de selección de
página, podemos usar como señal de chip select directamente a la señal Io/M:
CS1a = ( A18 + A19 ) ⋅ BHE.( IO )
M
CS 2b = A18 ⋅ A19 ⋅ A0 .( IO )
M
1 X X A18
0 0 0 - (*)
0 0 1 - (*)
0 1 0 0
0 1 1 1
(*) Estos estados no interesa el valor que adopte A18’, pues cuando A19 y A18 valen 0 lógico
simultaneamente me encuentro en el rango de direcciones de la RAM por lo que el Chip Select
de la memoria FLASH estará en bajo. Esto es posible dado que la línea de direcciones A18 no se
conecta al bus de direcciones de la RAM.
Para cumplir con la tabla de verdad descripta recurrimos al siguiente circuito.
PAGINA
1
W0 A18’
PÁGINA A18’ A18 W1
W
0 X0 X
X1
Y
Y0
Y1 Z
Z0
A19 Z1
GND
3. Verificar las compatibilidad de las especificaciones de tiempo para los ciclos de
lectura y escritura en la memoria RAM y el ciclo de escritura en el latch de
selección utilizado.
Análisis de Tiempos
Memoria Flash
• Ciclo de lectura
3 1
tOE < T + ( T − tCLRL max ) − t DVCL = 2T − tCLRL max − t DVCL
2 2
tOE < 2 ⋅ 250nseg − 165nseg − 30nseg = 305nseg
T1
tCE < 2T + ( − TCHLL ) − TLATCH − TDVCL − (TNOT + TOR + 2.TAND )
2
tCE < 500nseg + (125nseg − 18nseg ) − 15nseg − 30nseg − (13,5nseg + 11,4nseg + 2.12,3nseg ) = 512,5nseg
T1
t ACC < 2T + ( − TCHLL ) − TLATCH − TDVCL − TMUX ( Máximo )
2
t ACC < 500nseg + (125nseg − 18nseg ) − 15nseg − 30nseg − 90nseg = 472nseg
t DF < t RHAV = tCLCL min − 45nseg − (TNOT + TOR + 2.TAND )
t DF < t RHAV = 200nseg − 45nseg − (13,5nseg + 11,4nseg + 2.12,3nseg ) = 105,5nseg
Cualquiera de los tipos de memoria Flash 29F040 da cumplimiento a estas inecuaciones, por lo
que queda verificado el correcto funcionamiento del dispositivo.
Como en la memoria Flash esta almacenado el programa (supongo que ya lo tengo programado),
no tengo que estudiar el ciclo de escritura.
Memoria Ram
• Ciclo de lectura
Nuevamente los dos tipos de memoria K6T1008C2E (varían enla velocidad de acceso) dan
cumplimiento a todas las inecuaciones.
• Ciclo de escritura
El fabricante nos garantiza los tiempos utilizados en los cálculos siempre que la carga
conectada como carga al bus de direcciones y datos sea menor de 100pF.
Por lo tanto, debemos analizar el cumplimiento de la siguiente inecuación:
• Ciclo de Lectura
RAM
VOH RAM ≥ VIH Micro 2,4 V ≥ 2 V √
FLASH
VOH FLASH ≥ VIH Micro 2,4 V ≥ 2 V √
• Ciclo de Escritura
RAM
VOH Micro ≥ VIH RAM 3 V ≥ 2,2 V (1) √
Nota: (1) Utilizamos el mínimo suponiendo que utilizamos señales de duración mayor a 30 ns
(2) Utilizamos el máximo suponiendo que utilizamos señales de duración mayor a 30 ns
Problema de Software
Bin2bcd PROC
PUSH DX
XOR DX, DX
XOR BX, BX
MOV BX, 10d
DIV BX
PUSH DX
DIV BX
PUSH DX
DIV BX
PUSH DX
DIV BX
MOV BH, DL
POP DX
MOV BL, DL
POP DX
MOV AH, DL
POP DX
MOV AL, DL
POP DX
RET
ENDP
Bcd27seg PROC
PUSH DX
PUSH SI
PUSH BP
XOR SI, SI
XOR DX, DX
XOR BP,BP
MOV DL, AH
MOV SI, DX
MOV AH, BYTE PTR DS:[BP][SI]
MOV DL, BL
MOV SI, DX
MOV BL, BYTE PTR DS:[BP][SI]
MOV DL, BH
MOV SI, DX
MOV BH, BYTE PTR DS:[BP][SI]
POP BP
POP SI
POP DX
RET
ENDP
6. Conclusiones
• De ser necesario insertar T-WAITS en alguna aplicación, la conexión del 82C84A para
tal fin está detallada en la página 280 del libro “Microprocesadores Intel” de Barry B.
Brey.
7. Bibliografía
- Hojas de datos del: 8086, 29F040, K6T 1008, 74HC374, y de todo otro
dispositivo lógico usado.
- Los micro procesadores Intel, Barry Brey, tercera Ed.
8. ANEXO 1
MAPA de MEMORIA
1 MAPA de MEMORIA 2
Direccion Direccion
es Tamaño Dispositivo es Tamaño Dispositivo
0xFFFFF 0xFFFFF
512Kb Últimos 256 K de 512Kb Últimos 256 K de
Flash1 y Flash2 Flash1 y Flash2
0x80000 0x80000
0x7FFFF 0x7FFFF
Primeros 128 Kb Segundos 128 Kb
de Flash 1 – de Flash 1 – Flash
256Kb Flash 2 256Kb 2
0x40000 0x40000
0x3FFFF 0x3FFFF
256Kb RAM 1 y 2 256Kb RAM 1 y 2
0x00000 0x00000