viernes, 2 de junio de 2017

Tecnologías, micros y repaso

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:
  1.       Conversor analógico digital de 10 bits de resolución
  2.       Contador de 8bit PWM
  3.       Contador de 16bit PWM
  4.       USART, bus de comunicaciones serie
  5.       SPI: bus de comunicaciones serie que utiliza 4 hilos
  6.        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