Ir al contenido principal

MSP430 MCU



MANEJO DE LCD Y PUERTO SERIAL CON EL MICROCONTROLADOR MSP430G2553 DE TEXAS INSTRUMENTS

En el siguiente articulo realizaremos una descripción detallada de lo que se hizo en el laboratorio de la asignatura llamada sistemas microprocesados, destinado a entender y analizar el funcionamiento e importancia de la comunicación por puerto serial, entre nuestro microcontrolador de referencia MSP430G2553, y el PC. Utilizando como sistema de conversión un MAX 232, que convierte las señales de un puerto serie RS-232 a señales compatibles con los circuitos integrados lógicos TTL, para posteriormente visualizar en una LCD 2*16, los caracteres asignados por el docente. Usando como interfaz de comunicación para el display un programa para poder escribir y leer los datos del puerto serial como Hércules o Hyperterminal.  


                   INTRODUCCIÓN

El puerto serial es claramente  la mejor herramienta cuando se trata de interconectar el PC con algún otro periférico externo. Típicamente, la comunicación serial se utiliza para transmitir datos en formato ASCII. Para realizar la comunicación se utilizan 3 líneas de transmisión: referencia, Transmisión y Recepción. Debido a que la transmisión es asincrónica, es posible enviar datos por una línea mientras se reciben datos por otra. También es propicio entender la importancia de EL PUERTO UART de nuestro micro controlador, ya que este controla los puertos y dispositivos, encargándose de  manejar las interrupciones de los dispositivos conectados al puerto serie y de convertir los datos en formato paralelo. La importancia que representa en nuestro proyecto la adecuación del MAX 232 como acoplador entre estos dos diferentes puertos mediante la decodificación de señales, es muy grande. 





               DESCRIPCIÓN DEL PROYECTO

En esta práctica de laboratorio hicimos un proyecto con el fin de identificar el manejo del puerto de comunicación serial RS232, el manejo del el visualizador LCD 16x2, y del puerto UART del microcontrolador MSP430G2553.

Básicamente en lo que consistía nuestro proyecto era en comunicarnos a través del puerto de comunicaciones del computador con el microcontrolador. Ya que dicha comunicación no se puede hacer directamente porque los niveles de voltaje que manejan son diferentes, entonces se procedió a usar un adaptador o “conversor” de voltajes llamado MAX 232. Haciendo una configuración correcta del MAX 232 (poniendo un par de condensadores para que actuara como un multiplicador de voltaje) se puede obtener un adaptador que comunica correctamente un puerto serie RS 232 (que maneja unos niveles de voltaje de ± 12 V) a niveles compatibles con la tecnología TTL (que maneja niveles de voltaje de ± 5V).

Con el adaptador listo procedemos a conectar cable serial al computador, en el otro extremo sacamos tres cables: RX (pin 3 del conector DB 9), TX (pin 2 del conector DB 9) y la conexión a tierra (pin 5 del conector DB 9). Los pines RX y TX van a los pines 8 y 7 respectivamente del conversor MAX 232, y el pin de tierra va conectado a la tierra general del circuito. Una vez hecho esto procedemos a conectar el conversor con los puertos UART del microcontrolador. Conectamos los pines UART del MAX 232, RX y TX (pines 9 y 10 respectivamente)  a los pines UART RX y TX (3 y 4 respectivamente) del microcontrolador. Ya con estas conexiones podemos comunicarnos desde el PC al microcontrolador y viceversa.

Con esto hecho lo siguiente que hicimos fue configurar el visualizador LCD 16x2 con el microcontrolador, para ello asignamos 2 pines del microcontrolador para hacer una configuración correcta de la LCD, los ponemos a los pines de ENABLE y RS del visualizador LCD (5 y 3 respectivamente). Lo siguiente que hay que conectar es el bus de datos del microcontrolador a la LCD. El bus de datos del microcontrolador va desde el pin 8 al 11, el cual tiene que ir conectado del pin 10 al 13 respectivamente de la LCD.

Hechas estas conexiones, ya podemos comunicarnos desde el PC a la LCD mediante la correcta conversión de RS232 a TTL (UART del microcontrolador), y la correcta decodificación de las instrucciones enviadas por el PC al microcontrolador, y del microcontrolador al visualizador LCD.

