Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: AVR32: Differenzen bei I2C-Adressierung Kategorie: I²C-Bus (von PeterS - 18.06.2014 15:35)
Als Antwort auf Re: AVR32: Differenzen bei I2C-Adressierung von Eisbart - 17.06.2014 17:38

> > > Hallo zusammen,
> > >
> > > ich verwende seit neuestem das C-Control-Pro mit dem AVR32 und dem Appli-Board und arbeite mich mühsam in den I2C-Bus ein
> > > und bin auf ein mir unverständlichen Phänomen gestossen.
> > >
> > > Folgende Vorgaben:
> > > Eine einfacher Versuchsaufbau zum Ein-/Ausschalten von LEDs mit dem I/O-Expander PCA8574.
> > > Die Adr-Pins A2 und A0 sind auf GND, das A1 auf +5V gelegt. = Adr 2
> > >
> > > Das Datenblatt des I/O-Expanders PCA8574 zeigt folgenden, internen Slave-Adress-Aufbau: 0100(A2)(A1)(A0)(R/W)
> > >
> > > Ich bekomme per I2C_Probe(&H44) eine 1 als Antwort. Dies entspricht dem Datenblatt: 01000100 Adressierung,
> > > stimmt in meinen Augen, verstehe ich.
> > >
> > > Wenn ich diese bestätigte Adresse per I2C_Write() bzw. I2C_Read() nun einsetze rührt sich nichts an den I/Os.
> > >
> > > Erst ein forschen in dem Beispiel (REL4.cbas) und dem dazugehörigen Schaltplan ergab folgende Erkenntnis.
> > >
> > > Die beiden oben genannten Funktionen benötigen als Adressierung nach oberer Ermittlung nicht &H44,
> > > sondern eine um ein Bit nach rechts verschobene Adresse (nun &H22). So funktioniert das auch anstandslos.
> > >
> > > Die I2C_Probe() Funktion bezieht das (R/W)-Bit in der Gesamtadresse mit ein und die Schreib-/Lese-Funktionen
> > > werfen das (R/W)-Bit schlicht unter den Tisch und adressieren mit A0-beginnend.
> > >
> > > Kann mir, zum Verständnis, jemand sagen warum hier mit unterschiedlicher Basis gearbeitet wird?
> > >
> > > In der Doku habe ich zumindest nichts gefunden.
> > >
> > > Frage an dass C-Control-Entwickler-Team:
> > > Wird dieser Basis-Fehler behoben werden?
> >
> > Ja, wird er. Es sollte durchgehend eine 7-Bit Adressierung (plus R/W Bit)
> > geben, allerdings sind von jemand anderem die Demo Programme mit 8-Bit
> > designed worden, und I2C_Probe() hat fehlerhafterweise 8-Bit Adressierung.
> > Da auch andere Kunden gesagt haben, das es logischer ist mit 8-Bit I2C
> > Adressen zu arbeiten, da ja die C-Control Pro Mega Bibliothek 8-Bit
> > Adress benutzt, werde ich auch bei AVR32 alles auf 8-Bit Adressen umstellen.
> >
> > Gruss Peter
> >
> > >
> > > Ich hoffe, ich konnte etwas Licht in diese Problematik zu bringen.
> > >
> > > Meine Grüsse
> > >
> > > Eisbart  
> > >
>
> Hallo Peter,
>
> schön, dass mein Anliegen Anklang findet.
> Wie und vorsichtig gefragt, wann wird die Korrektur vorgenommen. Wie erfahren wir von dem Update? Via IDE-Update?

Es wird ein Beta Update geben, von dem ich hier im Forum berichten werde. Ich plane das
Update in den nächsten 2 Wochen.

Gruss Peter


>
> Danke für die Antwort und beste Grüsse
>
> Eisbart


    Antwort schreiben


Antworten: