|
EL
8051
El 8051 es
un microcontrolador de 8 bits desarrollado en su origen por Intel en 1980.
Es el microcontrolador más popular del mundo, hecho por varios
fabricantes independientes. ¡Tan solo en 1993 se vendieron 126 millones
de 8051s (y variantes) ¡
Un típico 8051 contiene:
- CPU con
procesador booleano
- 5 o 6
Interrupciones:
- 2 son
externas
- 2 niveles
de prioridad
- 2 o 3
temporizadores/contadores de 16 bits
- puerto
serie full-duplex programable
- (con la
velocidad en baudios provista por uno de los timers)
- 32 líneas
de entrada - salida (cuatro puertos de 8 bits)
- RAM
- En algunos
modelos, ROM/EPROM
Puede decirse que la arquitectura del 8051 es algo extravagante, pero
lo mismo podría decirse de la arquitectura de la mayoría
de los microcontroladores, debido a su especialización (vean si
no la creatividad del PIC - en ese sentido, basta con ver cualquier chip
RISC). Un problema bastante molesto del 8051 es su conjunto de instrucciones
sumamente no - ortogonal, especialmente las restricciones sobre el acceso
a los diferentes espacios de direccionamiento. De cualquier modo, después
de algún tiempo de programar este chip uno se acostumbra, e incluso
puede llegar a apreciarlo.
Uno de los puntos fuertes del 8051 es la manera en que maneja las interrupciones.
El vectorizado hacia áreas fijas de 8 bytes es conveniente y eficiente.
La mayoría de las rutinas de interrupción son muy breves
(o al menos así debería ser), y generalmente caben en el
área de los 8 bytes. Por supuesto que si su rutina de interrupción
es más larga, todavía puede saltar a la rutina apropiada
desde dentro de la región de interrupción de 8 bytes.
El juego de instrucciones del 8051 está optimizado para las operaciones
de un BIT que tan a menudo se usan en las aplicaciones de control en tiempo
real. El procesador booleano provee soporte directo para manipulaciones
de bits. Esto lleva a programas más eficientes que necesitan tratar
con las condiciones de entrada y salida binarias inherentes a los problemas
de control digital. Se puede usar direccionamiento de bits para el monitoreo
con puntas de prueba o flags de control del programa.
Tipos de 8051
El 8051 posee el más amplio espectro de variantes que cualquier
otro controlador incorporado del mercado. El dispositivo más pequeño
es el Atmel 89c1051, una variante FLASH de 20 pines con 2 timers, UART,
20 mA
Advanced
Micro Devices (AMD)
AMD fue uno de los primeros fabricantes de variantes mejoradas incluyendo
características tales como: punteros de datos duales, interfase
slave con unidad de arbitración, puerto RAM dual y buffers FIFO
entre otras. Pero ya han dejado de fabricarlos.
Atmel
El
dispositivo más pequeño de la actualidad es el ATMEL 89c1051,
una variante FLASH de 20 pines con 2 timers, UART, 20 mA. ATMEL fue el
primero con distribución de pines FLASH estándar, y con
más ciclos de programa que cualquier distribución de pines
FLASH hecha a pedido. Estas partes compiten en precio con los productos
OTP y MASK, pero eliminan los problemas de los costos ocultos del desarrollo
OTP. Esto ponen en aprietos a micros como el PIC y el ST6.
Dallas Soft Microcontrollers - DS5000(T), DS5001(T), DS2250(T)
Los microcontroladores Dallas Soft tienen núcleos estándar
8051 con RAM no volátil en chip en vez de ROM. Esto le da a usuario
la habilidad de alterar fácilmente el sistema y es perfecto para
registro de datos. Estos procesadores están disponibles tanto en
soluciones de chip como de módulo. Entre las características
incluidas en esta familia de productos:
- RAM no
volátil en chip
- cargador
en ROM para descarga de programas, que elimina el complicado ciclo de
borrar/programar/instalar EPROM.
- reloj
incorporado de tiempo real (opcional)
- timer
watchdog
- software
de seguridad (encriptación de programas y datos)
El DS500X
es un paquete DIP estándar de 40 pines (bueno, prácticamente
estándar, es realmente un BOX que tiene casi el doble de altura
que un chip normal). El DS225x es una versión SIP que es funcionalmente
idéntica al DS5000 pero generalmente algo menos cara. Lo lindo
de tener la RAM en el mismo chip es que los puertos de entrada/salida
no se ven afectados. Cuando la RAM se configura como memoria de código,
el DS5000 se comporta exactamente igual que un 8051 normal. La NV-RAM
es estática con una batería de litio incorporada y no tiene
limitaciones en el número de escrituras. Uno puede descargar su
código cuantas veces quiera sin dañar el dispositivo. El
DS5000 también incluye un cargador en ROM que nos permite bajar
código en la RAM para salir del paso. El cargador y la RAM en chip
tienen una opción de encriptación con la cual podemos proteger
el código de lecturas desde el dispositivo si así lo deseamos.
Micros Dallas de Alta Velocidad - DS80c320, DS87c520, DS87c530
Verdaderos Fórmula Uno - ¡rendimiento de hasta 10 MIPS! Dallas
fue el primero en acelerar el núcleo. Han eliminado los ciclos
de clock y memoria que antes se desperdiciaban usando un núcleo
de procesador rediseñado. Como resultado de ello, cada instrucción
del 8051 se ejecuta hasta 3 veces más rápido que el original
para un cristal de cuarzo de la misma velocidad. Velocidades de clock
desde 0 Hz (corriente continua) hasta 33 MHZ (¡!).
Un alto rendimiento no sólo significa velocidad. Una alta integración
le da al usuario dos puertos serie full-duplex, 13 fuentes de interrupción
(6 externas), timer watchdog, administración de energía,
reseteo en caso de que falle la alimentación, y otras ventajas.
Intel MCS-51
Introducido en 1980, se ha convertido en un estándar industrial
para control integrado. Intel ofrece una amplia variedad de versiones
de 8051 con diferentes configuraciones de EPROM/ROM on-board. También
se ofrecen piezas de baja tensión, alta integración y componentes
especializados.
OKI
OKI fabrica el 85c154, que es un 8751 con un zócalo de EPROM en
la superficie superior. Es excelente para usarlo con un emulador de EPROM.
Philips
Nadie tiene más variantes del 8051 que Philips. Entre otros derivados
se cuentan: 40 MHz, un DIP angosto de 24 pines, bajo voltaje, versiones
quad flat pack (QFP) para ahorrar espacio en la plaqueta, OTP, bus I2C,
etc.
La línea c5xx posee alta integración con muchos adicionales
incorporados al chip, como por ejemplo supresión EMI/RFI incorporada.
La serie c7xx son micros muy humildes y baratos. Se los ofrece con menos
memoria (1k, 2k, etc.) y menos opciones. Sin ir más lejos el 83c750
se vende a granel por sólo 1 dólar.
Siemens
sab80c517a
El 80c517a
es una de las más poderosas variantes del 8051 disponibles. Se
caracteriza por una alta velocidad de clock (40 MHz) y alto nivel de integración
con ALU de 32 bits, 2 UARTS, 2k de RAM, encapsulado PLCC84, PWMs de 8
x 16 bits, etc.
Standard
Microsystems Corporation SMC COM20051
El COM20051 es un microcontrolador integrado e interfase de redes que
incluye:
- Alto rendimiento
y bajo costo
- Está
basado en la popular arquitectura del 8051
- Fácil
reemplazo 80C32 PLCC
- Soporte
de red de hasta 255 nodos
- Poderoso
diagnóstico de Redes
- Paquetes
de red hasta un máximo de 512 bytes
- Detección
duplicada de ID de nodos
- Protocolo
de redes auto configurable
- Retiene
todos los periféricos del 8051 incluyendo la entrada / salida
serie y 2 timers
- Utiliza
el motor de redes ARCNET(R) Token Bus
- No requiere
emuladores especiales
- Velocidad
de datos desde 5 Mbps hasta 156 kbps
- La interfase
de redes soporta RS-485, par retorcido, coaxial e interfaces de fibra
óptica
- El modo
"recibir todo" permite recibir cualquier paquete
Silicon
Systems Inc. SSI73M2910/2910A
El SSI73M2910 es un microcontrolador de alto rendimiento diseñado
para aplicaciones de módem y comunicaciones.
- Juego
de instrucciones compatible con el 8052
- Operación
a 34 MHz / 4.5 - 5.5V
- Operación
a 44 MHz / 4.75 - 5.5.V (2910A)
- Operación
a 22 MHz / 3.3 - 5.5.V
- Soporte
lógico HDLC ( paquetizador, CRC de 14 y 32 bits, ID cero)
- 24 pines
para puertos E/S programables por el usuario
- lógica
de selección de chips programables de 8 pines o E/S para periféricos
mapeados por memoria
- 3 fuentes
de interrupción externas (con polaridad programable)
- 16 pines
de direccionamiento con cerrojo dedicados
- Bus de
direccionamiento multiplexado
- Tiempos
de ciclos de intrucciones idénticos a los del 8052
- Pin de
salida del oscilador con buffer (OSC/2)
- Hay disponible
un Clock de UART de 1.8432 MHz
- Circuitos
de selección de bancos de memoria que soportan hasta 128K de
memoria de programas externa
- También
hay disponible un paquete TQFP de 100 terminales para aplicaciones PCMCIA
Componentes
8051 de 16 bits
Un proyecto conjunto entre Intel y Philips ha resultado en dos nuevos
e interesantes productos: los 8051 de 16 bits. Debido a un desacuerdo
entre las partes, cada cual siguió caminos separados. Intel desarrolló
el MCS-251, que originalmente se llamó ZX. Philips apareció
con la línea Arquitectura Extendida (XA).
El Intel MCS-251 puede reemplazar directamente al 8051 en la plaqueta
existente (no sin antes programar los bits de control de modos) y también
posee compatibilidad binaria. El XA es más bien un micro de 16
bits que también resulta ser compatible en código. Los méritos
de ambos son materia de controversia.
Los chips con pines compatibles permiten mejoras instantáneas de
rendimiento para diseños existentes y la compatibilidad binaria
ciertamente ayuda a preservar las inversiones del usuario en código
y herramientas de programación. Al estar plantado firmemente en
el campo de los 80x51, Intel le permite al usuario un acceso transparente
a una enorme gama de potencias. Para mejorar aún más en
las áreas numéricamente intensivas los usuarios pueden utilizar
librerías INTEGER, LONGINT Y FLOAT escritas para el MCS-251.
El Philips XA no es un reemplazo directo del 8051. La compatibilidad del
código binario es algo loable, ya que uno puede mudarse a un sistema
más poderoso sin necesidad de preocuparse en absoluto. (Todos conocemos
la historia del éxito de la compatibilidad binaria de Intel con
sus microprocesadores 80x86). Pero si se está trabajando en un
nuevo diseño, ¿para qué queremos la compatibilidad
binaria? Si lo que uno busca es un 8051 fortificado, Dallas ya tiene el
320. Y si necesitamos las opciones avanzadas habrá que recompilar
o reescribir el software de cualquier modo. También habrá
que arrastrar toda la carga de la compatibilidad para poder usar las operaciones
de 16 bits, las que están precedidas por un código de escape
(A5H), la única instrucción que no está en el juego
de instrucciones del 8051.
Con la compatibilidad del código fuente, tenemos que recompilar
el código (con un nuevo juego de herramientas de desarrollo), ya
que rehicieron el conjunto de instrucciones para maximizar la relación
potencia/costo. Dicho proceso no es 100% transparente pero, si bien se
ve, lo de la compatibilidad binaria tampoco lo es. Si se están
haciendo mejoras a un diseño existente, probablemente el 251 será
la única opción razonable (aunque también se puede
tener en cuenta al Dallas 320). En diseños nuevos tendremos una
decisión difícil, pero cualquiera que sea el camino que
elija, el 8051 jamás volverá a ser el mismo.
Intel MCS-251
El Intel MCS-251 es 100% compatible con el 8051, tanto en la distribución
de pines como en el código binario, pero con un aumento en potencia
de 5 a 15 veces. Esto se logra mediante una ganancia séxtuple en
ciclos de bus y otras mejoras de hardware para evitar el desperdicio de
ciclos de bus.
También fueron posibles mayores aumentos de rendimiento al recodificar
secciones críticas para sacar ventaja de las nuevas características:
poderosas instrucciones y registros flexibles de 8/16/32 bits, espacio
de direccionamiento lineal de 16 Mb, punteros de pila de 16 bits y mejoras
en las manipulaciones de bits e instrucciones de control. Además
de instrucciones extra de 16/32 bits, el 251 incluye 40 registros con
funciones Accumulator e Index solapadas como 16 x 8, 16 x 16 y 10 x 32.
Philips
8051 XA
Al tirar por la ventana la compatibilidad, Philips pudo desarrollar un
verdadero microcontrolador de 16 bits, preservando al mismo tiempo el
conjunto de instrucciones básico del 8051. Los beneficios de esta
ruptura con la tradición resultan en un chip que tiene espacios
de almacenamiento (datos y código) duales de 16 Mb, soporte multitarea
con segmentos de memoria protegida, un bus SFR por separado y una optimización
en la eficiencia del código. Otras características incluyen:
división y multiplicación por hardware (más de 100
veces más rápido que un 8051), 32 interrupciones vectorizadas,
16 excepciones de hardware y 16 instrucciones trampa.
Ventajas de implementar aplicaciones de control en esta familia de microcontroladores
Inmensamente populares, fácilmente disponibles y existe un amplio
soporte de hardware y software
Rápidos
y efectivos, su arquitectura sigue muy de cerca al problema a resolver
(Sistemas de Control), y la especialización de muchas de sus instrucciones
permiten minimizar las líneas de código y los saltos condicionales.
Bajo Costo,
alto nivel de integración en un solo chip; basta un puñado
de componentes para implementar un sistema.
Existe un
amplísimo rango de 8051s. Un solo juego de herramientas de software
cubre una mayor variedad de potencias de procesamiento que cualquier otra
familia de microcontroladores. Sus competidores involucran una porción
de chips DIFERENTES e INCOMPATIBLES (y a menudo con un solo proveedor
de software) para terminar cubriendo el mismo rango de potencias que el
8051, el cual permite grandes ahorros de costos de herramientas, entrenamiento
y soporte de soft.
Compatibilidad:
El código fuente y los binarios son los mismos para todas las variantes
de 80x51 (al contrario de muchas otras familias de microcontroladores)
Origen múltiple
del hard y el soft: Más de 12 fabricantes, cientos de variedades
para todos los gustos con la seguridad de que se encuentran disponibles
a la venta
Mejoras constantes
en el material y el diseño incrementan la velocidad y la potencia
año tras año, van surgiendo modelos de 16 bits de varios
fabricantes, y también hay disponibles modelos DIP de bajo costo.
Atención:
Esta página se distribuye tal cual con fines didácticos.
El autor no se hace responsable de las consecuencias que el uso, indebido
o no, de la información que contiene, pueda producir.
|