Hallo zusammen,
gerne würde ich mich ein wenig in die Fehlersuche bei Embedded Systemen einarbeiten und auch mal das Thmea BGA löten vertiefen. Ich habe mir drei Siemenes Solarwechselrichter (PVM20) besorgt.
Davon starten zwei nicht und einer läuft Problemlos. Der Wechselrichter hat eine Steckbare Platine, mit µC, RAM, Flash etc.. Genauerer Aufbau dazu in dem angehangenem Bild.
Tausche ich diese Platine, vom i.O. Gerät in die beiden defekten Geräte, laufen die defekten Geräte auch. Der Fehler liegt also definitiv an dieser Platine.
Bei der defekten Platine gehen nur die LEDs vom Wechselrichter an, das Display bleibt leer und mehr passiert nicht.
Meine Vermutung ist, dass ein Linux Betriebssystem genutzt wird. Ich habe mir das EEPROM ausgelesen und im Hex Editor angesehen. Dies sieht mir nach Linux aus, bin mir damit aber nicht sicher. (EEPROM im Anhang)
Verbaut sind auch noch zwei, vermutlich, Stepdowns. Dazu finde ich aber keine Datenblätter. "LADT" scheint das Marking zu sein, da die Codes darunter auf den anderen beiden Platinen andere sind. Das wird Date Code etc. sein. Wenn ich den StepDown kennen würde, könnte man diesen nochmal gezielter durchmessen.
Verbaut ist ein NXP MPC5200B (Datenblatt: https://www.mouser.de/datasheet/2/302/MPC5200BDS-3138637.pdf)
Am Rand der Platine sind Kontakte nach außen geführt, die mir so scheinen, dass sie in der Produktion zum Programmieren genutzt werden. Die Kontakte auf der Ober- und Unterseite sind nicht durchkontaktiert.
Bei einer Platine habe ich den Flash ausgelötet und wollte gucken ob die Pins zum Programmieren auf diese Stiftleiste gehen, was ich bis jetzt noch nicht verifizieren konnte. Ein T56 Programmer ist vorhanden, allerdings noch kein passender BGA Adapter.
Mein Wunsch wäre es:
- die i.O. Platine sollte nachher auch noch i.O. sein
- eine Platine kann zum reverse engineering genutzt werden
- die Dritte Platine sollte zum Schluss auch laufen
Nun meine Frage an euch: Wie geht man am besten bei der Fehlersuche vor? Welche Bauteile sind die, die am ehesten Ausfallen? Gibt es ggf. Debug Möglichkeiten?
Vielen Dank und viele Grüße Chris
