L. Silva B. / W. Freund G. / R. Aguilera R. Lab

Documentos relacionados
SEMINARIO DE COMPUTADORES I DISE~NO CON MICROCONTROLADORES MSP430: Manejo de motor servo

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores

Figura 1. Diagrama de bloques del Timer_A

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

Implementación de un reloj de tiempo real en el MSP430F149

Módulo de 16 entradas digitales modbus:

INTRODUCCIÓN. Comunicación Serial.

USB232. Hoja de datos

COMUNICACIÓN SERIE (RS232)

Diseño de Microcontroladores

Laboratorio 06. Diseño e implementación de un sistema digital para la captura de caracteres desde teclado

CICLOS DEL PROCESADOR

Labs para el workshop de programación en C sobre MSP430 (SASE 2012)

La expresión módem procede de las palabras modulador-demodulador, que son las dos funciones básicas que realiza ese dispositivo.

Conversor RS232-RS485/RS422 Aislado MCV1-C485-IA-IS. Manual del Usuario. Power. TX Data. RX Data MCV1. Internet Enabling Solutions.

Unidad III. Interfaces de comunicación Series, USB, CAN, Field Bus, Etc.

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

ELECTRONICA ESTUDIO MODULO TRASMISOR-RECEPTOR DE RF A RS232 BIDIRECCIONAL Clave: 875

PIC MICRO ESTUDIO Programador en tiempo real TREALS2

De RS-232 a RS-485 Manual del usuario

Instrucciones de uso. CONTROLLER e AS-i AC1308/AC / / 2004

ENTRADAS DE CONTADOR DE ALTA VELOCIDAD

Guía rápida para gestionar el puerto paralelo del PC

TRABAJO PRÁCTICO Nº 6: PUERTO SERIE

UART. Diseño de Sistemas con FPGA 2 o cuatrimestre 2011 Patricia Borensztejn

Notas técnicas de los sistemas compatibles: Diagramas de cable

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

Guía rápida de utilización

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

Interrupciones. Temporizadores y Contadores de eventos en microcontroladores.

Programación en C para Sistemas Embebidos

MÓDULO DE ADQUISICIÓN DE TEMPERATURA RMS1-PT

TUTORIAL Comunicación Serial

Universidad Técnica Federico Santa María Departamento de Electrónica. Acceso Controlado vía WEB

2.1 Características Técnicas

Velocidades Típicas de transferencia en Dispositivos I/O

Memoria presentada por Carlos Pablo Silva Lütty

Módulo Bluetooth HC-06 con puerto serial. Guía fácil

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

PIC MICRO ESTUDIO Timer ajustable hasta 99H 59M 59S Timer S232 Es Clave:

Práctica No. 3 del Curso "Microcontroladores" Contador de Objetos

IntesisBox. Modbus Server - M-Bus (EN ) Pasarela para la integración de medidores M-BUS en sistemas de control basados en Modbus RTU y TCP.

Interrupciones. Sistemas con Microcontroladores y Microprocesadores.

G O B L I N 2 / M A N U A L

HARDWARE USB/RS232 (28 servos)

Módulo 2 n. Figura 2.1. Simbología de un contador

DESCRIPCIÓN DE LOS MONTAJES Y TARJETAS DE CIRCUITO IMPRESO

1-Introducción. KIT ARM- Ténicas Digitales II - Ing. Ruben M. Lozano /9

LCD. Las pantallas de cristal líquido o módulos LCD, como. Módulo. con interface serial

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

Puertos Seriales Conexión PC Microcontroladores

SISTELTRON CONTADOR REGISTRADOR DE ENERGIA ELECTRICA TARCON RC 500

ESTRUCTURA BÁSICA DEL µc AT89C51

EC02 CONTROLADOR ELECTRONICO PROGRAMABLE

Manual sobre Motores a Pasos (Stepper motors)

CAN-101, HT6P20x2 Encoder para aplicaciones remotas de control

PRÁCTICA 4 Montaje y evaluación de sistemas secuenciales.

Conversor. Merlín Full. Manual de Usuario

Placa Controladora Ethernet 8 Relay 8 Entradas Digitales - 3 Analógicas Manual de Usuario

Diseño del módulo RS-232. Por Michael Kusch Versión preliminar 0.2

