El microcontrolador es un dispositivo de control que contiene una serie de periféricos como RAM, ROM TIMERS, comunicación de datos en serie , etc., que son necesarios para realizar algunas tareas predefinidas. Hoy en día, tipo avanzado de microcontroladores se utilizan en una amplia variedad de aplicaciones según su capacidad y viabilidad para realizar algunas tareas deseadas y estos controladores incluyen 8051, microcontrolador AVR y PIC . En este artículo, aprenderemos sobre el microcontrolador avanzado de la familia AVR y su programación. .
Microcontrolador AVR
El AVR es un tipo de dispositivo de control fabricado por Atmel Corporation en 1996. El AVR no significa nada, es solo un nombre. El AVR los microcontroladores consisten en la arquitectura de Harvard y, por lo tanto, el dispositivo funciona muy rápido con un número reducido de instrucciones a nivel de máquina (RISC). Los microcontroladores AVR constan de características especiales en comparación con otros microcontroladores, tales como modos de suspensión 6, ADC incorporado, oscilador interno y comunicación de datos en serie, etc. Microcontroladores AVR están disponibles en diferentes configuraciones de 8 bits, 16 bits y 32 bits para realizar diversas operaciones.
Microcontrolador AVR
Comunicación de datos en serie USART en microcontrolador AVR
USART significa receptor y transmisor universal síncrono y asíncrono. Es una comunicación en serie de dos protocolos. Este protocolo se utiliza para transmitir y recibir los datos bit a bit con respecto a los pulsos de reloj en un solo cable. los Microcontrolador AVR tiene dos pines: TXD y RXD, que se utilizan especialmente para transmitir y recibir los datos en serie. Cualquier microcontrolador AVR consta de un protocolo USART con características propias.
Comunicación USART en microcontrolador AVR
Las principales características de AVR USART
- El protocolo USART admite el protocolo full-duplex.
- Genera una tasa de baudios de alta resolución.
- Admite la transmisión de bits de datos en serie de 5 a 9 y consta de dos bits de parada.
Configuración de pines USART
El USART de AVR consta de tres pines:
- RXD: Pin del receptor USART (ATMega8 PIN 2 ATMega16 / 32 Pin 14)
- TXD: Pin del transmisor USART (ATMega8 PIN 3 ATMega16 / 32 Pin 15)
- XCK: Pin de reloj USART (ATMega8 PIN 6 ATMega16 / 32 Pin 1)
Modos de operacion
El microcontrolador AVR del protocolo USART opera en tres modos que son:
- Modo normal asincrónico
- Modo asincrónico de doble velocidad
- Modo sincrónico
Modos de operacion
Modo normal asincrónico
En este modo de comunicación, los datos se transmiten y reciben bit a bit sin pulsos de reloj por la velocidad en baudios predefinida establecida por el registro UBBR.
Modo asincrónico de doble velocidad
En este modo de comunicación, los datos transferidos al doble de la velocidad en baudios son establecidos por el registro UBBR y configuran los bits U2X en el registro UCSRA. Este es un modo de alta velocidad para la comunicación sincrónica para transmitir y recibir los datos rápidamente. Este sistema se utiliza cuando se requieren ajustes precisos de velocidad en baudios y reloj del sistema.
Modo sincrónico
En este sistema, la transmisión y recepción de datos con respecto al pulso de reloj se establece en UMSEL = 1 en el registro UCSRC.
Configuración USART en microcontrolador AVR
USART se puede configurar usando cinco registros como tres registros de control , un registro de datos y un registro de selección de velocidad en baudios, como UDR, UCSRA, UCSRB, UCSRC y UBRR.
7 pasos para componer el programa
Paso 1: Calcular y establecer la velocidad en baudios
La velocidad en baudios de USART / UART la establece el registrador de UBRR. Este registro se utiliza para generar la transmisión de datos a la velocidad específica. El UBRR es un registro de 16 bits. Dado que el AVR es un microcontrolador de 8 bits y cualquier tamaño de registro es de 8 bits. Por lo tanto, aquí el registro UBRR de 16 bits se compone de dos registros de 8 bits como UBRR (H), UBRR (L).
La fórmula de la velocidad en baudios es
BAUD = Oscuro / (16 * (UBBR + 1))
La fórmula del registro UBRR es
UBRR = Oscuro / (16 * (BAUD-1))
La frecuencia del microcontrolador AVR es 16MHz = 16000000 Supongamos que la velocidad en baudios es 19200Bps, luego
UBRR = 16000000 / (16 * (19200-1))
UBRR = 16000000 / (16 * (19200-1))
UBRR = 51.099
Encuentra finalmente la velocidad en baudios
BAUDIOS = 16000000 / (16 * (51 + 1))
UBRR = 19230bps
Paso 2: Selección del modo de datos
El modo de transmisión de datos, el bit de inicio y el bit de parada y el tamaño del carácter lo establece el registro de control y estado UCSRC.
Selección del modo de datos
Paso 3: Selección del modo de transmisión de datos
El modo síncrono y asíncrono es seleccionado por el bit UMSEL del registro de estado de control. Si le damos UMSEL = 0, entonces el USART opera en modo asíncrono, de lo contrario opera en modo síncrono.
Selección del modo de transmisión de datos
Paso 4: Bit de inicio y bit de parada
El bit de inicio y los bits de parada son una forma de enviar y recibir datos en serie. Generalmente, cualquier fama de datos consta de un bit de estadística y un bit de parada, pero el microcontrolador AVR tiene un bit de inicio y dos bits de parada para procesar los datos. El bit de parada adicional puede ser útil para agregar un poco más de tiempo de procesamiento de recepción. Es especialmente útil para altas tasas de transferencia de datos, mientras que la velocidad de transferencia de datos es muy alta, por lo que no obtenemos los datos adecuados. Por lo tanto, podemos aumentar el tiempo de procesamiento utilizando dos bits de parada para obtener los datos adecuados.
Bit de inicio y bit de parada
El número de bits de parada se selecciona mediante el bit USBS de UCSRC, el registro de estado de control. USBS = 0, para un bit de parada, y USBS = 1, para dos bits de parada.
Paso 5: Establecer el tamaño del carácter
Como en el caso del microcontroladores básicos enviando y recibiendo el byte de datos (8 bits) a la vez, ya sea en un microcontrolador AVR, podemos elegir un formato de trama de datos en cada trama por el bit UCSZ del registro UCSRC.
Formato de marco de datos
Paso 6: Almacenar los datos recibidos
El microcontrolador AVR consta de un registro de búfer UDR para transmitir y recibir datos. La UDR es un registro de búfer de 16 bits en el que se utilizan 8 bits para recibir (RXB) los datos y otros bits se utilizan para transmitir los datos (TXB). El registro del búfer de transmisión de datos será el destino del registro UDR para los datos escritos en su ubicación. El registro de búfer de datos de recepción devolverá el contenido del registro de UDR.
Paso 7: Habilitación de transmisor y receptor
Los datos transmitidos y recibidos serán permitidos por los pines RXC y TXC del microcontrolador que están configurados por el registro UCSRA del microcontrolador. Este bit de bandera establecido por el microcontrolador para los datos se completa recibiendo y transmitiendo (TXC = RXC = 1).
Duplica la velocidad en baudios
Podemos duplicar la tasa de transferencia de la comunicación USART del AVR microcontrolador de 16 bits a 8 bits efectivamente por el bit U2X en el registro UCSRA. Este bit afecta solo al funcionamiento asíncrono. Si podemos establecer este bit (U2X = 1), reducirá la velocidad en baudios de 16 bits a 8 bits duplicando efectivamente la velocidad de transferencia para la comunicación síncrona.
Esta es una característica avanzada del microcontrolador AVR para un procesamiento rápido de los datos.
USART Program
Cada microcontrolador está predefinido con un IDE específico y, en base a este IDE, los microcontroladores están programados con C integrado o lenguaje ensamblador. La programación del microcontrolador AVR es desarrollada por el estudio AVR. Además, si desea información adicional sobre el pasos para construir proyectos basados en microcontroladores , o información detallada sobre este tema, puede contactarnos comentando a continuación.