Buscar este blog

Información semanal de las clases de electrónica y las sucesivas prácticas realizadas por Guillermo Cayetano Espejo alumno del Ciclo de Grado Superior de Manteniemintos Electronicos de 2º Curso del CIFPN1 (Peñacastillo,Santander) Dpto:Electricidad y Electrónica

domingo, 25 de septiembre de 2016

Atmega 328-P Hardware

    1ª Semana (19 al 23 de Septiembre):
    -Esta semana hemos hecho un repaso de los conocimientos adquiridos el año pasado así como algunas pinceladas de nuevos conocimientos de carácter general como mostrare a continuación.

    Para empezar el lunes 19 hicimos un examen que incluyeron muchos de los conocimientos adquiridos el año pasado, como cambios de bases entre binario, octal, decimal y hexadecimal con y sin decimales. También  poseía ejercicios y teoría del Álgebra de Boole tales como reducción de funciones, implementación de puertas lógicas y algunos teoremas y leyes.

    El martes y el viernes dimos teoría y no bajamos e instalamos el programa eagle que es un Cad en el que podremos ver el diseño de placas y realizar diseños nuevos.
    Como teoría vimos los siguientes:



    Familias Lógicas:
    CMOS: Trabajan entre 3 y 15 voltios, por debajo del 30% es un 'cero' lógico y por encima del 70% es un 'uno' lógico, entre el 30% y 70% es indeterminado. Se diferencia del TTL en que posee más FANOUT es decir la carga que puede soportar o el número de puertas que pude aguantar( hasta 40), para más puertas se deberían colocar buffers.

  • TTL: Trabajan entre 5 y 3,3 voltios (en ordenadores 1,1 voltios), por debajo de 2,5 voltios es un 'cero' lógico y por encima de entre 3,5-4 voltios es un 'uno' lógico. Son más rápidos que los CMOS, pero tienen menos FANOUT, solo 10 puertas como maximo.
Otros Datos:
  • Chips que empiezan por 74 son TTL, si empiezan por 74...C y llevan una C mayúscula significa que son TTL pero que incluyen tecnología CMOS.
  • Tecnología discreta: Aquella en la que el chip no lleva CPU como las puertas lógicas por ejemplo, se debe tener especial cuidado al unir chips ya que es posible que a veces haya que adaptarlos.
  • Bajo activo significa que el cero es el conjunto universal y el 1 es el conjunto vació, si fuera a l revés estaríamos hablando de alto activo.
  • FANIN: Es la cargabilidad de cada puerta.
  • La mejor manera de llevar la señal e relojes es en H en  para microprocesadores( FPGAs)
*Como trabajo independiente teníamos que buscar dos encapsulados diferentes y hacer la documentación.

A partir de aquí todo lo que vimos está relacionado con el micro controlador Atmega 328-p como los tres bloques que lo integran y gran variedad de datos sueltos.
Una de las características de este µcontrolador es que se programa con unas instrucciones especiales y no con un programador.


El primer bloque que vimos fue el de la CPU:

- El Atmega 328-P funciona a una velocidad máxima de 20 MHz, se compone de tecnología RISC de instrucciones reducidas (32) el otro tipo de tecnología es CISC que es de instrucciones complejas.
 Se compone de registros de 8 bits compuestos por los siguientes Buses: Bus de Datos (8 bits), Bus de direcciones y Bus de Control.

La CPU contiene una entrada de 5 voltios y una salida menor de 5 voltios, alrededor de los 3,3 voltios, está acompañada de una ALU (unidad lógica algebraica) que se encarga de todas las operaciones aritméticas y lógicas

El segundo bloque que vimos fue el de memoria:

-Memoria Flash: Utiliza memoria Flash de 32 Kb de espacio y se divide en dos partes.
  • La primera parte incluye el Firmware que es un programa que se ejecuta antes (nada más arrancar) y le dice al micro donde debe leer el programa, ocupa 0,5 Kb (500 bytes), se encuentra al final de la memoria y no sirve para escribir en Flash.
  • La otra parte restante es el programa en sí, entendemos por programa cualquier resolución de un enunciado o problema mediante líneas de código.
