INTRODUCCIÓN. Comunicación Serial.

Documentos relacionados
Figura 2. Formato de un dato serie síncrono.

BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores

TEMPORIZADORES Y CONTADORES

MICROCONTROLADORES PIC USART

MANUAL DEL MICROCONTROLADOR 8051

EL BUS I2C CARACTERISTICAS. Fernando Remiro

2.5-1 USART Introducción.

ORGANIZACIÓN DE LA MEMORIA

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Comunicación Serial: Conceptos Generales

ESTRUCTURA BÁSICA DEL µc AT89C51

La familia de microcontroladores de 8 bits MCS-51 esta constituida, entre otros, por los siguientes dispositivos:

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

MICROPROCESADORES I ELECTRONICA DIGITAL III INTERFASE PROGRAMABLE A PERIFERICOS PPI 8255

EVOLUCIÓN HISTÓRICA DE LOS µp

MICROCONTROLADORES PIC

Bus I 2 C. Introducción

INTERFAZ SERIAL DEL 80C31

COMUNICACIÓN SERIE ENTRE MICROCONTROLADORES MEDIANTE UART SW

Registros SFR vistos hasta ahora: Microcontroladores PIC

Velocidades Típicas de transferencia en Dispositivos I/O

Arquitectura Interna del 8088

Diseño Basado en Microcontroladores. Programa Detallado

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

INSTITUTO TECNOLOGICO DEL MAR, Mazatlán

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON

COMUNICACIÓN I2C (Bus de circuito inter-integrado)

Redes de Transmisión de Datos Controladora UART 8250

Microprocesadores, Tema 8:

Memoria y Entrada/Salida Tecnología Organización - Expansión

Tipos de Filtros Introducción

MICROCONTROLADORES PIC

2. PANTALLA ALFANUMÉRICA DE LCD (HITACHI HD44780U)

LOS MICROCONTROLADORES Y EL MCS-51

TEMA 2: Organización de computadores

PANORAMA GENERAL DE LOS µc

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

CURSO: Electrónica digital UNIDAD III: CIRCUITOS SECUENCIALES - TEORÍA

Timer Interface Module

MODBUS CONTENIDO. Protocolo de Comunicaciones MODBUS. Introducción Estructura de la Red MODBUS Características del Protocolo Aplicaciones Referencias

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS ELECTRÓNICOS DIGITALES

GESTION DE ENTRADA Y SALIDA

CURSO BÁSICO MICROCONTROLADORES PIC

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

RECURSOS FUNDAMENTALES

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

UART. Diseño de Sistemas con FPGA 1er cuatrimestre 2013 Patricia Borensztejn

Arquitectura de computadoras

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Tema 4. Organización de la memoria

Microcontrolador PIC16F84: Arquitectura

Unidad 1: Conceptos generales de Sistemas Operativos.

LABORATORIO DE INTERFACES

TARJETA DE ENTRADAS Y CONTADORES RÁPIDOS (MTC-3052)

Unidad IV: Programación de microcontroladores

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits

Sistemas Electrónicos Industriales II EC2112

3.3 Registros de corrimiento

Desarrollo de Herramientas de Programación de Alto Nivel y Aplicaciones de Conectividad y Almacenamiento para el Microcontrolador MSP430

Memoria Virtual. Ing. Jorge Castro-Godínez

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

CAPITULO 2 Organización de la memoria en los Microcontroladores 8052/8051

INTERRUPCIONES Y ENTRADA/SALIDA DE PULSOS EN EL CPM2A/CPM2C

1.2 Arquitectura interna del microcontrolador

6. Comunicación Serial Microcontroladores

Entrada y Salida! EC-2721 Arquitectura del Computador I! Entradas/Salidas: Problemas. Entradas salidas: Criterios. Amplia variedad de periféricos!

DIVISION DE ELECTRONICA Y COMPUTACION

Examen 22 de Febrero 2006

Memoria Virtual. Memoria Virtual

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Introducción. Modo monitor. Cuaderno técnico 4: Grabación de microcontroladores PIC

3.1. Buses Y La Transferencia De La Información.

PIC16F882/883/884/886/ Funcionamiento de Timer1 6 EL MODULO TMR1 CON PUERTA DE CONTROL Selección de Fuente de reloj

CURSO: MICROCONTROLADORES UNIDAD 4: COMUNICACIÓN SERIE- ARDUINO PROFESOR: JORGE ANTONIO POLANÍA

Tema: Comunicación en Serie. Interfaz RS-232.

