Reverse engineering ToolkitRC P200
Cel jest prosty: zrozumieć elektronikę sterującą trzech kompaktowych zasilaczy P200 i przekształcić je w sterowany komputerowo, trzykanałowy zasilacz laboratoryjny.
Dlaczego ten zasilacz?
P200 jest mały, może być zasilany z magistrali 24 V DC, ma programowalne główne wyjście oraz przydatny port USB-C z szybkim ładowaniem. Trzy sztuki mogą obsłużyć większość codziennych testów o małym prądzie, pozostawiając większy RIDEN do sporadycznych obciążeń dużej mocy.
Identyfikacja sprzętu
Badany egzemplarz to oryginalny P200, a nie późniejszy P200 V2. Obudowa ma około 84 mm długości, co odpowiada wersji V1. To istotne, ponieważ V1 i V2 korzystają z innych pakietów firmware.
USB: przydatne, ale nie do zdalnego sterowania
Po podłączeniu P200 do Linuxa pojawia się pojedynczy interfejs USB: STMicroelectronics 0483:5820, klasa 8 Mass Storage, SCSI Bulk-Only. System montuje niewielki wolumin FAT12 o nazwie Toolkit. Nie pojawia się CDC serial, HID ani dodatkowy interfejs producenta.
Wolumin jest więc przydatny do aktualizacji firmware, ale nie daje oczywistej, udokumentowanej drogi do normalnego sterowania z komputera.
Pakiet firmware
Oficjalny pakiet V1.05-STN zawiera obraz app.upg o rozmiarze 86 548 bajtów. Linux rozpoznaje na początku tablicę wektorów Cortex-M, w tym początkowy wskaźnik stosu 0x200013F0 oraz reset vector 0x08009101.
W obrazie znajdują się czytelne stringi dotyczące napięcia, prądu i protokołów ładowania USB. Pierwsze założenie, że offsety pliku odpowiadają bezpośrednio adresom wykonywalnego flash, nie potwierdziło się podczas analizy. Traktujemy więc format firmware jako nadal nierozwiązany problem.
Dostęp do PCB zmienia plan
Po otwarciu urządzenia znaleźliśmy opisane testpointy oraz złącze debug. Płyta udostępnia sygnały 3,3 V, reset, clock/data i inne punkty kontrolne. GD32F103 obsługuje SWD, dlatego jednym z kolejnych kroków będzie połączenie debuggera w trybie tylko do odczytu.
Inna grupa testpointów może udostępniać niskonapięciową magistralę sterującą w pobliżu sekcji mocy. Najpierw zmierzymy napięcia spoczynkowe, a następnie przechwycimy ruch analizatorem logicznym podczas zmian napięcia, limitu prądu i stanu wyjścia.
Następne pomiary
- Pomiar wszystkich opisanych testpointów względem GND.
- Przechwycenie podejrzanej pary clock/data za pomocą sigrok/PulseView.
- Osobne capture dla startu, ON/OFF, zmian napięcia i limitu prądu.
- Sprawdzenie ciągłości pinów SWD przed podłączeniem debuggera.
- Pierwsze operacje SWD wyłącznie read-only — bez unlock i erase.
Cel końcowy
Jeżeli bezpiecznie odtworzymy ścieżkę sterowania, płytki wyświetlaczy mogą przestać być potrzebne. Mały kontroler mógłby udostępniać napięcie, prąd, stan wyjścia i telemetrię hostowi Linux, a trzy stopnie mocy P200 korzystałyby ze wspólnego źródła 24 V jako niezależne kanały.