Universidad Tecnológica Nacional Departamento De Electrónica Facultad Regional Buenos Aires. Informática II GUIA DE TRABAJOS PRACTICOS

Documentos relacionados
Universidad Tecnológica Nacional Departamento De Electrónica Facultad Regional Buenos Aires. Informática II GUIA DE TRABAJOS PRACTICOS

TPC N 2: Entradas y Salidas de propósito general

INTRODUCCIÓN. Comunicación Serial.

Este apunte contiene los problemas para el segundo práctico de Digital II.

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

Práctica de Estructura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2010/2011

TEMA V SISTEMAS DE NUMERACIÓN

PRÓLOGO Este apunte contiene los problemas para el segundo práctico de Digital II.

Nota: Los siguientes ejercicios se refieren a programas ANSI-C modularizados/modularizables.

Canal transparente y string de identificación RS232/RS485

Examen 5 de Febrero de 2010

Tipos de datos y operadores en C++

SUPER CONTROLADOR DE SERVOS S310175

MICROPROCESADORES. Ejercicio de evaluación continua: E/S del MC68000

Conceptos básicos de comunicación de datos


2.5-1 USART Introducción.

Agente de Comunicaciones Manual de Usuario Consola

Automatización de una Célula de. Fabricación Flexible:

ELO320 Estructuras de Datos y Algoritmos. Codificación Binaria. Tomás Arredondo Vidal

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

Introducción al Diseño Lógico 2017 Guía de Trabajos Prácticos Nº 00: Repaso

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Comunicación de Datos (6003) Práctica #7 Capa de Red

MICROCONTROLADORES PIC USART

El protocolo MODBUS-RTU es un formato de transmisión en serie de datos, utilizado extensamente en las

Examen 22 de Febrero 2006

Comunicación de datos

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Redes de Computadoras Práctico 1. Redes de Computadoras. Instituto de Computación. Departamento de Arquitectura de Sistemas.

Agente de Comunicaciones Manual de Usuario

Ejercicio * N N X X X X X X X X X X X X X X X X X X X X

Computación I (CI-2125) Clase 2. Prof. Mireya Morales

UNIVERSIDAD NACIONAL DEL NORDESTE FACULTAD DE HUMANIDADES

SGW1-MB-NM Manual del usuario

GUIA DE EJERCICIOS Nº 3 INSTRUMENTACIÓN AVANZADA

Protocolo MODBUS para procesadores M850-W-x y M850-P-x

Comunicación de datos

Telegrama TP1. KNX Association

Representación de la información

Tema 7. Entrada / Salida

D L M M J V S

Datos Elementales y formato de un programa en Java

Segundo Parcial Programación en Mikro C PIC16F877

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

Operadores aritméticos. / División operando enteros o reales si operandos son entero resultado es entero. Resto de caso resultado real

Módulo de la Interfaz de Comunicación Serie

Práctica 5MODBUS: Bus Modbus

ANEXO I. Definición de tramas

Práctica 2: Estructuras/Uniones/Campos de bits

Transmisión de Paquetes. Redes de Computadores 2001 Agustín J. González

Tipos de receptores GPS

Tema 2. Sistemas de representación de la información

Simulaciones y resultados

Funciones Lógicas X5

MODBus RTU en los registradores CAMRegis

PRUEBA ESPECÍFICA PRUEBA 201

Interfase GPS-Google Maps

PROGRAMACIÓN EN LENGUAJE C VARIABLES Y CONSTANTES

Datos y tipos de datos

Arquitectura de Computadores. Apellidos, Nombre:

CAPITULO V. Implementación del Sistema de Transmisión y Recepción.

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

Tema 4: Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

Tema 2: Sistemas y códigos numéricos

Manual de Usuario BALANZA ELECTRÓNICA AUR E03P / AUE E06P / AUE E15P

Fundamentos de Informática 5. Operadores, expresiones (y su aplicación)

Ud debe controlar el flujo de información en una interface paralela CENTRONIX, que opera a 60 KB/seg.

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON

Arquímedes. Presentación Resumida. Logística y Control de Combustible. arquimedes.com.mx

Lección 2 Introducción al lenguaje C

Aspectos Avanzados de Arquitectura de Computadoras Práctico 5. Práctico 5. Tema: Assembler Recursión en Entrada/salida en 8086.

CURSO REMEDIAL 2015, GRADO 8 Área:

Arquitectura de Computadoras 2011

1.INTRODUCCIÓN QUE ES GPS? COMO FUNCIONA

Práctica 9. Organización del Computador 1 2do. Cuatrimestre de 2005

Realizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma:

Curso Informática Lección 3. Tipos de datos, constantes y variables

Tipos de Filtros Introducción

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

Introducción al GPS. 2. Principio de funcionamiento

Capítulo 3. El Software

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

UNIDAD IV MÉTODOS DE DETECCIÓN DE ERRORES.

