Forum: Mikrocontroller und Digitale Elektronik I2C als Gerätebus


von Achim S. (achims)


Lesenswert?

Hallo Gemeinde
Der I2C Bus wird in Geräten der Unterhaltungselektronik verwendet. 
Soweit klar. Rechweite auch nur begrenzt, ist klar. Es werden Sachen wie 
Bild Helligkeit, Ton, Farbe, Fernbedienung usw damit gesteuert. Es gibt 
dazu IC die bereits einen Eingang I2C haben. Frage dazu:
Wie geht das genau? Wie läuft die Kommunikation in den Geräten ab. Meine 
nicht so nichts sagende Erklärungen, wie senden --> Empfangen --> 
Regeln, sondern etws genauer. Hat jemand was dazu?
achim

von holger (Gast)


Lesenswert?


von spontan (Gast)


Lesenswert?

Ist Google kaputt? Oder Wikipedia? Oder hier im Forum schon gesucht?

von Achim S. (achims)


Lesenswert?

Google ist nicht defekt. Bei einer Suche bekomme ich so einige Dutzend 
bis hundert verschiedene IC aufgelistet, die Grundlagen mit dem Hinweis 
auf das nxp/pdf, dann gibt es noch viel Erklärungen über Impulse, 
Frequenzen und Adressen. Dann kommt das riesige Gebiet von Versuchen und 
Fragen zum Bus und den vielen Programmen über dieses und jenes in den 
verschiedensten Sparchen und vielleicht so an Stelle 5000 oder mehr ein 
Hinweis auf die Funktion in Geräten, aber nur vielleicht. Bei der ganzen 
Sache habe ich Seiten mit den japanischen/chinesische-Kont.../russischen 
seiten ausgeblendet. Leider steht zu den Funktion in TV Geräten nichts 
(viel) drin. Behandel so einige als Geheimsache. Das einzigste was ich 
gefunden habe ist die Ansteuerung von Tuner mit PCF8574. Da gibt es aber 
noch ein paar Fragen. z.B.:
-Lautstärkeregelung mit IR Fernbedienung
-Quellenwahl mit IR FB

achim

von holger (Gast)


Lesenswert?

>Da gibt es aber noch ein paar Fragen. z.B.:
>-Lautstärkeregelung mit IR Fernbedienung
>-Quellenwahl mit IR FB

Und was hat eine IR Fernbedienung mit I2C zu tun?
Genau, gar nichts.

von spontan (Gast)


Lesenswert?

>Wie läuft die Kommunikation in den Geräten ab

Wenn das die Frage war, so lies doch einfach mal ein oder zwei 
Datenblätter, da stehts drin.

von Andreas D. (rackandboneman)


Lesenswert?


von Mike (Gast)


Lesenswert?

Achim Seeger schrieb:
> Rechweite auch nur begrenzt, ist klar.

Richtig, bei 100m ist irgendwann mal Schluß (sagt zumindest NXP in 
seiner AN10658 Sending I2C-bus signals via long communications cables)
http://www.nxp.com/documents/application_note/AN10658.pdf

> Wie geht das genau? Wie läuft die Kommunikation in den Geräten ab. Meine
> nicht so nichts sagende Erklärungen, wie senden --> Empfangen -->
> Regeln, sondern etws genauer. Hat jemand was dazu?

(Fast) jedes Datenblatt eines Bausteins mit I2C-Interface zeigt den 
genauen Ablauf der Kommunikation. Oder möchtest du wissen, über was sich 
die Bausteine mit dem Controller unterhalten?

von Max G. (l0wside) Benutzerseite


Lesenswert?

Mike schrieb:
> (Fast) jedes Datenblatt eines Bausteins mit I2C-Interface zeigt den
> genauen Ablauf der Kommunikation. Oder möchtest du wissen, über was sich
> die Bausteine mit dem Controller unterhalten?

Mein Eindruck war, er will wissen, wie in den Bausteinen die 
I2C-Kommunikation abgehandelt wird. Natürlich digital, in VHDL oder 
Verilog beschrieben.
Schau mal bei Opencores vorbei, da gibt es bestimmt eine Implementation.

Max

von Achim S. (achims)


Lesenswert?

Warum sollte die FB nichst mit dem Bus zu tun haben? Das Signal einer FB 
wird durch IR E zum Prz geleitet, danach auf den Bus zu den einzelnen 
Bausteinen und verarbeitet. Dabei erfolgt eine Umsetzung des IR FB 
Protokolls auf den Bus. Es ist mir klar das die kommunikation innerhalb 
des Busses digital erfolgt. Das dabei zeichen gesendet werden, so mit 
Start und Stop Bit, adresse usw. Ich suche keine Info auf welchem Blatt 
eines Herstellers was steht, sondern mehr die Funktion. Der Aufruf bzw. 
das Ansprechen kann in C oder anderen erfolgen. Ist mir alles klar. Der 
Rest aber nicht. Bei einem Verweis auf WIKI (nicht viel sagend) oder den 
Daten der Hersteller - muss ich annehmen, das euch mehr an Belehrung 
gelegen ist. Das gibt auch die Möglichkeit, das Ihr es auch nicht wisst 
und euch lieber hinter den allgemeinen Floskeln versteckt, so wie musste 
lesen oder steht doch alles in den datenblättern
achim

von Cyblord -. (cyblord)


Lesenswert?

Achim Seeger schrieb:
> Warum sollte die FB nichst mit dem Bus zu tun haben? Das Signal einer FB
> wird durch IR E zum Prz geleitet,
Bitte was?

> danach auf den Bus zu den einzelnen
> Bausteinen und verarbeitet. Dabei erfolgt eine Umsetzung des IR FB
> Protokolls auf den Bus.
Echt? Wie kommst du darauf? Das macht jeder Hersteller wohl anders.

> Es ist mir klar das die kommunikation innerhalb
> des Busses digital erfolgt. Das dabei zeichen gesendet werden, so mit
> Start und Stop Bit, adresse usw. Ich suche keine Info auf welchem Blatt
> eines Herstellers was steht, sondern mehr die Funktion.
Welche Funktion? Und wo soll diese Funktion stehen, wenn nicht auf einem 
"Blatt" des Herstellers?
1.) Die Funktion jedes einzelnen I2C-Bausteins, steht im Datenblatt des 
Bausteins.
2.) Die einheitliche I2C-Spezifikation, steht dort manchmal auch. 
Ansonsten gibts da genug Dokumente zu. Da ist auch Wikipedia 
ausführlich.

3.) Die genaue Funktion des "Masters" in einem Fernseher oder 
DVD-Player, welcher die Bausteine ansteurt, die kennt meist nur der 
Hersteller. Das ist seine Software und manchmal auch ein eigener 
Chip/Asic. Da ist nichts dokumentiert.

> Der Aufruf bzw.
> das Ansprechen kann in C oder anderen erfolgen. Ist mir alles klar. Der
> Rest aber nicht. Bei einem Verweis auf WIKI (nicht viel sagend) oder den
> Daten der Hersteller - muss ich annehmen, das euch mehr an Belehrung
> gelegen ist. Das gibt auch die Möglichkeit, das Ihr es auch nicht wisst
> und euch lieber hinter den allgemeinen Floskeln versteckt, so wie musste
> lesen oder steht doch alles in den datenblättern

Ich hab ehrlich gesagt keinen Schimmer was du wissen willst. Deine 
Annahmen oben mit dem FB-Signal sind schlicht unfug. Das FB-Signal wird 
über einen IR-Empfänger empfangen und dann von der Software des Gerätes 
ausgewertet. Ob und was dann irgendwann über den I2C-Bus gesendet wird, 
hat mit dem FB-Signal nicht die Bohne zu tun. Darüber werden aben von 
Master einige Bausteine im Gerät gesteuert. Das wars. Irgendwie hängt 
das natürlich mit den Eingaben (auch per FB) zusammen. Aber es werden 
keineswegs irgendwie die FB-Signale über den Bus geschickt. Da hast du 
eine völlig falsches Bild.

Also nochmal: Was willst du genau wissen?

von TTL (Gast)


Lesenswert?

was soll das Fernbedienungsprotokoll auf dem BUS?

ich glaube du hat das Konzept von Bus, Protokoll, etc überhaupt nicht 
verstanden

