Kodowanie tagów i pamięć EPC
Opanuj architekturę pamięci tagów i kodowanie GS1 w celu integracji łańcucha dostaw
4 Banki Pamięci
Każdy tag EPC Gen2 ma dokładnie 4 banki pamięci, z których każdy służy określonemu celowi. Zrozumienie tej struktury jest niezbędne do kodowania, odczytu i zabezpieczania tagów.
Bank 00 (Reserved): Zawiera 32-bitowe hasło Kill i 32-bitowe hasło dostępu. Domyślne wartości to 0x00000000. Hasło kill trwale wyłącza tag po wysłaniu. Nieodwracalne. Hasło dostępu blokuje banki pamięci, aby zapobiec nieautoryzowanym zapisom.
Bank 01 (EPC): Zawiera StoredCRC (16 bitów, obliczane automatycznie), StoredPC/Protocol Control (16 bitów, wskazuje długość EPC i możliwości tagu) oraz samą wartość EPC. Zazwyczaj 96 bitów (12 bajtów) dla SGTIN-96. Niektóre tagi obsługują 128-bitowe, a nawet 496-bitowe EPC.
Bank 10 (TID): Fabrycznie zaprogramowany identyfikator tagu. Zawiera kod producenta układu, numer modelu i unikalny numer seryjny. Ten bank jest tylko do odczytu i nigdy nie może zostać zmieniony. Co czyni go bezcennym w walce z podrabianiem i uwierzytelnianiem tagów.
Bank 11 (User): Opcjonalna dodatkowa pamięć. Rozmiar różni się w zależności od układu: NXP UCODE 9 ma 0 bitów (brak pamięci użytkownika), Quanray QStar-7U ma 512 bitów (64 bajty). Użyj go do numerów partii, dat kontroli, progów temperatury lub zapisów konserwacyjnych. Zawsze sprawdzaj dostępną pojemność przed zapisem.
Kodowanie SGTIN-96. Krok po kroku
SGTIN-96 to najczęściej używany schemat EPC. Koduje GTIN-14 (kod kreskowy produktu) plus unikalny numer seryjny w dokładnie 96 bitach (12 bajtów). Umożliwia to do 274 miliardów unikalnych numerów seryjnych na typ produktu.
Struktura 96-bitowa: Nagłówek (8 bitów, zawsze 0x30 dla SGTIN-96) → Filtr (3 bity: 0=wszystkie, 1=POS, 2=pełna skrzynia, 3=zarezerwowane, 4=opakowanie wewnętrzne, 5=zarezerwowane, 6=ładunek jednostkowy, 7=komponent) → Partycja (3 bity: definiuje, jak bity są podzielone między prefiks firmy a odniesienie do elementu) → Prefiks firmy (20–40 bitów) → Odniesienie do elementu (4–24 bity) → Numer seryjny (38 bitów).
Wartość partycji (0–6) określa długość prefiksu firmy: P=0 → prefiks 40-bitowy (12 cyfr), P=1 → 37-bitowy (11 cyfr), P=2 → 34-bitowy (10 cyfr), P=3 → 30-bitowy (9 cyfr), P=4 → 27-bitowy (8 cyfr), P=5 → 24-bitowy (7 cyfr), P=6 → 20-bitowy (6 cyfr). Długość prefiksu firmy GS1 określa, której wartości partycji należy użyć.
Użyj narzędzia Nextwaves TDS RFID Converter pod adresem /tools/tds-rfid-converter, aby interaktywnie kodować i dekodować wartości SGTIN-96. Wprowadź swój GTIN-14 + numer seryjny i natychmiast uzyskaj szesnastkowy EPC.
┌────────┬──────┬─────┬──────────────┬──────────────┬──────────────┐
│ Header │Filter│Part │Company Prefix│Item Reference│ Serial │
│ 8 bits │3 bits│3bits│ 20-40 bits │ 4-24 bits │ 38 bits │
│ 0x30 │ 0-7 │ 0-6 │ GS1 prefix │ product ref │ unique ID │
└────────┴──────┴─────┴──────────────┴──────────────┴──────────────┘
Partition table (defines prefix/item bit allocation):
P=0: 40-bit prefix (12 digits) P=4: 27-bit prefix (8 digits)
P=1: 37-bit prefix (11 digits) P=5: 24-bit prefix (7 digits)
P=2: 34-bit prefix (10 digits) P=6: 20-bit prefix (6 digits)
P=3: 30-bit prefix (9 digits)
Example: 3034257BF7194E4000001A85
Header=0x30 Filter=1 Part=5 Prefix=0614141
Item=812345 Serial=6789 → GTIN-14: 80614141123458Inne Schematy EPC
Oprócz SGTIN-96, GS1 definiuje kilka innych 96-bitowych schematów EPC dla różnych identyfikatorów łańcucha dostaw. Każdy z nich ma własny bajt nagłówka.
Odczyt i zapis pamięci tagu
Odczyt tagów podczas inwentaryzacji jest pasywny. Czytnik nadaje zapytanie, a tagi odpowiadają swoim EPC z Banku 01. Ale możesz również jawnie odczytać dowolny bank pamięci, wysyłając polecenie READ z numerem banku, przesunięciem słowa i liczbą słów.
Zapis na tagi wymaga większej precyzji. Tag musi być zsingularyzowany (tylko jeden tag odpowiada), a zapisy odbywają się słowo po słowie (16 bitów). Pełny zapis 96-bitowego EPC wymaga 6 sekwencyjnych zapisów słów. Każdy zapis zajmuje 10–20 ms, więc kodowanie pojedynczego tagu zajmuje 60–120 ms tylko dla danych EPC.
Typowe błędy zapisu: Tag zbyt daleko od anteny (wymaga silniejszego sygnału do zapisu niż do odczytu. zbliż tag na odległość 1 m). W polu wiele tagów (singulacja nie powiodła się. odizoluj tag docelowy). Pamięć tagu zablokowana (wymagane hasło dostępu). Weryfikacja zapisu nie powiodła się (spróbuj ponownie lub tag może być wadliwy. typowy wskaźnik wad wynosi 1–3 na 10 000).
Najlepsza praktyka: Zawsze weryfikuj po zapisie, odczytując ponownie dane i porównując. Polecenie zapisu może się powieść, ale w rzadkich przypadkach uszkodzić sąsiednie bity. Weryfikacja po odczycie wychwytuje te problemy.
TX → 5A 00 01 02 11 00 0C [EPC_12_BYTES] [CRC16]
Write per 16-bit word: 10-20ms
Full 96-bit EPC = 6 words = 60-120ms total
With access password:
TX → 5A 00 01 02 11 00 10 [PWD_4B] [EPC_12B] [CRC16]Bezpieczeństwo Tagów i Hasła
Tagi EPC Gen2 obsługują dwa 32-bitowe hasła dla bezpieczeństwa. Hasło dostępu blokuje określone banki pamięci. Po ustawieniu, ten bank wymaga hasła przed jakąkolwiek operacją odczytu lub zapisu. Hasło Kill trwale wyłącza tag po przesłaniu. Nieodwracalna operacja używana głównie dla prywatności konsumentów w handlu detalicznym (zniszczenie tagu po kasie).
Najlepsze praktyki w zakresie bezpieczeństwa: Nigdy nie używaj domyślnego hasła składającego się z samych zer (0x00000000) w produkcji. Zapewnia ono zerowe bezpieczeństwo. Generuj unikalne hasła dla każdej partii tagów lub użyj prefiksu swojej firmy jako punktu wyjścia. Przechowuj hasła w swoim systemie zaplecza, nigdy na samym tagu (pamięć hasła może zostać odczytana, jeśli tag jest odblokowany). Zablokuj banki haseł po zaprogramowaniu. Rozważ tryb Untraceable (dostępny w nowszych chipach), który ukrywa TID i redukuje EPC, zapewniając prywatność bez niszczenia tagu.
Polecenie Kill jest trwałe i nieodwracalne. Nie ma możliwości cofnięcia. Po zabiciu tagu, nie może on już nigdy odpowiedzieć na żadne zapytanie czytnika. Zawsze implementuj weryfikację hasła kill w swoim oprogramowaniu i wymagaj autoryzacji menedżera przed wykonaniem poleceń kill.
GS1 Digital Link
GS1 Digital Link łączy fizyczne tagi RFID z dostępnymi w sieci informacjami cyfrowymi. Konwertuje dane EPC na standardowy identyfikator URI, który prowadzi do informacji o produkcie, usług uwierzytelniania, powiadomień o wycofaniu lub danych dotyczących zrównoważonego rozwoju.
Przebieg: Tag EPC (np. 3034257BF7194E4000001A85) → Dekodowanie do GTIN-14 (80614141123458) + Numer seryjny (6789) → Budowa URI: https://id.gs1.org/01/80614141123458/21/6789. Ten identyfikator URI może prowadzić do strony produktu, API uwierzytelniania lub dowolnej usługi zarejestrowanej w sieci resolverów GS1 Digital Link.
Praktyczne zastosowania: Zeskanuj otagowany element odzieży w sklepie detalicznym → URI prowadzi do instrukcji pielęgnacji produktu, przewodnika po rozmiarach i certyfikatów zrównoważonego rozwoju. Zeskanuj otagowany produkt farmaceutyczny → URI prowadzi do uwierzytelniania (czy ten produkt jest oryginalny?), daty ważności i statusu wycofania. Zeskanuj otagowany zasób → URI prowadzi do historii konserwacji i harmonogramu przeglądów.
Narzędzia Nextwaves automatycznie generują identyfikatory URI Digital Link podczas dekodowania dowolnego EPC SGTIN-96. Użyj konwertera TDS online lub narzędzia MCP decode_sgtin96 do natychmiastowego generowania Digital Link.
Czytaj dalej
Przeglądaj więcej przewodników RFID, aby pogłębić swoją wiedzę.
Pierwsze kroki z RFID
Praktyczny przewodnik po technologii UHF RFID. Od tego, jak fale radiowe zasilają tagi pasywne, po odczyt danych EPC i kodowanie pierwszego tagu.
Średnio zaawansowanyUmieszczanie i optymalizacja anten
Praktyczny przewodnik po maksymalizacji wskaźników odczytu RFID poprzez odpowiedni dobór anten, pozycjonowanie i strojenie RF z rzeczywistymi pomiarami i przykładami wdrożeń.
ZaawansowanyWdrożenie Wielu Czytników
Przewodnik po architekturze wdrażania wielu czytników RFID w produkcji. Strategie koordynacji, zarządzanie częstotliwością i sprawdzone wzorce wdrażania.