Repaso Lenguaje C Área de Servicios Programación (Ing. Elect. y Prof. Tec.), Programación I (TUG y TUR) y Electrónica programable (TUE)

MODBus RTU en los registradores CAMRegis

Manual del Usuario GPS MODBUS

Transmisión paralelo:

Estructura de Computadores (EdC-ISW-G1) Boletín 4: Programación AVR

Problemario Electrónica Digital

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

INFORMATICA II PRIMER PARCIAL

Pauta Tarea 1 Redes de Computadores I

banda, mayor es la distorsión, y mayor es la probabilidad de que se cometan errores en el receptor.

SISTEMAS DIGITALES BASADOS EN MICROPROCESADORES

GUIA DE EJERCICIOS Nº 3 INSTRUMENTACIÓN AVANZADA

LOGICA DIGITAL ARITMETICA DE COMPUTADORAS ASPECTOS FUNDAMENTALES 1. FORMA DE REPRESENTAR LOS NUMEROS ( FORMATO BINARIO)

Definición de Memoria

Almacenamiento Secundario y Terciario. Unidad 4. Almacenamiento y Estructuras de Archivos

Transcripción:

TP N 9: SERIALIZACIÓN y COMUNICACIÓN SERIE Ejercicio 9.1 Realizar una función que sea capaz de sacar el contenido de un byte por el puerto P0.1 bit a bit, cuya duración de bit sea la mínima que proporcione el algoritmo a realizar (no recurrir a demoras adicionales). Ejercicio 9.2 Realizar una driver que sea capaz de sacar el contenido de un byte por el puerto P0.1 bit a bit, cuya duración de bit sea de 2,5 ms. Ejercicio 9.3 Realizar una función que reciba un byte y sea capaz de serializar su contenido por el puerto P0.1, que por cada bit que saque ingrese el dato presente en el puerto P0.2, y por ultimo retorne el dato paralelizado. No recurrir a demoras adicionales entre la escritura y la lectura del puerto. Ejercicio 9.4 Configure a la UART1 en 9600,8,N,1, y mediante la utilización de estrategias de atención de interrupciones, realizar un driver que despache en forma serializada y sincrónica el contenido de un buffer circular (vector de unsigned char de N elementos) Ejercicio 9.5 Configure a la UART1 en 9600,8,N,1, y realice una función que reciba la dirección de comienzo de una string y transmita por polling uno a uno el contenido de sus bytes. void Transmitir (char *mensaje); Ejercicio 9.6 Configure a la UART1 en 9600,8,N,1. Luego, realice una función que reciba como argumento la dirección de comienzo de un buffer y almacene en este el contenido de los bytes recibidos vía serie sabiendo que el último dato de llegada será el nul y nunca serán más de diez bytes. Utilice técnicas de polling para su resolución. void Recibir (char *mensaje); Página 1 de 7

Ejercicio 9.7 Configure a la UART1 en 9600,8,N,1, Y luego, realice las siguientes cuatro funciones, que formarán parte de un programa mayor que estará desarrollado utilizando técnicas de atención de interrupción para la transmisión y la recepción de datos. Ejercicio 9.8 Realice una función primitiva que reciba como argumento la dirección de comienzo de una string y se encargue de cargarla en el buffer circular de transmisión mencionado en el Ejercicio 9.7. La función deberá considerar la situación de que el buffer este vacío y, en ese caso, iniciar la transmisión. Página 2 de 7

Ejercicio 9.9 Teniendo en cuenta las funciones realizadas en el ejercicio 9.7 realice una función que sea capaz de colocar en un buffer (cuya dirección le haya sido enviada como argumento), los bytes considerados como datos recibidos (válidos) de la trama que ilustra la siguiente figura. # D2 D1 D2 $ # : Comienzo de trama D2,D1 y D0: Datos. Dígitos de un número de tres cifras representado en formato ASCII $ : Fin de trama Para la confección de la función tenga en cuenta las siguientes consideraciones: No debe ser bloqueante. Es decir no se debe recurrir a lazos cerrados que se apropien de la ejecución del programa. BLOQUEANTE Si el buffer esta completo retorna 0 y si aún no se completo retorna -1 Ejercicio 9.10 Valiéndose de las funciones realizadas en el ejercicio 9.7 realice un programa que genere un eco de los caracteres ingresados por el puerto serie (UART1 en 9600,8,N,1) Página 3 de 7

Ejercicio 9.11 Valiéndose de las funciones realizadas en el Ejercicio 9.7 realice un programa que genere el eco inteligente de las letras ingresadas por el puerto serie, (UART1 en 9600,8,N,1). El programa debe seguir la siguiente lógica: A partir de que recibe el carácter 0, el eco devuelve la letra ingresada sin modificaciones; si se ingresa el carácter 1 el eco devuelve la letra en minúscula independientemente de si haya sido ingresada en minúscula o mayúscula; por último si se ingresa el carácter 2 el eco devuelve la letra en mayúscula. NOTA: Se deberá chequear la paridad para cada dato recibido y en caso de detectar error en vez de transmitir el dato recibido se deberá enviar el código 0xFF Módulos GPS El módulo receptor GPS, por sus siglas en Inglés de Sistema de Posicionamiento Global, es un dispositivo capaz de recibir información de distintos satélites y procesarla con algoritmos matemáticos, con el fin de brindarnos información de latitud, longitud, velocidad de desplazamiento y altura entre otras. Su principal aplicación es en sistemas de navegación, pero su utilización se ha popularizado, y hoy podemos encontrar un GPS en una amplia gama de celulares y cámaras de fotos. La precisión del GPS está dada por distintos factores y se debe tener en cuenta según la aplicación. Por ejemplo, para ciertas aplicaciones 10 metros de error en la posición y 0,1metros por segundo en la velocidad es totalmente aceptable. Muchos módulos disponen de un puerto serie para comunicar los datos al mundo exterior a través de tramas series (por ejemplo a 4800 baudios 8,N,1) que ya están estandarizadas. Una estrategia puede ser recibir una trama completa y luego procesarla para obtener el dato que necesito. Dispone de diferentes tramas no todas dan los mismos datos. Las tramas tienen un encabezado para que al procesar la misma se pueda evaluar que tipo de trama es, por ejemplo, GGA, VTG, RMC, etc Según la aplicación, se los pueden pre-configurar para que ofrezcan una o mas tramas. Ejemplo, no es lo mismo navegación terrestre que marítima. Ejercicio 9.12 El GPS, según su configuración, puede enviar distinto tipos de trama. Para obtener la velocidad será necesario reconocer únicamente la trama Track Made Good and Ground Speed (VTG) y de ella extraer la velocidad en km/h. Trama VTG: $GPVTG,x.x,T,x.x,M,x.x,N,x.x,K*hh Página 4 de 7

Campo Descripción de Campos $ Comienzo de trama GPVTG Indicador de trama x.x Ángulo Azimuth del receptor, campo variable T Carácter T, campo fijo x.x Variación Magnética, campo variable M Carácter M, campo fijo x.x Velocidad expresada en Nudos, campo variable N Carácter N, campo fijo x.x Velocidad expresada en Km/h, campo variable K Carácter K, campo fijo * Carácter asterisco, indicador de comienzo de checksum hh Checksum, se calcula realizando la XOR de todos los caracteres excepto del $ y del * \n Fin de trama Se pide implementar un dispositivo que obtenga la velocidad de un sensor GPS Ejemplo de trama recibida $GPVTG,,T,,M,37.9,N,70.2,K,A*2B Analizando la trama anterior, vemos que la velocidad de desplazamiento es de 70,2 km/hora, que es el dato que aparece después de la séptima coma. Página 5 de 7

Ejercicio 9.13 Valiéndose de las funciones realizadas en los ejercicios anteriores y de la posibilidad que brinda el UART1 de trabajar en modo 485, se pretende realizar un sistema que realice la gestión del cobro de combustible en una estación de servicio. Para llevar a cavo la tarea, se deberá tener en cuenta que la comunicación que se establece entre la caja y los surtidores es del tipo amo esclavo. La caja (el amo) enviará una trama con la identificación del equipo con el cual desea establecer la comunicación, el surtidor seleccionado (el esclavo) contestará mandando la información solicitada por la caja (el amo), y así el amo ira encuestando a todos los surtidores para que les envíe la información que necesita para llevar adelante el sistema de gestión. Se pide: a) SURTIDOR a. Drivers, primitivas y aplicación de la parte del software involucrada en la comunicación del equipo instalado en los surtidores. b. Cada vez que la caja solicite información se deberá transmitir el contenido de las variables litros y Tipo. b) CAJA a. Drivers, primitivas y aplicación de la parte del software involucrada en la comunicación del equipo instalado en la caja. b. El programa deberá realizar la encuesta de todos los surtidores cada 2 minutos. c. Calcular y totalizar los litros consumidos por tipo de combustible Tipo Descripción 1 Nafta común 2 Nafta Super 3 Nafta Premium 4 Gasoil común 5 Gasoil Premium d. Presentación cíclica cada cinco segundos de los totales del punto anterior en un display de 7 segmentos dividido en dos zonas: la primera de un digito para el ID y la otra de 5 dígitos para los totales. e. Si en la trama recibida el valor del Tipo es cero, significa que hay una carga en curso, por lo tanto descartar el esa oportunidad el valor del campo litros. Trama de encuesta enviada por la caja Numero de equipo 1 Numero de equipo: valor binario de rango 0 a 7 Noveno bit Trama de respuesta del surtidor Tipo 0 litros 3 0 litros 2 0 litros 1 0 litros 0 0 Tipo : valor binario de rango 0 a 5 litros n : Valor binario componente un dato entero de 32 bits Página 6 de 7

Página 7 de 7