Micros 3

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Microcontroladores.

Evolución, estado actual y tendencias


(Tercera Parte)
Ing. Marcelo E. Romeo 7
[email protected]
8 Microcontroladores con ROM/EPROM.
Analizaremos ahora a los microcontroladores de Dallas DS80C310, DS80C320/323, DS87C520/83C520,
DS87C530/83C530 y DS87C550, los que, basados en el 8052, tienen un conjunto de características comunes y otro
conjunto de particularidades que permiten diferenciarlos entre sí.

8.1 Características comunes

8.1.1 Heredadas:
- Compatibilidad: con el 8032.
- RAM interna: 256 bytes.
- Temporizadores: 3, uno con captura.

8.1.2 Nuevas:
- Máxima frecuencia de operación: hasta 33 MHz (frente a los 12 MHz del 8032).
- Duración de cada ciclo de máquina: 4 ciclos de reloj (frente a los 12 del 8032). En total, todo ocurre como
tener un 8032 de 82,5 MHz.
- Un segundo puntero a datos (data pointer): permite la transferencia entre dos zonas de memoria de una
manera mucho más sencilla.
- Interrupciones: múltiples interrupciones adicionales (tanto internas como externas).

7
Profesor Titular con Dedicación Exclusiva (Técnicas Digitales I, II y III). Universidad Tecnológica Nacional - Facultad
Regional Buenos Aires.
9 80C310

9.1 Generalidades

Fig. 1. Diversos formatos del DS80C310

Este microcontrolador no dispone de ROM interna, esta disponible en formatos DIP de 40 patas, PLCC de
44 patas ó TQFP de 44 patas.
En la Fig. 2 vemos la arquitectura interna del 80C310. Allí vemos una arquitectura similar al 80C32, sólo
que aparece un segundo Data Pointer que facilita el movimiento de datos entre dos zonas de memoria (inclusive
ROM y RAM externa). Sólo uno de los data pointers estará activo a la vez, por lo que habrá un registro de
selección del Data Pointer activo, llamado DPS, cuyo uso vemos a continuación:

DPS EQU 86H ; Selección del DPTR activo, no soportado por los ensambladores
...............
MOV R5,#100 ; Numero de bytes a mover
MOV DPTR,#Destino ; Direccion de destino del bloque a mover
INC DPS ; Cambio del puntero activo
MOV DPTR,#Fuente ; Dirección de fuente de bloque
LAZO_DE_MOVIMIENTO:
MOVC A,@DPTR ; Lectura de un byte de la memoria de programa
INC DPTR ; Apunto al promo byte
INC DPS ; Cambio de DPTR activo
MOVX @DPTR,A ; Transferencia de un byte
INC DPTR
INC DPS ; Selecciono el DPTR fuente
DJNZ R5,LAZO_DE_MOVIMIENTO

La segunda particularidad es la existencia de un latch en la puerta 2. Este latch permite realizar un movimiento
de datos a una determinada página (almacenada previamente en P2) empleando la instrucción MOVX A,@R0
(ó R1).
9.2 Arquitectura interna.

Fig. 2. Arquitectura interna del 80C310

9.3 Estados de espera para la sincronización.


Otra particularidad de este microcontrolador es la posibilidad de alargar los ciclos de lectura o escritura para
poderse sincronizar con memorias o periféricos más lentos (podríamos ironizar diciendo que es un problema ser
rápido). Es lo que se llama el stretching circuit. Al mismo se accede escribiendo sobre el SFR llamado Clock
Control Register que se halla en la posición 8EH.
En la Tabla 1, vemos la actuación del circuito de adecuación de tiempos de acceso descripto anteriormente. Es
algo similar a lo que conocimos como circuitos generadores de Wait States, sólo que aquí son generados interna y
automáticamente.

Tabla 1. Duración de los pulsos de lectura y escritura empleando el stretching.

