2016/04/22

Aprendiendo I2C con el DS1621.

Luego de dos semanas de mucha lectura, prueba y ensayo creo que ya entiendo lo b谩sico de este interesante bus de comunicaci贸n I2C y lo comparto con ustedes, como siempre queridos amigos cualquier ayuda, correcci贸n o aporte usar los comentarios o los enlaces de contacto del blog.

Simulador Proteus.
El esquema de simulaci贸n Figura-01


El DS1621 (Figura-02) es un term贸metro digital y term贸stato con interfaz I2C con rango de temperatura desde los -55.0 °C hasta los 125.0 °C con incremento de 0.5 °C.

DS1621
El DS1621 Figura-02


Podemos configurar hasta 8 dispositivos, mediante el uso de los pines A2, A1, A0 (figura-02) de la direcci贸n, como vemos en el ejemplo de la tabla-01, los primero 4 d铆gitos son fijos y depende del DS1621.

Direcci贸n del DS1621
Binario.
Hexadecimal.
SET
A2
A1
A0
W/R
1001
0
0
0
0
0x90
Tabla-01.

Como cerebro tenemos un PIC18F452 (Figura-03), simulado mediante Proteus ISIS y el c贸digo compilado con PIC-C CCS.

PIC18F452
El PIC18F452 Figura-03


El ejercicio comprende el PIC18F452 como maestro y cuatros DS1621 como esclavos, se fija la temperatura m谩xima y m铆nima del termostato y la lectura de la temperatura, la cual se muestra en una LCD (Figura-01).

Simulaci贸n.
Corriendo la simulaci贸n Figura-04


Uso la Terminal virtual para la depuraci贸n del c贸digo, pero lo deje para que muestre informaci贸n de cada dispositivo DS1621 (Figura-04).

La caracter铆stica de la simulaci贸n son las siguientes:

  • PIC18F452 corriendo a 4 Mhz.
  • En I2C se usa los m贸dulos del PIC con force_hw y se fija la velocidad en Fast.
  • Se usa los pin SDA y SDL por defecto del PIC.
  • Para lo dem谩s FUSES consulte el archivo main.h.

No voy entrar en detalle en la explicaci贸n del c贸digo, en el ejercicio que anexo trate de ser lo m谩s meticuloso en describir cada detalle, tiene disponible el archivo de la simulaci贸n en Proteus y el c贸digo fuente.
  • I2C DS2116 V0.4 [MF] [MG].

Pero antes les recomiendo la lectura de estos dos libros:

  • Comunicaci贸n I2C [MF] [MG].
  • Libros de PIC-C CCS y Proteus ISIS para principiantes [22XD].

Luego el datasheet del DS1621 [MF] [MG].

Pero por favor enf贸quese en el siguiente diagrama (Figura-05), que se debela como comunicarse con el DS1621.

Diagrama de lectura y escritura del DS1621 Figura-05


Ahora si a revisar el c贸digo del ejemplo y simularlo, pero como siempre este es un ejercicio pr谩ctico para aprender el concepto, varios pines de los dispositivos se obvian en la simulaci贸n, pero se debe tener presente en una practica real, as铆 que agrego los siguiente datasheet:

Tambi茅n te puede interesar:

  • I2C [Wikipedia-es].
  • Todos mis ejemplos [22XD].
  • Como crear un proyecto en PIC-C CCS y Simularlo en Proteus ISIS [22XD].

Actualizaci贸n: En PIC-C se cuenta con el Driver DS1621.C y DS1621M.C para varios dispositivos.


5 22XD: Aprendiendo I2C con el DS1621. Luego de dos semanas de mucha lectura, prueba y ensayo creo que ya entiendo lo b谩sico de este interesante bus de comunicaci贸n I2C y lo comp...
< >