Tecnologías:
Repasamos las tecnologías que más vamos a usar: TTL y CMOS.
La tecnología TTL está basada en transistores bipolares:
- Su tensión de funcionamientos está comprendida entre 4,75V y 5,25V, típicamente 5V.
- Los niveles lógicos están definidos por los siguientes rangos: entre “0,0” para el nivel alto; y “2,2” y Vcc para el nivel alto.
- Su velocidad de transmisión es considerablemente alta, aunque por este motivo también aumenta su consumo.
- Las señales TTL se degradan rápidamente.
- Se diferencian típicamente con el prefijo “74” o “54” en caso de tecnología militar.
La tecnología CMOS está basada en transistores de efecto de
campo o MOSFET:
- Tienen un consumo bajo debido a su alta impedancia, lo que repercute en un mayor fan-out
- Poseen una elevada inmunidad al ruido.
- Su tensión de funcionamientos abarca desde los 3 a los 18 voltios.
- Los niveles lógicos depende de la tensión de alimentación “VDD”; de esta forma, el nivel bajo se corresponde con el 30% y el alto con el 70%.
Existe una familia de CI CMOS denominada “TTL-HCT” o high
speed CMOS, que se caracteriza por tener niveles lógicos compatibles con TTL.
Esta familia tiene la cargabilidad de un CMOS y la velocidad de un TTL.
Llegados a este punto hay que hacer una distinción entre los
componentes discretos e integrados:
- Los componentes discretos, son aquellos que están encapsulados uno a uno, véanse resistencias, transistores, diodos, etc.
- Lo componentes integrados por otro lado, forman conjuntos más complejos, que realizan una función determinada. Pueden contener desde unos pocos componentes discretos hasta millones de ellos.
Ambos tipos comparten una misma tecnología, el encapsulado.
Se denomina encapsulado al resultado de la etapa final del proceso de
fabricación, en el que el dispositivo es ubicado en una carcasa para protegerle
del daño físico, la corrosión, permitir la evacuación del calor y la
comunicación. Existen muchos tipos de encapsulados.
Sistemas microcontrolados y microprocesadores:
Aunque es habitual tratar a las señales eléctricas como algo
inmediato, en la práctica no es para nada acertado, siendo el mayor exponente
de esta locura los sistemas que funcionan a altas frecuencias, como por ejemplo
los microprocesadores.
En este apartado comentaremos algunas de las variables que
afectan a la transmisión de las señales:
- Skew: es la diferencia de tiempo entre el mismo flanco de reloj observado en distintos puntos de un circuito.
- Setup time: es el tiempo mínimo anterior al flanco de disparo en el que la señal no debe variar, es decir, el tiempo que necesita el biestable para estabilizar las entradas antes de que llegue el flanco de disparo.
- Hold time: es el tiempo mínimo durante el que las entradas deben mantenerse constantes después que haya pasado el flanco de disparo de la señal de reloj, para que el biestable funciona correctamente.
·
Delay time o tiempo de propagación: es el tiempo
que debe transcurrir hasta que se produzca un cambio en la salida una vez que
se ha aplicado la señal de entrada.
Análisis de un microcontrolador:
Bloque CPU:
Este bloque se compone de: bus de direcciones, bus de datos,
bus de control, ALU, registros, CPU, etc.
- El tamaño del bus de direcciones es la cantidad de memorias con la que puede trabajar dicha CPU (posiciones que puede direccionar).
- El tamaño del bus de datos define el tamaño que tendrán los datos que puede manejar, viene dados en bits y en el caso de ATmega328p es de 8bits. Define el tamaño de la palabra.
- La ALU o unidad aritmético-lógica, es la encargada de realizar las operaciones.
El conjunto de instrucciones, es la cantidad de
instrucciones de un microprocesador. Una de las múltiples clasificaciones de
procesadores, se basa en la cantidad y complejidad de las instrucciones de los
mismos. En nuestro caso, el micro es de tipo RISC o lo que es lo mismo,
conjunto reducido de instrucciones. Este tipo de procesadores se basa diseñar
instrucciones simples que tarden menos tiempo en ejecutarse.
Bloque de memoria:
La RAM: es un sistema de memoria volátil, se utiliza para
guardar archivos temporales. Hay dos grandes tipos:
- SRAM: memoria statica, más rápida y más cara
- DRAM: Dynamic, utiliza condensadores por lo que necesita refrescarse continuamente y su velocidad se ve reducida. Tiene un mayor consumo.
Nuestro micro utiliza SRAM. Una parte para los datos
temporales y otra para los registros de funciones especiales (SFR).
La ROM: es la memoria no volátil del sistema. El ATmega328p
cuenta con una memoria E2PROM, que nos sirve para guardar datos y se mantengan
aunque se apague el arduino.
La flash: es un tipo de memoria ROM. Sirve para la memoria
de programa, aquí estarán guardados nuestro programa y el firmware de arduino.
Su capacidad es de 32kbytes. El firmware
ocupa 500bytes situados al final de la misma.
El firmware es un programa que se encarga de lanzar el
programa una vez se ha cargado, o se ha terminado el tiempo de espera de la
comunicación con el pc.
En nuestro caso, también sería posible guardar el programa
mediante los pines ICSP.
Interrupciones:
Los vectores de interrupción, situados en la flash, sirven
para que el micro sepa quién hace la interrupción y a donde ir. Para ello
cambian el valor de un “flag” en la SRAM y cuando el micro atiende la
interrupción, va al vector de interrupción donde está la dirección a la que
tiene que saltar.
WatchDog: o perro guardián, es un mecanismo de seguridad que
provoca el reset del sistema en caso de que este se haya bloqueado. Para ello
decrementa un contador, si llega a cero antes de que una subrutina lo reinicie,
provoca el reset del sistema.
Bloque I/O
Los I/O son recursos que tiene el microcontrolador para
hablar con el exterior, leyendo o escribiendo en ellos. El ATmega328p cuenta
con los siguientes:
- Conversor analógico digital de 10 bits de resolución
- Contador de 8bit PWM
- Contador de 16bit PWM
- USART, bus de comunicaciones serie
- SPI: bus de comunicaciones serie que utiliza 4 hilos
- I2C: bus de comunicaciones serie que utiliza 2 hilos
Repaso de componentes:
Revisamos el esquema del Arduino NANO y repasamos algunos
componentes y funciones de los circuitos.
Diferencia entre Flip-Flop’s y Latches: los primero actúan
con flanco de reloj, los segundo con un umbral de tensión.
Histéresis: es la tendencia de un material a conservar una de sus propiedades, en ausencia del estímulo
que la ha generado; lo que en electrónica supone que el umbral de subida y
bajada no es el mismo.
Trigger Schmitt: usa la histéresis para prevenir
el ruido que podría tapar a la señal original y
que causaría falsos cambios de estado si los niveles de referencia y entrada
son parecidos. Es muy recomendable que un puerto I/O tenga uno.
Power on reset: o reset de encendido. Al iniciar el dispositivo,
este se resetea para tener los valores iniciales y evitar los transitorios.
Brown Out Reset: es un mecanismo por el cual reiniciamos un
sistema al detectar una bajada en la tensión de alimentación. El motivo es que
con tensiones bajar, pero no tan bajas como para dejar de funcionar, el sistema
puede comportarse de forma errática.
No hay comentarios:
Publicar un comentario