Curso de. Módulo 10 MSSP: I2C. Ricardo Gómez González Andrés Prieto-Moreno Torres

ENTRADAS DE CONTADOR DE ALTA VELOCIDAD

Tema 10: Transmisión de datos

Timer s Escuela Superior de Cómputo IPN. Departamento de Posgrado Dr. Julio Cesar Sosa Savedra curso.escom@yahoo.com

ITT-327-T Microprocesadores

Estructura de los sistemas de cómputo

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017

CURSO DE MICROCONTROLADORES PROGRAMACION E INTERCONEXIONADO DEL µc-8051

Velocidades Típicas de transferencia en Dispositivos I/O

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Tema: Microprocesadores

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

TEMA 8. REGISTROS Y CONTADORES.

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

Características PIC16F84

RMS1-RM Manual del usuario

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

PIC16F882/883/884/886/887

Desarrollo de Productos Electrónicos

ESTRUCTURA FÍSICA DEL µp 8086

Transcripción:

INTRODUCCIÓN La función principal de este tipo de comunicación es la de convertir datos de salida de forma paralela a serial y la de convertir datos de entrada de forma serial a paralela. El acceso al puerto serial (UART) se realiza a través de RxD (P3.0) y TxD (P3.1) mediante la característica FULL-DUPLEX. Además contiene un buffer para almacenar un segundo dato antes de que se haya leído el primer Byte. Los registros especiales (SFR s) SBUF y SCON proveen el control del puerto serial.

INTRODUCCIÓN Registro SFR SBUF (Buffer serie) Escribir al registro SBUF carga el dato a ser transmitido y leer el registro SBUF accede al dato recibido. El registro SBUF (99H) son en realidad dos registros buffer.

INTRODUCCIÓN Registro SFR SCON (Control Serie) Este registro controla el modo de operación del puerto serie y el estado del mismo (fin de transmisión y recepción). Los bits de estado pueden ser monitoreados por software (poleo) ó programados para producir una interrupción. SM0 (SCON.7). Bit de programación del modo de operación. SM1 (SCON.6). Bit de programación del modo de operación. SM2 (SCON.5). Bit de programación del modo de operación. Habilita la comunicación multiprocesador en los modos 2 y 3. REN (SCON.4). Bit de habilitación de recepción en SBUF.

INTRODUCCIÓN Registro SFR SCON (Control Serie) Este registro controla el modo de operación del puerto serie y el estado del mismo (fin de transmisión y recepción). Los bits de estado pueden ser monitoreados por software (poleo) ó programados para producir una interrupción. TB8 (SCON.3). Bit 8 de transmisión y 9º bit transmitido en los modos 2 y 3. Activado y limpiado por software. RB8 (SCON.2). Bit 8 de recepción y 9º bit recibido en los modos 2 y 3. Activado y limpiado por software. TI (SCON.1). Bandera de fin de transmisión. RI (SCON.0). Bandera de fin de recepción.

La UART del µc51 tiene cuatro modos de operación seleccionados por la combinación de los bits SM0 y SM1. Tres de esos modos habilitan una comunicación asíncrona, con un bit de inicio y otro bit de paro para cada Byte de datos. Este tipo de comunicación se requiere para comunicar al microcontrolador con una PC bajo el protocolo 232. Un cuarto modo configura a la UART para operar como un simple registro de corrimiento. La frecuencia de operación puede ser fija o variable y en este caso el Timer 1 es usado para generar esta frecuencia.

SM0 SM1 Modo Descripción Baud Rate 0 0 0 Registro de corrimiento Fijo: f osc 12 0 1 1 8 bits UART + ini, fin 1 0 2 9 bits UART + ini, fin 1 1 3 9 bits UART + ini, fin Variable, activado por Timer Fijo: f osc 32 ó 64 Variable, activado por Timer

Modo 0 (Registro de Corrimiento) Este modo de operación trabaja mediante ocho corrimientos con una velocidad o frecuencia de 1/12 de la frecuencia de oscilación. BAUD RATE = f osc /12 La transmisión inicia cuando se utiliza cualquier instrucción que use al registro SBUF como destino ó como fuente para la recepción: mov SBUF, (fuente) (transmisión) mov (destino), SBUF (recepción) En este modo la línea RxD sirve para enviar o recibir datos y la línea TxD es usada como señal de reloj para sincronizar los dispositivos.

