Escolar Documentos
Profissional Documentos
Cultura Documentos
TEMA 3
Familias, Buses, Memoria
Concepto y
caractersticas
Arquitectur
a La arquitectura de un
Arquitecturas segn el
Hardware
Von Neuman
Segmentada
Hardware
Mquina secuencial
Ejecuta solo una operacin a la vez
Bus de datos y direcciones compartidos
Lenta
Generalmente se combina con software tipo CISC
Arquitectura Segmentada
Mquina secuencial
Buses de datos y direcciones compartidos
Diseo multietapa (Pipeline)
El diseo multietapa le permite ejecutar ms de una operacin a la vez
Arquitectura Harvard
Separa los buses de datos, direcciones y control, y los hace totalmente
independientes.
Lo anterior permite leer instrucciones con mayor velocidad
Pueden direccionar altas cantidades de memoria
Se combinan con software RISC
Arquitectura CISC
Arquitectura RISC
Pocas instrucciones
Ms fcil de aprender el mtodo de programacin
Mayor tamao del cdigo de programa
Arquitectura CRISC
BIU
Bus Interno
Bus de Direcciones
Bus de Control
Unidad de
Control
Registro de
Banderas
Unidad Aritmtica
Lgica
Registros de
Uso General
FAMILIA DE MICROCONTROLADORES
Estructurada por familias y subfamilias.
Por ejemplo, cada familia tiene el mismo ncleo del
procesador
(su cdigo ser compatible): 8051,PIC,HC,ARM
O son familias orientadas a la aplicacin
O por performance (de diferente tipo)
Oferta de Microcontroladores
Familia de Microcontroladores
Famlia de Microcontroladores
Familia de Microcontroladores
Dentro de cada familia hay mucha variedad de dispositivos
Pueden estar agrupados en subfamilias
Una forma de clasificacin es en base a los perifricos que integran o memoria
Oferta de Microcontroladores
Memoria
Registros (memoria de corto plazo):
Pequea (relativamente)
Almacenamiento temporario p/CPU
Memoria de datos
Relativamente Grande
Almacena datos mientras el MCU funciona
Memoria de programa
Relativamente Grande
De preferencia, mantiene el programa incluso con
el MCU apagado.
BUS
Hay dos tipos de buses:
Bus de direcciones : consiste en tantas lneas como sean necesarias para
direccionar la memoria. Se utiliza para transmitir la direccin de la CPU a la
memoria.
Bus de datos: es tan ancho como los datos, en este caso es de 8 bits o lneas de
ancho. Se utiliza para conectar todos los circuitos dentro del microcontrolador.
COMUNICACIN EN SERIE
La conexin paralela entre el microcontrolador y los perifricos a travs de los
puertos de entrada/salida es una solucin perfecta para las distancias cortas hasta varios metros.
No obstante, en otros casos cuando es necesario establecer comunicacin entre
dos dispositivos a largas distancias no es posible utilizar la conexin paralela. En
vez de eso, se utiliza la conexin en serie.
Hoy en da, la mayora de los microcontroladores llevan incorporados varios
sistemas diferentes para la comunicacin en serie, como un equipo estndar.
Cul de estos sistemas se utilizar en un caso concreto, depende de muchos
factores, de los que ms importantes son:
Con cuntos dispositivos el microcontrolador tiene que intercambiar los
datos?
BUS
Una de las cosas ms importantes en cuanto a
la comunicacin en serie es el Protocolo que
debe ser estrictamente observado. Es un
conjunto de reglas que se aplican
obligatoriamente para que los dispositivos
puedan interpretar correctamente los datos
que intercambian mutuamente.
Afortunadamente, los microcontroladores se
encargan de eso automticamente, as que el
trabajo de programador/usuario es reducido a
la escritura y lectura de datos.
VELOCIDAD DE TRANSMISIN SERIAL
La velocidad de transmisin serial (baud rate)
es el trmino utilizado para denotar el nmero
de bits transmitidos por segundo [bps]. Fjese
que este trmino se refiere a bits, y no a
bytes! El protocolo normalmente requiere que
cada byte se transmita junto con varios bits de
control. Eso quiere decir que un byte en un
flujo de datos serial puede consistir en 11 bits.
Por ejemplo, si velocidad de transmisin serial
es 300 bps un mximo de 37 y un mnimo de
BUS
Los sistemas de comunicacin serial ms utilizados son:
I2C (INTER INTEGRATED CIRCUIT) - CIRCUITO INTER-INTEGRADO
Circuito inter-integrado es un sistema para el intercambio de datos serial entre los
microcontroladores y los circuitos integrados especializados de generacin. Se
utiliza cuando la distancia entre ellos es corta (el receptor y el transmisor estn
normalmente en la misma placa de circuito impreso). La conexin se establece por
medio de dos lneas - una se utiliza para transmitir los datos, mientras que la otra
se utiliza para la sincronizacin (la seal de reloj). Como se muestra en la figura, un
dispositivo es siempre el principal (master - maestro), el que realiza el
direccionamiento de un chip subordinado (slave - esclavo) antes de que se inicie la
comunicacin. De esta manera un microcontrolador puede comunicarse con 112
dispositivos diferentes. La velocidad de transmisin serial es normalmente 100
Kb/seg (el modo estndar) o 10 Kb/seg (modo de velocidad de transmisin baja).
Recientemente han aparecido los sistemas con la velocidad de transmisin serial
3.4 Mb/sec. La distancia entre los dispositivos que se comunican por el bus I2C est
limitada a unos metros.
BUS
SPI (SERIAL PERIPHERAL INTERFACE BUS) - BUS SERIAL DE INTERFAZ DE
PERIFRICOS
Un bus serial de interfaz de perifricos es un sistema para la comunicacin serial
que utiliza hasta cuatro lneas (normalmente solo son necesarias tres) - para
recibir los datos, para transmitir los datos, para sincronizar y (opcional) para
seleccionar el dispositivo con el que se comunica. Esto es la conexin full
duplex, lo que significa que los datos se envan y se reciben simultneamente.
La velocidad de transmisin mxima es mayor que en el sistema de conexin
I2C.
BUS
UART (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER) TRANSMISOR-RECEPTOR ASNCRONO UNIVERSAL
Este tipo de conexin es asncrona, lo que significa que no se utiliza una lnea
especial para transmitir la seal de reloj. En algunas aplicaciones este rasgo
es crucial (por ejemplo, en mandar datos a distancia por RF o por luz
infrarroja). Puesto que se utiliza slo una lnea de comunicacin, tanto el
receptor como el transmisor reciben y envan los datos a velocidad misma que
ha sido predefinida para mantener la sincronizacin necesaria. Esto es una
manera simple de transmitir datos puesto que bsicamente representa una
conversin de datos de 8 bits de paralelo a serial. La velocidad de transmisin
no es alta, es hasta 1 Mbit/sec.
Memoria: Atencin
S/DRAM: sin limite de escrituras
EEPROM: 100.000 ciclos de borrado
Flash: 10.000 ciclos de borrado
Memoria: Direccionamiento
Separado:
Cada tipo fsico se direcciona por separado (por
ejemplo, usando diferentes registros ndices)
Hay direcciones repetidas
Contnuo:
Se accede siempre igual y la logica interna
accede a la memoria que corresponde
No hay direcciones repetidas
Memoria: Direccionamiento
Separado
Memoria: Direccionamiento
Continuo
Memoria: ejercicio
For (i=100;i>=0;i--)
Inadvertidamente i es almacenada en EEPROM
Inadvertidamente i esta implementada como
unsigned
Como la EEPROM es lenta, cada iteracin lleva,
digamos, 10 ms
Que pasa al conectar el MCU?:
el programa se cuelga
Me doy cuenta, digamos, a los 10 segundos
Empiezo a debuggear el programa (pero no apago el MCU)