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

Keeloq encoder - w C. Przystosowanie do PIC16.

rmajda 29 Lip 2010 15:55 5062 11
  • #1 29 Lip 2010 15:55
    rmajda
    Poziom 20  

    Witam,

    Koledzy mam problem z napisaniem enkodera keeloq w C. Znalazłem kod taki jak wkleiłem w tym wątku:

    http://www.ekiert.com/cgi-bin/yabb/YaBB.pl?board=pic;action=display;num=1280331527

    ale nie umiem go przystosować do PIC16. Ma ktoś może jakiś pomysł? A może wie ktoś jak zkompilować program w MPASM i dołączyć potem do aplikacji w C kompilowanej Hitechem?

    Pozdrawiam,

    0 11
  • #2 31 Lip 2010 01:51
    Urgon
    Poziom 36  

    AVE...

    Problem w tym, że prawo amerykańskie zakazuje swobodnego dostępu do bibliotek kryptograficznych. Dlatego trudno jest coś znaleźć ot tak, na stronach. Ale zajrzyj tutaj(5USD i wysyłają tylko do krajów, które nie mają nałożonego embarga na systemy kryptograficzne).
    Powinieneś też się rozejrzeć albo za którymś z PICów wyposażonych w sprzętowy enkoder/dekoder Keeloq(PIC16F635/PIC16F636/PIC16F639) lub za specjalizowanym scalakiem...

    0
  • #3 31 Lip 2010 21:31
    rmajda
    Poziom 20  

    Dzięki Urgon, sęk w tym że pilot będzie niestandardowy i dlatego musi być procek a nie gotowy scalak jak np. HCS200. Za to pomysł z wykorzystaniem procka z wbudowanym Keeloqiem jest dobry, aczkolwiek hardware mam już zrobiony i w sumie to zabrałem się za przepisanie softu w ASM, bo w asm biblioteka enkodera jest dostępna.

    Pozdro

    0
  • #4 01 Sie 2010 00:29
    Urgon
    Poziom 36  

    AVE...

    Co niestandardowego może być w kodowaniu? Masz specyfikację Keeloq, działasz wg. niej, więc czemu nie możesz użyć standardowego kodera? Jeśli zmieniasz coś w sposobie kodowania, to to już nie jest Keeloq. Jeśli to kwestia tego, jak sformatowane masz dane do wysłania, to od tego masz mikrokontroler, by sobie w nim wszelkie różnice niwelować. Jeśli nawet wysyłasz pojedyncze bajty, a układ wymaga więcej, niż jednego w pakiecie, to pozostałe zapełniasz zerami i tyle...
    Nie rozumiem jeszcze, co ma wspólnego użyty hardware z tym, czy kodowanie zrealizujesz stricte programowo, czy zrobisz to w wewnętrznym koderze odpowiedniego PICa? Keeloq nie wykorzystuje żadnego zewnętrznego komponentu w tym przypadku, zatem jedynym warunkiem konstrukcyjnym jest to, by zgadzała się liczba pinów, a to w rodzinie PIC16Fxxx nie powinno stanowić żadnego problemu...

    0
  • #5 01 Sie 2010 00:58
    rmajda
    Poziom 20  

    "Niestandardowość" polega na specyficznym zakodowaniu ramki, ale to właśnie obrobi uC. Piny się zgadzają, ale w grę wchodzi jeszcze cena procka. Musze sprawdzić te ceny procków z enkoderem.

    0
  • #8 02 Lut 2011 23:49
    kozak_sc
    Poziom 23  

    Jeśli kolega jacekkpl by czytał licencje to by się dowiedział że jest to nielegalne ! Systemy oparte o Keeloq muszą być implementowane na układach Microchip-a. A wracając do sedna na stronie microchipa po zatwierdzeniu regulaminu można pobrać paczkę z przykładowymi kodami na różne procesory (zarówno dekodery jak i enkodery).

    0
  • #9 04 Lut 2011 19:56
    jackkpl
    Poziom 11  

    Licencja swoja droga, ale skoro kolega pytal o mozliwosc zaimplementowania keeloq na procesorze, ktory nie ma do tego "natywnego" wsparcia, to rozumiem,ze liczy sie z tym,ze na szersza skale jest to nielegalne. Na domowy uzytek nikt mu tego nie zabroni :)

    Apropos licencji, czy Microchip wymaga uzycia jakiegokolwiek procesora w ukladzie, czy wszystkie procesory w ukladzie musza byc ich? Zalozmy,ze mam 2 procesory microchipa i jeden st. Ten st jak i te microchipa wszystkie "mietosza" keeloqa

    0
  • #10 11 Lut 2011 02:54
    Szymon Tarnowski
    Poziom 27  

    Microchip zezwala na używanie softwarowego keyloq tylko na procesorach microchip. Jest nawet nota aplikacyjna z przykladowym kodem. Oczywiście dla jakiś hobbystycznych eksperymentów można by przeportować kod na inny procesor.

    0
  • #11 11 Lut 2011 08:17
    kozak_sc
    Poziom 23  

    Jeśli masz w układzie 2 procki jeden dekoduje piloty i przekazuje informację drugiemu to ten drugi nie musi być już Microchipa. Grunt żeby sam proces dekodowania odbywał się na układzie słusznego producenta :P

    0