Ich brauche ein wenig Hilfe bei der richtigen Schaltung für eine Verbindung zwischen einem Mikrocontroller und dem HDMI CEC-Bus .
Hier ist der ganze Plan:
Grundsätzlich möchte ich einen ATMega-Mikrocontroller verwenden, um das CEC-Bussignal zu decodieren und über den CEC-Bus mit anderen angeschlossenen Geräten (TV / BD-Player / AV) zu kommunizieren.
Der momentane Zustand:
Ich habe die CEC-Leitung an den Eingangserfassungsstift meines Mikrocontrollers angeschlossen. Und die CEC-Masse mit der Masse des Mikrocontrollers. Der CEC-Bus arbeitet mit 3,3 V (max. 3,63 V) und mein Mikrocontroller mit 5 V. Dies ist kein großes Problem und funktioniert gut (aufgrund der Schaltschwelle). Ein C-Programm dekodiert das Signal und sendet es derzeit über UART aus. Dies funktioniert hervorragend und ich kann jedes Signal meiner CEC-fähigen Geräte lesen.
Nun das Problem:
Im aktuellen Zustand kann ich nur Signale lesen, aber ich möchte natürlich auch etwas schreiben. Wie muss ich meinen Mikrocontroller anschließen, um den Status zwischen High / Low am Bus zu ändern?
Vielleicht die Lösung?!:
Aufgrund der unterschiedlichen Logikpegel (3,3 V <-> 5 V) benötige ich zunächst eine Pegelverschiebung. Ich würde einen einfachen Spannungsteiler (10k und 6,8k) verwenden und ihn von einem Ausgangspin (außer dem Pin, den ich zum Lesen des Signals verwende) an die CEC-Leitung anschließen. Würde es so funktionieren? Wenn die Leitung HIGH ist und ich mit meinem Mikrocontroller auch einen HIGH-Zustand anwende, verursacht dies Probleme? Wie würde ich den Stromausfall minimieren?
Ich möchte hier nichts beschädigen und mein elektrisches Wissen ist nur das Grundlegende: D.
quelle
Es gibt viele Informationen in diesem Thread im Arduino-Forum , es gibt einen Schaltplan für Empfangen und Senden, siehe unten. Antwort Nr. 81 auf Seite 6 enthält vollständige Cadsoft Eagle-Schaltplan- und Layoutdateien.
Es kann nützlich sein, auch I2C an den HDMI-Anschluss anzuschließen, um EDID-Informationen vom Fernsehgerät zu erhalten. Wenn der AVR mit 3,3 V betrieben wird, sind keine Schaltkreise erforderlich. Schließen Sie einfach Daten und Taktstifte direkt von AVR an HDMI an (siehe Adler) schematisch).
Sie haben auch eine Art Bibliothek geschrieben. Ich bin mir nicht sicher, wie nützlich sie ist, da sie für Arduino geschrieben wurde, aber der Code ist auf Google Code zu finden .
Bitte teilen Sie Ihre C-Bibliothek für AVR, ich würde gerne etwas haben, um mit mir selbst zu beginnen. :) :)
,
quelle
Alles was Sie brauchen ist die Schaltung unten.
Könnten Sie bitte Ihr Projekt teilen?
quelle