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:
El módulo I2C es el siguiente:
Se deberán soldar los pines del módulo I2C a la pantalla LCD, tal y como se muestra la siguiente imagen:
Activación y uso de la pantalla LCD en el PSoC Creator (Leer con atención)
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ñaDefault
.
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.
Bus I2C y Conexiones
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 elP1.6
del PSoC 5lp.SDA
(Señal de datos, bidireccional). Por defecto está configurado en elP1.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.
dokuwiki\Exception\FatalException: Allowed memory size of 134217728 bytes exhausted (tried to allocate 38015504 bytes)
An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the authplain plugin.
More info has been written to the DokuWiki error log.