Departamento de Electrónica Diseño de Microcontroladores Alumnos: De la Goublaye de Ménorval, Eric Gómez, Rodrigo Pinto, Orlando Salas, Felipe 30/03/04
1. Índice 1. Índice...2 2. Introducción...3 3. Puertas digitales del MSP430...4 4. Agrupación de los puertos digitales...5 5. Registros de las digitales del MSP430...6 6. Configuración de los Registros de las puertas digitales...8 Los cuatro registros básicos...8 Los 3 registros para interrupciones de los Puertos P1 y P2...9 7. Uso de los puertos del Microcontrolador en la Tarjeta de Desarrollo EasyWeb2...10 8. Configuración de los puertos sin uso...11 9. Conclusiones...12
2. Introducción La lógica digital es un proceso racional para adoptar sencillas decisiones de verdadero o falso basadas en las reglas del álgebra de Boole. Verdadero es representado por un 1, y falso por un 0. En los circuitos lógicos estos aparecen como señales de dos tensiones diferentes 5[V] y 0[V] respectivamente. Las señales se pueden generar por conmutadores mecánicos o por transductores de estado sólido para ser procesadas por circuitos lógicos digitales. Los microcontroladores utilizan puertas digitales para comunicarse con dispositivos externos que pueden ser de entrada o salida de datos. Las puertas digitales son la interfaz entre el software desarrollado y las conexiones físicas. Por ejemplo, si tenemos un led conectado a una puerta digital del microcontrolador entonces debemos proceder a configurar dicha puerta con dirección de salida. Para encender el led se necesitará una señal de 5 Volt (1 lógico) en la puerta digital, para apagar el led basta con tener a la señal de la puerta en 0 Volt (0 lógico). Las pantallas de cristal líquido son otro ejemplo de dispositivos de salida, pero un poco más complejas. Botones, micrófonos, y otros son ejemplos de dispositivos de entrada. Figura 1: Ejemplo de dispositivos conectados a un microcontrolador
3. Puertas digitales del MSP430 En este laboratorio se trabaja con la tarjeta de desarrollo Easyweb2 que incluye el microcontrolador MSP430F149 de Texas Instrument. Este posee un encapsulado de 64 pines, de los cuales 48 son destinados a puertos como se aprecia en la Figura 2. Estos 48 pines se encuentran divididos en 6 puertos digitales, cada uno de estos puertos se encuentra configurado con 8 pines de entrada y/o salida, los cuales pueden ser manejados de forma independiente. Figura 2: Puertos del microcontrolador MSP430
4. Agrupación de los puertos digitales La ubicación de los puertos en el microcontrolador es la siguiente: En la Figura 3 se puede observar la agrupación lógica de los puertos del microcontrolador en la tarjeta Easyweb2. Puerto Pines 1 12 al 19 2 20 al 27 3 28 al 35 4 36 al 43 5 44 al 51 2 al 6 6 59 al 61 Figura 3: Agrupación de puerto del microcontrolador MSP430 en la EasyWeb2
5. Registros de las digitales del MSP430 Mediante cuatro registros básicos se controla el acceso a los pines de cada puerto del microcontrolador. (n: número del puerto): Registro Función PnIN Valor del dato de Entrada PnOUT Valor del dato de Salida PnDIR Dirección del Pin (entrada o salida) PnSEL Periferico o puerto digital Adicionalmente los puertos 1 y 2 tienen tres registros para la configuración del uso de interrupciones en sus pines. Una interrupción es un acontecimiento interno o externo del hardware que hace que la ejecución de un programa sea suspendida. Registro Función PnIFG Flag de interupciones PnIE Habilita o deshabilita interupciones PnIES interupción en canto de subida o bajada En la Tabla 1 se observa detalladamente la dirección en la memoria de cada registro junto a su estado inicial y el tipo de registro para cada puerto.
Tabla 1: Registros digitales de entrada y salida
6. Configuración de los Registros de las puertas digitales - Cada uno de los pines se puede configurar individualmente como entrada o salida. Está configuración se hace mediante cuatro registros básicos. - Además individualmente pueden leer o escribir. - Las puertas digitales se configuran mediante software. - Además de los cuatro registros básicos los puertos P1 y P2 cuentan con tres registros para el manejo de interrupciones. Los cuatro registros básicos PnSEL: Registro de selección de función. Los pines de los puertos a menudo están multiplexados con otros módulos periféricos. Cada bit del registro PnSEL es para seleccionar la función del pin, ya sea como puerto de I/O o como función de módulo periférico. Bit = 0: El pin actúa como I/O. Bit = 1: EL pin se selecciona como función de periférico. - Si PnSELx = 1 no se configura automáticamente la dirección del pin. - Otros módulos periféricos requieren que esté configurada la dirección que se necesita, con el bit PnDIRx. - Cuando las interrupciones de P1 y P2 están deshabilitadas cuando PnSEL =1. PnDIR: Registro de dirección. Cada bit en cada registro PnDIr selecciona la dirección del correspondiente pin I/O, sin reparar en la función seleccionada para este pin. Bit = 0: El pin está configurado como dirección de entrada. Bit = 1: El pin está configurado como dirección de salida. PnIN: Registro de entrada. Cada bit en cada registro PnIN refleja el valor de la señal de entrada en el correspondiente pin I/O cuando el pin es configurado como una función I/O. Bit = 0: La entrada está baja. Bit = 1: La entrada está alta.
PnOUT: Registro de salida. Cada bit en cada registro PnOUT es el valor de salida en el correspondiente pin I/O cuando el pin es configurado como una función I/O y con una dirección de salida. Bit = 0: La salida está baja. Bit = 1: La salida está alta. Los 3 registros para interrupciones de los Puertos P1 y P2 Cada pin de los puertos P1 y P2 tiene compatibilidad para interrupciones, configurados con los registros PnIFG, PnIE, PnIES. Todos los pines de los puertos P1 y P2 pueden tener diferentes vectores de interrupciones (independientes). P1IFG, P2IFG: Registro de flag de interrupciones. Cada bit PnIFGx es el flag de interrupciones para el correspondiente pin I/O y es configurado cuando se selecciona la señal de entrada a dicho pin. Todos los PnIFGx solicita una interrupción cuando los correspondientes bit PnIE y bit PnGIE están configurados. Bit = 0: No hay interrupción pendiente. Bit = 1: Existe interrupción pendiente. -Solo las transiciones, no los niveles continuos causan interrupciones. P1IES, P2IES: registro de selección de canto. Cada bit PnIES selecciona el canto de interrupción para el correspondiente pin I/O. Bit = 0: PnIFGx es configurado con canto de subida. Bit = 1: PnIFGx es configurado con canto de bajada. P1IE, P2IE: Habilitar interrupciones. Cada bit habilitación PnIE es asociado al flag de interrupciones PnIFG. Bit = 0: Interrupción deshabilitada. Bit = 1: Interrupción habilitada.
7. Uso de los puertos del Microcontrolador en la Tarjeta de Desarrollo EasyWeb2 Puerto 1 Puertos Descripción P1.0 Puerto FREQ P1.1 Entrada de datos por medio del Octocoplador 1 P1.2 Entrada de datos por medio del Octocoplador 2 P1.3 Entrada de datos por medio del Octocoplador 3 P1.4 Entrada de datos por medio del Octocoplador 4 P1.5 Salida de dato por medio del Relé 1 P1.6 Salida de dato por medio del Relé 2 P1.7 Puerto DALLAS Puerto 2 Puerto 3 Puertos Descripción P2.0 Pin Libre para ser configurado como Entrada o Salida de datos P2.1 Salida conectada led 6 P2.2 Salida conectada al LCD P2.3 Salida conectada al LCD P2.4 Salida conectada al LCD P2.5 Salida conectada al LCD P2.6 Salida conectada al LCD P2.7 Salida conectada al LCD Puertos Descripción P3.0 Conectado a la controladora de red P3.1 Conectado a la controladora de red P3.2 Conectado a la controladora de red P3.3 Conectado a la controladora de red P3.4 Transmisión de datos al puerto serial P3.5 Recepción de datos del puerto serial P3.6 Entrada y salida en modo lectura del puerto serial P3.7 Entrada y salida en modo escritura del puerto serial
Puerto 4 Puerto 5 Puertos Descripción P1.0 Señal de datos a la EEPROM P1.1 Señal de reloj a la EEPROM P1.2 Salida conectada al parlante (zumbador) P1.3 Salida conectada al parlante (zumbador) P1.4 Salida conectada al botón 1 P1.5 Salida conectada al botón 2 P1.6 Salida conectada al botón 3 P1.7 Salida conectada al botón 4 Puertos Descripción P5.0 Conectado a la controladora de red P5.1 Conectado a la controladora de red P5.2 Conectado a la controladora de red P5.3 Conectado a la controladora de red P5.4 Conectado a la controladora de red P5.5 Conectado a la controladora de red P5.6 Conectado a la controladora de red P5.7 Conectado a la controladora de red Puerto 6 Puertos Descripción P1.0 Pin Libre para ser configurado como Entrada o Salida de datos P1.1 Pin Libre para ser configurado como Entrada o Salida de datos P1.2 Pin Libre para ser configurado como Entrada o Salida de datos P1.3 Pin Libre para ser configurado como Entrada o Salida de datos P1.4 Pin Libre para ser configurado como Entrada o Salida de datos P1.5 Pin Libre para ser configurado como Entrada o Salida de datos P1.6 Pin Libre para ser configurado como Entrada o Salida de datos P1.7 Pin Libre para ser configurado como Entrada o Salida de datos 8. Configuración de los puertos sin uso Los pines sin uso deben ser configurados como función I/O, dirección de salida y estar desconectado del circuito, para reducir el consumo de energía. Por el valor del bit PxOUT no hay que preocuparse, se desconecta desde el pin.
9. Conclusiones Los puertos digitales son los que permiten relacionar el microcontrolador con los dispositivos externos. Mediante los registros se puede configurar los pines del microcontrolador MSP430. El registro PnSEL define si el pin va ser utilizado como E/S (entrada o salida) o como periférico. Si PnSel esta definido como E/S entonces se debe configurar el registro PnDir quien define la dirección de entrada o salida de datos. En el registro PnOUT se puede escribir y leer el valor de salida de los pines respectivos y en le Registro PnIN se puede leer el valor de entrada en el pin respectivo. De los seis puertos digitales que tiene el microcontrolador (n = 1,2,..,6), los dos primeros puertos tienen la opción de manejar interrupciones mediante los registros PnIFG, PnIES, PnIE. Para nuestros estudios la mayoría de los pines del microcontrolador están conectados a dispositivos de la tarjeta Easyweb2. Existen algunos pines libres para ser definidos por el usuario como entrada ó salida del microcontrolador, ejemplo de esto son todos los pines del puerto 6 y el P2.0.