9.4 Interrupciones.
Tal como dijimos en la introducción, se trata de un 8032 más rápido, pero al que también se le agregan 4
fuentes adicionales de interrupción, algunas activas bajas y otras activas altas, todas ellas con menor prioridad que
las originales, incorporando nuevos vectores de interrupción y empleando cuatro líneas de la puerta 1, en el caso de
que se decida utilizarlo.

Tabla 2. Interrupciones del 80C32

En la Tabla 3, vemos el uso que hacen de la puerta 1 estas nuevas interrupciones externas. Además
podemos notar que estas nuevas interrupciones son sensibles a flancos, dos positivos y dos negativos.

Línea Interrupción Actúa en:


P1.4 INT2 Flanco Positivo
P1.5 INT3 Flanco Negativo
P1.6 INT4 Flanco Positivo
P1.7 INT5 Flanco Negativo

Tabla 3. Nuevas Interrupciones

9.5 Temporizadores y rutinas de demora.


Respecto de los temporizadores, los mismos pueden tener como reloj propio a la frecuencia de cristal
dividido por 12, tal como lo hacía el 8051, o bien si así se desea, individualmente dividir por 4, como se generalizó
en este microcontrolador. De esta manera las rutinas hechas para el 8051 que empleaban alguno de los
temporizadores puede emplearse idénticamente (con el mismo cristal, por supuesto) en el 80C310.
Sin embargo las rutinas que realizaban demoras por programa en el 8051, deberán ajustarse al cambiar el
procesador, pues, aún manteniendo el mismo cristal, se ejecutarán en menos tiempo.

9.6 Modo de muy bajo consumo.


Este microcontrolador dispone de un modo de muy bajo consumo (stop mode), en el que el consumo puede
llegar a ser menor que 1µA. En efecto, al poner a 1 el bit 1 del registro PCON, se detiene hasta el oscilador interno.
Para volver a operar normalmente, bastará con un pedido de interrupción de las nuevas interrupciones por
flanco (2 a 5) o bien por una señal de reset. En ambos casos, deberán transcurrir 65536 ciclos de reloj para que el
microcontrolador se reactive, ya que, por diseño, se estima ese tiempo para estabilizar la operación del sistema.
De lo anterior, puede extrapolarse que no es necesario el tradicional circuito RC para el power on reset, ya
que también sobre esa señal se aplica el criterio de los 65536 ciclos de espera.

10 80C320/323

10.1 Generalidades
Este microcontrolador es similar al 80C310, con los siguientes agregados:
1. Un segundo canal serie (con su respectiva interrupción).
2. Un watchdog.
3. Un circuito de detección temprana de caída de alimentación (power fail)
4. Frecuencia máxima de 18 MHz (80C323) ó 33 MHz (80C320).
5. Nuevas interrupciones.
6. Posibilidad de operar hasta con 2,7 V de alimentación (80C323) a fin de minimizar el consumo
Línea Interrupción Señal Actúa con:
P1.0 T2 External I/O for Timer/Counter 2
P1.1 T2EX Timer/Counter 2 Capture/Reload Trigger
P1.2 RXD1 Serial Port 1 Input
P1.3 TXD1 Serial Port 1 Output
P1.4 INT2 External Interrupt 2 (Positive Edge Detect)
P1.5 INT3 External Interrupt 3 (Negative Edge Detect)
P1.6 INT4 External Interrupt 4 (Positive Edge Detect)
P1.7 INT5 External Interrupt 5 (Negative Edge Detect)
Tabla 4. Interrupciones de los 80C320/323
En el circuito de la Fig. 3, se puede observar el diagrama de conexionado de toda esta familia de
microcontroladores que requiere obligadamente memoria de programa externa.
Allí vemos la necesidad de colocar un latch de alta velocidad (74F373) para demultiplexar la parte baja del
bus de direcciones.
Fig. 3. Diagrama de conexionado de esta familia de microcontroladores.
10.2 Detección temprana de caída de alimentación.
Como dijimos anteriormente, este microcontrolador, detecta tempranamente caídas en la tensión de
alimentación, pudiendo producir acciones de reset ante ruido intensos en la tensión de alimentación (produciendo
una demora de reinicio de 65536 pulsos de reloj).
Si se hace valer 1 el bit PFI (WCON.5, es decir dentro del control del watchdog), al producirse una caída de la
alimentación, se generará una interrupción de máxima prioridad que saltará al vector ubicado en la posición 33H de
programa. El bit mencionado deberá resetearse por programa.