-Memoria RAM: Conocemos dos tipos la SRAM (estática) y la DRAM (dinámica), el Atmega328 utiliza la estática.
  • SRAM (estática): No necesita energizarse, mientras mantengas la alimentación mantiene los datos, es más rápida pero también es más cara.
  • DRAM (dinámica): Necesita refrescarse continuamente, es decir volver a energizar el condensador constantemente paras mantener los datos, es más lenta y consume más pero también es más barata.
Estudiaremos más a fondo las SRAM (estática) ya que es la que usaremos en nuestro µcontrolador.
Tiene un espacio de 2KB, y se divide en tres partes:

  • La primera parte es donde se guardan los datos temporales (como las llevadas en una suma) dado que este tipo de memoria es volátil no se puede guardar ningún dato importante.
  • En otra parte se guardan los registros de las funciones especiales (SFR), se encuentran en los puertos y son de 8 bits como máximo aunque pueden utilizar menos ya que son configurables bit a bit, se encargan por ejemplo de a interrupciones (que son a grandes rasgos un salto de una línea de comandos a otra que no es la siguiente).
  • Y la última parte son los registros de entradas y salida (Registros I/O).
Ahora explicaremos un poco más en profundidad en que consiste una interrupción.
- También se pueden llamar eventos y como dijimos anteriormente son un salto en las líneas de código en un programa. Su funcionamiento se basa en vectores de interrupción que sirven para saber en qué interrupción se tiene que ir a que subrutina (es el paquete que tiene que ejecutar al producirse la interrupción volviendo luego a la línea de código donde se produjo) Estos vectores se encuentra almacenados en la memoria Flash y exactamente los que poseen es la dirección en la que ocurrirá la interrupción sin embargo la orden de ejecutarse ese vector la manda un determinado Flag* almacenado en la SRAM.

Flag: Son los bits capaces de generar una acción.
WachDog (perro guardián): Es un programa, que controla que el micro no se cuelgue (por ejemplo en un bucle sin fin) tiene una margen de 80 ms y actúa generando una interrupción.

-Siguiendo con los tipos de memoria ahora veremos la EEPROM se utiliza para guardar datos importantes ya que se mantienen aunque no se energiza. Ocupa 1KB

El tercer y último bloque que vimos fue el Bloque I/O (Entradas/ Salidas): 

El bloque I/O son los recursos que tiene el µcontrolador para hablar con el exterior, por ejemplo el conversor analógico-digital, comunicación serie...etc.

  • Conversor analógico-digital: Es de 10 bits, quiere decir que puede repartir la señal en 2^10 partes, si la señal es de 5 voltios podrá fraccionarla en 1024 partes de 0.00488 voltios.
  • Contador externo: Como un reloj externo.
  • Protocolo USART: Es una comunicación serie en el registro de desplazamiento y forma parte del Bus de comunicaciones.
  •  I2C
  • SPI: Bus de comunicaciones

Después vimos algunos datos generalizados as como definiciones de algunos términos técnicos que mostrare a continuación.
-Si se tienen dos µprocesadores para unirlos se utiliza un protocolo USART en ambos aunque se utiliza el reloj de uno de ellos,  ya que la comunicación ha de ser síncrona, esto quiere decir a la vez por ello es necesario un reloj.
-DEBUG: Depura con el micro, el INTERFACE depurador también programa, en cambio el EMULADOR sustituye al micro.
-BYPASS: Consiste en poner en cada pin de alimentación y GND un par de condensadores en paralelo de 100 nF para eliminar ruido (si no se pones es posible que no funcione el micro o que funcione de una manera aleatoria).
-Power on Reset: Es un flag que si lo habilitas tarda 65 ms en ejecutar la primera instrucción.

-Se suele poner pulsadores de 4 pines para mayor seguridad (en el reset por ejemplo).