2.5-1 USART Introducción.

8.3. Introducción a las E/S del sistema

Conexión de un Terminal al Puerto de la Consola en Switches Catalyst

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

2. INSTALACIÓN DEL ADAPTADOR USB-Bluetooth EN EL PC. 3. INSTALACIÓN DEL ADAPTADOR RS232C-Bluetooth Promi

Programación De interfaces

SSI INFORMACIÓN GENERAL ENCODERS ABSOLUTOS Y ABSOLUTOS PROGRAMABLES

Radio modem TRBOnet Swift DT500. Pasaporte e instrucciones de instalación

Práctica de laboratorio: Diseño e implementación de un esquema de direccionamiento VLSM

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE

Diseño Basado en Microcontroladores.

MICROCONTROLADORES PIC

5.5 Interfaces especiales Interfaz V.24. Norma V.24. neris 4/8/64

INTRODUCCIÓN A LAS COMUNICACIONES POR RADIOFRECUENCIA

CAPÍTULO 3 LA COMUNICACIÓN SERIAL

Placa de control MCC03

CONVERSOR SERIAL ASINCRÓNICO RS232/USB, TTL/USB y RS485/USB S117P1

SISTEMAS ELECTRÓNICOS DIGITALES

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

SiAM Conversor Versión 2.0. siam CONVERSOR EXTERNO RS232-RS485 AUTO-VELOCIDAD AUTO-RTS. software i automatismes morvedre. Manual del usuario

COMUNICACIÓN SERIAL FAMILIA DSP56800: Síncronas y Asíncronas CAPÍTULO VII

Utilización de los puertos serial y paralelo de una PC usando LabView

Cable Micro USB a Serie DB9 RS232 para Android - Adaptador Serial con Carga USB - Macho a Macho

Conexión de los sistemas SLC como E/S remotas a procesadores PLC-5

6 entradas y 2 salidas analógicas modbus:

Tarjeta Desarrollo dspic. Bogobots ITEM-CEM

Trabajo 3. PROTOCOLOS DE COMUNICACIÓN SERIAL INDUSTRIALES Edwin Gilberto Carreño Lozano, Código:

Puerto RS 232 o Puerto Serie

Comunicación Serie RS 232

PIC MICRO ESTUDIO Display de 2 y4 Dígitos RS-232 (Clave 701 y 702) Guía de Uso

GUÍA RÁPIDA DE CONEXIÓN DEL F9.

Tabla 4.1 Pines de conector DB50 de Scorbot-ER V Plus Motores Eje Motor Número de Pin Interfaz de Potencia 1 2Y (1) 2 3Y (1) 3 2Y (2) 4 4Y (2) 5

TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN

CONTROLADOR ARTEMA DE NIVEL 2 EMV. La solución modular para el nivel 2 de EMV

ESPECIFICACIÓN DE LA INTERFAZ

Interface para el sistema VELBUS con conexión USB y en serie

La programación del puerto serial de E/S, la reconoce el DOS como COM1 y COM2. Esto se puede realizar de varias formas:

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

Copyright Exemys, All Rights Reserved. Rev

TECNOLOGÍA DE REDES. Temario 01/04/2008. Unidad 2. LAS WAN Y LOS ROUTERS (Segunda Parte)

Transcripción:

