[KAmodNFC] Pierwsze starcie

Tutaj zamieszczamy wyniki i recenzje z testowanych zestawów / podzespołów, jakie będą dostępne dla użytkowników forum
Awatar użytkownika
inż.wielki
User
User
Posty: 307
Rejestracja: niedziela 20 gru 2015, 23:11

[KAmodNFC] Pierwsze starcie

Postautor: inż.wielki » piątek 27 maja 2016, 00:05

Na początku chciałbym przeprosić że tak długo kazałem na siebie czekać. Kilka słów o module:

KAmodNFC jest dynamicznym tagiem NFC, pewnie połowa teraz podrapie się w głowę, no spoko, ale co to znaczy.. A to znaczy że jest to "karta bankomatowa" z możliwością zmiany zawartości w locie. Na pokładzie mamy układ M24LR64E-R, w najprostszych słowach jest to pamięć EEPROM z dwoma interfejsami, a mianowicie I2C oraz RFID. Scalak potrafi też "odzyskać" energię, która zostanie mu przekazana przez RFID.

Dla tych co nie wiedzą jak działa komunikacja RFID, postaram się przekazać to w najprostszy sposób, więc pominę parę szczegółów.
Płacąc kartą w sklepie, najczęściej robimy to zbliżeniowo. A co to znaczy? Ano terminal oprócz RFID lub można powiedzieć że razem z nimi wysyła także zasilanie. Dzieje się to na zasadzie indukcyjności i innej czarnej magii. Karta dostając energię rozpoczyna komunikację. Nie jest są to kilowaty, a nawet waty energii. Układ jest w stanie zasilić urządzenie o poborze prądu 7mA. Czyli jakiś mały low-energy mikroprocesor mógłby działać zasilany jedynie energią z terminala.

Płytka KAmodNFC jest zaopatrzona w układ informujący o pojawieniu się napięcia odzyskanego z komunikacji. Do tego celu wykorzystany jest układ "mrygacza", który po prostu miga diodą. Filmik pokazuje jak to działa:

https://www.youtube.com/watch?v=M7NHZTU9FMM

Jak widać po przyłożeniu telefonu, z wykorzystaniem darmowej aplikacji dla Androida (ST25 NFC), dioda zaczyna mrugać. Trzeba uważać jak się przykłada, gdyż nie zawsze to załapie i dioda czasem jest "martwa". Zachęcam zresztą do ściągnięcia aplikacji, jest dostępna za darmo w markecie plej. Dzięki niej można zmieniać hasła dostępu przez I2C oraz RFID, zapisywać dane do sektora, odczytywać itd.

Sama pamięć EEPROM jest rozmiaru 64kbitów. Podzielona na 64 sektory, po 32 bloki z czego każdy ma 32bity.
memory_organizejszym.png

Jak widać poza częścią pamięci użytkowej, znajdują się też sektory dotyczące haseł, oraz konfiguracji RFID.
Poprzez interfejs RFID pamięć jest widziana jako 64 sektory po 32 bloki z 32bitów. Każda operacja jest realizowana na całym bloku danych, do tego jest kontrolowana przez mechanizm SSS, który zostanie opisany poniżej. W wypadku I2C nie ma podziału na bloki, jeden sektor jest po prostu rozmiaru 128bajtów czyli 1024 bitów, operacje mogą być wykonywane bezpośrednio na każdym bajcie.

Następną ważną cechą układu jest chronienie danych poprzez hasła. Hasła występują w obu interfejsach, przy I2C jedno hasło, zaś przy RFID hasła są aż 3. Hasło do komunikacji przewodowej jest 32bitowe. Z hasłami związanymi z komunikacją RFID, jest troszeczkę więcej zabawy. Tutaj są aż 3 hasła, każdy blok pamięci w układzie może być indywidualnie skonfigurowany, to znaczy że może być zabezpieczony jednym, dwoma albo trzema hasłami. Odpowiada za to SSS, który przypisany jest do każdego sektora pamięci danych, w nim definiuje się poziom haseł oraz blokadę zapisu/odczytu.

sekjurity_sektor.png


Powyżej widać jak zorganizowana jest część pamięci, odpowiadająca za zabezpieczenia. W tabeli 4. jest rozpis
Sector security status


Po więcej informacji zapraszam do dokumentu : Description of the M24LRxx-R and M24LRxxE-R dual interface memory’s password protection mechanism

Na pokładzie płytki mamy też diodę RGB, czyli można używać jej jako informacji odnośnie wyniku przeprowadzonych operacji. Ewentualnie, jak komuś się nie chce bawić z pamięcią, może też zmieniać kolorki według własnego widzimisię :D

Wygląd modułu:
kamodnfc.png


KAmodNFC może służyć w 3 konfiguracjach. Dynamiczny tag, znaczy, zapisujemy coś na pamięć za pomocą komórki, a potem odczytujemy. Komunikacja pomiędzy układem a telefonem na zasadzie wymiany danych. Oraz most pomiędzy komórką oraz procesorem.

Moduł można podłączyć do każdego nucleo oraz jedynie do Arduino Uno R3, które ma wyprowadzone piny SDA i SCL zaraz nad AREF (być może się mylę i jest jeszcze arduino, które ma tak ustawiony header). Osobiście próbowałem nawiązać komunikację z układem z wykorzystaniem STM32F746G-Disco, niestety z niepowodzeniem. Podejrzewam problem w użyciu biblioteki HAL, z powodu braku czasu (chęci są!), postaram się jak najszybciej zdobyć nucleo, na którym zaprezentuje działający moduł :)

Pozdrawiam ;)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Wróć do „Jak to działa – czyli kącik testera”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości