Schemat ideowy nakładki pokazano na rysunku 1. Jej głównym elementem jest specjalizowany układ scalony MFRC522 firmy NXP współpracujący z kartami zgodnymi ze standardem ISO/IEC 14443A/Mifare, wykorzystującym częstotliwość nośną 13,56 MHz.
Schemat blokowy układu przedstawia rysunek 2. Zawiera on bloki odpowiedzialne za komunikację bezprzewodową z kartą zbliżeniową, bufor danych oraz konfigurowany interfejs szeregowy ułatwiający połączenie z kontrolerem nadrzędnym.
Układ MFRC522 (U1) komunikuje się z mikrokontrolerem MSP430 za pomocą interfejsu SPI. Zwory MI/MO umożliwiają przełączanie sygnałów MOSI/MISO, co umożliwia dopasowanie nakładki do typu zastosowanego mikrokontrolera MSP. Układ U1 jest taktowany za pomocą oscylatora kwarcowego XT.
Aby uniknąć problemów z wykonaniem anteny, zaprojektowano ją na płytce drukowanej. Jest to gwarancją powtarzalności parametrów anteny, zwalnia użytkownika z konieczności jej dostrajania i ułatwia zastosowanie modułu. Kondensatory C10... C13 dopasowują impedancję anteny, natomiast kondensatory C8 i C9 oraz indukcyjności L1, i L2 stanowią filtr EMC.
Za pomocą rezystora R10 i kondensatora C7 sygnał o wielkiej częstotliwości jest doprowadzany do układu radiowego U1. Napięcie zasilające układ radiowy jest dodatkowo filtrowane (i odseparowane) za pomocą indukcyjności L3 i kondensatorów C4, i C5.
Oprócz sygnałów interfejsu SPI, do układu U1 jest doprowadzony sygnał zerowania RESET.
Dla ułatwienia eksperymentów moduł został dodatkowo wyposażony w dwa wejścia (złącze DSW) ze wstępnym filtrem sygnałów, dwie diody sygnalizacyjne LD1 i LD2 oraz sprzężony z LD2 buczek piezo (z możliwością wyłączenia na czas eksperymentów zworą ZB), oraz wyjście sterujące OD (złącze REL) o podwyższonej obciążalności, np. do sterowania poprzez przekaźnik ryglem elektrozaczepu.
Taka konfiguracja umożliwia eksperymenty zarówno z samymi kartami zbliżeniowymi, jak i z prostymi zastosowaniami typu samodzielny zamek otwierany za pomocą karty zbliżeniowej lub prosty kontroler dostępu np. służący do włączania komputera PC itp. Wejścia złącza DSW przy współpracy z kontaktronami lub przyciskami mogą być użyte do awaryjnego otwierania rygla, detekcji nieautoryzowanego otwarcia itp.
Zasilanie modułu jest pobierane z Launchpada. Przy korzystaniu z wyjścia OD jest konieczne doprowadzenie zasilania cewki przekaźnika sterującej ryglem.
Montaż
Moduł czytnika kart zbliżeniowych zmontowano na dwustronnej płytce drukowanej. Schemat montażowy płytki pokazano na rysunku 3. Pole anteny wystaje poza obrys Launchpada, aby dodatkowo nie osłabiać zasięgu, który w modelu wynosi ok. 3 cm dla kart i ok. 1 cm dla breloczków Mifare. Sposób montażu jest typowy i nie wymaga omówienia. Należy tylko zwrócić uwagę na prawidłowe przylutowanie pada termicznego układu U1.
Wykaz elementówRezystory: (SMD 0805) Kondensatory: (SMD 0805) Półprzewodniki: Inne: |
Przykłady zastosowań
W szybkim przetestowaniu układu jest pomocna dostępna w sieci (np. na forum 43oh. com http://goo.gl/I5WSJI) biblioteka MFRC522 adaptowana z platformy Arduino dla potrzeb środowiska Energia. W pierwszej kolejności należy odczytać numer karty za pomocą pokazanego na listingu 1 szkicu RFID.ino. Jest on przesyłany do terminala w postaci pięciu wartości heksadecymalnych. Numer należy zapisać na potrzeby aplikacji przykładowego zamka. W modelu to karta numer (3D,D7,93,19,60).
Po jej zarejestrowaniu można wykorzystać przygotowany prosty szkic zamka otwieranego kartą zbliżeniową (listing 2), zmieniając tylko numer karty otwierającej rygiel. Jest to oczywiście najprostsza możliwa realizacja, przydatna na potrzeby sprawdzenia modułu. Stan pracy układu sygnalizowany jest dwoma diodami LED. Każdy odczyt karty Mifare jest sygnalizowany mignięciem LD1 (czerwona), karta z numerem zgodnym z zaprogramowanym, załącza na 3 sekundy tranzystor Q2 sterujący rygiel oraz potwierdza diodą LD2 (zieloną) i buzerem otwarcie rygla.
Przykład RFLock wykorzystuje procesor MSP430G2412 (2452 bez ADC), zalutowane muszą być zwory M0/1 bliżej złącza MSPJ2. W przypadku innych typów należy sprawdzić wyprowadzenia SPI, odpowiednio zmodyfikować położenie zwór oraz na nowo skompilować program przed załadowaniem.
Adam Tatuś, EP