Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Keeloq][HCS500] Problem z programowaniem

kozak_sc 10 Sie 2010 15:42 2223 5
  • #1 10 Sie 2010 15:42
    kozak_sc
    Poziom 23  

    Witam
    Czy udało się komuś uruchomić układ HCS500 ?? Podłączyłem tego scalaka do AVR i udało mi się uruchomić funkcje READ from user eeoprom i Write to user eeprom natomiast jest problem z funkcją programowania. Wysyłam ramkę

    Code:

    //command
    0xB4
    //control
    0x00
    //8 byte crypt key
    0x00
    0x00
    0x00
    0x00
    0x00
    0x00
    0x00
    0x00

    potwierdzenie od HCS przychodzi po 150ms (według datasheet-a powinno być max 30ms). Nie działa również funkcja Activate learn (może dlatego że nie został zaprogramowany crypt key ?). Ogólnie jest mało informacji na temat tego układu gdyż większość projektów z keeloq-iem ma dekodery na PIC-ach programowe. Ja chciałbym użyć innych procków jednak zabrania tego licencja i dobrym rozwiązaniem byłby sprzętowy dekoder. Proszę o informacje czy komuś się udało uruchomić któryś ze sprzętowych dekoderów Microchipa (HCS500,HC512 lub HCS515)

    0 5
  • CControls
  • #2 10 Sie 2010 17:12
    michalko12
    Specjalista - Mikrokontrolery

    Mnie się udało, ale to było 12 lat temu :)) Ciekawe jest to co mówisz o tej licencji, znam kogoś kto to na Ziloga przepisał, możliwe że nie czytał licencji.
    Wracając do HCS500 nie miałem z nim większych problemów przy współpracy z ST62 tym bardziej że wtedy dopiero zaczynałem "zabawę" z uC.


    Sprawdź sobie ostatnią pozycję w tabeli 4.1 w DS (40153c.pdf / 10str.)
    Masz jak byk napisane 170ms

    Cytat:
    COMMAND ACTIVATION TIMES
    While receiving transmissions — 2.5 ms BPWMAX = 2.7 ms
    During the validation of a received transmission — 3 ms
    During the update of the sync counters — 40 ms
    During learn — 170 ms

    0
  • CControls
  • #3 12 Sie 2010 13:59
    kozak_sc
    Poziom 23  

    Uruchomiłem wszystko, wniosek jest taki datasheet-y Microchip-a są kompletnie do dupy !! Napisane chaotycznie i ciężko coś znaleźć. MAm jescze jedno pytanko odnośnie Keeloq-a a mianowicie mam 3 piloty i odbiornik z zaprogramowanymi tymi samymi kodami manofaktury. Nauczyłem odbiornik jednego z pilotów (każdy pilot ma inny numer seryjny) a on reaguje na wszystkie 3 piloty, jak to właściwie jest ??

    Dodano po 2 [godziny] 53 [minuty]:

    Pobawiłem się jeszcze trochę tym i wychodzi na to że HCS500 jest cały czas w test mode bo nie można zaprogramować żadnego odbiornika. Daję learn i wciskam przycisk na pilocie i wszystko zgodnie z datasheet-em dostaje status message. Ale po drugiej transmisji bit RSLT jest na 0 także programowanie się nie powiodło :( Nie rozumiem też które zbocze opadające mają na myśli w datasheet-cie str12 :

    The controlling microcontroller
    must ensure that the clock line does not go
    high 60 ms after the falling edge of the data line, for this
    will terminate learn.

    0
  • #4 12 Sie 2010 15:02
    michalko12
    Specjalista - Mikrokontrolery

    Cytat:
    Nie rozumiem też które zbocze opadające mają na myśli w datasheet-cie str12 :

    The controlling microcontroller
    must ensure that the clock line does not go
    high 60 ms after the falling edge of the data line, for this
    will terminate learn.


    Suma czasów TCLH + TCLL z FIGURE 4.7 nie może być mniejsza niż 60ms.

    0
  • #5 13 Sie 2010 13:53
    kozak_sc
    Poziom 23  

    No trochę mi się to nie zgadza :(
    Z tabeli 8.1.6 :
    min max
    TCLH Clock high hold time 1.2 ms
    TCLL Clock low hold time 0.020 — 1.2 ms

    1.2+1.2>60 raczej będzie ciężko.
    W międzyczasie zauważyłem że funkcje read from user EEprom i write to user eeprom nie działają jednak prawidłowo, tzn jak w pętli zapisze same zera to faktycznie zeruje natomiast zapis pojedynczych komórek już nie działa. Zapis do komórki 0 działa ok natomiast jak usiłuje zapisać do innej to albo nie ma efektu albo jakaś dziwna dana pojawia się w innej komórce. Może coś nie tak z pamięcią EEPROM i dlatego nie chce się nauczyć ? Dzisiaj powinna przyjść paczka z nowymi 24lc02 to zobaczymy :)

    Dodano po 5 [godziny] 15 [minuty]:

    Nowe pamięci nic nie pomogły :( Zauważyłem też ciekawe zjawisko jak daje zapis do user eeprom to fizycznie zapis jest dokonywany (ida dane po i2c) tylko jeśli dana jest <=0x7F.

    0
  • #6 09 Maj 2016 17:28
    Tuacuaban
    Poziom 6  

    Witam, temat już trochę stary, jednak może ktoś jeszcze tutaj zagląda. Mianowicie również mam problem z dodaniem pilota do odbiornika z układem HCS500. Układ odbiornika zbudowany od zera wg. schematu w dokumentacji Microchipa, podpięty jedynie do radia z jakiejś starej centrali, podobnie z pilotem (zmieniony układ na HCS301). Układ nadajnika HCS301 jak i HCS500 zaprogramowane jeśli chodzi o kod producenta i numer seryjny za pomocą programatora kupionego w sieci. Pilot wykazuje prawidłowe działanie na testerach. Po wywołaniu nauki pilotów przyciskiem learn naciskam dwa razy dowolny klawisz pilota po czym puszczam learn. Pilot działa ale zawsze tylko na dwa wciśnięcia, potem muszę uczyć go od nowa. Jeśli nie wykorzystam tych dwóch wciśnięć pilota, na które centrala reaguje, następuje i tak po kilkudziesięciu sekundach rozprogramowanie zasygnalizowane diodą. Czy ktoś zna prawidłową procedurę uczenia HCS500? Układ wiadomo, rzadko opisywany ze względu na wspomniane wyżej procesory PIC używane przez producentów...

    0