Olimex Support Forum

Microcontrollers => MSP430 => Topic started by: FranzPeter on August 23, 2022, 02:12:18 PM

Title: LCD 1x9 and T5510-Board
Post by: FranzPeter on August 23, 2022, 02:12:18 PM
Dear Experts!

I want to use two LCD 1x9 - Displays at one T5510-Board. I can connect them parallel on UEXT. However - how can I address they separately?

All the best Franz Peter
Title: Re: LCD 1x9 and T5510-Board
Post by: LubOlimex on August 24, 2022, 11:58:45 AM
Not sure if there is software way to change the I2C address. You have to read the datasheet of the LCD controller (PCF8576DU):

https://www.nxp.com/docs/en/data-sheet/PCF8576D.pdf

On first glance it appears that there might be a way to do it but further reading in the details is needed.
Title: Re: LCD 1x9 and T5510-Board
Post by: FranzPeter on August 25, 2022, 04:39:46 PM
On page 27 of the PCF8576D.pdf I found this:

All PCF8576Ds whose SA0 inputs correspond to
bit 0 of the target address respond by asserting an acknowledge in parallel. This I2C-bus
transfer is ignored by all PCF8576Ds whose SA0 inputs are set to the alternative level.

Is this were I looking for? I do not understand it in detail. Maybe you can help and translate it in understandable english......

Franz Peter


Title: Re: LCD 1x9 and T5510-Board
Post by: LubOlimex on August 25, 2022, 04:46:30 PM
On page 19:

Quote from: undefined6.10.2 Subaddress counter
The storage of display data is determined by the contents of the subaddress counter.
Storage is allowed only when the content of the subaddress counter match with the
hardware subaddress applied to A0, A1, and A2. The subaddress counter value is
defined by the device-select command (see Table 13). If the content of the subaddress
counter and the hardware subaddress do not match then data storage is inhibited but the
data pointer is incremented as if data storage had taken place. The subaddress counter
is also incremented when the data pointer overflows.
The storage arrangements described lead to extremely efficient data loading in cascaded
applications. When a series of display bytes are sent to the display RAM, automatic
wrap-over to the next PCF8576D occurs when the last RAM address is exceeded.
Subaddressing across device boundaries is successful even if the change to the next
device in the cascade occurs within a transmitted character.
Title: Re: LCD 1x9 and T5510-Board
Post by: FranzPeter on August 26, 2022, 04:53:15 PM
From my knowledge, the address-addition must be saved permanently in the chip. So I connect the first 1x9-LCD and save the address addition in it. Then I connect the second 1x9-LCD and save for that the address addition. After I have made this, each 1x9-LCD has it's own unique address. But how this can be made in practice? Is there any (pseudo-) example-code?
All the best Franz Peter
Title: Re: LCD 1x9 and T5510-Board
Post by: FranzPeter on August 29, 2022, 03:12:51 PM
In the meantime I got an answer from the NXP-support: It is not possible to change the I²C-Address via software. So my recommendation to OLIMEX is to change the hardware of the LCD1x9: ad a small switch to change the level of A0 from GND to Vcc. With this small change one can use two LCD1x9 very easy.
Franz Peter

Title: Re: LCD 1x9 and T5510-Board
Post by: LubOlimex on August 29, 2022, 03:26:11 PM
We can't - we get the whole module (LCD controller + LCD) already assembled - it is this one: https://www.olimex.com/Products/Modules/LCD/MOD-LCD-1x9/resources/LCD1X9.pdf

The only thing we do here is provide UEXT connector and cable so that it fits boards with UEXT.
Title: Re: LCD 1x9 and T5510-Board
Post by: FranzPeter on September 08, 2022, 02:28:15 PM
Just to inform you and for others with the same problem:
I found a solution for my problem to use two LCD 1x9 at one T-5510. I use a 1 to 8 multiplexer (4051) to switch the SDA-line. Now I can use up to 8 displays at one T-5510.

Franz Peter