PCF8574 CARACTERÍSTICAS
Traducción libre del datasheet PCF8574.pdf
· Suministro de voltaje de funcionamiento 2.5 a 6 V · Bajo consumo de corriente de espera (standby) de 10 mA máximo · Expansor I²C a puerto paralelo · Open-drain interrupt de salida · Puerto remoto 8-bit I/O para el I²C-bus · Compatible con la mayoría de microcontroladores · Salidas Latched con drives de capacidad alta corriente para conducir directamente LEDs. · Direccionado por hardware direcciona 3 pines para el empleo de hasta 8 dispositivos (hasta 16 PCF8574A) · DIP16, o space-saving SO16 o SSOP20 packages.
(Ver Hojas de Datos)
El PCF8574 es un circuito CMOS de silicio. Este tiene el propósito general de expansor remoto de E/S para la mayor parte de familias de microcontrolador a través del bus bidireccional de dos líneas (I2C). Este es el diagrama de bloques:
El dispositivo es un expansor remoto de 8bits I/O para bus I2C, consiste en un puerto cuasi bidireccional de 8 bit y una interfaz I2C-bus. El PCF8574 tiene una baja corriente consumo e incluye salidas cerrojo con capacidad de alta corriente para conducir directamente LEDs. Este, también posee una línea de interrupción (INT), que puede ser conectada a la lógica interrupt del microcontrolador. Mediante el envío de una señal interrupt sobre esta línea, la E/S remota puede informar al microcontrolador si hay datos entrantes en sus puertos sin necesidad de comunicarse a través del I2C-bus. Esto quiere decir que el PCF8574 puede seguir siendo un simple dispositivo esclavo. El PCF8574 y PCF8574A son versiones que difieren sólo en sus dirección Slave, como se muestra más abajo, en la Fig.9.
El I2C bus son 2 vías, 2 líneas de comunicación entre diferentes módulos o circuitos integrados. Las dos líneas, una línea de datos serie (SDA) y una línea de reloj (SCL). Ambas líneas deben ser conectadas a un suministro positivo a través de una polarización a alto (PRA), aun cuando se conecte a la salida de las etapas de un dispositivo. La transferencia de datos sólo se podrá iniciar cuando el bus no esté ocupado.
Se transfiere un bit de datos en cada pulso de reloj. Los datos en la línea SDA debe permanecer estables durante el período de pulso ALTO del reloj, con cambios en la línea de datos en este tiempo ha de ser interpretado como señales de control (ver Fig. 4).
Ambas líneas de datos y reloj siguen siendo ALTO cuando el bus no está ocupado. Una transición de ALTO -a- BAJO de la línea de datos, mientras el reloj es ALTO se define como la condición de inicio (S). Una transición de BAJO -a- ALTO de la línea de datos mientras el reloj es ALTO se define como la condición de parada (P) (ver Fig. 5).
Un dispositivo que genera un mensaje es un "emisor", un dispositivo que lo recibe es un "receptor". El dispositivo que controla el mensaje es el 'maestro' y los dispositivos que son controlados por el maestro son los "esclavos" (ver Fig.6).
El número de bytes de datos transferidos entre las condiciones de inicio y parada del transmisor al receptor no esta limitado. Cada byte de ocho bits está seguido de un bit de reconocido. El bit de reconocido es un nivel ALTO puesto en el bus por el transmisor, mientras el maestro genera un reconocido suplementario relacionado con el pulso de reloj.
Un receptor esclavo cuando es direccionado debe generar un reconocido después de la recepción de cada byte. Un maestro también debe generar un reconocido después de la recepción de cada byte que ha sido registrado por los transmisores esclavos. El dispositivo reconoce que la línea SDA tiene una caída a bajo (pull-down) durante el pulso de reconocimiento de reloj, de modo que la línea SDA sea estable BAJO durante el período relacionado con el pulso ALTO de reconocimiento de reloj, los tiempos de configuración y mantenimiento deben ser tenidos en cuenta.
Un maestro debe señal de un receptor final de los datos al transmisor, al no reconocer una generación en el último byte que ha sido generado por los esclavos. En este caso, el transmisor debe abandonar la línea de datos a fin de que el ALTA maestro para generar una condición de parada.
Un maestro receptor debe señalar un fin de datos al transmisor para no engendrar un reconocido en el último byte que ha sido registrado por el esclavo. En este acontecimiento el transmisor debe dejar la línea de datos ALTO para permitir al maestro engendrar una condición de parada.
Cada una de las ocho E/S del PCF8574's pueden ser usadas por separado, como una entrada o salida. Los datos de entrada se transfieren del puerto al microcontrolador por el modo LECTURA (véase la Fig.11 en el DS). Los datos de salida son transmitidos al puerto por el modo ESCRITURA (véase la Fig.10).
Para el direccionamiento ver figuras 10, 11 12 y en el DS.
El PCF8574 proporciona una salida de drenaje abierto (INT), que puede alimentar a una entrada correspondiente del microcontrolador. Esto dota a los chips de un tipo de maestro de la función que puede iniciar una acción en el resto del sistema. Se genera un interrupt por cualquier aumento o disminución del borde de la entradas del puerto en el modo de entrada.
Después del tiempo Tiv en que el INT de la señal es válida. Reactivación, y la reactivación de la interrupción del circuito se realiza cuando los datos en el puerto se cambia a la configuración original o los datos se 'leen de' o 'escriben en' el puerto que ha generado la interrupción.
El restablecimiento ocurre así:
• En el modo lectura del bit reconocer después borde creciente de la salida de la señal de SCL. • En el modo escritura del bit reconocer después de la transición de HIGH-a-LOW de la señal de SCL. • Los interrupts que se producen durante el reconocimiento del reloj el pulso se puede perder (o muy poco), debido al restablecimiento del interrupt en este pulso.
Cada cambio de la E/S después del restablecimiento serán detectados y después del próximo flanco ascendente de reloj, se transmitirá como INT. La lectura o escritura a otro dispositivo, no afecta al circuito interrupt.
Una E/S cuasi-bidireccional se puede utilizar como una entrada o salida sin el uso de una señal de control para la dirección de datos (ver la figura 15).
En power-on las E/S son ALTAS. En este modo, sólo una fuente de corriente a VDD está activa. Una adicional fuerte RPA a VDD, permite bordes crecientes rápidos en salidas muy cargadas. Estos dispositivos se conectan a su vez cuando una salida es escrita ALTA, y se desconectan por el flanco negativo de SCL. Las E/S deberían ser ALTAS antes de ser utilizadas como entradas.
De conformidad con la valoración máxima absoluta.
Más información relevante, respecto de condiciones de trabajo y tensiones, deben seguir el enlace del Data Sheet.
Veamos un ejemplo, con una aplicación que nos sirva de referencia para recalcar conceptos. Utilizaremos dos unidades del PCF8574, una unidad servirá para leer datos desde unos pulsadores (o teclado) y la otra unidad, controlará los datos que leerá Arduino desde la interfaz I2C para encender unos LEDs o segmentos de un display.
Lo que hace el código: lee los pulsadores, si alguno es presionado. Arduino procesa la información que le envía desde la interfaz I2C PCF8574 de la izquierda y mediante el interfaz I2C PCF8574 de la derecha, enciende los segmentos del número que corresponde del display. Por cierto, aunque en el circuito esquematizado aparece conectado el Dp (punto decimal), en el código, no lo he incluido.
Esto es todo, por este simple tutorial, los que quieren más información pueden leer la hoja de datos PCF8574 y los detalles del código proporcionado. Si tiene interés en leer más sobre Arduino, revele esta sección. (Mostrar/Ocultar)
Creada el: 24-09-09
Actualizada el:
27-02-14
Desarrollado por:
hispavila.com 1998, 2000, 2002, 2004, 2006, 2008, 2010, 2012, 2014
Desde que se inició la andadura, en 1998 hasta el momento, el mantenimiento de este sitio, lo asume el propio autor.
Este obra está bajo una licencia de Creative Commons Reconocimiento-CompartirIgual 3.0 Unported.
Hispavila.com. |
| declaración de privacidad | LSSI | Póngase en contacto con nosotros