von zufaulzumlogin (Gast)


Lesenswert?

Achim Seeger schrieb:
> Das Signal einer FB
> wird durch IR E zum Prz geleitet, danach auf den Bus zu den einzelnen
> Bausteinen und verarbeitet.

Naja, der Empfänger gibt erstmal nur die Pulse raus, die vom Prozessor 
interpetiert werden müssen. Dieser kann dann je nach Funktion am I2C-Bus 
angeschlossenen Komponenten mit entsprechendem Inhalt ansprechen.

Achim Seeger schrieb:
> Es ist mir klar das die kommunikation innerhalb
> des Busses digital erfolgt. Das dabei zeichen gesendet werden, so mit
> Start und Stop Bit, adresse usw. Ich suche keine Info auf welchem Blatt
> eines Herstellers was steht, sondern mehr die Funktion. Der Aufruf bzw.
> das Ansprechen kann in C oder anderen erfolgen. Ist mir alles klar. Der
> Rest aber nicht.

Ich verstehe die Frage ehrlich gesagt nicht. Was meinst du denn mit 
"Funktion"? Das hängt doch vom angesprochenen Baustein ab. Oder meinst 
du jetzt in einem spezifischen Gerät? Was meinst du mit "der Rest aber 
nicht"?

von Achim S. (achims)


Lesenswert?

Auf der Vorderseite (meistens) befindet sich der Empfänger der FB. 
Anschluss meistens (je nach Hersteller) +5V, GND, Date. Diese werden zum 
Prozessor geführt. Jeder Hersteller verwendet eine andere Codierung. So 
war früher der RC5 Code von Philipps standart. Dabei gibt es auch 
Unterschiede ob TV, Video usw. Im Proz. erfolgt die Auswerttung dieser 
Signale und der weiteren Vearbeitung und damit die Festlegung an welchen 
IC es geschickt wird. Innerhalb des Gerätes sind viele IC mit dem I2C 
Bus verbunden. Der Proz hat teilweise verschieden Ausgänge. Einer könnte 
direckt ins Netzteil gehen und den standby schalten. Könnte auch aus 
einem IC kommen, der Bildfrequenz, Ablenkfrequenz usw steuert. Damit 
meine ich nicht die jetzigen Geräte. Die sind noch viel digitaler. 
Signalweg: FB-IR Empfä.- Prozessor-Bus- IC-Bild oder IC-Ton. Inerhalb 
dieses Busses erfolgt auch die Steuerung "Senderspeicher" (24C..) und 
Videotext. Nicht zu vergessen die ständige Kommunikation der IC bei 
Betrieb (Wer macht wann was). Und genau so was suche ich. Halt Info 
dazu. Die IC z.B. für Bild oder Ton sind teilweise hochkomplex. 
Entsprechend muss eine bestimmte Menge an Info/Steuerung kommen. Hoffe 
das ich diesmal besser verständlich bin.
achim

von Cyblord -. (cyblord)


Lesenswert?

Das was du suchst ist die HW/SW Architektur eines Gerätes. Das macht 
jeder anders und ist, wie gesagt, nicht dokumentiert. Das meiste ist 
Software.

Heutzutage läuft das nochmal anders, da die TVs eigentlich Computer sind 
und eher ein Mainboard haben, als eine klassische Steuerplatine mit I2C. 
Somit würde deine Frage hier 1:1 auch auf PCs zutreffen.

Vor diesem Problem steht ja jeder, der ein Gerät aus Komponenten bauen 
will. Er muss eine Software schreiben welche die Komonenten so ansteuert 
dass das Gerät am Ende tut was es soll. Die Komponenten können über 
verschiedene Busse verbunden sein. Das hat weder was mit TVs noch mit 
I2C zu tun.
Dazu wirst du nichts allgemeingültiges finden. Das ist im Endeffekt die 
Quintessenz einer Geräteentwicklung.

Interessant wäre der Hintergrund deiner Frage. Worauf zielt sie ab? 
Willst du ein Referat machen, einen TV zerpflücken/reparieren, oder gar 
einen TV selber bauen? Eventuell kann dir dann mehr geholfen werden.

gruß cyblord

