Vous êtes sur la page 1sur 39

Programacin de microcontroladores

INTRODUCCION AL C8051F020 Clase 3 Huber Pal Gilt Lpez M. Sc. Ing. Electrnico

INTRODUCCION

Es una introduccin hacia los perifericos del microcontrolador Silabs C8051F020 Perifericos como ADC y DAC, y otras caracteristicas como el bus crossbar y generador del voltaje de referencia Usar lenguaje C no se ve algunas de las funciones internas es beneficioso tener conocimiento de la organizacin de la memoria y de los registros de funciones especiales

CIP-51

Los chips SiLab de sistemas de seales mixtas utilizan como nucleo el CIP-51 El CIP-51 implementa un estandar para la organizacin del 8051 y para personalizar sus perifericos El CIP-51 utiliza la arquitectura pipelined (incrementa el rendimiento) y es completamente compatible con el conjunto de instrucciones del MCS-51 Con el 8051, todas las instrucciones excepto para MUL y DIV toman 12 o 24 ciclos del reloj del sistema para su ejecucin

CIP-51

Con el 8051, el mximo de reloj del sistema es de 12MHz El contraste el nucleo CIP-51 ejecuta el 70% de las instrucciones en uno o dos ciclos de reloj

Con el CIP-51 el mximo reloj del sistema es de 25MHz


Su pico de rendimiento es de 25 millones de instruccion por segundo MIPS

Diagrama de bloques del CIP-51

INTRODUCCIN SISTEMA C8051F20


100 pin TQFP package

INTRODUCCIN SISTEMA C8051F20

Organizacin de la memoria
En el 8051, hay dos espacios de memoria: la memoria del programa y la memoria de datos En el CIP-51, la memoria del programa y la memoria de datos comparten el mismo espacio de memoria pero son accedidos va diferentes tipos de instrucciones

Organizacin de la memoria

Memoria del programa

En C8051F020, contiene 65536 bytes de FLASH de los cuales 512 (desde 0xFE00 hasta 0xFFFF) son reservados para el uso de fabrica Hay tambin 128 bytes desde 0x10000 hasta 0x1007F (memoria scratchpad), el cual es til como una tabla pequea para las constantes del programa

Memoria de datos
La memoria del C8051F020 tiene espacios de direcciones internas y externas La memoria interna RAM de datos es 256 bytes Los registros de funciones especiales SFRs son accedidos por el modo de direccionamiento directo. Desde 0x80 hasta 0xFF (128 bytes) La RAM de propsito direccionamiento indirecto general usa

Los primeros 32 bytes de la memoria de datos tiene 4 bancos de 8 registros y los siguientes 16 bytes son direccionables a nivel de bit y byte

Memoria de datos
La memoria externa tiene un tamao de 64K bytes de espacios de direcciones incluido un bloque de 4K bytes de memoria RAM Una interface de memoria externa EMIF es usada para acceder a la memoria externa La EMIF es usada para programada usando los SRFs: EMI0CN y EMI0CF

Pila - Stack
La pila del programador puede ser localizada en cualquier ubicacin de los 256 bytes de la memoria interna de datos El reinicio inicializa el puntero del la pila (SP) hacia 0x07, luego el primer valor es puesto en la pila es colocado en la direccin 0x08, el cual es el primer registro R0 del banco 1

Aunque mas de un banco de registro es usado, la pila debera inicializar en una localizacin en de memoria no usada para guardar los datos La pila puede extenderse hasta 256 bytes

Registro de funciones especiales

Registro de funciones especiales


Los registos SFRs proveen control y intercambio de datos con los recursos del C8051F020 y perifericos Los registros SRFs pueden ser accedidos con direccionamiento directo y usados para acceder a las localizaciones de memoria desde 0x80 hacia 0xFF

Los registros con direcciones terminadas en 0x0 0x8 (Por ejemplo: P0, TCON, P1, SCON, IE, etc.) son direccionables a nivel de bit Algunas ocupaciones de los SRFs estn reservadas para un futuro uso

Puertos de I/O y el Crossbar


