arduino
MICROCONTROLADOR
El microcontrolador que lleva la placa Arduino Uno es el ATmega328P de Atmel. La “P” significa que usa la tecnología “picopower”, la cual permite un consumo eléctrico algo menor que las placas que no la usan (las que no tienen la “P”).
El ATmega328P tiene una arquitectura de tipo AVR, en concreto pertenece ala subfamilia “megaAVR”.
Para comunicar elmicrocontrolador con la placa se disponen de unas patillas de entrada/salida las cuales tienen cada una función específica.
Se puede ver que hay un pin conectado a la alimentación (VCC) y 2 a tierra (GND), varios a entrada/salida (PBx, PCx o PDx) y otros más específicos, como el AVCC (para alimentación suplementaria para el convertidor analógico/digital interno) o el AREF (donde se recibe lareferencia analógica para dicho convertidor). Además de la función de E/S de los pines también vemos que se especifica (entre paréntesis) funciones especializadas de cada uno.
MEMORIA
El ATmega328P tiene varios tipos de memoria:
FLASH: Memoria persistente donde se almacena de forma permanente el programa que queremos ejecutar, tiene una capacidad de 32KB. Pero no podemos usar los 32KB ya que hay 512bytes reservados para el bootloader, el cual nos permite usar la placa Arduino sin tener que conocer a fondo el microcontrolador. Esto es solo en el caso de Arduino, si compramos el microcontrolador por separado si tenemos los 32KB íntegros aunque no nos valdrá para nuestra placa ya que le falta el bootloader.
SRAM: Memoria volátil donde se alojan los datos que necesite manipular nuestro programacargado en la Flash previamente para funcionar. Estos datos se eliminan cuando se deja de alimentar el microcontrolador, en el caso de ATmega328P la SRAM es de 2KB. Esta memoria puede ampliarse comprando más módulos de SRAM y conectándolos mediante un protocolo conocido por el microcontrolador como SPI o I2C.
EPROM: Memoria persistente donde se almacenan los datos que queremos que permanezcancuando apagamos el microcontrolador, tiene una capacidad de 1KB. Se puede ampliar de igual forma que la SRAM, pero comprando memorias EPROM obviamente y comunicarlas de la misma manera. Otra forma de ampliarlas es mediante tarjetas SD y comunicarlas mediante un módulo específico. El ATmega328P las reconoce mediante el protocolo de comunicación SPI.
La arquitectura del ATmega328P es de tipo Harvard.En este tipo de arquitectura, la memoria que aloja los datos está separada de la que aloja las instrucciones, comunicándose con la CPU de forma independiente y en paralelo, consiguiente más velocidad y un rendimiento más óptimo.
REGISTROS
Los registros son espacios de memoria en el microcontrolador, sirven para almacenar datos necesarios para la ejecución de instrucciones, para almacenartemporalmente los resultados de dichas instrucciones y también para alojar instrucciones a ejecutar próximamente.
Su tamaño es reducido, pudiendo almacenar pocos bits por registro; a mayor tamaño de registro, mayores son sus prestaciones, velocidad, etc. No es lo mismo un microcontrolador de 16 bits que de 32 bits (tamaño de cada registro).
El ATmega328P es de 8 bits, como todos los microcontroladoresde Arduino, excepto el de la Arduino Due que es de 32 bits.
PROTOCOLOS DE COMUNICACIÓN I2C/TWI Y SPI
Para transmitir datos de un componente electrónico a otro, puede hacerse en serie, es decir, se envía la información bit a bit por un único canal o en paralelo, enviando varios bits de forma simultánea cada uno por un canal.
El microcontrolador, usa la comunicación serie para enviar y recibirdesde otros componentes electrónicos, ya que solo necesita un canal y si fuera paralelo necesitaría varios, con el incremento de coste, complejidad y tamaño del circuito resultante. De la gran variedad de protocolos de comunicación serie, el ATmega328P usa:
I2C: o TWI es muy usado para comunicar circuitos integrados entre sí. Usa dos líneas para transmitir, una llamada SDA sirve para transferir...
Regístrate para leer el documento completo.