Laboratorio 7. Uso de Interrupciones y Comunicación Serial en microcontrolador MSP430. Objetivos. Estudiar y comprender el proceso de interrupciones implementado en el microcontrolador MSP430. Aprender a usar el periférico USART en modo UART, conociendo la configuración básica para transmitir y recibir datos a través de la puerta serial del microcontrolador. Monitorear a través del osciloscopio la comunicación serial. Comunicar 2 ó más microcontroladores en forma robusta utilizando la USART. Preparación previa. 1.- Interrupciones en MSP430. Existen tres tipos de interrupciones: Reset del Sistema, No enmascarables y Enmascarables. Estas últimas pueden ser habilitadas en forma general por el bit GIE del registro de estado general (SR), además de utilizar su propia habilitación dependiendo del periférico. En la tabla 1, extractada de la hoja de especificaciones del uc, con las posibles fuentes de interrupción, su tipo y su prioridad. El proceso de interrupción consiste en los siguientes pasos: Cuando una interrupción es requerida desde un periférico, y el bit de habilitación de interrupción del periférico y el bit GIE están habilitados, la rutina de servicio de interrupción es requerida. Existe una latencia de 6 ciclos de reloj, desde que se acepta un requerimiento de interrupción, hasta que la primera instrucción de la rutina de servicio es ejecutada. La lógica de la interrupción se ejecuta siguiendo los pasos descritos a continuación: 1. Cualquier instrucción que se esté ejecutando, se termina de ejecutar completamente. 2. El registro contador de programa (PC), el cuál apunta a la próxima instrucción a ejecutar, es empujado al stack. 3. El registro de estado (SR) es empujado al stack. 4. La interrupción con la más alta prioridad es seleccionada si han ocurrido múltiples interrupciones durante la última instrucción y tienen su servicio pendiente. 5. El flag de interrupción correspondiente se resetea automáticamente, cuando se trata de un solo flag. Si son múltiples flags, se mantienen seteados para ser atendidos. 6. El registro de estado (SR) es limpiado con excepción del bit SCG0, el cuál se mantiene inalterable. Esto termina cualquier modo de bajo consumo en que el uc pudiera encontrarse. 7. El contenido del vector de interrupciones correspondiente es cargado en el registro PC: el programa continua con la rutina de servicio de interrupción en dicha dirección. L. Silva B. / W. Freund G. / R. Aguilera R. Lab. 07 15-09-2004 1

El vector de interrupciones es una zona de memoria que se graba en el momento de bajar un programa al uc. Contiene las direcciones de memoria donde se encuentran almacenadas las rutinas de servicio de interrupción para cada periférico y/ó fuente de interrupción en particular. Tabla 1. Fuentes de interrupción, tipo y prioridad. 2.- Comunicación Serial Asincrónica. Se emplea para comunicar dos sistemas digitales empleando un mínimo de cables. No se transmite un reloj entre las unidades que se comunican. Esta forma de intercambio de información ha sido muy empleada y su uso está normalizado. La configuración mínima usa tres cables. Usando la norma RS-232, los nombres lógicos de las señales y su ubicación en conectores de 9 y 25 pines se ilustran en el siguiente diagrama: L. Silva B. / W. Freund G. / R. Aguilera R. Lab. 07 15-09-2004 2

DB9 3 2 5 DB25 2 3 7 DTE Tx Rx Gnd DCE Rx Tx 1 Conector Macho Cable Conector Hembra 1 Los conectores se muestran mirados de frente. El cable que conecta los dos equipos que tengan interfaz serial tiene sus propios conectores que deben sintonizar con las salidas existentes. Un uno lógico en transmisión debe ser mayor de +5 volts y menor que +15; en recepción debe estar entre +3 y +25. Un cero lógico en transmisión debe ser mayor de -15 volts y menor que -5; en recepción debe estar entre -25 y -3. A pesar que está normalizado el tipo de conector si se trata de un equipo terminal(data Terminal Equipment) o un equipo de comunicación(data Communication Equipment) es preferible efectuar pruebas para determinar cuál es el transmisor y cuál es el receptor antes de efectuar una conexión entre los dispositivos, ya que significa un riesgo eléctrico conectar dos transmisores, que suelen ser dispositivos activos. Ubicando un tester entre tierra y el pin 2 ó 3 en cada dispositivo antes de que estén conectados, puede determinarse la señal Tx, ya que ésta es una salida activa; y normalmente está en uno lógico. 3.- Comunicación Serial en el MSP430 En el MSP430 existe por lo menos un módulo USART. En el caso específico de los modelos MSP430F149 y MSP430F1612, se cuenta con dos módulos. Este módulo se puede utilizar en dos tipos de comunicación serial: como UART (comunicación asincrónica) y como SPI (comunicación sincrónica). Toda la documentación necesaria para su utilización se encuentra en el manual del usuario. Es imprescindible su lectura. En la sección de material de apoyo existe un documento donde se explica una aplicación que utiliza comunicación serial. Es recomendable su lectura para facilitar la preparación de la experiencia. Un frame de datos comienza cuando ocurre un canto de bajada, luego se envía un bit de start, con nivel bajo. Luego los 8 bits de datos, con el menos significativo(lsb) primero; y el más significativo (msb) al final. Luego termina el frame un pulso de stop en nivel alto. L. Silva B. / W. Freund G. / R. Aguilera R. Lab. 07 15-09-2004 3