Modo 0 (Registro de Corrimiento) Cuando la transmisión en modo 0 inicia, la CPU coloca un 1 en la posición a la izquierda del bit más significativo del dato a transmitir (msb). La transmisión inicia con el bit menos significativo del dato (lsb) realizando un corrimiento a la derecha cada ciclo de máquina. Conforme salen los datos (bits) la CPU coloca ceros a la izquierda:

Modo 0 (Registro de Corrimiento) Cuando el bit msb esta en la posición de salida (lsb) y todas las demás posiciones contienen ceros 0, se establece la condición final para que la CPU realice el ultimo corrimiento y active la bandera TI:

Modo 0 (Registro de Corrimiento) La recepción en modo 0 se habilita mediante la activación del bit REN (SCON.4), y al limpiar la bandera RI. En este momento el registro de corrimiento se carga con el dato FEH (1111 1110). Cuando inicia la recepción, el corrimiento es hacia la izquierda y cuando el cero menos significativo ocupa el lugar del bit msb, la CPU realiza un ultimo corrimiento.

Modo 0 (Registro de Corrimiento) Una vez que la CPU ha realizado el ultimo corrimiento, el contenido del registro de corrimiento es transferido al registro SBUF y la bandera RI es activada para indicar que la recepción ha terminado y poder leer el dato.

Modo 1 (8 bits datos, inicio y paro) En este modo son enviados (TxD) y recibidos (RxD) 10 bits, los cuales contienen un bit de inicio 0, 8 bits de datos y un bit de paro 1. En este modo la velocidad de trabajo es variable, generalmente se usa el Timer 1 para generarla, por tanto las interrupciones por Timer 1 deben ser deshabilitadas: BAUD RATE = (2 SMOD * sobreflujo en Timer1) / 32 = (2 SMOD / 32) * (f osc / 12*(256-TH1))

Modo 1 (8 bits datos, inicio y paro) La transmisión en modo 1 inicia con cualquier instrucción que use a SBUF como registro destino. La señal de escritura a SBUF carga un 1 en la novena posición del registro de corrimiento, además de colocar el bit de inicio 0 en la terminal TxD (P3.1) para empezar la transferencia de los 8 bits de datos. Como en el modo 0, al realizar los corrimientos se colocan ceros en las posiciones de la izquierda del registro de corrimiento. Cuando el bit de paro 1 se encuentra en la posición del lsb del registro de corrimiento, se activa TI y se realiza el ultimo corrimiento (bit de paro).

Modo 1 (8 bits datos, inicio y paro) La recepción en modo 1 se inicia al detectar una transición negativa en la terminal RxD (P3.0) si esta activado el bit REN. Si el bit de inicio es valido se carga el registro de corrimiento con 1FFH y se realiza el corrimiento del bit de inicio 0 y se almacenan los bits de datos. Cuando el bit de inicio se encuetntra en la novena posición del registro de corrimiento, el registro SBUF es cargado con los datos, se activa la bandera RI y se carga RB8 con el bit de paro 1. Esta secuencia es generada sólo si RI = 0 y cualquiera de SM2 = 0 ó RB8 = 1.

Modo 2 (9 bits datos, inicio y paro) El Baud Rate en este modo depende del valor del bit SMOD en el registro PCON: Si SMOD = 0 entonces BAUD RATE = (1/64) f osc Si SMOD = 1 entonces BAUD RATE = (1/32) f osc BAUD RATE = (2 SMOD /64) f osc En este modo 11 bits son transmitidos o recibidos como: bit de inicio 0, 8 bits de datos, un 9 bit programable y un bit de paro 1. El noveno bit puede ser de paridad. Este bit se encuentra en el registro SMOD (TB8 y RB8).

Modo 2 (9 bits datos, inicio y paro) La transmisión en modo 2 inicia con cualquier instrucción que use a SBUF como registro destino. La señal de escritura a SBUF carga el bit TB8 dentro de la novena posición del registro de corrimiento para activar la transmisión de datos colocando el bit de inicio 0 en TxD. Cuando el bit TB8 se encuentra en la posición de salida, el bit de paro se encuentra a la izquierda de TB8 y todas las posicione de la izquierda se encuentran cargadas con ceros. Esta condición realiza un ultimo corrimiento (transisión de TB8) y activa la bandera TI.

Modo 2 (9 bits datos, inicio y paro) La recepción en modo 2 se inicia cuando se detecta una transición negativa en RxD. En este momento es cargado un 1FFH en el registro de corrimiento. Cuando el bit de inicio se encuentra en la posición mas a la izquierda del registro de corrimiento, se realiza un ultimo corrimiento, se carga SBUF con los datos, el noveno bit es colocado en RB8 y se activa RI. Esta secuencia es generada sólo si RI = 0 y cualquiera de SM2 = 0 ó 9 bit = 1. Si cualquiera de estas condiciones no se cumplen, los datos se perderan y se esperará un nuevo bit de inicio.