Las instrucciones que dadas por el PC son enviadas por el puerto de comunicaciones del mismo (casi siempre es el puerto COM 1). Estas instrucciones puede ser colocadas allí a través de un software como el Hercules o Hyperterminal. 


DESCRIPCION DEL MICROCONTROLADOR:






ARQUITECTURA: 
El microcontrolador (MSP 430G2553), lo constituye en su CPU  una arquitectura von Neumann, con direccionamiento simple para las instrucciones y los datos. La memoria se direcciona por bloque de 1byte, y los pares de byte se combinan para hacer palabras de 16 bits.
El procesador contiene 16 registros de 16 bits. R0 es el contador de programa, R1 es el puntero de pila, R2 es el registro de estado, y R3 es un registro especial denominado generador constante, que provee acceso a 6 valores constantes utilizados comúnmente, sin requerir el uso de un operando adicional. Los registros desde el R4 hasta el R15 son para uso general.

INSTRUCCIONES:
El conjunto de instrucciones consta de 27 instrucciones básicas y 24 instrucciones emuladas. Las instrucciones básicas son instrucciones en las que hay códigos de operación únicas decodificados por la CPU. Las instrucciones emuladas son instrucciones que hacen el código más fácil de escribir y leer, pero no tienen códigos de operación, sino que se sustituyen automáticamente por el ensamblador con una instrucción básica equivalente.
Hay tres tipos de instrucciones básicas:
• Doble operando
• Un solo operando
• Jump
Todas las instrucciones de un solo operando y de doble operando puede ser instrucciones de byte o word utilizando las extensiones .B o .W. Instrucciones de bytes se utilizan para acceder a los datos de byte o periféricos byte. Se utilizan instrucciones de Word acceder a datos de palabras o periféricos de palabras. Si no se utiliza la extensión, la instrucción es una instrucción de palabra.


           DESCRIPCIÓN MODULO SERIAL:

El puerto serial es un dispositivo muy extendido y ya sean uno o dos puertos, con conector grande o pequeño, todos los equipos PC lo Incorporan actualmente. Debido a que el estándar del puerto serial se mantiene desde hace muchos años, la institución de normalización RS-232-C que regula el protocolo de la transmisión de datos, el cableado, las señales eléctricas y los conectores en los que debe basarse una conexión RS-232.

La comunicación realizada con el puerto serial es una comunicación asíncrona. Para la sincronización de una comunicación se precisa siempre de un bit adicional a través del cual el emisor y el receptor intercambian la señal del pulso. Pero en la transmisión serial a través de un cable de dos líneas esto no es posible ya que ambas están ocupadas por los daros y la tierra. Por este motivo se intercalan antes y después de  los daros de información de estado según el protocolo RS-232. Esta información es determinada por el emisor y el receptor al estructurar la conexión mediante la correspondiente programación de sus puertos seriales. Esta información puede ser de la siguiente manera:
Bit de inicio: Cuando el receptor detecta el bit de inicio sabe que la transmisión ha comenzado u es a partir de entonces que debe leer la transmisión y entonces debe leer las señales de la línea a distancias concretas de tiempo, en función de la velocidad determinada.
Bit de parada: Indica la finalización de la transmisión de una palabra de datos. El protocolo de transmisión de datos permite 1, 1.5 y 2 bits de parada.
Bit de paridad: Con este bit se pueden descubrir errores en la transmisión. Se puede dar paridad par o impar. En la paridad par, por ejemplo, la palabra de datos a transmitir se completa con el bit de paridad que el número de bits 1 enviados es par.

El protocolo RS-232 consiste en un conector tipo DB-25 de 25 pines, aunque es normal encontrar la versión de 9 pines DB-9, más barato e incluso más extendido para cierto tipo de periféricos. En cualquier caso, los PCs no suelen emplear más de 9 pines en el conector DB-25. Las señales con las que trabaja este puerto serial son digitales, de +12V (0 lógico) y -12V (1 lógico), para la entrada y salida de datos, y a la inversa en las señales de control. El estado de reposo en la entrada y salida de datos es -12V. Dependiendo de la velocidad de transmisión empleada, es posible tener cables de hasta 15 metros. Cada pin puede ser de entrada o de salida, teniendo una función específica cada uno de ellos. Las más importantes se observan a continuación:



La velocidad de trasmisión de datos es expresada en bits por segundo o baudios, el baudio se llama así para expresarlo mejor que bit por segundo, el primero queda definido como el número de estados de la señal por segundo, si solo existen dos estados que pueden ser representados por un bit, que identifica dos unidades de información, entonces baudio es equivalente a bit por segundo se diferencia cuando es necesario más de un bit para representar más de dos estados de la señal.
La velocidad de trasmisión queda limitada por el ancho de banda, potencia de señal y ruido con el conductor de señal, la velocidad de trasmisión queda básicamente establecida por el reloj. Su misión es examinar o muestrear continuamente la línea para detectar la presencia o ausencia de los niveles de señal ya predefinidos, el reloj sincroniza además todos los componentes internos.

A continuación se muestra una imagen de cómo interconectamos el conector DB-9 con el MAX232 que  su vez va conectado con el microcontrolador:





            DESCRIPCION MODULO LCD:

En la actualidad existe una gran variedad de versiones, clasificadas en dos grupos. El primer grupo está referido a los módulos LCD de caracteres (solamente se podrán presentar caracteres y símbolos especiales en las líneas predefinidas en el módulo LCD) y el segundo grupo está referido a los módulos LCD matriciales (Se podrán presentar caracteres, símbolos especiales y gráficos). Los módulos LCD varían su tamaño físico dependiendo de la marca; por lo tanto en la actualidad no existe un tamaño estándar para los módulos LCD.
Tipos de memorias del LCD
Un dispositivo LCD dispone de dos tipos de memorias ambas independientes. Estas memorias se denominan DD RAM y CG RAM.

DD RAM (Display Data Ram)
Es la memoria encargada de almacenar los caracteres de la pantalla que se estén visualizando en ese momento, o bien, que estén en una posición no visible. El display tiene una capacidad de 2 lineas horizontales por 40 caracteres cada una, de los cuales solo serán visibles 2 líneas de 16 caracteres cada una. La DDRAM tiene un tamaño de 2x40=80 bytes.
Una vez conocida la disposición de almacenamiento del display, es facil pensar en un display de 2 líneas de 40 caracteres sobre el que se desplaza una ventana de 2 líneas por 16 caracteres.


            MAX232:

Dispone internamente de 4 conversores de niveles TTL al estándar RS232 y viceversa, para comunicación serie como los usados en los ordenadores, El COM1 y el COM2.
FUCIONAMIENTO:
El circuito integrado lleva internamente 2 conversores de nivel de TTL a RS232 y otros 2 de RS232 a TTL con lo que en total podremos manejar 4 señales del puerto serie del PC, por lo general las más usadas son; TXD, RXD, RTS, CTS, estas dos últimas son las usadas para el protocolo handshaking pero no es imprescindible su uso. Para que el MAX232 funcione correctamente debemos poner unos condensadores externos, todo esto lo podemos ver en la siguiente figura en la que solo se han cableado las líneas TXD y RXD que son las más usualmente usadas para casi cualquier aplicación.




                         


                        ESQUEMÁTICO



                 DIAGRAMA DE FLUJO DEL ALGORITMO:





              DESCRIPCIÓN DE PRUEBAS Y RESULTADOS

Una vez montado el circuito tal y cual como se muestra en el esquematico lo rpimero que nos resultó fue que no se visualizaba ningún carácter en la LCD, ni siquiera el letrero, como se muestra en la siguiente figura.




Para resolver este problema lo que hicimos fue variar el potenciómetro el cual se encarga de ajustar el contraste en la LCD. Una vez ajustado correctamente el potenciómetro, procedimos a configurar el Hyperterminal, pero no nos lograba visualizar nada en la segunda línea de la LCD. Detectamos que el microcontrolador estaba dañado y por lo tanto no se podía visualizar nada en la LCD. Procedimos a cambiar el microcontrolador y a revisar de nuevo las conexiones donde nos dimos cuenta que había un cable mal conectado.