El estndar del 8051 son los puertos 0, 1, 2 y 3; ahora en C8051F020, trae 4 puertos adicionales (4, 5, 6 y 7) para un total de 64 puertos de I/O

Todos lo pines tiene una tolerancia de 5v, y soportan modos de configuraciones Push-Pull, Open-Drain y weak pull-ups. Adicionalmente el puerto 1 puede ser usado como entradas analgicas para el ADC1

Puertos de I/O y el Crossbar

Puertos de I/O y el Crossbar


Los cuatro puertos bajos (P0-P3) pueden ser usados como pines de propsito general (GPIO) pueden ser asignadas como entradas salidas digitales para perifericos programadas por el Crossbar Los puertos bajos (P0-P3) son direccionados a nivel de bit y byte. Los cuatros puertos altos (P4-P7) son direccionados a nivel de byte

Puertos de I/O y el Crossbar

Puertos de I/O y el Crossbar


El Crossbar es esencialmente una red de switch digital que permite el mapedo de los perifricos interno hacia los pines del puerto 0 al 5 Los registros de control crossbar son XBR0, XBR1 y XBRO2 Configuran contadores/temporizadores, buses seriales, interrupciones de HW, Entrada del inicio de la conversin ADC, salidas del comparador y otras seales digitales que pueden ser controladas para aparecer en los pines de entrada salida I/O

Puertos de I/O y el Crossbar


Los perifricos digitales son asignados pines de puertos en orden de prioridad, empezando con P0.0 y continuando a hasta P3.7

Por ejemplo Si es necesario que el UART0 tenga la prioridad ms alta y CNVSTR tenga la prioridad mas baja

Convertidor analogico a digital de 12-bit


El C8051F020 tiene un registro de aproximacin sucesiva (SAR) de 12 bits que se usa para convertir la seal analgica a digital Tiene 9 canales de entrada y un amplificador de ganancia programable. Un voltaje de referencia es requerido para ADC0 para operar y es seleccionado entre la salida DAC0 y el pin externo VREF Un canal interno conectado al sensor de temperatura

Cada par de puertos puede funcionar como una sola entrada o entrada diferencias

Convertidor analogico a digital de 12-bit

Convertidor analogico a digital de 12-bit


El amplificador de ganancia programable sigue al multiplexor analogico La ganacia puede ser configurada desde 0.5 a 16 en potencias de dos

La conversin puede empezar en cuatro formas


1.Comando de software

2.Desbordamiento del temporizador 2


3.Desbordamiento del temporizador 3 4.Seal de entrada externa (CNVSTR)

Convertidor analogico a digital de 12-bit


La conversin completa es indicada por medio del bit de estado y de interrupcin habilitada El resultado de la conversin es guarda en dos registros SFR los datos pueden ser justificados a la izquierda o a la derecha de 12 bits La ventana del registro de comparacin puede configurase de tal forma que el control del la conversin se produzca si esta dentro o fuera de un rango. El ADC puede estar monitorizando este valor continuamente si esta en el rango para empezar la conversin

Convertidor analogico a digital de 8-bit


El C8051F020 tiene un registro de aproximacin sucesiva (SAR) de 8 bits que se usa para convertir la seal analgica a digital Ocho bits son disponibles para la medida

El ADC es configurable via SFR y el voltaje de referencia del ADC1 es seleccionado entre el la tensin de alimentacin AV+ y un pin externo VREF
El amplificador de ganancia programable sigue al multiplexor analgico y la ganancia puede ser configurada desde 0.5,1, 2 4.

Convertidor analogico a digital de 8-bit

El C8051F020 tiene dos registros de 12 bits convertidor de digital a analogico DAC0 y DAC1 Hay tambin dos comparadores analgicos CP0 Y CP1

Comparador y convertidor digital a analogico

El voltaje de referencia es dado mediante la entrada del pin VREFD


La salida del DAC se actualiza cada vez que el sofware escribe (DACxH) o cuando hay un desbordamiento del temporizador 2, 3, o 4

El DACs son especialmente utiles como referencia para la comparacin o offset para la entrada diferencial de un ADC. Los comparadores tienen un software programable hysteresis y pueden generar interrupciones en su flanco de subida, bajada y ambos.