Modo 3 (9 bits datos, inicio y paro) En este modo se transmiten y reciben un bit de inicio 0, 8 bits de datos, un 9 bit programable y un bit de paro 1. El modo de funcionamiento es identico al funcionamiento en modo 2 pero con la diferencia de que el BAUD RATE es variable: BAUD RATE = (2 SMOD * sobreflujo en Timer1) / 32 = (2 SMOD / 32) * (f osc / 12*(256-TH1))

BAUD RATE El Timer 1 es usado para generar la velocidad de transmisiónrecepción de datos en serie, cuando el puerto es programado para trabajar en el modo 1 o 3. La frecuencia de transmisión es obtenida a partir del valor almacenado en TH1 y el valor de SMOD mediante la ecuación siguiente: BAUD _ RATE = 2 SMOD * FREC _ OSCILADOR 32*12*(256 ( TH1)) El valor 2 SMOD /32, es debido a los circuitos divisores de frecuencia que se encuentran en la etapa de control del puerto serie, los cuales dividen entre 16 ó 32 dependiendo del bit PCON.7 (SMOD) y la frecuencia que nos proporciona la salida del Timer 1 (sobreflujo).

BAUD RATE El valor 12 que divide a la frecuencia del oscilador proviene del divisor, que se encuentra en la etapa de control del Timer 1, cuando este es utilizado como temporizador. Cabe recalcar que el valor que se almacena en TH1 es el valor negativo de la cuenta que se desea, debido a que el contador se incrementa cada vez que un pulso es detectado, de ahí, que en la ecuación se representa como 256 (TH1). La interrupción del Timer 1, en este caso, no tendría mucha aplicación por lo que se podría deshabilitar. El Timer 1 actúa en modo 2, es decir, en modo autorecargable, el valor de conteo se encuentra fijo en el registro TH1, el cual se recarga cada vez que existe un sobreflujo.

BAUD RATE Tabla de valores de TH1, para generar el Baud Rate, tomando en cuenta la frecuencia del oscilador. Baud Rate (KHz) Fosc (MHz) SMOD Timer 1 C/T Modo Valor de TH1 19.2 11.059 1 0 2 FDH 9.6 11.059 0 0 2 FDH 4.8 11.059 0 0 2 FAH 2.4 11.059 0 0 2 F4H 1.2 11.059 0 0 2 E8H 0.1375 11.986 0 0 2 1DH 0.110 6.000 0 0 2 72H

MODOS MULTIPROCESADOR Este tipo de comunicación se activa cuando se tiene un sistema con multiples µc51 conectados en RED con un arreglo maestro esclavos: Con esta comunicación se reciben 9 bits de datos donde el noveno bit es cargado en RB8, seguido por un bit de paro. El puerto puede ser programado de forma que cuando el bit de paro sea recibido, la interrupción por puerto serial se active sólo si RB8 = 1, esta condiciónse habilita cuando SM2 = 1.

MODOS MULTIPROCESADOR Cuando el procesador desea transmitir un bloque de datos a uno de varios esclavos, primero debe enviar un Byte de dirección (nodo) que identifique al esclavo seleccionado. Un Byte de dirección difiere de un Byte de datos por el 9 bit, de forma que si el 9 bit (TB8) es 1, entonces el Byte es dirección; si el 9 bit = 0, entonces el Byte es dato. Un byte de dirección siempre interrumpira a todos los esclavos (TB8 = 1), así que cada uno de ellos debe examinar el Byte de dirección para determinar a quién se le esta hablando. Una vez seleccionado el esclavo, este debe limpiar el bit SM2 para recibir los Bytes de datos.

MODOS MULTIPROCESADOR Los esclavos que no fueron seleccionados deben dejar activados sus bits SM2 y seguir con su trabajo, ignorando los Bytes que se encuentran en las líneas comunes RxD y TxD. Estos esclavos serán interrumpidos nuevamente cuando se envie un nuevo Byte de dirección por el µc Maestro (TB8 = 1). SM2 no tiene efecto sobre el modo 0 y en el modo 1 se puede usar para checar la validez del bit de paro. En modo 1, en recepción si SM2 = 1, la interupción no es valida a menos que el bit de paro sea valido.