www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MAX6953, mehr als 64 Zeichen per I²C?


Autor: Ernest Beckert (foizman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich brauch mal nen schnellen Tipp:

Mit dem Maxim MAX6953 kann ich 4 Stellen 5x7 DotMatrix-Anzeigen 
ansteuern. Und man kann per I²C-Bus 16 solcher ICs adressieren.

d.h. Limit: 16x4=64 Zeichen bzw. alphanummerische Stellen

Problem: größere DotMatrix Anzeige
Wenn ich aber zB 128 oder 192 LED-Stellen per I²C ansteuern muß... wie 
macht man das? Kann man da irgendwie per Port-Expander ein Vielfaches 
von diesen MAX6953 an ein und demselber I²C Bus betreiben? Ich komm 
einfach nicht drauf.

also quasi:
Block1: 16 Adressen = 1-64 Zeichen
Block2: 16 Adressen = 65-128 Zeichen
etc., aber alles am gleichen I²C

Danke für Eure Hinweise...

lg,
F.

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sehe 2 Ansätze:

1) I²C Bus Multiplexer wie z.B. den PCA9544 können den Bus verzweigen 
und jeweils ein Segment davon aktivieren, so dass die anderen nix 
mitbekommen

2) Die A0/A1-Leitungen als "Enable", so dass beispielsweise immer nur 
bei einem Chip die A1 auf VCC liegt, und dieser Chip sich daher 
angesprochen fühlt.
(Mit den "primitiven" I²C Chips kann man solchen Pfusch treiben, ich 
kann aber nicht garantieren, dass das mit dem MAX6953 auch tut. Es 
könnte z.B. sein, dass der seine Adresse beim Einschalten einmal lernt, 
und denn nicht mehr geändert werden kann.)

Autor: Ernest Beckert (foizman)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
mal laut überlegen:
Slave-Adressen vom MAX6953 lauten auf "101x xxx1" (LSB 0...read, 
1...write)
d.h. 0xA1 bis 0xBF (im Schreibmodus)
Block1: IC01-IC16, I²C-Bus 1, 16 MAXIMs mit Adressbereich 0xA1 bis 0xBF
Block2: IC17-IC32, I²C-Bus 2, 16 MAXIMs mit Adressbereich 0xA1 bis 0xBF
Block3: IC33-IC44, I²C-Bus 3, 16 MAXIMs mit Adressbereich 0xA1 bis 0xBF

Mit dem Philips PCA9544 hab ich die Maske "1110 xxx1" für Write
d.h. 0xE1 bis 0xEF (im Schreibmodus)

jetzt kann ich 3 I²C-Blöcke realisieren, indem ich den PCA9544 verwende.

Vgl. Attachment

'Aktivieren von I²C-Bus 1
0xE1 0x04 'enable Channel 0
'Ausgabe am IC1
0xA1 0x20 0x01 0x02 0x03 0x04 'schreibe die Zahlen 1234
'Aktivieren von I²C-Bus 2
0xE1 0x05 'enable Channel 1
'Ausgabe am IC17
0xA1 0x20 0x05 0x06 0x07 0x08 'schreibe die Zahlen 5678

Oder hab ich da was übersehen?

Autor: Mirko Keuner (mkeuner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ernest Beckert wrote:
> Oder hab ich da was übersehen?

Im Übersehen von Flüchtigkeitsfehlern bin ich leider (wobei sich meine 
Studenten sicher drüber freuen) großer Meister. Vom Prinzip her ist das 
aber genau so, wie ich es auch machen würde.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> (LSB 0...read, 1...write)

genau umgekehrt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.