Comparador y convertidor digital a analogico

El estado de salida de los comparadores puede ser llenado por software y programado para aparecer sobre los pines de puertos bajos de I/O via el crossbar.

El DACs son especialmente utiles como referencia para la comparacin o offset para la entrada diferencial de un ADC. Los comparadores tienen un software programable hysteresis y pueden generar interrupciones en su flanco de subida, bajada y ambos.

Comparador y convertidor digital a analogico

El estado de salida de los comparadores puede ser llenado por software y programado para aparecer sobre los pines de puertos bajos de I/O via el crossbar.

Voltaje de referencia

Voltaje de referencia
El voltaje de referencia tiene que ser usado cuando operamos con el ADC y DAC En el C8051F020 hay tres pines entradas de voltaje de referencia para el ADC y dos para el voltaje de referencia del DAC El voltaje de referencia del ADC0 puede ser referenciado por con el DAC0 como el voltaje de referencia del chip El voltaje de referencia del ADC1 puede ser referenciado por el voltaje de alimentacin (AV+) via el VREF multiplexado

Voltaje de referencia
El voltaje de referencia tiene que ser usado cuando operamos con el ADC y DAC En el C8051F020 hay tres pines entradas de voltaje de referencia para el ADC y dos para el voltaje de referencia del DAC El voltaje de referencia del ADC0 puede ser referenciado por con el DAC0 como el voltaje de referencia del chip El voltaje de referencia del ADC1 puede ser referenciado por el voltaje de alimentacin (AV+) via el VREF multiplexado

Voltaje de referencia

El voltaje de referencia interna es de 1.2V y la ganancia de dos para el amplificador. Por ejemplo VREF=2.4v. La referencia interna puede ser enrutada via desde el pin VREF hacia componentes externos al sistema o hacia los pines de entrada de referencia del voltaje.

Capacitores de bypass 0.1uF y 4.7uF son recomendados desde el pin VREF hacia AGND.

Voltaje de referencia

El registro de control de referencia, REF0CN, habilita/deshabilita el generador de referencia interno y selecciona la entrada de referencia para el ADC0 y ADC1.

La referencia interna puede ser enrutada via desde el pin VREF hacia componentes externos al sistema o hacia los pines de entrada de referencia del voltaje.
Capacitores de bypass 0.1uF y 4.7uF sonrecomendados desde el pin VREF hacia AGND.

Voltaje de referencia

El registro de control de referencia, REF0CN, habilita/deshabilita el generador de referencia interno y selecciona la entrada de referencia para el ADC0 y ADC1. Ejemplo: MOV REF0CN, #00000011B Esto habilita el uso del ADC o DAC, y la referencia de voltaje interno. Los beneficios incluyen:

1.Implementacin del circuito mas eficiente y reduce el espacio. 2.Alto sistema de confiabilidad. 3.Costo efectivo.

Registro de control del voltaje de referencia

Tutorial de preguntas
1.Porque el chip SiLab de seal mixta que usa el sistema CIP-51 tiene un rendimiento mas rpido que el MCS-51? 2.De ejemplos de componentes analogicos y digitales los cuales estn incorporados en el SiLab C8051F020 3.La tarjeta de objetivo SiLab permite a un programa ser escrito y probado en el ambiente integrado de desarrollo IDE. Una vez probado exitosamente, el programa puede ser descargado dentro de la memoria y ejecutarse desde ahi. Nombra la memoria envuelta cuando el procedimiento de descarga toma lugar

Tutorial de preguntas
1. Cuales de los 4 puertos en la tarjeta de objetivo de la tarjeta de objetivo SiLab puede ser usado para generar el GPI/O o entradas/salidas para algn periferico digital? 2. Un voltaje de referencia es necesario para conectar el DAC (DAC0 o DAC1) antes para su operacin completa. Si un generador de voltaje de referencia interno es usado en este caso, muestra los pasos necesarios (esto en hardware y software) envuelto para habilitar la conexin de arriba.

Vous aimerez peut-être aussi