pub:psoc_gnome_lcd

Pantalla LCD i2c

El soporte de las pantallas LCD se restringe a aquellas con las siguientes características:

  • Pantallas LCD de caracteres de 16×2 con driver Hitachi HD44780 o compatibles.
  • Backpack I2C con el expansor de puertos PCF8574.

El módulo LCD es el siguiente:

lcd_16_2.jpeg

El módulo I2C es el siguiente:

i2c_lcd_backpack.jpg

Se deberán soldar los pines del módulo I2C a la pantalla LCD, tal y como se muestra la siguiente imagen:

Para activar la pantalla LCD se necesitan llevar a cabo tres pasos.

  • Activar y configurar la pantalla LCD en software en el fichero gnome_config.h.
#define GNOME_LCD_MODULE_ACTIVE         0x01        // Pantalla LCD activa
  • Activar la interfaz I2C, en la tercera página del TopDesign.cysch.

  • Incluir en el diseño de usuario (primera página del TopDesign.cysch) el módulo LCD que se puede encontrar en el catálogo de componentes, en la pestaña Default.

El módulo LCD debe llamarse necesariamente LCD_gnome.

El puerto A y el puerto B son los datos que se representarán en la pantalla, en formato hexadecimal. El dato en el puerto A se representará en la pantalla en la primera línea, mientras que el puerto B lo hará en la segunda línea.

La señal de reloj debe ser el reloj de sistema BUS_CLK, a 24 MHz.

El bus I2C es un bus serie síncrono que se compone de 2 señales.

  • SCL (Señal de reloj). Por defecto está configurado en el P1.6 del PSoC 5lp.
  • SDA (Señal de datos, bidireccional). Por defecto está configurado en el P1.7 del PSoC 5lp.

En el bus pueden existir multitud de esclavos (teóricamente hasta 128, limitados por el fan-out). Toda transacción la inicia el dispositivo maestro (en este caso el PSOC) y proporciona la dirección del esclavo con el que quiere comunicarse. Las direcciones son típicamente de 7 bits + 1 bit para indicar lectura/escritura del esclavo.

El envío de la dirección y el bit de R/W irán seguidos de un ACK, en el que el bus está por defecto en alto, y si el esclavo lo lleva a cero, significa que se ha producido acknowledge. Posteriormente se transmiten 8 bits de dato + otro bit de acknowledge.

Una trama de transferencia en el bus se puede observar en la siguiente imagen.

Resistencias de pull-up

En este bus, se debe disponer de resistencias de pull-up, puesto que los maestros y esclavos son del tipo Open collector, que significa que la salida es una conexión directa al colector del transistor, y por tanto, sólo puede llevarlo a masa, nunca a Vdd. Por ello, la resistencia de pull-up se encarga de mantener el bus en alto mientras ningún dispositivo lo lleve a nivel bajo. La siguiente imagen ilustra esta situación.

  • pub/psoc_gnome_lcd.txt
  • Última modificación: 2020/09/28 11:44
  • (editor externo)