Display mit SI7032: Wie Busy Flag lesen?

Gast #4326038
Lesenswert?

Hallo,

ich experimentiere mit einem LCD-Display von Midas. Es besitzt einen 
SI7032 Controller, mit dem über I2C kommuniziert wird. Das Schreiben 
funktioniert soweit, aber ich schaffe es nicht, das Busy Flag 
auszulesen. Im Datenblatt steht:

"BF can be read, when RS = Low and R/W = High (Read Instruction
Operation), through DB7 port."

Wenn ich das RW-Flag auf 1 setze, gibt das Display immer 0b11111111 
zurück. Anscheinend muss ich erst ein Kommando schicken, um vom LCD 
zurücklesen zu können, aber welches? Wie setze ich denn RS=0? RW wird ja 
im Byte vor RS gesendet; wenn ich mit RW=1 Lesen ausgewählt habe, kann 
ich ja nichts mehr auf den Bus schreiben. Ich kenne mich mit dem I2C 
eigentlich ganz gut aus, stehe hier aber auf dem Schlauch.

Noch eine Frage: Was ist der Unterschied zwischen dem CGRAM und dem ICON 
Ram?

Mike
Angehängte Dateien:
#4326211
Lesenswert?

Mike schrieb:
> "BF can be read, when RS = Low and R/W = High (Read Instruction
> Operation), through DB7 port."

Hab ich auch schon probiert, scheint über I2C nicht zu funktionieren. 
Alles was einem bleibt ist stur die delays aus dem Datenblatt 
einzuhalten :-(

Der I2C den die da verbaut haben ist überhaupt eine ziemliche 
Fehlkonstruktion: Die SCL und SDA Pins scheinen intern noch Widerstände 
in Reihe zu haben (geschätzt jeweils 1k, ich frag mich was die geraucht 
haben) was zur Folge hat daß die Pullups unglaublich schwach sein 
müssen. Wenn man den Bus nur ein klein wenig straffer gespannt hat 
schafft das Ding es nicht mehr sie ordentlich auf 0 zu ziehen. Das ist 
nicht gut geeignet um noch viel anderes an den selben Bus zu hängen oder 
mehr als nur ein paar Zentimeter zu überbrücken.
Gast #4326639
Lesenswert?

> Die SCL und SDA Pins scheinen intern noch Widerstände in Reihe zu haben

Ich vermute eher, dass die Treiber-Mosfets der Ausgänge recht 
schwachbrüstig ausgelegt sind. Im Datenblatt des ST7032 ist die 
Ausgangslast mit 1 mA spezifiziert. Pullups < 5kOhm könnten daher zu 
Problemen führen. Leider werden dadurch Taktfrequenzen > 100kHz auf dem 
Bus kritisch. Für das Display nicht weiter schlimm, aber wenn noch 
andere Bausteine am Bus hängen bisweilen lästig.

Vorteil des Displays ist der geringe Stromverbrauch von < 200µA. LCDs 
mit HD44780 sind da eine Größenordnung schlechter.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren