F๐Ÿ’ปW/Standard

Type 2 Tag (T2T)

์ฒœ์ˆญ์ด 2023. 2. 6. 15:36

Type 2 ํ˜ธํ™˜์ด ๋˜๋Š” ํƒœ๊ทธ์˜ ์ข…๋ฅ˜๋กœ๋Š” NXP MIFARE์˜ UltraLight ์™€ NTAG 203์ด ์žˆ๋‹ค.

 

 

# Type 2 Tag Objective
- NFC Forum Type 2 Tag๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

- NFC Type 2 Tag์˜ Reader/Writer ๋™์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

 

 


# Category
- section 2,3 : Type3 ํƒœ๊ทธ์˜ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ๋ฐฉ๋ฒ• ๊ธฐ์ดˆ, Analog ์ธต์œผ๋กœ ์ด๋ฃจ์–ด์ง„ Type 2 Tag์˜ Framing๊ณผ ํƒœ๊ทธ์˜ ์ „๋‹ฌ๋ฐฉ๋ฒ• ๋‹ค๋ฃจ๊ธฐ.
- section 4 : Type 2 Tag์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ. Type 2 Tag ๋ช…๋ น์–ด ์…‹์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ์ „์ œ ์กฐ๊ฑด
- section 5 : Type 2 Tag์˜ ๋ช…๋ น์–ด ์…‹
- section 6 : Type 2 Tag state machine
- section 7 : NDEF๊ฐ€ Type 2 Tag์— ์ €์žฅ๋˜๊ณ  ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹ (NDEF Mapping)

 

 


# Glossary

- TLV : Tag, Length, Value (data format)

- Poll Mode : NFC Device๊ฐ€ ๋ช…๋ น์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›๋Š” ์ƒํƒœ
- Poller : Poll mode์— ์žˆ๋Š” NFC Forum Device
- Sector : 256 ๋ธ”๋Ÿญ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ถ€๋ถ„
- Technology : NFC-A,B,F,V ๋ชจ๋‘ ๊ฐ™์€ ์ฃผํŒŒ์ˆ˜๋ฅผ ์‚ฌ์šฉ (13.56MHz)
- Technology Subset :
  Type 1 : ์•ˆํ‹ฐ์ฝœ๋ฆฌ์ „์ด ๋น ์ง„ NFC-A
  Type 2 : ์•ˆํ‹ฐ์ฝœ๋ฆฌ์ „์ด ์žˆ๋Š” NFC-A
  Type 3 : NFC-F (Felica)
  Type 4 : ์•ˆํ‹ฐ์ฝœ๋ฆฌ์ „์ด ์žˆ๋Š” NFC-A,B
  Type 5 : ์•ˆํ‹ฐ์ฝœ๋ฆฌ์ „์ด ์žˆ๋Š” NFC-V

- Type 2 Tag : Listener์˜ ์—ญํ• 

 

 

 

# Frame Format

- short frame์˜ ACK์™€ NACK ์‘๋‹ต์€ 4 data bits๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค

 

 

 

# # Memory

Block(4byte)๋กœ ์ˆ˜์ •

 

- Memory layout

 

 

# Static and Dynamic Memory structures

Static/Dynamic Memory Structure

 

# Internal Bytes

Internal Bytes

 

- Internal_0 ~ Internal_7์€ ์ฝ๊ธฐ ์ „์šฉ์ด๊ธฐ์— ์–ด๋– ํ•œ ๊ฐ’๋„ ์“ธ ์ˆ˜ ์—†๋‹ค. Tag๊ฐ€ ์ด ์˜์—ญ์— WRITE ๋ช…๋ น์„ ๋ฐ›์œผ๋ฉด NACK์œผ๋กœ ์‘๋‹ตํ•œ๋‹ค

 

# Static Lock Bytes

Static Lock Bytes

- Static Lock Bytes๋Š” 52 bytes๋ฅผ lock ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ์ด๋‹ค

- ์ด 52 bytes ๋“ค์€ ByteAddr 12~63์— ์œ„์น˜ํ•ด์žˆ๋‹ค. CC๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค

StatLock_0, StatLock_1 meaning
FFh read๋งŒ ๊ฐ€๋Šฅ
00h read, write ๋ชจ๋‘ ๊ฐ€๋Šฅ

(์œ„ ํ‘œ์˜ ์ˆ˜์‹์€ ์ด ๋ฌธ์„œ์—์„œ ๋งŽ์ด ์“ฐ์ž„)

 

 

 

# Capability Container (CC)

Capability Container

- CC๋Š” NDEF Message๋ฅผ ์ฝ๊ณ  ์“ฐ๊ธฐ์œ„ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค

- CC์ธ CC_0~CC_3์€ Block Three์— ์œ„์น˜ํ•œ๋‹ค

 

 

# CC ๋ฐ์ดํ„ฐ ๋‚ด์šฉ

Byte Parameter Value Description
  CC_0   Magic Number   E1h T2T
  CC_1   Version   10h Mapping Version
Byte coding :

  CC_2   Size   See descr. T2T_Area ์‚ฌ์ด์ฆˆ encoding ๋‚ด์šฉ ํฌํ•จ
T2T_Area ์‚ฌ์ด์ฆˆ ๊ณ„์‚ฐ : T2T_Area_Size = Size*8

  CC_3   Access Conditions   See descr. NDEF Message๋ฅผ ์ฝ๊ณ  ์“ฐ๊ธฐ ์œ„ํ•œ access ์กฐ๊ฑด์„ ๊ธฐ์ˆ ํ•ด๋†“์Œ


ํ‘œํ˜„ ๋ฐฉ์‹ :

 

 

 

# Dynamic lock

๋™์  ์ž ๊ธˆ ๋น„ํŠธ๋Š” DynLock_Area๊ฐ€ T2T_Area ๋‹ค์Œ์˜ ์ฒซ ๋ฒˆ์งธ ๋ฐ”์ดํŠธ์—์„œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์ž ๊ธˆ ์ œ์–ด TLV๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜๋˜๊ธฐ ๋•Œ๋ฌธ์— "๋™์ "์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์œ„์น˜๊ฐ€ ๊ณ ์ •๋œ ์ •์  ์ž ๊ธˆ ๋ฐ”์ดํŠธ์™€ ๋Œ€์กฐ๋ฉ๋‹ˆ๋‹ค.

T2T Area๊ฐ€ 48 Bytes ๋ณด๋‹ค ํฌ๋‹ค๋ฉด Dynamic Lock bits๊ฐ€ ์š”๊ตฌ๋œ๋‹ค

 

- position๊ณผ DynLock_Area ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ• :

1. Lock control TLV๋ฅผ ์‚ฌ์šฉ

2. ๊ธฐ๋ณธ position๊ณผ Dynamic Lock bits ์„ธํŒ…๋œ ๊ฐฏ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

 

๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•์ธ Default Setting ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ๋‹ค

 

 

 

# Default Setting for the Dynamic Lock bits

position : T2T_Area ๋‹ค์Œ์— ์œ„์น˜

๋งŒ์•ฝ Lock bits๊ฐ€ 8์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, Dynamic Lock byte์˜ ๋งˆ์ง€๋ง‰ ๋ฐ”์ดํŠธ๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ์ฑ„์›Œ์ง„๋‹ค.

lsb๋ถ€ํ„ฐ msb๊นŒ์ง€ ์ฑ„์šฐ๊ณ , ๋งˆ์ง€๋ง‰ ๋ฐ”์ดํŠธ์˜ ๋‚จ์€ ๋น„ํŠธ๋“ค์€(Dynamic Lock bits๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”) 

'Reserved Bits'๋ผ๊ณ  ๋ถˆ๋ฆฌ๊ณ  0b๋กœ ์„ธํŒ…๋จ

 

 

 

# Control TLVs

Reader/WRITER ๋Š” TLVs_Area์—๋งŒ ์“ฐ๊ธฐ์ฝ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค

- TLV ๊ตฌ์กฐ

T : Tag field (T-field). ํ•œ ๋ฐ”์ดํŠธ ์•ˆ์— ์žˆ๋Š” TLV์˜ ํƒ€์ž… ๊ธฐ์ˆ ๋จ.

L : Length field (L-field). V-field์˜ ์‚ฌ์ด์ฆˆ

    L์€ Tag field์— ๋”ฐ๋ผ์„œ ์กด์žฌํ• ์ˆ˜๋„ ์•ˆํ• ์ˆ˜๋„ ์žˆ๋Š”๋ฐ, ๋งŒ์•ฝ ์กด์žฌํ•œ๋‹ค๋ฉด 1-Byte or 3-Byte์ด๋‹ค.

V : Value field(V-field). ๋งŒ์•ฝ ์กด์žฌํ•œ๋‹ค๋ฉด TLV๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด๊ณ ์žˆ์Œ

     L์ด 00h ์ด๊ฑฐ๋‚˜ L ํ•„๋“œ์— ๋‚ด์šฉ์ด ์—†๋‹ค๋ฉด Vํ•„๋“œ๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค

 

 

 

# # COMMAND

 

 

# READ, WRITE ์ปค๋งจ๋“œ ๋‚ด์šฉ ์Šคํ‚ต

 

 

# SECTOR_SELECT

- Reader/Writer ๊ฐ€ SECTOR_SELECT ๋ช…๋ น ํŒจํ‚ท1์„ ๋ณด๋‚ธ๋‹ค. ํƒœ๊ทธ๊ฐ€ ACK๋ฅผ ๋ณด๋‚ธ ํ›„์—, ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜์‹ ์ด ๋˜๋ฉด, R/W๋Š” ๋ช…๋ น ํŒจํ‚ท2๋ฅผ ๋ณด๋‚ธ๋‹ค

- ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ•จ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ, T2T๋Š” PAT์ด๋ผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

# ACK & NACK

- ACK ๋Š” 1010b์ด๊ณ , ์ด๋ฅผ ์ œ์™ธํ•œ 2์ง„์ˆ˜ 4bit๋Š” ๋ชจ๋‘ NACK์ด๋‹ค

 

 

 

# Checking the Presence of a T2T

- RFํ•„๋“œ ๋‚ด์— T2T๊ฐ€ ์žˆ๋Š”์ง€ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Presence Check Procedure๋ฅผ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค.

- T2T์˜ ์–ด๋– ํ•œ ์‘๋‹ต์ด๋ผ๋„ ๋ฐ›๋Š”๊ฒƒ์ด ๋ชฉ์  (์กด์žฌ๋งŒ ์•Œ๋ฉด๋จ)

- ์‘๋‹ต์„ ๋ณด๋‚ด๊ณ  ๋””๋ฐ”์ด์Šค๋Š” 200ms๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค

Checking the Presence Command์— ๋”ฐ๋ฅธ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์‘๋‹ต
valid Response T2T๊ฐ€ Field์— ์žˆ์Œ
๋‹ค๋ฅธ ๋ช…๋ น ๋ฐ›์„ ์ค€๋น„๊ฐ€ ๋จ (READ, WRITE, SECTOR_SELECT)
NACK T2T๊ฐ€ Field์— ์žˆ์ง€๋งŒ READ ๋ช…๋ น์„ ๋ฐ›๊ณ ์žˆ๋Š” ์ƒํ™ฉ

 

 

 

 

 

 

 

 

 

 

 

'F๐Ÿ’ปW > Standard' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Type 1~5 ์„ค๋ช…  (0) 2023.04.24
Type๋ณ„ ๋น„๊ต  (0) 2023.02.14
type 2,3 ๋น„๊ต  (0) 2023.02.10
ISO/IEC 15693 ์ •๋ฆฌ  (0) 2022.12.21
Felica ์ •๋ฆฌ  (0) 2022.12.13
11143 ์„ธ๋ฏธ๋‚˜ ํ”ผ๋“œ๋ฐฑ  (0) 2022.11.16