Напреднало

Кодиране на етикети и EPC памет

Овладейте архитектурата на паметта на етикети и GS1 кодиране за интеграция във веригата на доставки

4-те банки памет

Всеки EPC Gen2 етикет има точно 4 банки памет, всяка с конкретна цел. Разбирането на тази структура е от съществено значение за кодиране, четене и защита на вашите етикети.

Bank 00 (Reserved): Съдържа 32-bit Kill Password и 32-bit Access Password. Стойностите по подразбиране са 0x00000000. Kill паролата перманентно деактивира етикета, когато бъде изпратена. необратимо. Access паролата заключва банките памет, за да предотврати неупълномощени записи.

Bank 01 (EPC): Съдържа StoredCRC (16 бита, автоматично изчислен), StoredPC/Protocol Control (16 бита, показващ дължината на EPC и възможностите на етикета), и самата EPC стойност. обикновено 96 бита (12 байта) за SGTIN-96. Някои етикети поддържат 128-bit или дори 496-bit EPC.

Bank 10 (TID): Фабрично програмиран идентификатор на етикета. Съдържа кода на производителя на чипа, номера на модела и уникален сериен номер. Тази банка е само за четене и никога не може да бъде променена. правейки я безценна за борба с фалшифицирането и удостоверяване на етикети.

Bank 11 (User): Опционално допълнително съхранение. Размерът варира според чипа: NXP UCODE 9 има 0 бита (няма потребителска памет), Quanray QStar-7U има 512 бита (64 байта). Използвайте го за номера на партиди, дати на проверка, температурни прагове или записи за поддръжка. Винаги проверявайте наличната вместимост преди писане.

Кодиране на SGTIN-96. Стъпка по стъпка

SGTIN-96 е най-широко използваната EPC схема. Тя кодира GTIN-14 (вашия продуктов баркод) плюс уникален сериен номер в точно 96 бита (12 байта). Това позволява до 274 милиарда уникални серийни номера за тип продукт.

96-битовата структура: Header (8 бита, винаги 0x30 за SGTIN-96) → Filter (3 бита: 0=всички, 1=POS, 2=пълен кашон, 3=резервирано, 4=вътрешна опаковка, 5=резервирано, 6=товарна единица, 7=компонент) → Partition (3 бита: определя как битовете се разделят между компания префикс и референция към артикул) → Company Prefix (20–40 бита) → Item Reference (4–24 бита) → Serial Number (38 бита).

Стойността Partition (0–6) определя дължината на Company Prefix: P=0 → 40-bit префикс (12 цифри), P=1 → 37-bit (11 цифри), P=2 → 34-bit (10 цифри), P=3 → 30-bit (9 цифри), P=4 → 27-bit (8 цифри), P=5 → 24-bit (7 цифри), P=6 → 20-bit (6 цифри). Дължината на вашия GS1 компания префикс определя коя стойност на partition да използвате.

Използвайте инструмента Nextwaves TDS RFID Converter на /tools/tds-rfid-converter, за да кодирате и декодирате SGTIN-96 стойности интерактивно. Въведете вашия GTIN-14 + сериен номер и получете hex EPC незабавно.

SGTIN-96 Bit Structure
┌────────┬──────┬─────┬──────────────┬──────────────┬──────────────┐
│ 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: 80614141123458

Други EPC схеми

Отвъд SGTIN-96, GS1 дефинира няколко други 96-bit EPC схеми за различни идентификатори във веригата на доставки. Всяка има свой собствен header байт.

Четене и Запис на Паметта на Етикета

Четенето на етикети по време на инвентаризация е пасивно. четецът излъчва заявка и етикетите отговарят с техния EPC от Банк 01. Но можете също явно да четете всяка банка памет, като изпратите команда READ с номер на банката, word offset и брой думи.

Записът върху етикети изисква по-голяма прецизност. Етикетът трябва да бъде сингулиран (само един етикет отговаря), а записите се извършват по една дума (16 бита) наведнъж. Пълен 96-битов EPC запис изисква 6 последователни записа на думи. Всеки запис отнема 10–20ms, така че кодирането на един етикет отнема 60–120ms само за EPC данни.

Чести грешки при запис: Етикетът е твърде далеч от антената (нуждае се от по-силен сигнал за запис отколкото за четене. поставете етикета на разстояние до 1м). Множество етикети в полето (сингулацията се провали. изолирайте целевия етикет). Паметта на етикета е заключена (необходима е парола за достъп). Проверката на записа се провали (опитайте отново или етикетът може да е дефектен. типичното ниво на дефекти е 1–3 на 10,000).

Добра практика: Винаги проверявайте след запис, като прочетете данните обратно и ги сравните. Командата за запис може да успее, но рядко да повреди съседни битове. Проверката прочитане-след-запис улавя тези проблеми.

Write EPC - Nextwaves NRN Protocol
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]

Сигурност на Етикетите и Пароли

Етикетите EPC Gen2 поддържат две 32-битови пароли за сигурност. Паролата за Достъп заключва конкретни банки памет. след като бъде зададена, тази банка изисква паролата преди всяка операция за четене или запис. Паролата за Унищожаване перманентно деактивира етикета при предаване. необратима операция, използвана главно за потребителска поверителност в търговията (унищожаване на етикета след плащане).

Най-добри практики за сигурност: Никога не използвайте паролата по подразбиране с нули (0x00000000) в производството. тя не осигурява никаква сигурност. Генерирайте уникални пароли за всяка партида етикети или използвайте префикса на вашата компания като семе. Съхранявайте паролите в бекенд системата си, никога на самия етикет (паметта за пароли може да бъде прочетена, ако етикетът е отключен). Заключете банките с пароли след програмиране. Обмислете режим Untraceable (наличен в по-новите чипове), който скрива TID и намалява EPC, осигурявайки поверителност без да унищожава етикета.

Командата Kill е перманентна и необратима. Няма Undo. Веднъж щом етикетът бъде убит, той никога повече не може да отговори на никакъв четец. Винаги имплементирайте проверка на kill-паролата в софтуера си и изисквайте разрешение от мениджър преди изпълнение на kill команди.

Обратно към начало