0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovDownloadC programiSTM32F4-Discovery – Od začetnika do poznavalca (15) - RFID čitalec_(2)

    STM32F4-Discovery – Od začetnika do poznavalca (15) – RFID čitalec_(2)

    V reviji Svet Elektronike (številka SE-246) smo le bežno opisali osnovne gradnike RFID komunikacije, v tokratni številki pa bomo znanje nadgradili z zapisom podatkov na RFID kartico (saj temu je namenjana). Tehnologija RFID je dandanes prisotna domala že vsepovsod, kjer smo si za demonstracijo izbrali RFID komponente, katerih delovna frekvenca znaša 13,56 MHz. Odločili smo se za NXP-jev MFRC522 čip [1], katerega antenska izvedba s pripadajočimi oznakami je relativno poceni in dobavljiva preko kakšnega eBay portala [2]. Naloga iz prvega dela je bila izpis UID številke RFID kartice, kjer komunikacija med RFID modulom in mikrokrmilnikom poteka preko vodila SPI.

    Slike ni
    KLIK

    V tokratni izdaji revije Svet Elektronike si bomo podrobneje ogledali notranjo strukturo RFID oznake, kjer se bomo osredotočili na tip kartice Mifare Classic 1K [3], saj so tega tipa tudi oznake, ki so del naročenega RFID kompleta. V kolikor imate še kakšen drugi tip, je seveda mogoče uporabiti tudi tega, vendar se lahko notranja struktura malenkost razlikuje od predstavljene. Pozorni morate biti, če vaš tip kartice podpira vrednostne bloke (Mini, 1K in 4K). Cilj tega sklopa je izdelati aplikacijo, s katero bo mogoče upravljati zametek kavnega avtomata, ki na podlagi zahteve in zadostnega dobropisa izvede določeno operacijo.

    Strojna oprema

    Opis RFID oznake (MIFARE Classic 1K)

    Preden začnemo z delom, si podrobneje oglejmo delovanje MIFARE Classic 1K oznak, v katero je vgrajen MF1S503x mikrokrmilnik [3]. Lastnosti teh oznak so (poleg že znanih dejstev): 100-ms čas transakcije, preprečevanje kolizij (omogoča uspešno transakcijo s ciljno kartico, kljub temu, da jih je več v RFID polju), 1 KB EEPROM pomnilnika (organiziran je v 16 sektorjev po 4 bloke – vsak blok zajema 16 B), zadrževalni čas podatkov je 10 let, uporabniško definiranje dostopa do posameznega bloka in vzdržljivost 100.000 prepisov. Glede na omenjene lastnosti obstaja cel spekter aplikacij, če naštejemo le najbolj razširjene: javni transport, nadziranje prihoda zaposlenih, parkirne kartice, itd.

    Princip komunikacije

    Komande se navadno pošljejo prek RFID čitalnika [1] in se procesirajo v digitalni kontrolni enoti MF1S503x, kjer ima vsaka komanda določen odziv. Komande, ki jih podpira kartica, so:

    • Request – Po zagonu (Power-On-Reset) se kartica odzove na poslano komando REQA aliu WUPA in z zahtevano vsebino. Razlika med njima je, da je s slednjo komando mogoče zahtevati podatke tudi s kartice, ki smo jo predhodno postavili v neaktivno stanje (Halt).
    • Zanka preprečevanja kolizij – V kolikor je zaznanih več kartic in imamo znan identifikator, je mogoče izbrati željeno kartico in z njo nadaljevati komunikacijo. V kolikor kartica ni izbrana, se vrne v stanje mirovanja. Tudi ko imamo le eno samo kartico, je moramo prav tako izbrati.
    • Izbira kartice – S to komando čitalnik izbere individualno kartico za nadaljnjo avtentikacijo in pomnilniške operacije. Kartica odgovori s šifro SAK (Select ACK), iz katere je mogoče razbrati tip kartice.
    • Avtentikacija – Po izbiri kartice se pred izvedbo pomnilniške operacije nad določenim sektorjem opravi avtentikacija s tremi prehodi, kjer se izbere ključ A ali B. Napravi si sprva medsebojno pošiljata naključni izziv (ang. challenge), na podlagi katerega potrjujeta drug drugega. Po uspešni verifikaciji je nadaljnji prenos šifriran. Kartica si pri delu pomaga s CRYPTO1 delom.
    • Pomnilniške operacije – Po uspešni avtentikaciji je mogoče opravljati razne pomnilniške operacije, izmed katerih bomo v tej demonstraciji uporabljali branje in pisanje v EEPROM bloke ter povečevanje in zmanjševanje dobropisa na vrednostnih blokih.

    Če dopolnimo predhodno predstavljeno delovanje RFID čitalnika, mora le-ta med komunikacijo neprestano vzdrževati polje (s kratkotrajnimi prekinitvami pri prenosu podatkov), saj to polje predstavlja napajanje kartice. Podatki se med čitalnikom in kartico prenašajo v okvirih, kjer se vsak okvir prične s startnim bitom, temu pa sledijo zlogi, ki se pošiljajo v LSB načinu, in sicer najprej zlog z najnižjim naslovom bloka. Vsakemu zlogu je dodan dodatni deveti paritetni bit. Maksimalna dolžina okvirja tako znaša 163 bitov (start + 16 zlogov + 2 CRC zloga = 1 + 16×9 + 2×9 = 163).

    Program 1 in 2 del.

    Celotni članek

    CY8CKIT-048 PSoC® Pioneer Kit

    www.svet-el.si

    2017_SE248_36