: Bearbeitet durch User
von Blackbird (Gast)


Lesenswert?

Das legt der Hersteller des TV fest, wie er das verschaltet und welche 
"Info/Steuerung" er verwenden will.

Das ist wie Lego: Die "Bausteine" sind genormt, die "Verbindungen" auch. 
Trotzdem wird jeder was anders daraus bauen (können).
Am Ende sehen alle wie ein TV aus, aber innen kann das total anders 
"verbaut" sein. Trotz (oder gerade mit) Standard-ICs.


Blackbird

von Achim S. (achims)


Lesenswert?

Keine Angst, kein Referat, TV und andere Braune Ware habe ich 20 Jahre 
gemacht, auch keinen bauen. Es ist mir klar das heutige Geräte, ein PC 
mit Bild sind. Innerhalb der Innerein hat jeder Hersteller sein Konzept 
und das steckt in der Software. Mir geht es eigentlich um uns zugänglich 
ICs. Das mit dem PDF und so. Wie immer ana zu Digi oder digi zu ana, in 
und out und out zu in, vielleicht noch RTC und DCF und weiter? Dann 
kommt noch das Gebiet einer Haussteuerung. Dann sind wir wieder bei der 
Frage.
Das ist eigentlich (bisschen) der Hintergrund. Der Bus kann doch mehr, 
aber was?
achim

von Cyblord -. (cyblord)


Lesenswert?

Achim Seeger schrieb:

> Das mit dem PDF und so. Wie immer ana zu Digi oder digi zu ana, in
> und out und out zu in, vielleicht noch RTC und DCF und weiter?
Immer wenn man denkt es kommt eine konkrete Fragestellung dann endet der 
Satz im Nirwana und wird kryptisch.
Welche PDF?

Ana zu Digi? Digi zu Ana? Es gibt I2C-Bausteine die eine analoge 
Spannung messen können, also einen AD-Wandler drin haben. Und auch DAC, 
die können also eine analoge Spannung ausgeben. Aber die machen die 
Wandlung ja von alleine. ich sage denen nur "Gib mir die Spannung", und 
dann senden die mir 2 Bytes und das repräsentiert dann die Spannung. Mit 
der Wandlung hab ich nix zu tun.

> Das ist eigentlich (bisschen) der Hintergrund. Der Bus kann doch mehr,
> aber was?

Der Bus kann nichts weiter, als Bytes von einem Baustein zu einem 
anderen Baustein zu schicken. Die Bausteine haben Adressen und können 
deshalb alle an denselben 2 Leitungen hängen. Das kann der I2C-Bus. 
Nicht mehr und nicht weniger.

Nun gibt es als "Slaves" Bausteine die an diesem Bus hängen können. Die 
haben bestimmte Fähigkeiten. Manche haben digitale IOs, anderen Analoge 
Eingänge oder Ausgänge, andere haben ne DCF Uhr drin. Diese Bausteine 
steuert man über den I2C-Bus an. Sendet ihnen Daten, empfängt von ihnen 
Daten.
Wie man Bytes hin und her schickt, schreibt die I2C-Spec vor und ist 
somit immer gleich.Welche Daten genau man schicken muss und wann und 
welche Bedeutung die Bytes haben (Protokoll), das ist von Baustein zu 
Baustein verschieden und muss dem Datenblatt entnommen werden. So kann 
man diese Bausteine dann benutzen und Ausgänge setzen oder die Uhrzeit 
rauslesen.

Mehr ist es nicht. Alles andere macht deine Software im Microcontroller. 
Sie kann nun die Daten aus den I2C-Bausteinen nutzen und was auch immer 
damit tun.

Ist das irgendwie klar geworden?

: Bearbeitet durch User
von Achim S. (achims)


Lesenswert?

Sorry, schreibfehler, soll PCF 85... sein

von MCUA (Gast)


Lesenswert?

>Der I2C Bus wird in Geräten der Unterhaltungselektronik verwendet.
...wobei die Übertr.Rate extrem gering ist! Viel weniger als selbst SPI 
(typ.weise)! Das schränkt die Nutzbarkeit extrem ein, bzw kann man ganz 
darauf verzichten, wenn man schon schnellere Busse im Gerät hat.

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.