Hecho el cambio de microcontrolador, ajustando el potenciómetro y corrigiendo las malas conexiones el proyecto estaba funcionando perfectamente como se aprecia en la siguiente figura: 







            CONCLUSIONES

El objetivo principal, de realizar una comunicación entre el PC y una lcd de 16x2 fue exitosa mediante el acople de un decodificador MAX-232 y el UART del microcontroladorusando como interfaz de comunicación para el display un programa para poder escribir y leer los datos del puerto serial como Hércules o Hyperterminal.

Se hizo uso del manejo del puerto de comunicación serial RS232, el manejo del el visualizador LCD 16x2, y del puerto UART del microcontrolador MSP430G2553.

Es necesaria para la  comunicación 3 líneas de transmisión: referencia, Transmisión yRecepción, identificadas como TX, RX y ground.

El puerto UART de nuestro micro controlador controla los puertos y dispositivos, encargándose de  manejar las interrupciones de los dispositivos conectados al puerto serie y de convertir los datos en formato paralelo.


           BIBLIOGRAFIA

Comentarios

Entradas más populares de este blog

GENERACIÓN, TRANSFORMACIÓN Y USO DE LA ENERGÍA ELÉCTRICA

 GENERACIÓN, TRANSFORMACIÓN Y USO DE LA ENERGÍA ELÉCTRICA Actividad 2: 1.     Con base en el siguiente diagrama y teniendo en cuenta que la entrada es 110 Vac y N=5,5. a.      Dibuje la forma de onda que se obtiene en la etiqueta llamada salida. Establezca cuál es: -        Su valor pico Su valor pico es: Vp=Vac*√2=110*√2=155.5V -        Su valor pico a pico Vpp=Vp*2=155.5*2=310V -        Su periodo T=1/f=1/60=0.01666 s -        Su valor eficaz Su valor eficaz es de 110v. 2.     Con base en el siguiente diagrama. a. Dibuje la forma de onda que se obtiene en la etiqueta Salida R: usando el software de simulación proteus, se obtiene la siguiente gráfica: b.     Entregue una justificación del resultado obt...

GENERACIÓN, TRANSFORMACIÓN Y USO DE LA ENERGÍA ELÉCTRICA

  GENERACIÓN, TRANSFORMACIÓN Y USO DE LA ENERGÍA ELÉCTRICA Actividad 3: 1.      Se tiene una motobomba de 30kw operando a 230 V, con un factor de potencia de 0.6. Si la energía se entrega a través de un alimentador con una resistencia total de 0.200 Ohm. Calcule: a.      La potencia aparente y el consumo de corriente R: cos(Ɵ) = P/S =>  S = P/cos(Ɵ) S = 30.000 / 0.6 = 50 KVA La corriente máxima que puede circular por la motobomba es: I = P / V  =>  I = 30.000 / 230 = 130.43 A b.      Las pérdidas en el cable alimentador R: P = R*I 2 = 0.2*(130.43) 2 = 3386.76 W c.       La potencia en kVAR del capacitor que es necesario para corregir el F.P. a 0.9 R: sen(Ɵ) = Q/S => Q=S*sen(Ɵ) = 50.000*0.9 = 45KVAR 2.      Analice cada uno de las siguientes 5 placas (A, B, C, D y E). ...

DISEÑO Y ELABORACIÓN DE CIRCUITOS IMPRESOS

DISEÑO Y ELABORACIÓN DE CIRCUITOS IMPRESOS Actividad 1: Diseño del Circuito de fuente de alimentación de 5 y 12VCC para un equipo  de aplicación a medicina. El diseño lo realizaremos por fases, cada una aportara elementos y componentes parciales para el diseño definitivo. a.        Fase 1:  Diseño del diagrama de bloques de una fuente de alimentación regulada (tenga en cuenta las etapas y sus características, los componentes activos y pasivos)     b.       Fase 2: En esta fase se verificarán los componentes de las etapas de la fuente FUENTE DE ALIMENTACIÓN ETAPA COMPONENTES CARACTERISTICAS Atenuación de voltaje Transformador Transformador reductor. Relación de transformación 10:1 Rectificación Puente rectificador de diodos o 4 diod...