Forum: Mikrocontroller und Digitale Elektronik Frage zu eigner I2C Slave Adressierung und Broadcast


von M. H. (dbzwerg)


Lesenswert?

Hallo zusammen,

ich möchte eigene I2C Slave's (Atmega8) an einen Master 
anbinden(Atmega32).
als Lib's möchte ich für den Master die Fleury nehmen und als master die 
von www.jtronics.de nehmen.


Nun hab ich dazu ein paar fragen:

- Welche adressen für meine Slaves sind erlaubt, d.h. welche 
"Herstellerbits" sind frei? ( werde auch andere I2C devices einbinden, 
u.a. temp sensor,  eeprom, rtc).

-Ich möchte meine Slaves mit einem Befehl alle auf einmal ansprechen 
bzw. "starten". Dazu woltle ich die Broadcast adresse nutzen. Welches 
Byte ist bei jedem I2C device frei ( die slave lib erlaubt max adresse 
253), sodass ich dort den startbefehl ablegen könnte?

-Kann der I2C Bus auch mit niedrigeren Taktraten als 100 Khz betreiben 
werden ( möchten für die Slaves nur den internen Taktgeber(1 Mhz) 
verwenden)


Hoffe auf antowrten von euch!

Betsen Dnak im Vorraus

MFG

von ohohoh (Gast)


Lesenswert?

M. H. schrieb:
> -Kann der I2C Bus auch mit niedrigeren Taktraten als 100 Khz betreiben
> werden
Ja.

von M. H. (dbzwerg)


Lesenswert?

ohohoh schrieb:
> M. H. schrieb:
>> -Kann der I2C Bus auch mit niedrigeren Taktraten als 100 Khz betreiben
>> werden
> Ja.

Welche sind denn gültig? Würde gerne meinen Master mit 8-16 MHz 
Systematik laufen lassen und die Skates mit 1 MHz ... Geht das bzgl. I2c 
Takt? Gibt's es fester prescaler?

von ängstlicher (Gast)


Lesenswert?

M. H. schrieb:
> die Skates
???
Bei I2C bestimmt der Master den Takt, solange die Slaves mitkommen kann 
der Master den Takt auswählen der ihm gefällt...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

M. H. schrieb:
> - Welche adressen für meine Slaves sind erlaubt, d.h. welche
> "Herstellerbits" sind frei? ( werde auch andere I2C devices einbinden,
> u.a. temp sensor,  eeprom, rtc)

Da gibts nichts allgemein gültiges. Du musst halt die hardverdrahteten 
Adressen berücksichtigen und danach deine eigenen Adressen festlegen. 
Tunerchips z.B. liegen oft im 0xCX Bereich, Audiochips oft bei 0x5X oder 
0x6X, aber nichts ist genormt.

M. H. schrieb:
> Geht das bzgl. I2c
> Takt? Gibt's es fester prescaler?

Nein. I2C ist ein synchroner Bus wie SPI und alle Peripherie soll mit 
bis zu 100kHz laufen- und auch beliebig langsamer. EEPROMs mit ihren 
Zeitanforderungen sind dafür bekannt, das sie bei schnellem Bus auch mal 
gerne per ACK oder den Clock bremsen, aber langsam können sie alle, 
theoretisch bis 0 Hz.

von Peter D. (peda)


Lesenswert?

M. H. schrieb:
> - Welche adressen für meine Slaves sind erlaubt, d.h. welche
> "Herstellerbits" sind frei? ( werde auch andere I2C devices einbinden,
> u.a. temp sensor,  eeprom, rtc).

Es sind alle 128 Adressen erlaubt.
Du must schauen, ob sich die I2C-ICs mit fester Adresse nicht in die 
Quere kommen.
Und die übrigen Adressen kannst Du für Deine I2C-MCs verwenden.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.