10.3 Watchdog
Este circuito de protección es, básicamente, un monoestable digital que se activará8 luego de un cierto tiempo
de no ser reseteado por programa. Tanto la habilitación como la acción de reseteado, están protegidos por la técnica
de acceso temporizado (Timed access) descripta en el artículo anterior, con la intención de proteger la actuación del
circuito de accionamiento involuntarios.

Tabla 5. Duración del tiempo de protección del circuito de watchdog.


Habilitando la interrupción del watchdog en el registro Extended interrupt enable (E8H), se generará una
interrupción 512 ciclos de reloj antes de que se produzca el reset del microcontrolador, evitando el reset del sistema
y actuando antes del mismo.
En la Tabla 5, se puede observar los tiempos que pueden obtenerse de protección (o límite) antes de que actúe
el watchdog. En el registro WDCON, en la dirección de registros de funciones especiales D8H, se deberán escribir
los bits 0 y 1 para elegir el tiempo

10.4 Modos de bajo consumo.

10.4.1 Modo idle u ocioso.


En este modo, se ha producido una importante innovación, que es el “despertar” del microcontrolador, llevado
al modo idle de bajo consumo (en el cual sigue funcionando el reloj), puede despertarse por una interrupción del
watchdog realizar una operación programada y posteriormente volver a ese estado de bajo consumo hasta que una
nueva interrupción lo reanime.

10.4.2 Modo Stop o parado.


En este modo de extremadamente bajo consumo, se puede habilitar (Registro EXIF, bit 0, flag BGS) una
banda de tensiones de alimentación, cuyo sobrepaso generaría o bien una interrupción (PFI) o bien un reset. En el
modo parado con la banda habilitada, se generarán las acciones de caída de la alimentación, con el precio de una
corriente de alimentación de 50µA, frente a 1 µA con la banda deshabilitada.

8
Registro con acceso temporizado
Se dispone de un oscilador en anillo que funciona al salir del modo stop y que permite disponer como reloj de
una señal de aproximadamente 3 MHz (no confiable para operaciones de temporización ni comunicación serie) que
se podrá emplear antes de los 65536 ciclos de reloj necesarios para que se estabilice el oscilador tradicional.
De hecho, el sistema podría salir del modo stop y volver al mismo antes de que se encuentre disponible el
oscilador principal.

11 .- 87C520.

11.1 Generalidades.
Este microcontrolador se basa en la estructura del 80C320, pero incorpora 16 KB de EPROM en el mapa de
memoria de programa y 1 KB de memoria de datos para ser accedida como memoria externa de datos (MOVX).
Una de las particularidades de este diseño consiste en que se puede programar cuanto de los 16 KB de
memoria de programa se empleará y además, al exceder este límite se accederá automáticamente a la memoria
externa hasta completar los eventuales 64 KB.
El kilobyte de memoria de datos disponible es adicional a los tradicionales 256 bytes de memoria del 80C32 y
a pesar de que físicamente se halla dentro del mismo circuito, se deberá acceder por medio de las instrucciones
MOVX.
Existe una versión ROM, denominada 83C520, recomendable sólo para grandes volúmenes.

11.2 EPROM.
La EPROM necesita de 12,75 Volts para su programación 9 y dispone de un bit de seguridad que impide que
una vez culminada la programación la EPROM su contenido sea inaccesible de cualquier forma para el exterior a
fin de evitar su copia. De cualquier manera se dispone de una opción de encriptado que permite verificar la
memoria de programa sin que aparezca al exterior el verdadero contenido de la memoria.

12 .- 87C530.

12.1 Reloj de tiempo Real.


Estamos en presencia de un microcontrolador basado en un 87C520 que agrega un reloj de tiempo real con
su propio cristal de 32,768 KHz. Este reloj puede 10 habilitarse por programa y deshabilitarse de la misma manera a
fin de minimizar el consumo.

9
La mayor parte de los programadores de EPROM universales actuales permiten la programación de estos microcontroladores.
Dallas dispone de un programador de bajo costo llamado 87000.

10
Registro de Acceso temporizado.
Fig. 4. Diagrama del Reloj de tiempo real del 87C530.

Este RTC es de muy fácil acceso y permite medir lapsos y dispone de un alarma programable.

12.2 Respaldo de batería.


Una de las patas del circuito (que no existe en formato DIP), permite la conexión de una batería externa que
alimentará al reloj de tiempo real y a la memoria de datos interna (pero accesible con MOVX). Debe recalcarse
que ni la memoria de 256 bytes ni los registros interno están soportados por esta batería.
Debido a las características propias de esta tecnología CMOS, debe garantizarse que EN NINGUNA
CIRCUNSTANCIA, aparezca alguna tensión negativa en alguna de las patas de conexión del dispositivo, pues
provocaría el disparo de algunos diodos parásitos que cortocircuitarían la fuente.
Esta advertencia esta dirigida directamente a los riesgos de ruidos electromagnéticos, debiéndose incorporar
los circuitos de protección recomendados por Dallas.

13 .- 87C550

13.1 Generalidades.
Este microcontrolador de muy reciente aparición, es muy similar al 87C520 (salvo que dispone de 8 KB de
memoria de programa en lugar de 16) e incorpora un conversor analógico a digital rápido de 10 bits con un
multiplexor analógico de 8 entradas, referencia interna o externa y un modulador de ancho del pulso (PWM) con 8
salidas, 4 registros de captura, 3 registros de comparación y un total de 55 líneas de entrada salida.

13.2 Conversor A/D.


Se dispone de un conversor por aproximaciones sucesivas (por ende rápido) de 10 bits que se podrá habilitar
por medio de un bit de un registro de funciones especiales (ADCON1.1). A su vez con 3 bits (ADCON2.6 al 4), se
seleccionará una de las ocho entradas analógicas para ser procesadas por el conversor.
El tiempo de conversión esta determinado por 16 ciclos de reloj del conversor. Este reloj esta determinado
por la frecuencia del cristal empleado, así como por un divisor (prescaler) programable por un registro denominado
APS. Debido a las características dinámicas del conversor, este reloj deberá encontrarse entre 1 y 6,25 µs.
El conversor podrá trabajar en forma disparada (o monoestable) escribiendo en ADCON1.5 o bien por una
señal en la línea STADC (P6.7). En ese mismo bit de registro se detectará el fin de la conversión. Otro modo de
operación es en modo astable (free running) en el que el fin de una conversión da lugar al inicio de otra.
El resultado de la conversión estará disponible en otros dos registros de funciones especiales (ADMSB y
ADLSB).

13.3 Modulación del ancho de pulso.


La modulación de ancho del pulso es una técnica de. como su nombre lo indica, cambia el ciclo de actividad
de una señal para implementar controles PID (proporcional integrador- derivativo) o bien para carga de baterías
buscando eliminar efectos residuales de memoria y exceso de carga.
Se dispone de 8 canales independientes de modulación del ancho del pulso (PWM) que pueden conectarse en
cascada para lograr mayor precisión.
Se dispondrá de un prescaler, un generador de reloj y un generador de pulsos. Estos pulsos serán generados
con un ciclo de actividad dependiente de la frecuencia del cristal, el valor de un prescaler (divisor) y por el valor
escrito por el programador en un registro propio para cada modulador. Entre ellos se varía en ciclo de actividad
(duty cycle) de cada señal generada.
Apareando dos registros de 8 bits puede lograrse un modulador de 16 bits, con el consiguiente aumento de la
precisión.

13.4 Registros de captura y comparación.


Se dispondrán de 4 registros de captura (similares a los del timer 2 del 8052) activados por las señales
conectadas a las entradas de interrupción INT2 a INT5. Al aparecer alguna de esas señales (tanto pueden ser con
flanco creciente como decreciente) se almacenará el contenido del temporizador 2 en los registros de funciones
especiales dedicados a tal efecto.
También se podrá generar una interrupción cuando el valor del temporizador 2 alcance alguno de los tres
valores programados en sendos registros de funciones especiales.

14 .- Bibliografía
• The 8051 microcontroller . Scott MacKenzie. Prentice Hall 1992.
• Programming and Interfacing the 8051 Microcontroller. Yeralan – Ahluwalia. Addison Wesley 1995.
• Página web de Dallas semiconductor. www.dalsemi.com
• Página web de Keil Software. www.keil.com
• High Speed microcontroller data book. Dallas Semiconductor.
• Secure microcontroller Data Book. Dallas Semiconductor 1997/98
• Data book and CD ROM. Dallas Semiconductor. 1997.

15 Resumen
Microcont Memoria Respald Puertos RTC DPTR watchd Encaps Timers Funciones
rolador Adicional o batería Serie og ulado Especiales
DS5000FP - NO 1 NO 1 SÍ QFP 2 NO (1, 2, 3)
DS5000 8 ó 32 K SÍ 1 NO 1 SÍ DIP 2 NO (1, 2, 3)
DS2250 8, 32 ó 64 SÍ 1 NO 1 SÍ SIMM 2 NO (1, 2, 3)
K 40 patas
DS5001FP - NO 1 NO 1 SÍ QFP 2 NO (1, 2, 3)
DS5002FP - NO 1 NO 1 SÍ QFP 2 Encriptado y
seguridad (1, 2, 3)
DS5000T 8, 32 ó 64K SÍ 1 SÍ 1 SÍ DIP 2 NO (1, 2, 3)
DS2250T 8, 32 ó 64K SÍ 1 SÍ 1 SÍ SIMM 2 NO (1, 2, 3)
40patas
DS2251T 32, 64 ó SÍ 1 SÍ 1 SÍ SIMM 2 CRC 16 (1, 2, 3)
128K (1283) 72 patas
DS2252T 32, 64 ó SÍ 1 SÍ 1 SÍ SIMM 2 Encriptado y
128K (1283) 40 patas seguridad (1, 2, 3)
DS80C310 - NO 1 NO 2 NO DIP, 3 SI. Instrucciones
PLCC, más rápidas y
XTAL hasta 33
TQFP
MHz. Reset
interno
DS80C320 - NO 2 NO 2 SI DIP, 3 SI. Instrucciones
PLCC, más rápida. XTAL
DS80C323
hasta 18 y hasta 33
TQFP
MHz. Reset
interno
87C520 16 KB de NO 2 NO 2 SI DIP, 3 Nuevos modos de
EPROM y 1 PLCC, bajo consumo.
KB de
TQFP
RAM
87C530 16 KB de Externa 2 SI 2 SI PLCC, 3 Posibilidad de
EPROM y 1 respaldo de la
TQFP
KB de RAM con batería
RAM externa.
87C550 8 KB de NO 2 NO 2 NO PLCC, 3 Conversor A/D de
EPROM y 1 10 bits. PWM.
PQFP
KB de
RAM

Notas: 1) Ejecución de Programas Encriptados


2) Frecuencia máxima de cristal: 16 MHz.
3) Carga del programa por línea serie sobre el equipo definitivo.

También podría gustarte