Ich habe eine Zentralheizung, die ihre Info- und Fehlercodes auf 4 7-Segment-Displays anzeigt. Diese Displays werden wie folgt von einem SAA1064 angesteuert:
Dieser SAA1064 ( Datenblatt hier ) erhält seine Informationen über I2C vom Hauptcomputer, und die Anzeigen werden gemultiplext.
Hier ist mein Problem: Ich habe einen Himbeer-Pi (dessen I2C-Bus bereits mit 100 kHz verwendet wird) und ich möchte damit die angezeigten Werte lesen. Ich würde es vorziehen, keinen zusätzlichen Mikrocontroller zu verwenden, nur um zu analysieren, was angezeigt wird, oder um den I2C-Bus in der Zentralheizung zu schnüffeln (da ich wenig bis gar keine Erfahrung mit der Programmierung dieser habe). Wäre die Verwendung von I2C IO-Expandern eine Idee? Wenn ja, wie würde diese verkabelt werden?
SAA1064 bietet Befehle zum Schreiben von Anzeigewerten, aber sie sind nur schreibbar und können nicht über I 2 C ** zurückgelesen werden . Selbst wenn das Zurücklesen durch I 2 C möglich wäre, müssten Sie einen Milti-Master so implementieren, dass er die ursprüngliche I 2 C-Aktivität im Heizsystem nicht stört. Das kann einfach sein oder auch nicht.
Also, was kann möglicherweise getan werden?
Das OP erwähnt das Hinzufügen eines Mikrocontrollers (μC), der auf dem I 2 C-Bus lauschen würde . Dafür gibt es bereits Produkte; Sie sind bereits zum Schnüffeln programmiert und sollten keine Programmierung des μC erfordern.
Ich weiß jedoch nicht, wie einfach oder schwierig es wäre, sie an einen Raspberry Pi anzuschließen.
Ein anderer Ansatz wäre, am Ausgang des SAA1064 die Zahl zu sammeln, die an die LED-Zeichen geht. SAA1064 multiplext zwischen Zeichen und das stellt eine gewisse Herausforderung dar, weil Sie wissen müssen, welches Zeichen Sie lesen. Idealerweise würden Sie MX1 und MX2 als Trigger verwenden und die Werte auf dem digitalen Bus speichern. Dann könnten Sie sie über einen I/O-Expander auslesen.
** Details auf S. 5-6 im Datenblatt . Neben dem Datenblatt habe ich erste Erfahrungen mit SAA1064 gemacht. Ich habe es in 2 kommerzielle Instrumente entworfen. Für mich ist dieser Mangel an Rücklesefähigkeit ein Mangel an Funktion. Aber SAA1064 war ein altes (1991) Teil.
Übrigens wurde SAA1064 eingestellt.
MattyZ
KJdev