El uC DS89C420 pertenece a la familia de microcontroladores 8051. Este modelo lo fabrica Maxim / Dallas Semiconductor y es mucho más avanzado que otros de esta familia. El núcleo y juego de instrucciones son los mismos, pero se han introducido mejoras de rendimiento y periféricos mejores.

Memoria

En esta gama de microcontrolladores existen 4 modelos, que se caracterizan por la cantidad de memoria flash integrada en el propio chip disponible para programa:

DS89C420: 16kB de flash (referencia antigua)

DS89C430: 16kB de flash (nueva referencia)

DS89C440: 32kB de flash (verión descatalogada)

DS89C450: 64kB de flash

Todos los modelos tienen la misma cantidad RAM, accesible a través de instrucciones de memoria externa. Ésta es bastante limitada: 1kB. Este microcontrolador cuenta con varios bancos (SFRs, bit registers) accesibles a través de diferentes modos de direccionamiento, todos ellos muy rápidos.

Además de estas memorias disponibles para el usuario, esta familia posee una ROM preprogramada con el código de un bootloader. Éste se utiliza para fijar el valor de ciertos registros de seguridad, programar la flash interna y verificarla. Todo esto está accesible a través del puerto serie 0 en el modo LOADER.

Existe también la posibilidad de ampliar, en todos los modelos, la memoria de datos y la de programa (cada una independientemente) hasta 64kB activando el uso de la memoria externa, para lo cual el micro provee una serie de señales adicionales (EA, RD, WR, PSEN, ALE). Esta funcionalidad require, además, sacrificar el uso de los puertos 0 y 2  (de 8 bits ambos), y también requiere un latch externo de 8 bits.

Cristal de reloj

Esta gama de micros soporta cristales de hasta 33 MHz. En el caso de nuestra placa usamos 22.1184 MHz puesto que se consigue el baudrate más alto: 115200 baudios muy precisos. Ninguno de estos micros incorpora oscilador interno, así que el uso de cristal externo es obligatorio. Una de las características de esta familia, que la diferencia del comportamiento del núcleo 8051 habitual, es la capacidad de ejecutar una instrucción simple en cada ciclo de reloj, frente a la instrucción por cada 12 ciclos, habituales en los núcleos básicos de 8051.

Componentes de la placa

La alimentación se realiza a través de un conector jack de alimentación, un interruptor bipolar de palanca y un regulador 7805.

Esta placa incorpora un puerto serie RS232 para conexionado directo a PC a través de un DB9. Para esto se ha utilizado un MAX233A que transforma las señales de UART-TTL a RS232 (en este caso, sin necesidad de condensadores de carga externos). 

Como se ha mencionado, el cristal elegido es de 22.1184 MHz.

Se han cableado todas las señales de los puertos de 8 bits 0 a 3 a conectores externos. Todos, salvo el puerto 0, poseen pull-up interno. Por ello se ha puesto un array de $4.7K\Omega$ en las señales de ese puerto sobre una tira de pines, que permite quitar el array en caso de usar el puerto para acceso a memoria externa.

Finalmente mencionar que hay un chip 74LS245, buffer triestado, que se utiliza para forzar las tensiones requeridas para entrar en el modo LOADER después de un reset o mantener éstas en tercer estado, permitiendo así al chip entrar al modo RUN.

Foto 1: Placa terminada

Documentos

Archivos

DS89C430-DS89C450

Librerías desarrolladas (C51)