Reverse engineering ToolkitRC P200
Możemy już ustawiać napięcie i limit prądu, przełączać główne wyjście oraz odczytywać pomiary z przeglądarki. Mostek USB na Pico i własny dodatek do firmware łączą działający P200 V1 z Labrax Bench Control. W tym samym panelu działa też USB-C OFF/AUTO.
Co działa teraz
- Regulacja napięcia i limitu prądu oraz główne OUTPUT ON/OFF w jednej karcie przeglądarki.
- APPLY zachowuje poprzedni stan wyjścia: OFF → sprawdzone nastawy → ON, jeśli wyjście było włączone.
- Pomiary głównego napięcia, prądu ze znakiem i mocy oraz opcjonalny Live z odczytem co około sekundę.
- Identyfikacja kontrolera USB-C, pomiary i sprawdzone komendy USB OFF/AUTO.
- Zasilanie z osobnego źródła 12 V / 5 A, bez zależności od zasilania i stanu Ridena.
Firmware przyjmuje nastawy głównego wyjścia 1–30 V i 1–10 A w granicach 200 W. Są to granice komend, a nie deklaracja przetestowania całego zakresu pod obciążeniem. Dla obecnego źródła 60 W panel stosuje zachowawczy wspólny budżet 54 W; zmierzony pobór USB jest uwzględniany przed dopuszczeniem nastawy głównego wyjścia.
APPLY bez ręcznego OFF i ponownego ON
Pierwsza wersja dodatku wymagała wyłączenia głównego wyjścia przed zmianą nastaw. Teraz panel wykonuje tę sekwencję automatycznie: odczytuje aktualny stan, sprawdza budżet źródła, w razie potrzeby robi OFF, zapisuje i weryfikuje obie nastawy, a następnie przywraca ON po poprawnych kontrolach. Błąd komendy lub odczytu nie powoduje automatycznego ponowienia ON. Podczas APPLY występuje krótka przerwa zasilania odbiornika; nie jest to płynna regulacja przy stale włączonym wyjściu.
Wyniki prób na stanowisku
Walidacja integracji objęła również 40 testów adaptera, sześć testów API, 18 przypadków interfejsu i dziesięć testów kodu ARM. Po każdej zapisanej stronie aktualizacji wykonano pełny odczyt kontrolny. Zachowaliśmy fabryczny kod regulacji i zabezpieczeń, kalibrację oraz nastawy konkretnego egzemplarza.
Jedno Pico na jeden P200
Działająca ścieżka sterowania to przeglądarka → lokalna usługa Labrax → mostek USB na Pico → własne łącze GPIO na istniejących przewodach clock/data → dodatek do firmware P200. Do każdego zmodyfikowanego P200 wystarczy jedno Pico. Drugie Pico, używane na początku do badania magistrali, nie jest potrzebne do zwykłego sterowania. USB Mass Storage pozostaje drogą aktualizacji firmware, a nie łączem sterowania podczas pracy.
Obecne ograniczenia i dalsze kroki
USB AUTO przywraca fabryczną negocjację z odbiornikiem; nie wybiera ręcznie napięcia PD ani limitu prądu. Obecny profil własnych komend USB wymaga głównego OUTPUT OFF i obejmuje odbiorniki 5 V do 2 A. Pełne sterowanie POWER całego urządzenia i praca po odłączeniu LCD nie zostały wdrożone ani zweryfikowane. OUTPUT OFF wyłącza główne zaciski, a nie cały zasilacz.
Pierwszy egzemplarz wyłączał się nieregularnie, również podczas prób bez obciążenia, więc został odłożony. Działającą implementację sprawdziliśmy na drugim egzemplarzu; użytkownik potwierdził również stabilną pracę przez 30 minut. Wskazuje to na problem konkretnego pierwszego zasilacza, ale dokładnej przyczyny nie ustaliliśmy. Kolejne kanały P200 wymagają osobnej integracji.
Dokumentacja projektu na GitHubie opisuje zakres prób, architekturę i wyniki walidacji. Jest to zapis prototypu, a nie uniwersalny obraz firmware dla każdej wersji P200.
Początek badań · wrzesień 2026
Poniższe notatki opisują wczesne ustalenia oraz ówczesny plan pomiarów.
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. Na tym etapie format firmware został zapisany jako nierozwiązana kwestia.
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 połączenie debuggera w trybie tylko do odczytu zostało wytypowane jako jedna ze ścieżek badań.
Inna grupa testpointów mogła udostępniać niskonapięciową magistralę sterującą w pobliżu sekcji mocy. Plan zakładał pomiar napięć spoczynkowych, a następnie przechwycenie ruchu podczas zmian napięcia, limitu prądu i stanu wyjścia.
Pierwotny plan pomiarów
- 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.
Szerszy plan laboratorium
Docelowo wspólne źródło 24 V ma zasilać niezależny kanał Riden i dwa kanały P200, każdy z własnym mostkiem Pico. Obecny sprawdzony układ to jeden P200 z osobnym źródłem 12 V / 5 A. Dodanie kolejnego kanału nie wymaga zmiany kalibracji działającego egzemplarza.