czy Układ HCS300 da się zaprogramować za pomocą CH341A lub CH347T
‒ W standardowej konfiguracji NIE da się poprawnie zaprogramować układu HCS300 za pomocą programatorów CH341A ani CH347T.
‒ Kluczowe przyczyny: brak wysokiego napięcia VPP ≈ 12-13 V oraz brak zaimplementowanego w oprogramowaniu autorskiego protokołu programowania KeeLoq.
Wymagania HCS300
• Tryb programowania „High-Voltage Serial” (HVSP): DATA, CLK, VDD oraz pin VPP ≈ 12 … 13 V.
• Pamięć OTP (klucz producenta, numer seryjny) + 16-B EEPROM (licznik synchro).
• Sekwencja czasowa i ładunki programujące opisane w nocie „HCSxxx Memory Programming” (Microchip DS41256).
Możliwości CH341A / CH347T
• Interfejsy: UART/I²C/SPI (+ JTAG/SWD w CH347T).
• Linie I/O pracują wyłącznie na 3,3 V lub 5 V; brak przetwornicy HV.
• Popularne aplikacje (AsProgrammer, NeoProgrammer, libusb-ch347-nor-prog) obsługują wyłącznie typowe układy 24xx/25xx, brak wsparcia HCS-KeeLoq.
Konsekwencje
• Bez VPP nie zostanie zapisana pamięć OTP → układ pozostanie niezaprogramowany lub częściowo (z ryzykiem uszkodzenia).
• Nawet po dostarczeniu zewnętrznego VPP potrzebny jest pełny stack programowy generujący ramki KeeLoq z właściwym timingiem (np. 70 µs CLK).
• Żadne powszechne GUI dla CH34x nie posiada „Device-ID = HCS300”.
‒ Microchip promuje PICkit 4/5 + MPLAB IPE (2024 r. – wsparcie utrzymywane), ICD 4, SNAP.
‒ Na GitHubie pojawiają się projekty open-source (np. ioelectro/hcs-programmer-soft), najczęściej wykorzystujące STM32 lub Arduino + przetwornicę step-up; do CH34x brak stabilnego fork’a.
‒ Rynek serwisowy korzysta z gotowych „klonerów pilotów” (Silca, Keyline, Elprotronic) – implementacja HVSP i KeeLoq w sprzęcie.
• VPP – napięcie programujące potrzebne do „przepalenia” komórek OTP; typ. 12,5 V, 2–5 ms.
• OTP – po jednorazowym zapisie nie można zmienić klucza; błędne dane = układ do kosza.
• KeeLoq – własny 64-bitowy algorytm Microchip; ramki programowe różnią się od standardów SPI (CS/DO/DI).
• CH347T ma wewnętrzny regulator 5 V → 1,8 V, ale brak HV.
• HCS300 stosuje się w systemach zabezpieczeń (bramy, alarmy, RKE). Nieautoryzowane klonowanie kluczy narusza prawo telekomunikacyjne i może być kwalifikowane jako przestępstwo.
• Programując cudze piloty należy uzyskać zgodę właściciela i producenta systemu.
• Implementacja DIY zajmuje więcej czasu niż zakup PICkit; ryzyko uszkodzenia OTP jest wysokie.
• W sieci krąży sprzeczna dokumentacja (stare rewizje z VPP=11 V) – stosuj DS41256 B lub nowszą.
• Analiza alternatywnych enkoderów (ATAES132A, NXP SAF360x) z niskonapięciowym programowaniem.
• Opracowanie open-source pluginu do libusb-ch347 z pełną obsługą KeeLoq.
• Testy odporności EM na zakłócenia przy HVSP – publikacja w IEEE Transactions on EMC.
CH341A/CH347T nie dostarczają wymaganego napięcia VPP ani nie mają zaimplementowanego protokołu KeeLoq, dlatego w konfiguracji fabrycznej NIE nadają się do programowania HCS300. Najpewniejszym, najszybszym i najbezpieczniejszym rozwiązaniem jest użycie dedykowanego programatora Microchip (PICkit 4/5, ICD 4) lub specjalistycznych klonerów HCS. Jeśli dysponujesz czasem oraz wiedzą, możesz potraktować CH34x jako interfejs SPI i napisać własne oprogramowanie, ale wymaga to dodatkowego hardware’u HV i pełnej implementacji sekwencji programowania.