lsb 1 msb 8 start stop Puede programarse un frame con uno, 1,5 ó 2 bits de stop. La paridad de la comunicación también puede ser programada. Las velocidades de transmisión se miden en baudios, que está definido como el número de bits por segundo. Las velocidades usuales son: 300, 1200, 2400, 4800, 9600, 19.200, 38.400 hasta 115.200 en algunas puertas seriales. En el Laboratorio. a) Considere el siguiente programa para realizar una transmisión de datos por la puerta serial: #include <msp430x16x.h> //Depende del uc que Ud. esté ocupando. char mensaje[10]="hola Mundo"; int i=0,j=0; void main(void) WDTCTL = WDTPW + WDTHOLD; P5SEL = 0x70; //Se dispone de los 3 relojes del sistema P5DIR = 0x70; //en los bits 4, 5 y 6 de la puerta 5 (MCLK, SMCLK y ACLK) P3SEL = 0x30; ME1 = UTXE0 + URXE0; UCTL0 = CHAR; //UTCTL0 = SSEL1; UTCTL0 = 0x10; UBR00 = 0x03; UBR10 = 0x00; UMCTL0 = 0x4A; UCTL0 &= ~SWRST; while(1) while (!(IFG1 & UTXIFG0)); TXBUF0 = mensaje[i++]; while(j<1000) j++; j=0; if (i>=10) i=0; L. Silva B. / W. Freund G. / R. Aguilera R. Lab. 07 15-09-2004 4

Mida con osciloscopio la velocidad de transferencia obtenida con el programa. Cambie el programa de manera de poder transmitir a 2400 y a 4800 bps. Mida con osciloscopio. Cambie el programa de manera de utilizar dos bits de stop. Cambie el programa para transmitir caracteres de 7 bits sin paridad a 2400 bps. Mida con osciloscopio. b) Considere el siguiente programa: #include <msp430x16x.h> #include <stdio.h> char t = 0x0; void main(void) WDTCTL = WDTPW + WDTHOLD; _EINT(); P1DIR = 0x01; P2DIR = 0x01; P3SEL = 0x30; ME1 = UTXE0 + URXE0; UCTL0 = CHAR; UTCTL0 = SSEL0; UBR00 = 0x0D; UBR10 = 0x00; UMCTL0 = 0x6B; UCTL0 &= ~SWRST; IE1 = URXIE0; while (!(IFG1 & UTXIFG0)); TXBUF0 = t; for (;;) t = getchar(); while (!(IFG1 & UTXIFG0)); TXBUF0 = t; #pragma vector=uart0rx_vector interrupt void usart0_rx (void) /*Completar*/ L. Silva B. / W. Freund G. / R. Aguilera R. Lab. 07 15-09-2004 5

Complete la rutina de servicio de interrupción serial de tal modo de imprimir en consola el carácter que se recibe y retransmitir lo que se recibe, considerando: i) Un loopback vía software. ii) Un loopback físico. c) A partir del programa disponible en la sección laboratorios, realice las siguientes actividades: Coloque la velocidad de transmisión en 4800 bps. Júntese con otro grupo de laboratorio y conecte ambos uc (Rx con Tx de cada uc). Modifique el identificador (define ID) de manera de tener identificadores distintos. Setee ID_MAX como el identificador mayor de los participantes. Coloque en los pines de la puerta 1 correspondientes 3 leds, uno para cada función (Error, Data, Control). Utilice resistencias de 1 [Kohm]. No es necesaria ninguna fuente. Asegúrese de conectar correctamente los leds. (Se dispone de Vcc en el pin 1 y de de GND en el pin 63 para probar la polaridad del led). En el diseño del programa falta completar un mecanismo de timeout. De tal manera que si la comunicación falla, se produzca una retransmisión después de aprox. 1 [s]. Utilice el timer B para estos efectos. Averigue la manera de resetear dicho timer. L. Silva B. / W. Freund G. / R. Aguilera R. Lab. 07 15-09-2004 6