ITSS - Puertas de Entrada y Salida
.
PUERTAS DE ENTRADA Y SALIDA Paola Lizzet Esparza Godoy
está configurada como entrada o salida. Si el bit TRIS asociado a una patita de E/S ‘1’, entonces la patita estará configurada como entrada. En caso contrario, si vale ‘0’, la patita estará configurada como salida. Todas las patitas de las puertas están configuradas por defecto como entradas, siendo dicho valor el que toma después de un Reset.
e-mail:
[email protected] RESUMEN: en este capitulo se encuentra claramente especificado la funcionalidad de una entra o salida de las puertas del dsPIC30F, sus caracteristias y configuraciones. PALABRAS registros.
CLAVE:
latch,
entrada,
2.2 LOS REGISTROS PORT
salida,
Los datos existentes en las patitas de E/S son accedidos a través del registro PORTx. Mediante una lectura del registro PORTx se lee el valor que soportan o reciben las patitas de E/S, mientras que una escritura en dicha puerta escribe el valor en el registro latch correspondiente. Muchas instrucciones, tales como BSET y BCLR, son operaciones de lectura, modificación y escritura. Por tanto, escribir en una puerta implica que sus patitas son leídas, se modifique su valor y después se escriba el latch de datos. Se debe tener precaución cuando se utiliza instrucciones de lectura y escritura en los registros PORTx, especialmente cuando algunas patitas de E/S asociadas al mismo se configuran como entradas. Si una patita de E/S configurada como entrada, transcurrido un tiempo se cambia a salida, puede producir un valor de salida inesperado. Este efecto ocurre porque una instrucción de lectura y escritura lee el valor instantáneo de la patita de entrada y lo carga en el latch de datos.
1 INTRODUCCIÓN Las puertas de entrada y salida son los conjuntos de patitas que soportan las señales que entran y salen del dispositivo. El número y tipo de las puertas dependen del modelo dsPIC30F que se trate. En general, cada puerta de E/S consta de ocho patitas. Todas las patitas del dispositivo, salvo VDD, VSS, MCLR# y OSC1/CLKI se reparten entre las señales que requieren los periféricos y las líneas de E/S de propósito general. Las puertas de propósito general de E/S son las que permiten que el sdPIC30F supervise y controle otros dispositivos externos. La mayor parte de las patitas de E/S soportan varias funciones alternativas multiplexadas en el tiempo. Por lo general, cuando una patita se dedica a un periférico no puede emplearse al mismo tiempo como patitas de propósito general.
2.2 LOS REGISTROS LAT El registro LATx asociado a una patita de E/S elimina los problemas que puedan ocurrir con las instrucciones de lectura, modificación y escritura. Una lectura del registro LATx devuelve los valores guardados en los registros cerrojos de salida de la puerta, E/S el lugar de los valores de las patitas de E/S. Una operación de lectura-modificación-escritura en el registro LAT asociada a una puerta de E/S, evita la posibilidad de escribir los valores de la patita de entrada en los latch de la puerta. Una escritura en los registros LATx tiene el mismo efecto que hacerlo en el registro PORTx. Las diferencias entre los registros PORT y LAT son las siguientes:
2 REGISTROS DECONTROL DE LAS PUERTAS DE E/S Todas las puertas de e/s tienen tres registros directamente asociados con la operación de la puerta, donde <<x>> es la letra que referencia la puerta particular de E/S. •
TRISx: Registro de la dirección de los datos que determina si las líneas son entrada o salida. • PORTx: Registro de la puerta de E/S que contiene el valor de las líneas de entrada. • LATx: Registro cerrojo o latch de E/S que almacena el valor que sacan las líneas de salida. Cada patita de E/S en el dispositivo dispone de un bit directamente asociado en cada uno de los registros TRIS, PORT y LAT.
• • •
2.1 LOS REGISTROS TRIS
•
Los bits del registro TRISx son los que determinan si cada patita asociada de línea de E/S correspondiente
1
Una escritura en el registro PORTx escribe el valor de los datos en el registro cerrojo de la puerta. Una escritura en el registro LATx escribe el valor de los datos en el registro cerrojo de la puerta. Una lectura del registro PORTx lee el valor de los datos de las patitas de E/S. Una lectura del registro LATx lee el valor de los datos guardados en el registro cerrojo de la puerta.
ITSS - Puertas de Entrada y Salida
.
4 DESCRIPCION DE LAS PUERTAS
Cuando un modelo de dispositivo no dispone en su arquitectura de una puerta determinada se desactivan sus registros y datos asociados.
El numero de puertas de patitas de E/S disponibles para un dispositivo dado depende e la variante del mismo, porque es posible que para un dispositivo concreto no estén implementados algunos de los registros de control de las puertas que se conectan. En la siguiente figura se muestra un modelo dsPIC30F de 80 patitas, con gran cantidad de funciones implementadas y multiplexadas en cada una de sus patitas.
3 MULTIPLEXACIÓN DE LAS SEÑALES DE LOSPERIFERICOS Cuando se habilita un periférico todas las patitas que tiene asociadas para soportar sus señales se desactivan como patitas de E/S de propósito general. Por eso la mayoría de las patitas de E/S son multifunción y pueden soportar distintas funciones multiplexadas en el tiempo. Los datos del buffer de salida del periférico y las señales de control se conectan a una pareja de multiplexores. Estos multiplexores seleccionan si es el periférico o la puerta asociada quien toma el control. Nota: Para utilizar las patitas PORTB como E/S digitales, los bits correspondientes al registro ADPCFG deben valer ‘1’, incluso si el modulo conversor analógico/digital se encuentra desconectado.
3.1 MULTIPLEXACION DE MÚLTIPLES SEÑALES DE PERIFERICOS Algunos dispositivos dsPIC30F, especialmente los que tienen un número pequeño de patitas de E/S, tienen multiplexadas diversas funciones de los periféricos sobre cada una de ellas. El nombre de la patita de E/S se elige de tal manera que el pueda determinar fácilmente la prioridad de las funciones que se les ha asignado a las mismas. Control de patitas de entrada por software
4.1 DIAGRAMA DEL CONEXIONADO
Algunas de las funciones asignadas a una patita de E/S son funciones de entrada que toman el control del <
> de salida de la propia patita. Un ejemplo de un periférico que utiliza una función de este tipo es el modulo de captura de entrada. Los siguientes periféricos permiten que sus patitas de entrada sean controladas manualmente a través de los registros PORT.
A continuación se muestra las puertas mas importantes con una breve descripción de su funcionamiento, asi como la misión de las señales, como las de alimentación y de reloj que conforman el dsPIC.
• • • •
Alimentación • VDD: Esta patita sirve para el suministro de voltaje positivo de alimentación para la lógica y las patitas de E/S del dispositivo. • VSS: Esta patita se emplea como voltaje de referencia (GND) del dispositivo. • VREF+ (E): Voltaje positivo de referencia para señales analógicas. • VREF- (E): Voltaje negativo de referencia para señales analógicas. • AVDD: Suministro de alimentación positiva para el modulo analógico. • AVSS: Suministro de alimentación negativa para el módulo analógico. • LVDIN (E): Entrada del detector de voltaje bajo.
Patitas de interrupción externas. Patitas de entrad de reloj de un Timer Patitas de captura de entrada. Patitas de PWM Fault.
La mayor parte de los periféricos de comunicación serie, cuando están activos, toman el control absoluto de las patitas de E/S para que las que están asociadas con el periférico no puedan ser afectadas atreves de los registros PORT. Estos periféricos son los siguientes: •
SPI.
• • •
I2C. DCI. UART. CAN.
•
Señal de Reset • MCLR#: entrada Master Clear Reset. Es una línea activa para el nivel bajo que produce un Reset del dispositivo. Señales digitales de E/S
2
ITSS - Puertas de Entrada y Salida
. • RAx, RBx, RCx, RDx, RFx y RGx (E/S): son
• • • •
U1TX (S): Transmisor del módulo UART1 U2RX (E): Receptor del módulo U2TX (X): Transmisor del módulo UART2 U1ARX (E): Receptor alternativo del módulo UART1 • U1ATX (S): Transmisor alternativo del módulo UART1. Señales de Interrupción • INTx (E): Líneas de entrada para petición de las interrupciones. Señales de Captura de la Entrada • ICx (E): Líneas de entrada que se emplean para la captura de entradas.
líneas digitales tanto de entrada como salida y se asocian con sus respectivas puertas. Señale analógicas de entrada • ANx (E): patitas por las que se introduce señale analógicas, de las cuales AN0 y AN1 se emplean para entrada de datos y aplicación de una señal de reloj en la fase de grabación del dispositivo. Señales de reloj • CLKI (E): Entrada de reloj externo siempre asociada con la función de la patita OSC1. • CLKO (S): Salida de reloj en los modos RC y EC, que se conectan al resonador de cristal. • TXCK (E): Entrada de reloj externo TimerX. Señales del oscilador • OSC1 (E): Entrada del cristal oscilador • OSC2 (S): Salida del cristal oscilador conectada al resonador del cristal • SOSCI (E): Entrada del oscilador de baja potencia. • SOSCO (S): Salida del oscilador de baja potencia. Señales de notificación de cambio • CNx: Estas patitas son las entradas de notificación de cambio de estado y se pueden programar por software para trabajar con pullup. Señales de comunicación con interfaz conversor de datos (ICD) • C0FS: Patita de sincronización del marco de ICD. • CSCK: Patita para la E/S del reloj serie de ICD. • CSDI: Patita de entrada de datos serie de ICD. • CSDO: Patita de salida de datos serie ICD. • EMUD-EMUD3: patita de E/S de datos para el canal ICD • EMUC-EMUC3: Patitas de entrada de reloj para el canal ICD. Señales para el bus CAN • C1RX (E): patita de recepción del bus CAN1 • C1TX (S): patita de recepción del bus CAN1 • C2RX (E): patita de recepción del bus CAN2 • C2RX (S): patita de recepción del bus CAN2 Señales de para SPI • SCKx (E/S): Entrada o salida del reloj síncrono serie para SPIX • SDIx(E): línea de entrada de datos SPIX • SDOx(S): línea de salida de datos SPIX • SSx(E): línea de sincronización con el esclavo SPIX Señales para el bus I2 C • SCL (E/S): línea de entrada y salida del reloj síncrono serie para I2C. • SDA(E/S): línea de entrada y salida de datos síncrono serie para I2C. Señales para transmisión UART • U1RX (E): Receptor del módulo UART1
Señales de Comparación • OCFA: Líneas de entrada que compara la entrada Fallo A • OCFB: Líneas de entrada que compara la entrada Fallo B. • OSCx (S): Es una línea de salida del módulo comparador. Señales de Propagación del Circuito de Entrada Serie • PGD (E/S): Línea de entrada/salida de los datos de grabación. • PGC (S): Línea de salida de impulsos de reloj para la programación del circuito. 5 REGISTROS DE NOTIFICACIÓN DE CAMBIO DE ESTADO (CN) Las patitas de notificación de estado (CN) proporcionan a los dispositivos dsPIC30F la capacidad de generar peticiones de interrupción al procesador en respuesta a un cambio del estado en las patitas de entrada seleccionadas. Se pueden seleccionar hasta 24 patitas de entrada para generar interrupciones de CN. El número total de entradas CN disponibles depende del modelo de dispositivos dsPIC30F seleccionado. 6 FUNCIONAMIENTO EN LOS MODULOS SLEEP E IDLE El modulo continua funcionando durante los módulos Sleep e Idle. Si una de las patitas CN activadas cambia de estado, entonces el bit de estado CNIF (IFSO<15>) se activara. Al activarse el dispositivo despierta de modo sleep o del modo Idle y continuará normalmente su funcionamiento. Si el nivel de prioridad de la interrupción CN asignado es igual o menor que el nivel actual de la prioridad de la U, la ejecución del dispositivo continuara desde la instrucción inmediatamente después de la instrucción SLEEP o la IDLE. Si, por el contrario, el nivel asociado a la interrupción es mayor que el nivel actual de la prioridad de la U, la ejecución continuará desde la dirección del vector de interrupción del CN correspondiente.
7
3
BIBLIOGRAFIA:
ITSS - Puertas de Entrada y Salida
. Microcontroladores avanzados dsPIC, controladores digitales de señales arquitectura programación y aplicaciones, capitulo 17, la memoria de datos.
4