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
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.
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
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.
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
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
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.
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